From 668b6fa15cf71194cd1a79000beb1659d236a406 Mon Sep 17 00:00:00 2001 From: Jigar Dafda Date: Wed, 21 Aug 2024 10:49:56 +0000 Subject: [PATCH] [Auto Generated] 1.4.10-beta.1 --- CHANGELOG.md | 3906 +++++++++++++++-- README.md | 27 +- dist/application.js | 2 +- package-lock.json | 414 +- package.json | 4 +- sdk/application/ApplicationClient.d.ts | 8 + sdk/application/ApplicationClient.js | 14 + .../Cart/CartApplicationClient.d.ts | 40 +- sdk/application/Cart/CartApplicationClient.js | 40 +- .../Cart/CartApplicationModel.d.ts | 3110 ++++++++++--- sdk/application/Cart/CartApplicationModel.js | 1335 +++--- .../Cart/CartApplicationValidator.d.ts | 462 +- .../Cart/CartApplicationValidator.js | 214 +- .../Catalog/CatalogApplicationClient.d.ts | 106 +- .../Catalog/CatalogApplicationClient.js | 106 +- .../Catalog/CatalogApplicationModel.d.ts | 2515 ++++++++--- .../Catalog/CatalogApplicationModel.js | 1056 +++-- .../Catalog/CatalogApplicationValidator.d.ts | 128 +- .../Catalog/CatalogApplicationValidator.js | 64 +- .../Common/CommonApplicationClient.d.ts | 4 +- .../Common/CommonApplicationClient.js | 4 +- .../Common/CommonApplicationModel.d.ts | 260 +- .../Common/CommonApplicationModel.js | 117 +- .../Common/CommonApplicationValidator.d.ts | 13 +- .../Common/CommonApplicationValidator.js | 6 +- .../CommunicationApplicationClient.d.ts | 4 +- .../CommunicationApplicationClient.js | 4 +- .../CommunicationApplicationModel.d.ts | 205 +- .../CommunicationApplicationModel.js | 87 +- .../ConfigurationApplicationClient.d.ts | 30 +- .../ConfigurationApplicationClient.js | 30 +- .../ConfigurationApplicationModel.d.ts | 1072 +++-- .../ConfigurationApplicationModel.js | 509 +-- .../ConfigurationApplicationValidator.d.ts | 56 +- .../ConfigurationApplicationValidator.js | 27 +- .../Content/ContentApplicationClient.d.ts | 32 +- .../Content/ContentApplicationClient.js | 32 +- .../Content/ContentApplicationModel.d.ts | 1487 +++++-- .../Content/ContentApplicationModel.js | 618 +-- .../Content/ContentApplicationValidator.d.ts | 45 +- .../Content/ContentApplicationValidator.js | 21 +- .../FileStorageApplicationClient.d.ts | 6 +- .../FileStorageApplicationClient.js | 6 +- .../FileStorageApplicationModel.d.ts | 183 +- .../FileStorageApplicationModel.js | 74 +- .../Lead/LeadApplicationClient.d.ts | 6 +- sdk/application/Lead/LeadApplicationClient.js | 6 +- .../Lead/LeadApplicationModel.d.ts | 329 +- sdk/application/Lead/LeadApplicationModel.js | 177 +- .../Lead/LeadApplicationValidator.d.ts | 16 +- .../Lead/LeadApplicationValidator.js | 8 +- .../Logistic/LogisticApplicationClient.d.ts | 20 +- .../Logistic/LogisticApplicationClient.js | 20 +- .../Logistic/LogisticApplicationModel.d.ts | 1260 +++++- .../Logistic/LogisticApplicationModel.js | 541 ++- .../LogisticApplicationValidator.d.ts | 158 +- .../Logistic/LogisticApplicationValidator.js | 79 +- .../Order/OrderApplicationClient.d.ts | 20 +- .../Order/OrderApplicationClient.js | 20 +- .../Order/OrderApplicationModel.d.ts | 1725 ++++++-- .../Order/OrderApplicationModel.js | 708 +-- .../Order/OrderApplicationValidator.d.ts | 62 +- .../Order/OrderApplicationValidator.js | 29 +- .../Payment/PaymentApplicationClient.d.ts | 86 +- .../Payment/PaymentApplicationClient.js | 86 +- .../Payment/PaymentApplicationModel.d.ts | 2133 ++++----- .../Payment/PaymentApplicationModel.js | 1058 ++--- .../Payment/PaymentApplicationValidator.d.ts | 131 +- .../Payment/PaymentApplicationValidator.js | 60 +- .../Rewards/RewardsApplicationModel.d.ts | 35 +- .../Rewards/RewardsApplicationModel.js | 14 +- .../Share/ShareApplicationModel.d.ts | 216 +- .../Share/ShareApplicationModel.js | 90 +- .../Share/ShareApplicationValidator.d.ts | 6 +- .../Share/ShareApplicationValidator.js | 3 +- .../Theme/ThemeApplicationClient.d.ts | 8 +- .../Theme/ThemeApplicationClient.js | 22 +- .../Theme/ThemeApplicationModel.d.ts | 815 ++-- .../Theme/ThemeApplicationModel.js | 380 +- .../Theme/ThemeApplicationValidator.d.ts | 29 +- .../Theme/ThemeApplicationValidator.js | 14 +- .../User/UserApplicationClient.d.ts | 72 +- sdk/application/User/UserApplicationClient.js | 72 +- .../User/UserApplicationModel.d.ts | 1317 ++++-- sdk/application/User/UserApplicationModel.js | 542 ++- .../User/UserApplicationValidator.d.ts | 160 +- .../User/UserApplicationValidator.js | 80 +- .../Webhook/WebhookApplicationClient.d.ts | 2 +- .../Webhook/WebhookApplicationClient.js | 2 +- .../Webhook/WebhookApplicationModel.d.ts | 25 +- .../Webhook/WebhookApplicationModel.js | 10 +- sdk/common/Clickstream.js | 211 +- sdk/common/Constant.d.ts | 9 + sdk/common/Constant.js | 11 + sdk/common/Utility.js | 19 + sdk/common/utils.js | 9 +- sdk/partner/Lead/LeadPartnerModel.d.ts | 35 +- sdk/partner/Lead/LeadPartnerModel.js | 14 +- .../Logistics/LogisticsPartnerModel.d.ts | 35 +- .../Logistics/LogisticsPartnerModel.js | 14 +- sdk/partner/PartnerClient.d.ts | 8 + sdk/partner/PartnerClient.js | 14 + sdk/partner/Theme/ThemePartnerClient.d.ts | 20 + sdk/partner/Theme/ThemePartnerClient.js | 158 + sdk/partner/Theme/ThemePartnerModel.d.ts | 51 +- sdk/partner/Theme/ThemePartnerModel.js | 37 +- sdk/partner/Theme/ThemePartnerValidator.d.ts | 2 + sdk/partner/Theme/ThemePartnerValidator.js | 14 + sdk/partner/Webhook/WebhookPartnerModel.d.ts | 35 +- sdk/partner/Webhook/WebhookPartnerModel.js | 14 +- .../Analytics/AnalyticsPlatformModel.d.ts | 35 +- .../Analytics/AnalyticsPlatformModel.js | 14 +- .../Billing/BillingPlatformClient.d.ts | 403 +- sdk/platform/Billing/BillingPlatformClient.js | 3292 +------------- .../Billing/BillingPlatformModel.d.ts | 2642 +++-------- sdk/platform/Billing/BillingPlatformModel.js | 2758 ++---------- .../Billing/BillingPlatformValidator.d.ts | 463 +- .../Billing/BillingPlatformValidator.js | 491 +-- sdk/platform/Cart/CartPlatformModel.d.ts | 35 +- sdk/platform/Cart/CartPlatformModel.js | 16 +- .../Catalog/CatalogPlatformClient.d.ts | 14 +- sdk/platform/Catalog/CatalogPlatformClient.js | 42 +- .../Catalog/CatalogPlatformModel.d.ts | 58 +- sdk/platform/Catalog/CatalogPlatformModel.js | 25 +- .../Catalog/CatalogPlatformValidator.d.ts | 40 + .../Catalog/CatalogPlatformValidator.js | 17 + .../CommunicationPlatformModel.d.ts | 35 +- .../CommunicationPlatformModel.js | 14 +- .../CompanyProfilePlatformModel.d.ts | 35 +- .../CompanyProfilePlatformModel.js | 14 +- .../ConfigurationPlatformClient.d.ts | 97 - .../ConfigurationPlatformClient.js | 859 +--- .../ConfigurationPlatformModel.d.ts | 730 +-- .../ConfigurationPlatformModel.js | 548 +-- .../ConfigurationPlatformValidator.d.ts | 184 +- .../ConfigurationPlatformValidator.js | 134 - .../ContentPlatformApplicationClient.d.ts | 10 - .../ContentPlatformApplicationClient.js | 79 - .../ContentPlatformApplicationValidator.d.ts | 16 +- .../ContentPlatformApplicationValidator.js | 13 - .../Content/ContentPlatformModel.d.ts | 75 +- sdk/platform/Content/ContentPlatformModel.js | 43 +- .../Discount/DiscountPlatformModel.d.ts | 35 +- .../Discount/DiscountPlatformModel.js | 14 +- .../FileStorage/FileStoragePlatformModel.d.ts | 152 +- .../FileStorage/FileStoragePlatformModel.js | 62 +- .../Finance/FinancePlatformClient.d.ts | 56 +- sdk/platform/Finance/FinancePlatformClient.js | 56 +- .../Finance/FinancePlatformModel.d.ts | 1930 ++++++-- sdk/platform/Finance/FinancePlatformModel.js | 814 ++-- sdk/platform/Lead/LeadPlatformModel.d.ts | 35 +- sdk/platform/Lead/LeadPlatformModel.js | 14 +- sdk/platform/Order/OrderPlatformClient.d.ts | 22 + sdk/platform/Order/OrderPlatformClient.js | 165 + sdk/platform/Order/OrderPlatformModel.d.ts | 652 ++- sdk/platform/Order/OrderPlatformModel.js | 400 +- .../Order/OrderPlatformValidator.d.ts | 33 +- sdk/platform/Order/OrderPlatformValidator.js | 28 + .../Payment/PaymentPlatformModel.d.ts | 39 +- sdk/platform/Payment/PaymentPlatformModel.js | 18 +- sdk/platform/PlatformClient.d.ts | 8 + sdk/platform/PlatformClient.js | 14 + .../Rewards/RewardsPlatformModel.d.ts | 35 +- sdk/platform/Rewards/RewardsPlatformModel.js | 14 +- ...rviceabilityPlatformApplicationClient.d.ts | 21 +- ...ServiceabilityPlatformApplicationClient.js | 21 +- .../ServiceabilityPlatformModel.d.ts | 142 +- .../ServiceabilityPlatformModel.js | 97 +- sdk/platform/Share/SharePlatformModel.d.ts | 35 +- sdk/platform/Share/SharePlatformModel.js | 14 +- sdk/platform/Theme/ThemePlatformModel.d.ts | 23 +- sdk/platform/Theme/ThemePlatformModel.js | 11 +- sdk/platform/User/UserPlatformModel.d.ts | 36 +- sdk/platform/User/UserPlatformModel.js | 18 +- .../Webhook/WebhookPlatformModel.d.ts | 35 +- sdk/platform/Webhook/WebhookPlatformModel.js | 14 +- sdk/public/Billing/BillingPublicClient.d.ts | 45 - sdk/public/Billing/BillingPublicClient.js | 269 -- sdk/public/Billing/BillingPublicModel.d.ts | 434 -- sdk/public/Billing/BillingPublicModel.js | 395 -- .../Billing/BillingPublicValidator.d.ts | 34 - sdk/public/Billing/BillingPublicValidator.js | 38 - .../Inventory/InventoryPublicClient.d.ts | 87 - sdk/public/Inventory/InventoryPublicClient.js | 529 --- .../Inventory/InventoryPublicModel.d.ts | 393 -- sdk/public/Inventory/InventoryPublicModel.js | 448 -- .../Inventory/InventoryPublicValidator.d.ts | 91 - .../Inventory/InventoryPublicValidator.js | 85 - sdk/public/PublicClient.d.ts | 4 - sdk/public/PublicClient.js | 8 - sdk/public/index.d.ts | 2 - sdk/public/index.js | 4 - tests/common/schema/action-url.json | 33 + tests/common/schema/url-action.json | 33 + tests/common/url-action.spec.js | 15 + 195 files changed, 27941 insertions(+), 25145 deletions(-) delete mode 100644 sdk/public/Billing/BillingPublicClient.d.ts delete mode 100644 sdk/public/Billing/BillingPublicClient.js delete mode 100644 sdk/public/Billing/BillingPublicModel.d.ts delete mode 100644 sdk/public/Billing/BillingPublicModel.js delete mode 100644 sdk/public/Billing/BillingPublicValidator.d.ts delete mode 100644 sdk/public/Billing/BillingPublicValidator.js delete mode 100644 sdk/public/Inventory/InventoryPublicClient.d.ts delete mode 100644 sdk/public/Inventory/InventoryPublicClient.js delete mode 100644 sdk/public/Inventory/InventoryPublicModel.d.ts delete mode 100644 sdk/public/Inventory/InventoryPublicModel.js delete mode 100644 sdk/public/Inventory/InventoryPublicValidator.d.ts delete mode 100644 sdk/public/Inventory/InventoryPublicValidator.js diff --git a/CHANGELOG.md b/CHANGELOG.md index b3ec2849a..1ac6682b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,2665 @@ -# CHANGE LOG (1.4.8-beta.3) - v1.9.4-prerelease-v3 +# CHANGE LOG (1.4.10-beta.1) - fynd-1.9.4-release-1.4.10-beta.v1 + +## Application Client + + + +### Configuration + + + +#### getIntegrationTokens + +- ##### What's New + - [Added] property tokens.google_map.enabled of schema GoogleMap in response with status code 200 + + +## Platform Client + + + +### Configuration + + + +#### getAppApiTokens + +- ##### What's New + - [Added] property tokens.google_map.enabled of schema GoogleMap in response with status code 200 + + +#### updateAppApiTokens + +- ##### What's New + - [Added] property tokens.google_map.enabled of schema GoogleMap in request body + - [Added] property tokens.google_map.enabled of schema GoogleMap in response with status code 200 + + +# CHANGE LOG (1.4.9) - fp-v1.9.4 + +## Application Client + + + +### Cart + + + +#### getCart + +- ##### What's New + - [Added] query parameter orderType (type: string) + + - [Added] property custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### addItems + +- ##### What's New + - [Added] query parameter orderType (type: string) + + - [Added] property cart.custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### updateCart + +- ##### What's New + - [Added] query parameter orderType (type: string) + + - [Added] property cart.custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### getCoupons + +- ##### What's New + - [Added] property available_coupon_list[].offer_text of schema Coupon in response with status code 200 + - [Added] property available_coupon_list[].is_bank_offer of schema Coupon in response with status code 200 + + +#### applyCoupon + +- ##### What's New + - [Added] property custom_cart_meta of schema CartDetailResponse in response with status code 201 + + +#### removeCoupon + +- ##### What's New + - [Added] property custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### applyRewardPoints + +- ##### What's New + - [Added] property custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### selectAddress + +- ##### What's New + - [Added] property custom_cart_meta of schema CartDetailResponse in response with status code 201 + + +#### selectPaymentMode + +- ##### What's New + - [Added] property custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### getShipments + +- ##### What's New + - [Added] property custom_cart_meta of schema CartShipmentsResponse in response with status code 200 + + +#### checkoutCart + +- ##### What's New + - [Added] property cart.custom_cart_meta of schema CheckCart in response with status code 200 + + +#### updateCartMeta + +- ##### What's New + - [Added] property custom_cart_meta of schema CartMetaRequest in request body + + +#### getCartSharedItems + +- ##### What's New + - [Added] property cart.custom_cart_meta of schema SharedCart in response with status code 200 + - [Added] property cart.custom_cart_meta of schema SharedCart in response with status code 404 + + +#### updateCartWithSharedItems + +- ##### What's New + - [Added] property cart.custom_cart_meta of schema SharedCart in response with status code 200 + + +#### getPromotionOffers + +- ##### What's New + - [Added] properties available_promotions[].free_gift_items[].item_price_details.marked, available_promotions[].free_gift_items[].item_price_details.effective, available_promotions[].free_gift_items[].item_price_details.currency in response with status code 200 + - [Added] property available_promotions[].promotion_type of schema PromotionOffer in response with status code 200 + - [Added] property available_promotions[].promotion_name of schema PromotionOffer in response with status code 200 + + +#### getLadderOffers + +- ##### What's New + - [Added] properties available_offers[].free_gift_items[].item_price_details.marked, available_offers[].free_gift_items[].item_price_details.effective, available_offers[].free_gift_items[].item_price_details.currency in response with status code 200 + + +#### checkoutCartV2 + +- ##### What's New + - [Added] property cart.custom_cart_meta of schema CheckCart in response with status code 200 + + +#### getPromotionPaymentOffers + +- ##### What's New + - [Added] method getPromotionPaymentOffers + + + +### Catalog + + + +#### getProductSizesBySlug + +- ##### What's Changed + - [Breaking] [Changed] discount_meta.timer made optional in response with status code 200 + + +#### getProductVariantsBySlug + +- ##### What's New + - [Added] property variants[].group_id of schema ProductVariantResponse in response with status code 200 + + +#### getProductPriceBySlug + +- ##### What's Changed + - [Breaking] [Changed] discount_meta.timer made optional in response with status code 200 + + +#### getProductSellersBySlug + +- ##### What's Changed + - [Breaking] [Changed] items[].discount_meta.timer made optional in response with status code 200 + + +### Content + + + +#### getBlog + +- ##### What's New + - [Added] property summary of schema BlogSchema in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] property _schedule of schema BlogSchema in response with status code 200 + + +#### getBlogs + +- ##### What's New + - [Added] query parameter tags (type: string) + + - [Added] query parameter search (type: string) + + - [Added] property items[].summary of schema BlogSchema in response with status code 200 + - [Added] property filters of schema BlogGetResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] property items[]._schedule of schema BlogSchema in response with status code 200 + + +#### getLandingPage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in response with status code 200 + + +#### getNavigations + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].navigation[].action.popup.type of schema PageType in response with status code 200 + + +#### getSlideshows + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].media[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].media[].action.popup.type of schema PageType in response with status code 200 + + +#### getSlideshow + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 + + +#### getSupportInformation + +- ##### What's New + - [Added] property contact.phone.phone[].phone_type of schema PhoneProperties in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property config_type of schema Support in response with status code 200 + + +#### getPage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### getPages + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +### Lead + + + +#### submitCustomForm + +- ##### What's New + - [Added] property response of schema SubmitCustomFormResponse in response with status code 200 + + +#### getParticipantsInsideVideoRoom + +- ##### What's Deprecated + - [Breaking] [Deleted] method getParticipantsInsideVideoRoom + + + +#### getTokenForVideoRoom + +- ##### What's Deprecated + - [Breaking] [Deleted] method getTokenForVideoRoom + + + +### Logistic + + + +#### getLocations + +- ##### What's New + - [Added] property message of schema ErrorResponse in response with status code 400 + + +#### getCountries + +- ##### What's Changed + - [Changed] Path From /service/application/logistics/v1.0/countries To /service/application/logistics/v2.0/countries + + +#### getCountry + +- ##### What's New + - [Added] property message of schema ErrorResponse in response with status code 400 + + +#### getLocalities + +- ##### What's New + - [Added] property message of schema ErrorResponse in response with status code 400 + + +#### getLocality + +- ##### What's New + - [Added] property message of schema ErrorResponse in response with status code 400 + + +#### validateAddress + +- ##### What's New + - [Added] property message of schema ErrorResponse in response with status code 400 + + +### Order + + + +#### getOrders + +- ##### What's New + - [Added] property items[].shipments[].gstin_code of schema Shipments in response with status code 200 + - [Added] property items[].meta of schema OrderSchema in response with status code 200 + + +#### getOrderById + +- ##### What's New + - [Added] property order.shipments[].gstin_code of schema Shipments in response with status code 200 + - [Added] property order.meta of schema OrderSchema in response with status code 200 + + +#### getShipmentById + +- ##### What's New + - [Added] property shipment.gstin_code of schema Shipments in response with status code 200 + + +### Payment + + + +#### verifyCustomerForPayment + +- ##### What's Changed + - [Breaking] [Changed] data made optional in response with status code 200 + + +#### resendOrCancelPayment + +- ##### What's New + - [Added] property data.is_payment_done of schema LinkStatus in response with status code 200 + +- ##### What's Changed + - [Breaking] [Changed] Type from boolean to string of property data.status of schema LinkStatus in response with status code 200 + + +### Theme + + + +#### getAllPages + +- ##### What's New + - [Added] property pages[].sections[].source of schema AvailablePageSchemaSections in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### getPage + +- ##### What's New + - [Added] query parameter sectionPreviewHash (type: string) + + - [Added] property sections[].source of schema AvailablePageSchemaSections in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### getAppliedTheme + +- ##### What's New + - [Breaking] [Added] Type object to property available_sections[].props[] of schema SectionItem in response with status code 200 + - [Breaking] [Added] Type object to property available_sections[].blocks[] of schema SectionItem in response with status code 200 + + +#### getThemeForPreview + +- ##### What's New + - [Breaking] [Added] Type object to property available_sections[].props[] of schema SectionItem in response with status code 200 + - [Breaking] [Added] Type object to property available_sections[].blocks[] of schema SectionItem in response with status code 200 + + +## Partner Client + + + +### Lead + + + +#### getTickets + +- ##### What's New + - [Added] property items[].sla of schema Ticket in response with status code 200 + + +#### createTicket + +- ##### What's New + - [Added] property sla of schema Ticket in response with status code 200 + + +#### getTicket + +- ##### What's New + - [Added] property sla of schema Ticket in response with status code 200 + + +#### editTicket + +- ##### What's New + - [Added] property sla of schema Ticket in response with status code 200 + + +#### getTokenForVideoRoom + +- ##### What's Deprecated + - [Breaking] [Deleted] method getTokenForVideoRoom + + + +#### getVideoParticipants + +- ##### What's Deprecated + - [Breaking] [Deleted] method getVideoParticipants + + + +### Logistics + + + +#### createCourierPartnerAccount + +- ##### What's Changed + - [Changed] account_id made optional in request body + + +#### getCourierPartnerAccounts + +- ##### What's New + - [Added] Possible nullable value true to property items[].scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 + + +#### updateCourierPartnerAccount + +- ##### What's New + - [Added] Possible nullable value true to property scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 + + +#### getCourierPartnerAccount + +- ##### What's New + - [Added] Possible nullable value true to property scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 + + +#### createCourierPartnerScheme + +- ##### What's New + - [Added] Possible nullable value true to property weight.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property weight.gte of schema ArithmeticOperations in response with status code 200 + +- ##### What's Changed + - [Changed] scheme_id made optional in request body + + +#### updateCourierPartnerScheme + +- ##### What's New + - [Added] Possible nullable value true to property weight.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property weight.gte of schema ArithmeticOperations in response with status code 200 + + +#### getCountries + +- ##### What's Changed + - [Changed] Path From /service/partner/logistics/v1.0/organization/{organization_id}/countries To /service/partner/logistics/v2.0/organization/{organization_id}/countries + + +### Theme + + + +#### getAllPages + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### createPage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### updateMultiplePages + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### getPage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### updatePage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### deletePage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### createExtensionSectionDraft + +- ##### What's New + - [Added] method createExtensionSectionDraft + + + +#### publishExtensionSections + +- ##### What's New + - [Added] method publishExtensionSections + + + +#### applyExtensionPreview + +- ##### What's New + - [Added] method applyExtensionPreview + + + +#### removeExtensionPreview + +- ##### What's New + - [Added] method removeExtensionPreview + + + +## Platform Client + + + +### Billing + + + +#### checkCouponValidity + +- ##### What's Deprecated + - [Breaking] [Deleted] method checkCouponValidity + + + +#### createSubscriptionCharge + +- ##### What's New + - [Added] Possible values day to property subscription.line_items[].recurring.interval of schema ChargeRecurring in response with status code 200 + - [Added] Possible values week to property subscription.line_items[].recurring.interval of schema ChargeRecurring in response with status code 200 + - [Added] Possible values quarter to property subscription.line_items[].recurring.interval of schema ChargeRecurring in response with status code 200 + - [Added] Possible values half_year to property subscription.line_items[].recurring.interval of schema ChargeRecurring in response with status code 200 + - [Added] property subscription.line_items[].recurring.interval_time of schema ChargeRecurring in response with status code 200 + - [Added] Possible nullable value true to property subscription.line_items[].activated_on of schema EntityChargeDetails in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.line_items[].activated_on of schema EntityChargeDetails in response with status code 200 + - [Added] Possible nullable value true to property subscription.line_items[].cancelled_on of schema EntityChargeDetails in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.line_items[].cancelled_on of schema EntityChargeDetails in response with status code 200 + - [Added] Possible nullable value true to property subscription.line_items[].billing_date of schema EntityChargeDetails in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.line_items[].billing_date of schema EntityChargeDetails in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.line_items[].current_period.start_date of schema SubscriptionTrialPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.line_items[].current_period.end_date of schema SubscriptionTrialPeriod in response with status code 200 + - [Added] Possible values success to property subscription.line_items[].status of schema EntityChargeDetails in response with status code 200 + - [Added] Possible values failed to property subscription.line_items[].status of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].subscription_id of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].subscriber_id of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].entity_type of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].entity_id of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].charge_type of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].modified_at of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].created_at of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].company_id of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].meta of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].__v of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.product_suit_id of schema EntitySubscription in response with status code 200 + - [Added] property subscription.entity_id of schema EntitySubscription in response with status code 200 + - [Added] property subscription.entity_type of schema EntitySubscription in response with status code 200 + - [Added] property subscription.is_test of schema EntitySubscription in response with status code 200 + - [Added] property subscription.created_at of schema EntitySubscription in response with status code 200 + - [Added] property subscription.modified_at of schema EntitySubscription in response with status code 200 + - [Added] property subscription.subscriber_id of schema EntitySubscription in response with status code 200 + - [Added] property subscription.return_url of schema EntitySubscription in response with status code 200 + +- ##### What's Deprecated + - [Deleted] Possible values from pending,active,cancelled,frozen,declined from property subscription.status of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property subscription.company_id of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property subscription.activated_on of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property subscription.cancelled_on of schema EntitySubscription in response with status code 200 + - [Deleted] Value format from int32 from property subscription.trial_days of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property subscription.trial_period of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property subscription.metadata of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property subscription.line_items[].metadata of schema SubscriptionCharge in response with status code 200 + +- ##### What's Changed + - [Changed] line_items[].price.amount, line_items[].price.currency_code made optional in request body + - [Breaking] [Changed] Type from integer to number of property subscription.trial_days of schema EntitySubscription in response with status code 200 + - [Changed] subscription.line_items[].price.amount, subscription.line_items[].price.currency_code made optional in response with status code 200 + - [Breaking] [Changed] subscription.line_items[].recurring.interval made optional in response with status code 200 + + +#### getSubscriptionCharge + +- ##### What's New + - [Breaking] [Added] Value format date-time to property activated_on of schema SubscriptionChargeRes in response with status code 200 + - [Breaking] [Added] Value format date-time to property cancelled_on of schema SubscriptionChargeRes in response with status code 200 + - [Added] property product_suit_id of schema SubscriptionChargeRes in response with status code 200 + - [Added] property entity_id of schema SubscriptionChargeRes in response with status code 200 + - [Added] property entity_type of schema SubscriptionChargeRes in response with status code 200 + - [Added] property is_test of schema SubscriptionChargeRes in response with status code 200 + - [Added] property created_at of schema SubscriptionChargeRes in response with status code 200 + - [Added] property modified_at of schema SubscriptionChargeRes in response with status code 200 + - [Added] property code of schema ResourceNotFound in response with status code 404 + - [Added] property success of schema ResourceNotFound in response with status code 404 + +- ##### What's Deprecated + - [Deleted] Possible values from pending,active,cancelled,frozen,declined from property status of schema EntitySubscription in response with status code 200 + - [Deleted] Value format from int32 from property company_id of schema EntitySubscription in response with status code 200 + - [Deleted] Value format from int32 from property trial_days of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property trial_period of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property metadata of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] properties line_items[]._id, line_items[].name, line_items[].term, line_items[].pricing_type, line_items[].price, line_items[].recurring, line_items[].capped_amount, line_items[].activated_on, line_items[].cancelled_on, line_items[].billing_date, line_items[].current_period, line_items[].status, line_items[].is_test, line_items[].metadata in response with status code 200 + +- ##### What's Changed + - [Breaking] [Changed] Type from integer to string of property company_id of schema EntitySubscription in response with status code 200 + - [Breaking] [Changed] Type from integer to number of property trial_days of schema EntitySubscription in response with status code 200 + + +#### cancelSubscriptionCharge + +- ##### What's New + - [Breaking] [Added] Value format date-time to property activated_on of schema SubscriptionChargeRes in response with status code 200 + - [Breaking] [Added] Value format date-time to property cancelled_on of schema SubscriptionChargeRes in response with status code 200 + - [Added] property product_suit_id of schema SubscriptionChargeRes in response with status code 200 + - [Added] property entity_id of schema SubscriptionChargeRes in response with status code 200 + - [Added] property entity_type of schema SubscriptionChargeRes in response with status code 200 + - [Added] property is_test of schema SubscriptionChargeRes in response with status code 200 + - [Added] property created_at of schema SubscriptionChargeRes in response with status code 200 + - [Added] property modified_at of schema SubscriptionChargeRes in response with status code 200 + - [Added] property code of schema ResourceNotFound in response with status code 404 + - [Added] property success of schema ResourceNotFound in response with status code 404 + +- ##### What's Deprecated + - [Deleted] Possible values from pending,active,cancelled,frozen,declined from property status of schema EntitySubscription in response with status code 200 + - [Deleted] Value format from int32 from property company_id of schema EntitySubscription in response with status code 200 + - [Deleted] Value format from int32 from property trial_days of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property trial_period of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property metadata of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] properties line_items[]._id, line_items[].name, line_items[].term, line_items[].pricing_type, line_items[].price, line_items[].recurring, line_items[].capped_amount, line_items[].activated_on, line_items[].cancelled_on, line_items[].billing_date, line_items[].current_period, line_items[].status, line_items[].is_test, line_items[].metadata in response with status code 200 + - [Breaking] [Deleted] Response with status 400 + +- ##### What's Changed + - [Breaking] [Changed] Type from integer to string of property company_id of schema EntitySubscription in response with status code 200 + - [Breaking] [Changed] Type from integer to number of property trial_days of schema EntitySubscription in response with status code 200 + + +#### createOneTimeCharge + +- ##### What's New + - [Added] Possible values recurring to property charge.pricing_type of schema OneTimeChargeItem in request body + - [Added] Possible values usage_base to property charge.pricing_type of schema OneTimeChargeItem in request body + - [Added] property charge.final_charge of schema Charge in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property charge._id of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property charge.name of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property charge.status of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property charge.activated_on of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property charge.cancelled_on of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property charge.metadata of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property charge.return_url of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property charge.is_test of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property charge.pricing_type of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property charge.subscriber_id of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property charge.entity_type of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property charge.entity_id of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property charge.meta of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property charge.price of schema OneTimeChargeEntity in response with status code 200 + +- ##### What's Changed + - [Changed] charge.price.amount, charge.price.currency_code made optional in request body + - [Changed] charge.name, charge.pricing_type, charge.price made optional in request body + - [Changed] name, charge, return_url made optional in request body + + +#### getChargeDetails + +- ##### What's New + - [Breaking] [Added] Value format date-time to property activated_on of schema ChargeDetails in response with status code 200 + - [Breaking] [Added] Value format date-time to property cancelled_on of schema ChargeDetails in response with status code 200 + - [Breaking] [Added] Possible values one_time,recurring,usage_base to property pricing_type of schema ChargeDetails in response with status code 200 + - [Breaking] [Added] Possible values extension,theme to property entity_type of schema ChargeDetails in response with status code 200 + - [Added] property term of schema ChargeDetails in response with status code 200 + - [Added] property charge_type of schema ChargeDetails in response with status code 200 + - [Added] property recurring of schema ChargeDetails in response with status code 200 + - [Added] property capped_amount of schema ChargeDetails in response with status code 200 + - [Added] property billing_date of schema ChargeDetails in response with status code 200 + - [Added] property current_period of schema ChargeDetails in response with status code 200 + - [Added] property modified_at of schema ChargeDetails in response with status code 200 + - [Added] property created_at of schema ChargeDetails in response with status code 200 + - [Added] property company_id of schema ChargeDetails in response with status code 200 + - [Added] property __v of schema ChargeDetails in response with status code 200 + - [Added] property code of schema ResourceNotFound in response with status code 404 + - [Added] property success of schema ResourceNotFound in response with status code 404 + +- ##### What's Deprecated + - [Breaking] [Deleted] property metadata of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property return_url of schema OneTimeChargeEntity in response with status code 200 + - [Breaking] [Deleted] property subscriber_id of schema OneTimeChargeEntity in response with status code 200 + +- ##### What's Changed + - [Changed] price.amount, price.currency_code made optional in response with status code 200 + + +#### getInvoices + +- ##### What's Deprecated + - [Breaking] [Deleted] method getInvoices + + + +#### getInvoiceById + +- ##### What's Deprecated + - [Breaking] [Deleted] method getInvoiceById + + + +#### getCustomerDetail + +- ##### What's Deprecated + - [Breaking] [Deleted] method getCustomerDetail + + + +#### upsertCustomerDetail + +- ##### What's Deprecated + - [Breaking] [Deleted] method upsertCustomerDetail + + + +#### getSubscription + +- ##### What's Deprecated + - [Breaking] [Deleted] method getSubscription + + + +#### getFeatureLimitConfig + +- ##### What's Deprecated + - [Breaking] [Deleted] method getFeatureLimitConfig + + + +#### activateSubscriptionPlan + +- ##### What's Deprecated + - [Breaking] [Deleted] method activateSubscriptionPlan + + + +#### cancelSubscriptionPlan + +- ##### What's Deprecated + - [Breaking] [Deleted] method cancelSubscriptionPlan + + + +#### getEnterprisePlans + +- ##### What's Deprecated + - [Breaking] [Deleted] method getEnterprisePlans + + + +#### planStatusUpdate + +- ##### What's Deprecated + - [Breaking] [Deleted] method planStatusUpdate + + + +#### subscripePlan + +- ##### What's Deprecated + - [Breaking] [Deleted] method subscripePlan + + + +#### getentityDetail + +- ##### What's Deprecated + - [Breaking] [Deleted] method getentityDetail + + + +### Cart + + + +#### getPromotions + +- ##### What's Deprecated + - [Breaking] [Deleted] property items[].restrictions.payments[] of schema Restrictions1 in response with status code 200 + + +#### createPromotion + +- ##### What's Deprecated + - [Breaking] [Deleted] property restrictions.payments[] of schema Restrictions1 in request body + - [Breaking] [Deleted] property restrictions.payments[] of schema Restrictions1 in response with status code 201 + + +#### getPromotionById + +- ##### What's Deprecated + - [Breaking] [Deleted] property restrictions.payments[] of schema Restrictions1 in response with status code 200 + + +#### updatePromotion + +- ##### What's Deprecated + - [Breaking] [Deleted] property restrictions.payments[] of schema Restrictions1 in request body + - [Breaking] [Deleted] property restrictions.payments[] of schema Restrictions1 in response with status code 200 + + +#### getPriceAdjustments + +- ##### What's New + - [Added] property data[] of schema GetPriceAdjustmentResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] properties data.value, data.message, data.apply_expiry, data.restrictions, data.article_level_distribution, data.id, data.collection, data.type, data.allowed_refund, data.is_authenticated, data.article_ids, data.meta, data.cart_id in response with status code 200 + +- ##### What's Changed + - [Breaking] [Changed] Type from object to array of property data of schema PriceAdjustment in response with status code 200 + - [Breaking] [Changed] data.article_ids, data.article_level_distribution, data.cart_id, data.collection, data.is_authenticated, data.message, data.type, data.value made optional in response with status code 200 + + +#### getAbandonedCartDetails + +- ##### What's New + - [Added] property custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### addItems + +- ##### What's New + - [Added] property cart.custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### updateCart + +- ##### What's New + - [Added] property cart.custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### getCartSharedItems + +- ##### What's New + - [Added] property cart.custom_cart_meta of schema SharedCart in response with status code 200 + - [Added] property cart.custom_cart_meta of schema SharedCart in response with status code 404 + + +#### updateCartWithSharedItems + +- ##### What's New + - [Added] property cart.custom_cart_meta of schema SharedCart in response with status code 200 + + +#### updateCartUser + +- ##### What's New + - [Added] property custom_cart_meta of schema UserCartMappingResponse in response with status code 200 + + +#### getCart + +- ##### What's New + - [Added] query parameter orderType (type: string) + + - [Added] property custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### platformAddItems + +- ##### What's New + - [Added] query parameter orderType (type: string) + + - [Added] property cart.custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### platformUpdateCart + +- ##### What's New + - [Added] query parameter orderType (type: string) + + - [Added] property cart.custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### applyCoupon + +- ##### What's New + - [Added] property custom_cart_meta of schema CartDetailResponse in response with status code 201 + + +#### removeCoupon + +- ##### What's New + - [Added] property custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### selectAddress + +- ##### What's New + - [Added] property custom_cart_meta of schema CartDetailResponse in response with status code 201 + + +#### getShipments + +- ##### What's New + - [Added] property custom_cart_meta of schema PlatformCartShipmentsResponse in response with status code 200 + + +#### updateShipments + +- ##### What's New + - [Added] property custom_cart_meta of schema PlatformCartShipmentsResponse in response with status code 200 + + +#### platformCheckoutCart + +- ##### What's New + - [Added] property cart.custom_cart_meta of schema CheckCart in response with status code 200 + + +#### selectPaymentMode + +- ##### What's New + - [Added] property custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### platformCheckoutCartV2 + +- ##### What's New + - [Added] property cart.custom_cart_meta of schema CheckCart in response with status code 200 + + +#### selectPaymentModeV2 + +- ##### What's New + - [Added] property custom_cart_meta of schema CartDetailResponse in response with status code 200 + + +#### getPromotionOffers + +- ##### What's New + - [Added] method getPromotionOffers + + + +#### getPromotionPaymentOffers + +- ##### What's New + - [Added] method getPromotionPaymentOffers + + + +### Catalog + + + +#### getApplicationBrandListing + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 + + +#### getApplicationBrands + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 + + +#### getCategories + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].childs[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].childs[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].childs[].childs[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].childs[].childs[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].childs[].childs[].childs[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].childs[].childs[].childs[].action.popup.type of schema PageType in response with status code 200 + + +#### getApplicationCategoryListing + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 + + +#### getAllCollections + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 + + +#### getCollectionItems + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].brand.action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].brand.action.popup.type of schema PageType in response with status code 200 + + +#### getAppInventory + +- ##### What's New + - [Added] query parameter qtyGt (type: integer) + + - [Added] query parameter qtyLt (type: integer) + + - [Added] query parameter qtyType (type: string) + + - [Added] query parameter fromDate (type: string) + + - [Added] query parameter toDate (type: string) + + + +#### getAppicationProducts + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].brand.action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].brand.action.popup.type of schema PageType in response with status code 200 + + +#### getProductDetailBySlug + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property brand.action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property brand.action.popup.type of schema PageType in response with status code 200 + + +#### listProductTemplateExportDetails + +- ##### What's New + - [Added] property page of schema ProductDownloadsResponse in response with status code 200 + + +#### listInventoryExport + +- ##### What's New + - [Added] query parameter pageNo (type: integer) + + - [Added] query parameter pageSize (type: integer) + + - [Added] property page of schema InventoryExportJobListResponse in response with status code 200 + + +#### getProducts + +- ##### What's New + - [Added] query parameter name (type: string) + + - [Added] query parameter slug (type: string) + + - [Added] query parameter allIdentifiers (type: array) + + - [Added] query parameter pageType (type: string) + + - [Added] query parameter sortOn (type: string) + + - [Added] query parameter pageId (type: string) + + + +#### getProductExportJobs + +- ##### What's New + - [Added] query parameter pageNo (type: integer) + + - [Added] query parameter pageSize (type: integer) + + - [Added] property page of schema ProductDownloadsResponse in response with status code 200 + + +#### createProductExportJob + +- ##### What's New + - [Added] property page of schema ProductDownloadsResponse in response with status code 200 + + +### Configuration + + + +#### getIntegrationById + +- ##### What's Deprecated + - [Breaking] [Deleted] method getIntegrationById + + + +#### getAvailableOptIns + +- ##### What's Deprecated + - [Breaking] [Deleted] method getAvailableOptIns + + + +#### getSelectedOptIns + +- ##### What's Deprecated + - [Breaking] [Deleted] method getSelectedOptIns + + + +#### getIntegrationLevelConfig + +- ##### What's Deprecated + - [Breaking] [Deleted] method getIntegrationLevelConfig + + + +#### updateLevelIntegration + +- ##### What's Deprecated + - [Breaking] [Deleted] method updateLevelIntegration + + + +#### getIntegrationByLevelId + +- ##### What's Deprecated + - [Breaking] [Deleted] method getIntegrationByLevelId + + + +#### updateLevelUidIntegration + +- ##### What's Deprecated + - [Breaking] [Deleted] method updateLevelUidIntegration + + + +#### getLevelActiveIntegrations + +- ##### What's Deprecated + - [Breaking] [Deleted] method getLevelActiveIntegrations + + + +### Content + + + +#### createBlog + +- ##### What's New + - [Added] property summary of schema BlogRequest in request body + - [Added] property summary of schema BlogSchema in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] property _schedule of schema BlogRequest in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] property _schedule of schema BlogSchema in response with status code 200 + + +#### getBlogs + +- ##### What's New + - [Added] query parameter tags (type: string) + + - [Added] query parameter q (type: string) + + - [Added] query parameter slug (type: string) + + - [Added] query parameter title (type: string) + + - [Added] query parameter status (type: string) + + - [Added] property items[].summary of schema BlogSchema in response with status code 200 + - [Added] property filters of schema BlogGetResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] property items[]._schedule of schema BlogSchema in response with status code 200 + + +#### updateBlog + +- ##### What's New + - [Added] property summary of schema BlogRequest in request body + - [Added] property summary of schema BlogSchema in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] property _schedule of schema BlogRequest in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] property _schedule of schema BlogSchema in response with status code 200 + + +#### deleteBlog + +- ##### What's New + - [Added] property summary of schema BlogSchema in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] property _schedule of schema BlogSchema in response with status code 200 + + +#### getComponentById + +- ##### What's Deprecated + - [Breaking] [Deleted] method getComponentById + + + +#### getLandingPages + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 + + +#### createLandingPage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in response with status code 200 + + +#### updateLandingPage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in response with status code 200 + + +#### deleteLandingPage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in response with status code 200 + + +#### getNavigations + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].navigation[].action.popup.type of schema PageType in response with status code 200 + + +#### createNavigation + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in response with status code 200 + + +#### getDefaultNavigations + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].navigation[].action.popup.type of schema PageType in response with status code 200 + + +#### getNavigationBySlug + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in response with status code 200 + + +#### updateNavigation + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in response with status code 200 + + +#### deleteNavigation + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in response with status code 200 + + +#### getPageMeta + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property system_pages[].navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property system_pages[].navigation[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property custom_pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property custom_pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### createPagePreview + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### updatePagePreview + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### deletePage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### getSlideshows + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].media[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].media[].action.popup.type of schema PageType in response with status code 200 + + +#### createSlideshow + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property media.action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property media.action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 + + +#### getSlideshowBySlug + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 + + +#### updateSlideshow + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property media.action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property media.action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 + + +#### deleteSlideshow + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 + + +#### getSupportInformation + +- ##### What's New + - [Added] property contact.phone.phone[].phone_type of schema PhoneProperties in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property config_type of schema Support in response with status code 200 + + +#### updateSupportInformation + +- ##### What's New + - [Added] property contact.phone.phone[].phone_type of schema PhoneProperties in request body + - [Added] property contact.phone.phone[].phone_type of schema PhoneProperties in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property config_type of schema Support in request body + - [Breaking] [Deleted] property config_type of schema Support in response with status code 200 + + +#### getBlogBySlug + +- ##### What's New + - [Added] property summary of schema BlogSchema in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] property _schedule of schema BlogSchema in response with status code 200 + + +#### createPage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### getPages + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### updatePage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### getPageBySlug + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +### FileStorage + + + +#### getDefaultPdfData + +- ##### What's New + - [Added] property data[].payload.company_detail.meta of schema CompanyDetail in response with status code 200 + - [Added] property data[].payload.shipment_meta of schema DummyTemplateDataPayload in response with status code 200 + - [Added] property data[].payload.order_meta of schema DummyTemplateDataPayload in response with status code 200 + + +### Finance + + + +#### generateReport + +- ##### What's New + - [Added] property data of schema GenerateReportJson in response with status code 200 + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### downloadReport + +- ##### What's New + - [Added] property data of schema DownloadReport in request body + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] property page of schema DownloadReport in request body + - [Breaking] [Deleted] property pagesize of schema DownloadReport in request body + - [Breaking] [Deleted] property start_date of schema DownloadReport in request body + - [Breaking] [Deleted] property end_date of schema DownloadReport in request body + - [Breaking] [Deleted] property items[].type_of_request of schema DownloadReportItems in response with status code 200 + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### getData + +- ##### What's New + - [Added] properties data.filters.config_field, data.filters.status, data.filters.is_active, data.filters.seller_id in request body + - [Added] property data.status of schema GetEngineData in request body + - [Added] property data.search of schema GetEngineData in request body + - [Added] property data.page of schema GetEngineData in request body + - [Added] property data.page_size of schema GetEngineData in request body + - [Added] property data.order_by of schema GetEngineData in request body + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### getReason + +- ##### What's New + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### getReportList + +- ##### What's New + - [Added] Response with status 500 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### getAffiliate + +- ##### What's New + - [Added] property reason of schema GetAffiliateResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### downloadCreditDebitNote + +- ##### What's New + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### paymentProcess + +- ##### What's New + - [Added] property data.invoice_billing_items of schema PaymentProcessPayload in request body + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] property data.invoice_number of schema PaymentProcessPayload in request body + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Breaking] [Changed] Type from string to number of property data.amount of schema PaymentProcessPayload in request body + - [Breaking] [Changed] Type from string to number of property data.total_amount of schema PaymentProcessPayload in request body + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### creditlineDataplatform + +- ##### What's New + - [Added] property data.end_date of schema CreditlineDataPlatformPayload in request body + - [Added] property data.start_date of schema CreditlineDataPlatformPayload in request body + - [Added] property data.page_size of schema CreditlineDataPlatformPayload in request body + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] property data.end_end of schema CreditlineDataPlatformPayload in request body + - [Breaking] [Deleted] property data.start_end of schema CreditlineDataPlatformPayload in request body + - [Breaking] [Deleted] property data.pagesize of schema CreditlineDataPlatformPayload in request body + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### isCreditlinePlatform + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### invoiceType + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### invoiceListing + +- ##### What's New + - [Added] Possible nullable value true to property items[].currency of schema Currency in response with status code 200 + - [Added] property success of schema InvoiceListingResponse in response with status code 200 + - [Added] property headers of schema InvoiceListingResponse in response with status code 200 + - [Added] Response with status 400 + - [Added] Response with status 500 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Breaking] [Changed] Type from string to number of property items[].amount of schema InvoiceListingResponseItems in response with status code 200 + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### invoicePDF + +- ##### What's New + - [Added] Response with status 500 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### isCnRefundMethod + +- ##### What's New + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### createSellerCreditNoteConfig + +- ##### What's New + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### deleteConfig + +- ##### What's New + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### channelDisplayName + +- ##### What's New + - [Added] property items of schema ChannelDisplayNameResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property data of schema ChannelDisplayNameResponse in response with status code 200 + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### getPdfUrlView + +- ##### What's New + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### creditNoteDetails + +- ##### What's New + - [Added] property data.redemption_details[].meta of schema RedemptionDetails in response with status code 200 + - [Added] property data.currency of schema CreditNoteDetails in response with status code 200 + - [Added] property data.current_amount_used of schema CreditNoteDetails in response with status code 200 + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### getCustomerCreditBalance + +- ##### What's New + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### getCnConfig + +- ##### What's New + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Deleted] Type from object from property data.meta of schema GetCnConfigResponseMeta in response with status code 200 + - [Breaking] [Deleted] properties data.meta.reason, data.meta.source_channel in response with status code 200 + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### generateReportCustomerCn + +- ##### What's New + - [Added] property data.filters.type_of_transaction of schema CnGenerateReportFilters in request body + - [Added] property data.filters.issuance_channel of schema CnGenerateReportFilters in request body + - [Added] property data.page_size of schema CnGenerateReport in request body + - [Added] property data.success of schema GenerateReportCustomerCnResponseData in response with status code 200 + - [Added] property data.message of schema GenerateReportCustomerCnResponseData in response with status code 200 + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] property data.pagesize of schema CnGenerateReport in request body + - [Breaking] [Deleted] property data.filters.types_of_transaction of schema CnGenerateReportFilters in request body + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### downloadReportCustomerCn + +- ##### What's New + - [Added] property data.page_size of schema CnDownloadReport in request body + - [Added] property items of schema DownloadReportCustomerCnResponse in response with status code 200 + - [Added] property item_count of schema DownloadReportCustomerCnResponse in response with status code 200 + - [Added] property page of schema DownloadReportCustomerCnResponse in response with status code 200 + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] property data.status[] of schema CnDownloadReport in request body + - [Breaking] [Deleted] property data.pagesize of schema CnDownloadReport in request body + - [Breaking] [Deleted] property data of schema DownloadReportCustomerCnResponse in response with status code 200 + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Breaking] [Changed] Type from array to string of property data.status of schema CnDownloadReport in request body + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### getReportingFilters + +- ##### What's New + - [Added] property reason of schema GetReportingFiltersResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### invoicePaymentDetails + +- ##### What's New + - [Added] property reason of schema InvoicePaymentDetailsResponse in response with status code 200 + - [Added] Response with status 500 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### invoiceActivityLogs + +- ##### What's New + - [Added] Possible nullable value true to property data[].performed_by of schema InvoiceActivityLogsResponseData in response with status code 200 + - [Added] Possible nullable value true to property data[].reason of schema InvoiceActivityLogsResponseData in response with status code 200 + - [Added] Possible nullable value true to property data[].max_retry_attempts of schema InvoiceActivityLogsResponseData in response with status code 200 + - [Added] Response with status 400 + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### unlockCreditNote + +- ##### What's Deprecated + - [Breaking] [Deleted] Response with status 4XX + +- ##### What's Changed + - [Changed] Security in Request + - [Changed] Security in Request + - [Breaking] [Changed] Security in Request + + +#### invoicePaymentOptions + +- ##### What's New + - [Added] method invoicePaymentOptions + + + +#### orderFreeze + +- ##### What's New + - [Added] method orderFreeze + + + +### Lead + + + +#### getPlatformTickets + +- ##### What's New + - [Added] property items[].sla of schema Ticket in response with status code 200 + + +#### createTicket + +- ##### What's New + - [Added] property sla of schema Ticket in response with status code 200 + + +#### getNewTickets + +- ##### What's New + - [Added] property items[].sla of schema Ticket in response with status code 200 + + +#### getPlatformTicket + +- ##### What's New + - [Added] property sla of schema Ticket in response with status code 200 + + +#### editPlatformTicket + +- ##### What's New + - [Added] property sla of schema Ticket in response with status code 200 + + +#### getNewTicket + +- ##### What's New + - [Added] property sla of schema Ticket in response with status code 200 + + +#### editNewTicket + +- ##### What's New + - [Added] property sla of schema Ticket in response with status code 200 + + +#### getTokenForPlatformVideoRoom + +- ##### What's Deprecated + - [Breaking] [Deleted] method getTokenForPlatformVideoRoom + + + +#### getNewTokenForVideoRoom + +- ##### What's Deprecated + - [Breaking] [Deleted] method getNewTokenForVideoRoom + + + +#### getPlatformVideoParticipants + +- ##### What's Deprecated + - [Breaking] [Deleted] method getPlatformVideoParticipants + + + +#### getNewVideoParticipants + +- ##### What's Deprecated + - [Breaking] [Deleted] method getNewVideoParticipants + + + +#### openVideoRoom + +- ##### What's Deprecated + - [Breaking] [Deleted] method openVideoRoom + + + +#### closeVideoRoom + +- ##### What's Deprecated + - [Breaking] [Deleted] method closeVideoRoom + + + +#### getGeneralConfig + +- ##### What's New + - [Added] property _id of schema GeneralConfigResponse in response with status code 200 + - [Added] property support_communication of schema GeneralConfigResponse in response with status code 200 + - [Added] property show_communication_info of schema GeneralConfigResponse in response with status code 200 + - [Added] property show_support_dris of schema GeneralConfigResponse in response with status code 200 + - [Added] property type of schema GeneralConfigResponse in response with status code 200 + - [Added] property integration of schema GeneralConfigResponse in response with status code 200 + - [Added] property allow_ticket_creation of schema GeneralConfigResponse in response with status code 200 + - [Added] property show_listing of schema GeneralConfigResponse in response with status code 200 + - [Added] property available_integration of schema GeneralConfigResponse in response with status code 200 + - [Added] property enable_dris of schema GeneralConfigResponse in response with status code 200 + - [Added] property support_email of schema GeneralConfigResponse in response with status code 200 + - [Added] property support_phone of schema GeneralConfigResponse in response with status code 200 + - [Added] property support_faq of schema GeneralConfigResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property success of schema CloseVideoRoomResponse in response with status code 200 + +- ##### What's Changed + - [Breaking] [Changed] success made optional in response with status code 200 + + +### Serviceability + + + +#### getZones + +- ##### What's New + - [Breaking] [Deleted] query parameter country (type: string), + [Added] query parameter countryIsoCode (type: string) + - [Added] property items[].store_ids of schema ListViewItems in response with status code 200 + + +#### createCourierPartnerAccount + +- ##### What's Changed + - [Changed] account_id made optional in request body + + +#### getCourierPartnerAccounts + +- ##### What's New + - [Added] Possible nullable value true to property items[].scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 + + +#### updateCourierPartnerAccount + +- ##### What's New + - [Added] Possible nullable value true to property scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 + + +#### getCourierPartnerAccount + +- ##### What's New + - [Added] Possible nullable value true to property scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 + + +#### updateCourierRule + +- ##### What's New + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in request body + - [Added] property cp_list[].scheme_rules of schema CourierPartnerRuleCPListResponse in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] property application_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property company_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property created_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property modified_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property modified_on of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property type of schema CourierPartnerRuleResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property cp_list[].name of schema CourierPartnerList in request body + - [Breaking] [Deleted] property cp_list[].is_self_ship of schema CourierPartnerList in request body + - [Breaking] [Deleted] property cp_list[].name of schema CourierPartnerList in response with status code 200 + +- ##### What's Changed + - [Changed] cp_list[].is_self_ship made optional in request body + - [Changed] cp_list[].name made optional in request body + - [Breaking] [Changed] cp_list[].account_id, cp_list[].extension_id, cp_list[].is_self_ship, cp_list[].name made optional in response with status code 200 + - [Breaking] [Changed] conditions, is_active, name, sort, type made optional in response with status code 200 + + +#### getCourierPartnerRule + +- ##### What's New + - [Added] property cp_list[].scheme_rules of schema CourierPartnerRuleCPListResponse in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] property application_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property company_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property created_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property modified_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property modified_on of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property type of schema CourierPartnerRuleResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property cp_list[].name of schema CourierPartnerList in response with status code 200 + +- ##### What's Changed + - [Breaking] [Changed] cp_list[].account_id, cp_list[].extension_id, cp_list[].is_self_ship, cp_list[].name made optional in response with status code 200 + - [Breaking] [Changed] conditions, is_active, name, sort, type made optional in response with status code 200 + + +#### createCourierPartnerRule + +- ##### What's New + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in request body + - [Added] property cp_list[].scheme_rules of schema CourierPartnerRuleCPListResponse in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] property application_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property company_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property created_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property modified_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property modified_on of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property type of schema CourierPartnerRuleResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property cp_list[].name of schema CourierPartnerList in request body + - [Breaking] [Deleted] property cp_list[].is_self_ship of schema CourierPartnerList in request body + - [Breaking] [Deleted] property cp_list[].name of schema CourierPartnerList in response with status code 200 + +- ##### What's Changed + - [Changed] cp_list[].is_self_ship made optional in request body + - [Changed] cp_list[].name made optional in request body + - [Breaking] [Changed] cp_list[].account_id, cp_list[].extension_id, cp_list[].is_self_ship, cp_list[].name made optional in response with status code 200 + - [Breaking] [Changed] conditions, is_active, name, sort, type made optional in response with status code 200 + + +#### getCourierPartnerRules + +- ##### What's New + - [Added] property items[].cp_list[].scheme_rules of schema CourierPartnerRuleCPListResponse in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_cost.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_cost.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_cost.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_cost.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] property items[].application_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property items[].company_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property items[].created_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property items[].id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property items[].modified_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property items[].modified_on of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property items[].type of schema CourierPartnerRuleResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property items[].cp_list[].name of schema CourierPartnerList in response with status code 200 + +- ##### What's Changed + - [Breaking] [Changed] items[].cp_list[].account_id, items[].cp_list[].extension_id, items[].cp_list[].is_self_ship, items[].cp_list[].name made optional in response with status code 200 + - [Breaking] [Changed] items[].conditions, items[].is_active, items[].name, items[].sort, items[].type made optional in response with status code 200 + + +#### getStoreRules + +- ##### What's New + - [Added] Possible nullable value true to property items[].conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + + +#### createStoreRules + +- ##### What's New + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + + +#### getStoreRule + +- ##### What's New + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + + +#### updateStoreRules + +- ##### What's New + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + + +### Order + + + +#### updateShipmentStatus + +- ##### What's New + - [Added] property resume_tasks_after_unlock of schema UpdateShipmentStatusRequest in request body + + +#### createOrder + +- ##### What's New + - [Added] property shipment_request_data of schema CreateOrderAPI in request body + + +#### getShipments + +- ##### What's New + - [Added] property items[].is_lapa_enabled of schema ShipmentItem in response with status code 200 + + +#### getShipmentById + +- ##### What's New + - [Added] property shipments[].is_lapa_enabled of schema PlatformShipment in response with status code 200 + + +#### getOrderById + +- ##### What's New + - [Added] property shipments[].is_lapa_enabled of schema PlatformShipment in response with status code 200 + + +#### getOrders + +- ##### What's New + - [Added] property items[].shipments[].is_lapa_enabled of schema PlatformShipment in response with status code 200 + + +#### getApplicationShipments + +- ##### What's New + - [Added] property items[].is_lapa_enabled of schema ShipmentItem in response with status code 200 + + +#### getBagById + +- ##### What's Deprecated + - [Breaking] [Deleted] properties data.item.attributes.primary_material, data.item.attributes.essential, data.item.attributes.marketer_name, data.item.attributes.primary_color, data.item.attributes.marketer_address, data.item.attributes.primary_color_hex, data.item.attributes.brand_name, data.item.attributes.name, data.item.attributes.gender in response with status code 200 + + +#### getBags + +- ##### What's Deprecated + - [Breaking] [Deleted] properties data.items[].item.attributes.primary_material, data.items[].item.attributes.essential, data.items[].item.attributes.marketer_name, data.items[].item.attributes.primary_color, data.items[].item.attributes.marketer_address, data.items[].item.attributes.primary_color_hex, data.items[].item.attributes.brand_name, data.items[].item.attributes.name, data.items[].item.attributes.gender in response with status code 200 + + +#### addStateManagerConfig + +- ##### What's New + - [Added] method addStateManagerConfig + + + +#### getStateManagerConfig + +- ##### What's New + - [Added] method getStateManagerConfig + + + +### Payment + + + +#### setUserCODlimitRoutes + +- ##### What's New + - [Added] property business_unit of schema SetCODForUserRequest in request body + + +#### resendOrCancelPayment + +- ##### What's New + - [Added] property data.is_payment_done of schema LinkStatus in response with status code 200 + + +#### verifyCustomerForPayment + +- ##### What's Changed + - [Breaking] [Changed] data made optional in response with status code 200 + + +### Theme + + + +#### getAllPages + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### createPage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### updateMultiplePages + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### getPage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### updatePage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### deletePage + +- ##### What's Deprecated + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### getExtensionSections + +- ##### What's New + - [Added] method getExtensionSections + + + +### User + + + +#### createUserSession + +- ##### What's Deprecated + - [Breaking] [Deleted] property max_age of schema CreateUserSessionRequestSchema in request body + + +### Webhook + + + +#### manualRetryOfFailedEvent + +- ##### What's Deprecated + - [Breaking] [Deleted] method manualRetryOfFailedEvent + + + +#### getEventCounts + +- ##### What's Deprecated + - [Breaking] [Deleted] method getEventCounts + + + +#### getManualRetryStatus + +- ##### What's Deprecated + - [Breaking] [Deleted] method getManualRetryStatus + + + +#### manualRetryCancel + +- ##### What's Deprecated + - [Breaking] [Deleted] method manualRetryCancel + + + +#### downloadDeliveryReport + +- ##### What's New + - [Breaking] [Added] end_date, start_date made required in request body + + +#### pingWebhook + +- ##### What's New + - [Breaking] [Added] webhook_url made required in request body + + +#### getReportFilters + +- ##### What's New + - [Breaking] [Added] subscriber_ids made required in request body + + +#### getHistoricalReports + +- ##### What's New + - [Breaking] [Added] type made required in request body + + +#### getDeliveryReports + +- ##### What's New + - [Breaking] [Added] end_date, start_date made required in request body + + +#### registerSubscriberToEventV2 + +- ##### What's New + - [Breaking] [Added] Type object to property of schema SubscriberConfigPostRequestV2 in request body + - [Breaking] [Added] provider, association, status, email_id, name, events made required in request body + +- ##### What's Deprecated + - [Breaking] [Deleted] property id of schema SubscriberConfigRequestV2 in request body + - [Breaking] [Deleted] property association.company_id of schema Association in request body + + +#### updateSubscriberV2 + +- ##### What's New + - [Breaking] [Added] Type object to property of schema SubscriberConfigUpdateRequestV2 in request body + - [Breaking] [Added] id, provider, status made required in request body + +- ##### What's Deprecated + - [Breaking] [Deleted] property association.company_id of schema Association in request body + + +#### registerSubscriberToEvent + +- ##### What's New + - [Breaking] [Added] Type object to property of schema SubscriberConfigPost in request body + - [Breaking] [Added] webhook_url, association, status, email_id, event_id, name made required in request body + +- ##### What's Deprecated + - [Breaking] [Deleted] property id of schema SubscriberConfig in request body + - [Breaking] [Deleted] property association.company_id of schema Association in request body + + +#### updateSubscriberConfig + +- ##### What's New + - [Breaking] [Added] Type object to property of schema SubscriberConfigUpdate in request body + - [Breaking] [Added] id, event_id made required in request body + +- ##### What's Deprecated + - [Breaking] [Deleted] property association.company_id of schema Association in request body + + +## Public Client + +- [Breaking] [Removed] Billing class from public client +- [Breaking] [Removed] Inventory class from public client + + +### Webhook + + + +#### testHandlerTransformation + +- ##### What's New + - [Breaking] [Added] event_name, event_type, event_category, event_version, event made required in request body + + +#### validateSchema + +- ##### What's New + - [Breaking] [Added] event_name, event_type, event_category, event_version, event, event_schema made required in request body + + +# CHANGE LOG (1.4.8) - fp-v1.9.4 ## Application Client @@ -103,7 +2764,7 @@ #### getPromotionOffers - ##### What's New - - [Breaking] [Added] properties available_promotions[].free_gift_items[].item_price_details.marked, available_promotions[].free_gift_items[].item_price_details.effective, available_promotions[].free_gift_items[].item_price_details.currency in response with status code 200 + - [Added] properties available_promotions[].free_gift_items[].item_price_details.marked, available_promotions[].free_gift_items[].item_price_details.effective, available_promotions[].free_gift_items[].item_price_details.currency in response with status code 200 - [Added] property available_promotions[].promotion_type of schema PromotionOffer in response with status code 200 - [Added] property available_promotions[].promotion_name of schema PromotionOffer in response with status code 200 @@ -111,7 +2772,7 @@ #### getLadderOffers - ##### What's New - - [Breaking] [Added] properties available_offers[].free_gift_items[].item_price_details.marked, available_offers[].free_gift_items[].item_price_details.effective, available_offers[].free_gift_items[].item_price_details.currency in response with status code 200 + - [Added] properties available_offers[].free_gift_items[].item_price_details.marked, available_offers[].free_gift_items[].item_price_details.effective, available_offers[].free_gift_items[].item_price_details.currency in response with status code 200 #### checkoutCartV2 @@ -133,8 +2794,8 @@ #### getProductSizesBySlug -- ##### What's Deprecated - - [Deleted] Required status from property discount_meta.timer in response with status code 200 +- ##### What's Changed + - [Breaking] [Changed] discount_meta.timer made optional in response with status code 200 #### getProductVariantsBySlug @@ -145,14 +2806,14 @@ #### getProductPriceBySlug -- ##### What's Deprecated - - [Deleted] Required status from property discount_meta.timer in response with status code 200 +- ##### What's Changed + - [Breaking] [Changed] discount_meta.timer made optional in response with status code 200 #### getProductSellersBySlug -- ##### What's Deprecated - - [Deleted] Required status from property items[].discount_meta.timer in response with status code 200 +- ##### What's Changed + - [Breaking] [Changed] items[].discount_meta.timer made optional in response with status code 200 ### Content @@ -165,8 +2826,8 @@ - [Added] property summary of schema BlogSchema in response with status code 200 - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 - [Breaking] [Deleted] property _schedule of schema BlogSchema in response with status code 200 @@ -181,37 +2842,37 @@ - [Added] property filters of schema BlogGetResponse in response with status code 200 - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 - [Breaking] [Deleted] property items[]._schedule of schema BlogSchema in response with status code 200 #### getLandingPage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in response with status code 200 #### getNavigations - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].navigation[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].navigation[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].navigation[].action.popup.type of schema PageType in response with status code 200 #### getSlideshows - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].media[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].media[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].media[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].media[].action.popup.type of schema PageType in response with status code 200 #### getSlideshow - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 #### getSupportInformation @@ -219,25 +2880,34 @@ - ##### What's New - [Added] property contact.phone.phone[].phone_type of schema PhoneProperties in response with status code 200 +- ##### What's Deprecated + - [Breaking] [Deleted] property config_type of schema Support in response with status code 200 + #### getPage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### getPages - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 ### Lead +#### submitCustomForm + +- ##### What's New + - [Added] property response of schema SubmitCustomFormResponse in response with status code 200 + + #### getParticipantsInsideVideoRoom - ##### What's Deprecated @@ -320,6 +2990,12 @@ +#### verifyCustomerForPayment + +- ##### What's Changed + - [Breaking] [Changed] data made optional in response with status code 200 + + #### resendOrCancelPayment - ##### What's New @@ -339,18 +3015,34 @@ - [Added] property pages[].sections[].source of schema AvailablePageSchemaSections in response with status code 200 - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### getPage - ##### What's New + - [Added] query parameter sectionPreviewHash (type: string) + - [Added] property sections[].source of schema AvailablePageSchemaSections in response with status code 200 - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + + +#### getAppliedTheme + +- ##### What's New + - [Breaking] [Added] Type object to property available_sections[].props[] of schema SectionItem in response with status code 200 + - [Breaking] [Added] Type object to property available_sections[].blocks[] of schema SectionItem in response with status code 200 + + +#### getThemeForPreview + +- ##### What's New + - [Breaking] [Added] Type object to property available_sections[].props[] of schema SectionItem in response with status code 200 + - [Breaking] [Added] Type object to property available_sections[].blocks[] of schema SectionItem in response with status code 200 ## Partner Client @@ -405,64 +3097,64 @@ #### createCourierPartnerAccount -- ##### What's Deprecated - - [Deleted] Required status from property account_id in request body +- ##### What's Changed + - [Changed] account_id made optional in request body #### getCourierPartnerAccounts - ##### What's New - - [Breaking] [Added] Possible nullable value true to property items[].scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 #### updateCourierPartnerAccount - ##### What's New - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 #### getCourierPartnerAccount - ##### What's New - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 #### createCourierPartnerScheme - ##### What's New - - [Breaking] [Added] Possible nullable value true to property weight.lt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property weight.gt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property weight.lte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property weight.gte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property weight.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property weight.gte of schema ArithmeticOperations in response with status code 200 -- ##### What's Deprecated - - [Deleted] Required status from property scheme_id in request body +- ##### What's Changed + - [Changed] scheme_id made optional in request body #### updateCourierPartnerScheme - ##### What's New - - [Breaking] [Added] Possible nullable value true to property weight.lt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property weight.gt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property weight.lte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property weight.gte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property weight.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property weight.gte of schema ArithmeticOperations in response with status code 200 #### getCountries @@ -478,49 +3170,49 @@ #### getAllPages - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### createPage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### updateMultiplePages - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### getPage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### updatePage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### deletePage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### createExtensionSectionDraft @@ -537,6 +3229,20 @@ +#### applyExtensionPreview + +- ##### What's New + - [Added] method applyExtensionPreview + + + +#### removeExtensionPreview + +- ##### What's New + - [Added] method removeExtensionPreview + + + ## Platform Client @@ -555,14 +3261,63 @@ #### createSubscriptionCharge -- ##### What's Deprecated - - [Breaking] [Deleted] method createSubscriptionCharge +- ##### What's New + - [Added] Possible values day to property subscription.line_items[].recurring.interval of schema ChargeRecurring in response with status code 200 + - [Added] Possible values week to property subscription.line_items[].recurring.interval of schema ChargeRecurring in response with status code 200 + - [Added] Possible values quarter to property subscription.line_items[].recurring.interval of schema ChargeRecurring in response with status code 200 + - [Added] Possible values half_year to property subscription.line_items[].recurring.interval of schema ChargeRecurring in response with status code 200 + - [Added] property subscription.line_items[].recurring.interval_time of schema ChargeRecurring in response with status code 200 + - [Added] Possible nullable value true to property subscription.line_items[].activated_on of schema EntityChargeDetails in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.line_items[].activated_on of schema EntityChargeDetails in response with status code 200 + - [Added] Possible nullable value true to property subscription.line_items[].cancelled_on of schema EntityChargeDetails in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.line_items[].cancelled_on of schema EntityChargeDetails in response with status code 200 + - [Added] Possible nullable value true to property subscription.line_items[].billing_date of schema EntityChargeDetails in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.line_items[].billing_date of schema EntityChargeDetails in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.line_items[].current_period.start_date of schema SubscriptionTrialPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.line_items[].current_period.end_date of schema SubscriptionTrialPeriod in response with status code 200 + - [Added] Possible values success to property subscription.line_items[].status of schema EntityChargeDetails in response with status code 200 + - [Added] Possible values failed to property subscription.line_items[].status of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].subscription_id of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].subscriber_id of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].entity_type of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].entity_id of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].charge_type of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].modified_at of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].created_at of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].company_id of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].meta of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.line_items[].__v of schema EntityChargeDetails in response with status code 200 + - [Added] property subscription.product_suit_id of schema EntitySubscription in response with status code 200 + - [Added] property subscription.entity_id of schema EntitySubscription in response with status code 200 + - [Added] property subscription.entity_type of schema EntitySubscription in response with status code 200 + - [Added] property subscription.is_test of schema EntitySubscription in response with status code 200 + - [Added] property subscription.created_at of schema EntitySubscription in response with status code 200 + - [Added] property subscription.modified_at of schema EntitySubscription in response with status code 200 + - [Added] property subscription.subscriber_id of schema EntitySubscription in response with status code 200 + - [Added] property subscription.return_url of schema EntitySubscription in response with status code 200 + +- ##### What's Deprecated + - [Deleted] Possible values from pending,active,cancelled,frozen,declined from property subscription.status of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property subscription.company_id of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property subscription.activated_on of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property subscription.cancelled_on of schema EntitySubscription in response with status code 200 + - [Deleted] Value format from int32 from property subscription.trial_days of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property subscription.trial_period of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property subscription.metadata of schema EntitySubscription in response with status code 200 + - [Breaking] [Deleted] property subscription.line_items[].metadata of schema SubscriptionCharge in response with status code 200 +- ##### What's Changed + - [Changed] line_items[].price.amount, line_items[].price.currency_code made optional in request body + - [Breaking] [Changed] Type from integer to number of property subscription.trial_days of schema EntitySubscription in response with status code 200 + - [Changed] subscription.line_items[].price.amount, subscription.line_items[].price.currency_code made optional in response with status code 200 + - [Breaking] [Changed] subscription.line_items[].recurring.interval made optional in response with status code 200 #### getSubscriptionCharge - ##### What's New + - [Breaking] [Added] Value format date-time to property activated_on of schema SubscriptionChargeRes in response with status code 200 + - [Breaking] [Added] Value format date-time to property cancelled_on of schema SubscriptionChargeRes in response with status code 200 - [Added] property product_suit_id of schema SubscriptionChargeRes in response with status code 200 - [Added] property entity_id of schema SubscriptionChargeRes in response with status code 200 - [Added] property entity_type of schema SubscriptionChargeRes in response with status code 200 @@ -579,7 +3334,7 @@ - [Deleted] Value format from int32 from property trial_days of schema EntitySubscription in response with status code 200 - [Breaking] [Deleted] property trial_period of schema EntitySubscription in response with status code 200 - [Breaking] [Deleted] property metadata of schema EntitySubscription in response with status code 200 - - [Deleted] properties line_items[]._id, line_items[].name, line_items[].term, line_items[].pricing_type, line_items[].price, line_items[].recurring, line_items[].capped_amount, line_items[].activated_on, line_items[].cancelled_on, line_items[].billing_date, line_items[].current_period, line_items[].status, line_items[].is_test, line_items[].metadata in response with status code 200 + - [Breaking] [Deleted] properties line_items[]._id, line_items[].name, line_items[].term, line_items[].pricing_type, line_items[].price, line_items[].recurring, line_items[].capped_amount, line_items[].activated_on, line_items[].cancelled_on, line_items[].billing_date, line_items[].current_period, line_items[].status, line_items[].is_test, line_items[].metadata in response with status code 200 - ##### What's Changed - [Breaking] [Changed] Type from integer to string of property company_id of schema EntitySubscription in response with status code 200 @@ -589,6 +3344,8 @@ #### cancelSubscriptionCharge - ##### What's New + - [Breaking] [Added] Value format date-time to property activated_on of schema SubscriptionChargeRes in response with status code 200 + - [Breaking] [Added] Value format date-time to property cancelled_on of schema SubscriptionChargeRes in response with status code 200 - [Added] property product_suit_id of schema SubscriptionChargeRes in response with status code 200 - [Added] property entity_id of schema SubscriptionChargeRes in response with status code 200 - [Added] property entity_type of schema SubscriptionChargeRes in response with status code 200 @@ -605,7 +3362,7 @@ - [Deleted] Value format from int32 from property trial_days of schema EntitySubscription in response with status code 200 - [Breaking] [Deleted] property trial_period of schema EntitySubscription in response with status code 200 - [Breaking] [Deleted] property metadata of schema EntitySubscription in response with status code 200 - - [Deleted] properties line_items[]._id, line_items[].name, line_items[].term, line_items[].pricing_type, line_items[].price, line_items[].recurring, line_items[].capped_amount, line_items[].activated_on, line_items[].cancelled_on, line_items[].billing_date, line_items[].current_period, line_items[].status, line_items[].is_test, line_items[].metadata in response with status code 200 + - [Breaking] [Deleted] properties line_items[]._id, line_items[].name, line_items[].term, line_items[].pricing_type, line_items[].price, line_items[].recurring, line_items[].capped_amount, line_items[].activated_on, line_items[].cancelled_on, line_items[].billing_date, line_items[].current_period, line_items[].status, line_items[].is_test, line_items[].metadata in response with status code 200 - [Breaking] [Deleted] Response with status 400 - ##### What's Changed @@ -616,13 +3373,12 @@ #### createOneTimeCharge - ##### What's New + - [Added] Possible values recurring to property charge.pricing_type of schema OneTimeChargeItem in request body + - [Added] Possible values usage_base to property charge.pricing_type of schema OneTimeChargeItem in request body - [Added] property charge.final_charge of schema Charge in response with status code 200 - [Added] Security in Request - ##### What's Deprecated - - [Deleted] Required status from properties charge.price.amount, charge.price.currency_code in request body - - [Deleted] Required status from properties charge.name, charge.pricing_type, charge.price in request body - - [Deleted] Required status from properties name, charge, return_url in request body - [Breaking] [Deleted] property charge._id of schema OneTimeChargeEntity in response with status code 200 - [Breaking] [Deleted] property charge.name of schema OneTimeChargeEntity in response with status code 200 - [Breaking] [Deleted] property charge.status of schema OneTimeChargeEntity in response with status code 200 @@ -638,10 +3394,19 @@ - [Breaking] [Deleted] property charge.meta of schema OneTimeChargeEntity in response with status code 200 - [Breaking] [Deleted] property charge.price of schema OneTimeChargeEntity in response with status code 200 +- ##### What's Changed + - [Changed] charge.price.amount, charge.price.currency_code made optional in request body + - [Changed] charge.name, charge.pricing_type, charge.price made optional in request body + - [Changed] name, charge, return_url made optional in request body + #### getChargeDetails - ##### What's New + - [Breaking] [Added] Value format date-time to property activated_on of schema ChargeDetails in response with status code 200 + - [Breaking] [Added] Value format date-time to property cancelled_on of schema ChargeDetails in response with status code 200 + - [Breaking] [Added] Possible values one_time,recurring,usage_base to property pricing_type of schema ChargeDetails in response with status code 200 + - [Breaking] [Added] Possible values extension,theme to property entity_type of schema ChargeDetails in response with status code 200 - [Added] property term of schema ChargeDetails in response with status code 200 - [Added] property charge_type of schema ChargeDetails in response with status code 200 - [Added] property recurring of schema ChargeDetails in response with status code 200 @@ -660,12 +3425,27 @@ - [Breaking] [Deleted] property metadata of schema OneTimeChargeEntity in response with status code 200 - [Breaking] [Deleted] property return_url of schema OneTimeChargeEntity in response with status code 200 - [Breaking] [Deleted] property subscriber_id of schema OneTimeChargeEntity in response with status code 200 - - [Deleted] Required status from properties price.amount, price.currency_code in response with status code 200 + +- ##### What's Changed + - [Changed] price.amount, price.currency_code made optional in response with status code 200 #### getInvoices - ##### What's New + - [Breaking] [Added] Value format date-time to property data[].period.start of schema InvoicesDataPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property data[].period.end of schema InvoicesDataPeriod in response with status code 200 + - [Breaking] [Added] Possible values draft,open,paid,uncollectible,void,processing,payment_due to property data[].current_status of schema InvoicesData in response with status code 200 + - [Breaking] [Added] Value format date-time to property data[].status_trail[].timestamp of schema InvoiceDetailsStatusTrail in response with status code 200 + - [Breaking] [Added] Value format date-time to property data[].created_at of schema InvoicesData in response with status code 200 + - [Breaking] [Added] Value format date-time to property data[].modified_at of schema InvoicesData in response with status code 200 + - [Breaking] [Added] Possible values day,week,month,year,quarter,half_year to property data[].invoice_items[].plan.recurring.interval of schema InvoiceItemsPlanRecurring in response with status code 200 + - [Breaking] [Added] Value format date-time to property data[].invoice_items[].plan.created_at of schema InvoiceItemsPlan in response with status code 200 + - [Breaking] [Added] Value format date-time to property data[].invoice_items[].plan.modified_at of schema InvoiceItemsPlan in response with status code 200 + - [Breaking] [Added] Value format date-time to property data[].invoice_items[].period.start of schema InvoiceItemsPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property data[].invoice_items[].period.end of schema InvoiceItemsPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property data[].invoice_items[].created_at of schema InvoiceItems in response with status code 200 + - [Breaking] [Added] Value format date-time to property data[].invoice_items[].modified_at of schema InvoiceItems in response with status code 200 - [Added] property data[].documents of schema InvoicesData in response with status code 200 - [Added] property data[].payment of schema InvoicesData in response with status code 200 - [Added] property data[].old_settlement of schema InvoicesData in response with status code 200 @@ -673,6 +3453,7 @@ - [Added] property data[].discount of schema InvoicesData in response with status code 200 - [Added] property data[].taxation of schema InvoicesData in response with status code 200 - [Added] property data[].credit_note_amount of schema InvoicesData in response with status code 200 + - [Added] property data[].invoice_type of schema InvoicesData in response with status code 200 - [Added] Response with status 400 - [Added] Security in Request @@ -683,7 +3464,11 @@ #### getInvoiceById - ##### What's New - - [Breaking] [Added] Possible nullable value true to property invoice.attemp of schema InvoiceDetailsData in response with status code 200 + - [Added] Possible nullable value true to property invoice.attemp of schema InvoiceDetailsData in response with status code 200 + - [Breaking] [Added] Value format date-time to property invoice.status_trail[].timestamp of schema StatusTrail in response with status code 200 + - [Breaking] [Added] Value format date-time to property invoice.next_action_time of schema InvoiceDetailsData in response with status code 200 + - [Breaking] [Added] Value format date-time to property invoice.created_at of schema InvoiceDetailsData in response with status code 200 + - [Breaking] [Added] Value format date-time to property invoice.modified_at of schema InvoiceDetailsData in response with status code 200 - [Added] property invoice.documents of schema InvoiceDetailsData in response with status code 200 - [Added] property invoice.payment of schema InvoiceDetailsData in response with status code 200 - [Added] property invoice.discount of schema InvoiceDetailsData in response with status code 200 @@ -692,12 +3477,19 @@ - [Added] property invoice.credit_balance of schema InvoiceDetailsData in response with status code 200 - [Added] property invoice.attempt of schema InvoiceDetailsData in response with status code 200 - [Added] property invoice.credit_note_amount of schema InvoiceDetailsData in response with status code 200 + - [Added] property invoice.invoice_type of schema InvoiceDetailsData in response with status code 200 + - [Breaking] [Added] Possible values day,week,month,year,quarter,half_year to property invoice_items[].plan.recurring.interval of schema InvoiceItemsPlanRecurring in response with status code 200 + - [Breaking] [Added] Value format date-time to property invoice_items[].plan.created_at of schema InvoiceItemsPlan in response with status code 200 + - [Breaking] [Added] Value format date-time to property invoice_items[].plan.modified_at of schema InvoiceItemsPlan in response with status code 200 + - [Breaking] [Added] Value format date-time to property invoice_items[].period.start of schema InvoiceItemsPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property invoice_items[].period.end of schema InvoiceItemsPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property invoice_items[].created_at of schema InvoiceItems in response with status code 200 + - [Breaking] [Added] Value format date-time to property invoice_items[].modified_at of schema InvoiceItems in response with status code 200 - [Added] property shopsense_details of schema InvoiceData in response with status code 200 - [Added] Security in Request - ##### What's Deprecated - [Deleted] Value format from int32 from property invoice.attemp of schema InvoiceDetails in response with status code 200 - - [Deleted] properties in response with status code 200 - [Breaking] [Deleted] property invoice.hash_identifier of schema InvoiceDetails in response with status code 200 - [Breaking] [Deleted] property invoice.payment_method of schema InvoiceDetails in response with status code 200 - [Deleted] Value format from int32 from property invoice_items[].plan.recurring.interval_count of schema InvoiceItemsPlanRecurring in response with status code 200 @@ -709,6 +3501,9 @@ #### getCustomerDetail - ##### What's New + - [Added] property billing_address.country_code of schema SubscriptionBillingAddress in response with status code 200 + - [Breaking] [Added] Value format date-time to property created_at of schema SubscriptionCustomer in response with status code 200 + - [Breaking] [Added] Value format date-time to property modified_at of schema SubscriptionCustomer in response with status code 200 - [Added] property documents of schema SubscriptionCustomer in response with status code 200 - [Added] property consent of schema SubscriptionCustomer in response with status code 200 - [Added] property comms of schema SubscriptionCustomer in response with status code 200 @@ -723,6 +3518,10 @@ #### upsertCustomerDetail - ##### What's New + - [Added] property billing_address.country_code of schema SubscriptionBillingAddress in request body + - [Added] property billing_address.country_code of schema SubscriptionBillingAddress in response with status code 200 + - [Breaking] [Added] Value format date-time to property created_at of schema SubscriptionCustomer in response with status code 200 + - [Breaking] [Added] Value format date-time to property modified_at of schema SubscriptionCustomer in response with status code 200 - [Added] property documents of schema SubscriptionCustomer in response with status code 200 - [Added] property consent of schema SubscriptionCustomer in response with status code 200 - [Added] property comms of schema SubscriptionCustomer in response with status code 200 @@ -738,7 +3537,17 @@ #### getSubscription - ##### What's New + - [Breaking] [Added] Value format date-time to property subscription.current_period.start of schema SubscriptionCurrentPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.current_period.end of schema SubscriptionCurrentPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.pause_collection.resume_at of schema SubscriptionPauseCollection in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.trial.start of schema SubscriptionTrial in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.trial.end of schema SubscriptionTrial in response with status code 200 + - [Breaking] [Added] Possible values day,week,month,year,quarter,half_year to property subscription.plan_data.recurring.interval of schema PlanRecurring in response with status code 200 + - [Added] properties subscription.plan_data.country.name, subscription.plan_data.country.code in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.plan_data.created_at of schema Plan in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.plan_data.modified_at of schema Plan in response with status code 200 - [Added] property subscription.plan_data.fee_components of schema Plan in response with status code 200 + - [Added] property subscription.plan_data.approved_by of schema Plan in response with status code 200 - [Added] property subscription.plan_data.taxation of schema Plan in response with status code 200 - [Added] property subscription.plan_data.one_time_fees of schema Plan in response with status code 200 - [Added] property subscription.plan_data.credit_line of schema Plan in response with status code 200 @@ -749,10 +3558,28 @@ - [Added] property subscription.plan_data.activated_on of schema Plan in response with status code 200 - [Added] property subscription.plan_data.meta of schema Plan in response with status code 200 - [Added] property subscription.plan_data.created_by of schema Plan in response with status code 200 + - [Breaking] [Added] Possible values incomplete,incomplete_expired,trialing,active,past_due,canceled,unpaid,blocked to property subscription.current_status of schema Subscription in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.created_at of schema Subscription in response with status code 200 + - [Breaking] [Added] Value format date-time to property subscription.modified_at of schema Subscription in response with status code 200 + - [Breaking] [Added] Possible values fynd,uniket,ecomm,marketplace,affiliate,fynd_store to property subscription.channel_type of schema Subscription in response with status code 200 - [Added] property subscription.meta of schema Subscription in response with status code 200 + - [Added] property subscription.is_eligible_for_plan_change of schema Subscription in response with status code 200 - [Added] property subscription.freezed of schema Subscription in response with status code 200 - [Added] property subscription.cancel_at of schema Subscription in response with status code 200 - [Added] property subscription.canceled_at of schema Subscription in response with status code 200 + - [Breaking] [Added] Value format date-time to property latest_invoice.period.start of schema InvoicesDataPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property latest_invoice.period.end of schema InvoicesDataPeriod in response with status code 200 + - [Breaking] [Added] Possible values draft,open,paid,uncollectible,void,processing,payment_due to property latest_invoice.current_status of schema InvoicesData in response with status code 200 + - [Breaking] [Added] Value format date-time to property latest_invoice.status_trail[].timestamp of schema InvoiceDetailsStatusTrail in response with status code 200 + - [Breaking] [Added] Value format date-time to property latest_invoice.created_at of schema InvoicesData in response with status code 200 + - [Breaking] [Added] Value format date-time to property latest_invoice.modified_at of schema InvoicesData in response with status code 200 + - [Breaking] [Added] Possible values day,week,month,year,quarter,half_year to property latest_invoice.invoice_items[].plan.recurring.interval of schema InvoiceItemsPlanRecurring in response with status code 200 + - [Breaking] [Added] Value format date-time to property latest_invoice.invoice_items[].plan.created_at of schema InvoiceItemsPlan in response with status code 200 + - [Breaking] [Added] Value format date-time to property latest_invoice.invoice_items[].plan.modified_at of schema InvoiceItemsPlan in response with status code 200 + - [Breaking] [Added] Value format date-time to property latest_invoice.invoice_items[].period.start of schema InvoiceItemsPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property latest_invoice.invoice_items[].period.end of schema InvoiceItemsPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property latest_invoice.invoice_items[].created_at of schema InvoiceItems in response with status code 200 + - [Breaking] [Added] Value format date-time to property latest_invoice.invoice_items[].modified_at of schema InvoiceItems in response with status code 200 - [Added] property latest_invoice.documents of schema InvoicesData in response with status code 200 - [Added] property latest_invoice.payment of schema InvoicesData in response with status code 200 - [Added] property latest_invoice.old_settlement of schema InvoicesData in response with status code 200 @@ -760,7 +3587,13 @@ - [Added] property latest_invoice.discount of schema InvoicesData in response with status code 200 - [Added] property latest_invoice.taxation of schema InvoicesData in response with status code 200 - [Added] property latest_invoice.credit_note_amount of schema InvoicesData in response with status code 200 + - [Added] property latest_invoice.invoice_type of schema InvoicesData in response with status code 200 + - [Breaking] [Added] Possible values day,week,month,year,quarter,half_year to property next_plan.recurring.interval of schema PlanRecurring in response with status code 200 + - [Added] properties next_plan.country.name, next_plan.country.code in response with status code 200 + - [Breaking] [Added] Value format date-time to property next_plan.created_at of schema Plan in response with status code 200 + - [Breaking] [Added] Value format date-time to property next_plan.modified_at of schema Plan in response with status code 200 - [Added] property next_plan.fee_components of schema Plan in response with status code 200 + - [Added] property next_plan.approved_by of schema Plan in response with status code 200 - [Added] property next_plan.taxation of schema Plan in response with status code 200 - [Added] property next_plan.one_time_fees of schema Plan in response with status code 200 - [Added] property next_plan.credit_line of schema Plan in response with status code 200 @@ -772,7 +3605,7 @@ - [Added] property next_plan.meta of schema Plan in response with status code 200 - [Added] property next_plan.created_by of schema Plan in response with status code 200 - [Breaking] [Added] Type object to property current_subscriptions[] of schema Subscription in response with status code 200 - - [Breaking] [Added] properties current_subscriptions[].meta, current_subscriptions[].current_period, current_subscriptions[].pause_collection, current_subscriptions[].trial, current_subscriptions[].invoice_settings, current_subscriptions[].is_active, current_subscriptions[].cancel_at_period_end, current_subscriptions[]._id, current_subscriptions[].subscriber_id, current_subscriptions[].plan_id, current_subscriptions[].product_suite_id, current_subscriptions[].plan_data, current_subscriptions[].current_status, current_subscriptions[].collection_method, current_subscriptions[].created_at, current_subscriptions[].modified_at, current_subscriptions[].latest_invoice, current_subscriptions[].channel_type, current_subscriptions[].freezed, current_subscriptions[].cancel_at, current_subscriptions[].canceled_at in response with status code 200 + - [Added] properties current_subscriptions[].meta, current_subscriptions[].current_period, current_subscriptions[].pause_collection, current_subscriptions[].trial, current_subscriptions[].invoice_settings, current_subscriptions[].is_active, current_subscriptions[].cancel_at_period_end, current_subscriptions[]._id, current_subscriptions[].subscriber_id, current_subscriptions[].plan_id, current_subscriptions[].product_suite_id, current_subscriptions[].is_eligible_for_plan_change, current_subscriptions[].plan_data, current_subscriptions[].current_status, current_subscriptions[].collection_method, current_subscriptions[].created_at, current_subscriptions[].modified_at, current_subscriptions[].latest_invoice, current_subscriptions[].channel_type, current_subscriptions[].freezed, current_subscriptions[].cancel_at, current_subscriptions[].canceled_at in response with status code 200 - [Added] property message of schema SubscriptionStatus in response with status code 200 - [Added] Security in Request @@ -781,6 +3614,8 @@ - [Breaking] [Deleted] Response with status 500 - ##### What's Changed + - [Breaking] [Changed] Type from string to object of property subscription.plan_data.country of schema Plan in response with status code 200 + - [Breaking] [Changed] Type from string to object of property next_plan.country of schema Plan in response with status code 200 - [Breaking] [Changed] Type from string to number of property mandate_amount of schema SubscriptionStatus in response with status code 200 @@ -793,6 +3628,9 @@ - ##### What's Deprecated - [Breaking] [Deleted] Response with status 500 +- ##### What's Changed + - [Breaking] [Changed] operationId from getFeatureLimitConfig to currentLimit + #### activateSubscriptionPlan @@ -800,7 +3638,17 @@ - [Added] property subscription_id of schema SubscriptionActivateReq in request body - [Added] property coupon of schema SubscriptionActivateReq in request body - [Added] property meta of schema SubscriptionActivateReq in request body + - [Breaking] [Added] Value format date-time to property data.current_period.start of schema SubscriptionCurrentPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.current_period.end of schema SubscriptionCurrentPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.pause_collection.resume_at of schema SubscriptionPauseCollection in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.trial.start of schema SubscriptionTrial in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.trial.end of schema SubscriptionTrial in response with status code 200 + - [Breaking] [Added] Possible values day,week,month,year,quarter,half_year to property data.plan_data.recurring.interval of schema PlanRecurring in response with status code 200 + - [Added] properties data.plan_data.country.name, data.plan_data.country.code in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.plan_data.created_at of schema Plan in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.plan_data.modified_at of schema Plan in response with status code 200 - [Added] property data.plan_data.fee_components of schema Plan in response with status code 200 + - [Added] property data.plan_data.approved_by of schema Plan in response with status code 200 - [Added] property data.plan_data.taxation of schema Plan in response with status code 200 - [Added] property data.plan_data.one_time_fees of schema Plan in response with status code 200 - [Added] property data.plan_data.credit_line of schema Plan in response with status code 200 @@ -811,7 +3659,12 @@ - [Added] property data.plan_data.activated_on of schema Plan in response with status code 200 - [Added] property data.plan_data.meta of schema Plan in response with status code 200 - [Added] property data.plan_data.created_by of schema Plan in response with status code 200 + - [Breaking] [Added] Possible values incomplete,incomplete_expired,trialing,active,past_due,canceled,unpaid,blocked to property data.current_status of schema Subscription in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.created_at of schema Subscription in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.modified_at of schema Subscription in response with status code 200 + - [Breaking] [Added] Possible values fynd,uniket,ecomm,marketplace,affiliate,fynd_store to property data.channel_type of schema Subscription in response with status code 200 - [Added] property data.meta of schema Subscription in response with status code 200 + - [Added] property data.is_eligible_for_plan_change of schema Subscription in response with status code 200 - [Added] property data.freezed of schema Subscription in response with status code 200 - [Added] property data.cancel_at of schema Subscription in response with status code 200 - [Added] property data.canceled_at of schema Subscription in response with status code 200 @@ -822,11 +3675,24 @@ - [Breaking] [Deleted] Response with status 404 - [Breaking] [Deleted] Response with status 500 +- ##### What's Changed + - [Breaking] [Changed] Type from string to object of property data.plan_data.country of schema Plan in response with status code 200 + #### cancelSubscriptionPlan - ##### What's New + - [Breaking] [Added] Value format date-time to property data.current_period.start of schema SubscriptionCurrentPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.current_period.end of schema SubscriptionCurrentPeriod in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.pause_collection.resume_at of schema SubscriptionPauseCollection in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.trial.start of schema SubscriptionTrial in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.trial.end of schema SubscriptionTrial in response with status code 200 + - [Breaking] [Added] Possible values day,week,month,year,quarter,half_year to property data.plan_data.recurring.interval of schema PlanRecurring in response with status code 200 + - [Added] properties data.plan_data.country.name, data.plan_data.country.code in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.plan_data.created_at of schema Plan in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.plan_data.modified_at of schema Plan in response with status code 200 - [Added] property data.plan_data.fee_components of schema Plan in response with status code 200 + - [Added] property data.plan_data.approved_by of schema Plan in response with status code 200 - [Added] property data.plan_data.taxation of schema Plan in response with status code 200 - [Added] property data.plan_data.one_time_fees of schema Plan in response with status code 200 - [Added] property data.plan_data.credit_line of schema Plan in response with status code 200 @@ -837,7 +3703,12 @@ - [Added] property data.plan_data.activated_on of schema Plan in response with status code 200 - [Added] property data.plan_data.meta of schema Plan in response with status code 200 - [Added] property data.plan_data.created_by of schema Plan in response with status code 200 + - [Breaking] [Added] Possible values incomplete,incomplete_expired,trialing,active,past_due,canceled,unpaid,blocked to property data.current_status of schema Subscription in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.created_at of schema Subscription in response with status code 200 + - [Breaking] [Added] Value format date-time to property data.modified_at of schema Subscription in response with status code 200 + - [Breaking] [Added] Possible values fynd,uniket,ecomm,marketplace,affiliate,fynd_store to property data.channel_type of schema Subscription in response with status code 200 - [Added] property data.meta of schema Subscription in response with status code 200 + - [Added] property data.is_eligible_for_plan_change of schema Subscription in response with status code 200 - [Added] property data.freezed of schema Subscription in response with status code 200 - [Added] property data.cancel_at of schema Subscription in response with status code 200 - [Added] property data.canceled_at of schema Subscription in response with status code 200 @@ -846,12 +3717,21 @@ - ##### What's Deprecated - [Breaking] [Deleted] Response with status 404 + - [Breaking] [Deleted] Response with status 500 + +- ##### What's Changed + - [Breaking] [Changed] Type from string to object of property data.plan_data.country of schema Plan in response with status code 200 #### getEnterprisePlans - ##### What's New + - [Breaking] [Added] Possible values day,week,month,year,quarter,half_year to property [].recurring.interval of schema PlanRecurring in response with status code 200 + - [Added] properties [].country.name, [].country.code in response with status code 200 + - [Breaking] [Added] Value format date-time to property [].created_at of schema Plan in response with status code 200 + - [Breaking] [Added] Value format date-time to property [].modified_at of schema Plan in response with status code 200 - [Added] property [].fee_components of schema Plan in response with status code 200 + - [Added] property [].approved_by of schema Plan in response with status code 200 - [Added] property [].taxation of schema Plan in response with status code 200 - [Added] property [].one_time_fees of schema Plan in response with status code 200 - [Added] property [].credit_line of schema Plan in response with status code 200 @@ -867,11 +3747,19 @@ - ##### What's Deprecated - [Breaking] [Deleted] Response with status 500 +- ##### What's Changed + - [Breaking] [Changed] Type from string to object of property [].country of schema Plan in response with status code 200 + #### planStatusUpdate - ##### What's New + - [Breaking] [Added] Possible values day,week,month,year,quarter,half_year to property recurring.interval of schema PlanRecurring in response with status code 200 + - [Added] properties country.name, country.code in response with status code 200 + - [Breaking] [Added] Value format date-time to property created_at of schema Plan in response with status code 200 + - [Breaking] [Added] Value format date-time to property modified_at of schema Plan in response with status code 200 - [Added] property fee_components of schema Plan in response with status code 200 + - [Added] property approved_by of schema Plan in response with status code 200 - [Added] property taxation of schema Plan in response with status code 200 - [Added] property one_time_fees of schema Plan in response with status code 200 - [Added] property credit_line of schema Plan in response with status code 200 @@ -887,6 +3775,9 @@ - ##### What's Deprecated - [Breaking] [Deleted] Response with status 500 +- ##### What's Changed + - [Breaking] [Changed] Type from string to object of property country of schema Plan in response with status code 200 + #### subscripePlan @@ -908,7 +3799,7 @@ - [Added] Security in Request - ##### What's Deprecated - - [Deleted] properties success, page, page_size, items in response with status code 200 + - [Breaking] [Deleted] properties success, page, page_size, items in response with status code 200 - [Breaking] [Deleted] Response with status 400 - [Breaking] [Deleted] Response with status 404 - [Breaking] [Deleted] Response with status 500 @@ -1110,17 +4001,43 @@ +#### getPromotions + +- ##### What's Deprecated + - [Breaking] [Deleted] property items[].restrictions.payments[] of schema Restrictions1 in response with status code 200 + + +#### createPromotion + +- ##### What's Deprecated + - [Breaking] [Deleted] property restrictions.payments[] of schema Restrictions1 in request body + - [Breaking] [Deleted] property restrictions.payments[] of schema Restrictions1 in response with status code 201 + + +#### getPromotionById + +- ##### What's Deprecated + - [Breaking] [Deleted] property restrictions.payments[] of schema Restrictions1 in response with status code 200 + + +#### updatePromotion + +- ##### What's Deprecated + - [Breaking] [Deleted] property restrictions.payments[] of schema Restrictions1 in request body + - [Breaking] [Deleted] property restrictions.payments[] of schema Restrictions1 in response with status code 200 + + #### getPriceAdjustments - ##### What's New - [Added] property data[] of schema GetPriceAdjustmentResponse in response with status code 200 - ##### What's Deprecated - - [Deleted] properties data.value, data.message, data.apply_expiry, data.restrictions, data.article_level_distribution, data.id, data.collection, data.type, data.allowed_refund, data.is_authenticated, data.article_ids, data.meta, data.cart_id in response with status code 200 - - [Deleted] Required status from properties data.article_ids, data.article_level_distribution, data.cart_id, data.collection, data.is_authenticated, data.message, data.type, data.value in response with status code 200 + - [Breaking] [Deleted] properties data.value, data.message, data.apply_expiry, data.restrictions, data.article_level_distribution, data.id, data.collection, data.type, data.allowed_refund, data.is_authenticated, data.article_ids, data.meta, data.cart_id in response with status code 200 - ##### What's Changed - [Breaking] [Changed] Type from object to array of property data of schema PriceAdjustment in response with status code 200 + - [Breaking] [Changed] data.article_ids, data.article_level_distribution, data.cart_id, data.collection, data.is_authenticated, data.message, data.type, data.value made optional in response with status code 200 #### getAbandonedCartDetails @@ -1259,49 +4176,49 @@ #### getApplicationBrandListing - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 #### getApplicationBrands - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 #### getCategories - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property data[].items[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property data[].items[].action.popup.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property data[].items[].childs[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property data[].items[].childs[].action.popup.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property data[].items[].childs[].childs[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property data[].items[].childs[].childs[].action.popup.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property data[].items[].childs[].childs[].childs[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property data[].items[].childs[].childs[].childs[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].childs[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].childs[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].childs[].childs[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].childs[].childs[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].childs[].childs[].childs[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property data[].items[].childs[].childs[].childs[].action.popup.type of schema PageType in response with status code 200 #### getApplicationCategoryListing - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 #### getAllCollections - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 #### getCollectionItems - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].brand.action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].brand.action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].brand.action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].brand.action.popup.type of schema PageType in response with status code 200 #### getAppInventory @@ -1322,15 +4239,15 @@ #### getAppicationProducts - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].brand.action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].brand.action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].brand.action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].brand.action.popup.type of schema PageType in response with status code 200 #### getProductDetailBySlug - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property brand.action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property brand.action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property brand.action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property brand.action.popup.type of schema PageType in response with status code 200 #### listProductTemplateExportDetails @@ -1349,6 +4266,23 @@ - [Added] property page of schema InventoryExportJobListResponse in response with status code 200 +#### getProducts + +- ##### What's New + - [Added] query parameter name (type: string) + + - [Added] query parameter slug (type: string) + + - [Added] query parameter allIdentifiers (type: array) + + - [Added] query parameter pageType (type: string) + + - [Added] query parameter sortOn (type: string) + + - [Added] query parameter pageId (type: string) + + + #### getProductExportJobs - ##### What's New @@ -1365,6 +4299,66 @@ - [Added] property page of schema ProductDownloadsResponse in response with status code 200 +### Configuration + + + +#### getIntegrationById + +- ##### What's Deprecated + - [Breaking] [Deleted] method getIntegrationById + + + +#### getAvailableOptIns + +- ##### What's Deprecated + - [Breaking] [Deleted] method getAvailableOptIns + + + +#### getSelectedOptIns + +- ##### What's Deprecated + - [Breaking] [Deleted] method getSelectedOptIns + + + +#### getIntegrationLevelConfig + +- ##### What's Deprecated + - [Breaking] [Deleted] method getIntegrationLevelConfig + + + +#### updateLevelIntegration + +- ##### What's Deprecated + - [Breaking] [Deleted] method updateLevelIntegration + + + +#### getIntegrationByLevelId + +- ##### What's Deprecated + - [Breaking] [Deleted] method getIntegrationByLevelId + + + +#### updateLevelUidIntegration + +- ##### What's Deprecated + - [Breaking] [Deleted] method updateLevelUidIntegration + + + +#### getLevelActiveIntegrations + +- ##### What's Deprecated + - [Breaking] [Deleted] method getLevelActiveIntegrations + + + ### Content @@ -1376,11 +4370,11 @@ - [Added] property summary of schema BlogSchema in response with status code 200 - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body - [Breaking] [Deleted] property _schedule of schema BlogRequest in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 - [Breaking] [Deleted] property _schedule of schema BlogSchema in response with status code 200 @@ -1401,8 +4395,8 @@ - [Added] property filters of schema BlogGetResponse in response with status code 200 - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 - [Breaking] [Deleted] property items[]._schedule of schema BlogSchema in response with status code 200 @@ -1413,11 +4407,11 @@ - [Added] property summary of schema BlogSchema in response with status code 200 - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body - [Breaking] [Deleted] property _schedule of schema BlogRequest in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 - [Breaking] [Deleted] property _schedule of schema BlogSchema in response with status code 200 @@ -1427,169 +4421,165 @@ - [Added] property summary of schema BlogSchema in response with status code 200 - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 - [Breaking] [Deleted] property _schedule of schema BlogSchema in response with status code 200 #### getComponentById -- ##### What's New - - [Added] property summary of schema BlogSchema in response with status code 200 - - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 - - [Breaking] [Deleted] property _schedule of schema BlogSchema in response with status code 200 + - [Breaking] [Deleted] method getComponentById + #### getLandingPages - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].action.popup.type of schema PageType in response with status code 200 #### createLandingPage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in response with status code 200 #### updateLandingPage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in response with status code 200 #### deleteLandingPage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property action.popup.type of schema PageType in response with status code 200 #### getNavigations - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].navigation[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].navigation[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].navigation[].action.popup.type of schema PageType in response with status code 200 #### createNavigation - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in response with status code 200 #### getDefaultNavigations - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].navigation[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].navigation[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].navigation[].action.popup.type of schema PageType in response with status code 200 #### getNavigationBySlug - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in response with status code 200 #### updateNavigation - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in response with status code 200 #### deleteNavigation - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property navigation[].action.popup.type of schema PageType in response with status code 200 #### getPageMeta - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property system_pages[].navigation[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property system_pages[].navigation[].action.popup.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property custom_pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property custom_pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property system_pages[].navigation[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property system_pages[].navigation[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property custom_pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property custom_pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### createPagePreview - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### updatePagePreview - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### deletePage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### getSlideshows - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].media[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].media[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].media[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].media[].action.popup.type of schema PageType in response with status code 200 #### createSlideshow - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property media.action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property media.action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media.action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property media.action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 #### getSlideshowBySlug - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 #### updateSlideshow - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property media.action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property media.action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media.action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property media.action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 #### deleteSlideshow - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property media[].action.popup.type of schema PageType in response with status code 200 #### getSupportInformation @@ -1597,6 +4587,9 @@ - ##### What's New - [Added] property contact.phone.phone[].phone_type of schema PhoneProperties in response with status code 200 +- ##### What's Deprecated + - [Breaking] [Deleted] property config_type of schema Support in response with status code 200 + #### updateSupportInformation @@ -1604,6 +4597,10 @@ - [Added] property contact.phone.phone[].phone_type of schema PhoneProperties in request body - [Added] property contact.phone.phone[].phone_type of schema PhoneProperties in response with status code 200 +- ##### What's Deprecated + - [Breaking] [Deleted] property config_type of schema Support in request body + - [Breaking] [Deleted] property config_type of schema Support in response with status code 200 + #### getBlogBySlug @@ -1611,57 +4608,53 @@ - [Added] property summary of schema BlogSchema in response with status code 200 - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 - [Breaking] [Deleted] property _schedule of schema BlogSchema in response with status code 200 #### createPage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### getPages - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property items[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### updatePage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### getPageBySlug - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 ### FileStorage -#### copyFiles - -- ##### What's New - - [Added] property internal_tracking_url of schema in response with status code 200 - - -#### appCopyFiles +#### getDefaultPdfData - ##### What's New - - [Added] property internal_tracking_url of schema in response with status code 200 + - [Added] property data[].payload.company_detail.meta of schema CompanyDetail in response with status code 200 + - [Added] property data[].payload.shipment_meta of schema DummyTemplateDataPayload in response with status code 200 + - [Added] property data[].payload.order_meta of schema DummyTemplateDataPayload in response with status code 200 ### Finance @@ -1694,6 +4687,7 @@ - [Breaking] [Deleted] property pagesize of schema DownloadReport in request body - [Breaking] [Deleted] property start_date of schema DownloadReport in request body - [Breaking] [Deleted] property end_date of schema DownloadReport in request body + - [Breaking] [Deleted] property items[].type_of_request of schema DownloadReportItems in response with status code 200 - [Breaking] [Deleted] Response with status 4XX - ##### What's Changed @@ -1705,7 +4699,7 @@ #### getData - ##### What's New - - [Breaking] [Added] properties data.filters.config_field, data.filters.status, data.filters.is_active, data.filters.seller_id in request body + - [Added] properties data.filters.config_field, data.filters.status, data.filters.is_active, data.filters.seller_id in request body - [Added] property data.status of schema GetEngineData in request body - [Added] property data.search of schema GetEngineData in request body - [Added] property data.page of schema GetEngineData in request body @@ -1841,7 +4835,7 @@ #### invoiceListing - ##### What's New - - [Breaking] [Added] Possible nullable value true to property items[].currency of schema Currency in response with status code 200 + - [Added] Possible nullable value true to property items[].currency of schema Currency in response with status code 200 - [Added] property success of schema InvoiceListingResponse in response with status code 200 - [Added] property headers of schema InvoiceListingResponse in response with status code 200 - [Added] Response with status 400 @@ -1980,7 +4974,7 @@ - ##### What's Deprecated - [Deleted] Type from object from property data.meta of schema GetCnConfigResponseMeta in response with status code 200 - - [Deleted] properties data.meta.reason, data.meta.source_channel in response with status code 200 + - [Breaking] [Deleted] properties data.meta.reason, data.meta.source_channel in response with status code 200 - [Breaking] [Deleted] Response with status 4XX - ##### What's Changed @@ -2022,6 +5016,7 @@ - ##### What's Deprecated - [Breaking] [Deleted] property data.status[] of schema CnDownloadReport in request body - [Breaking] [Deleted] property data.pagesize of schema CnDownloadReport in request body + - [Breaking] [Deleted] property data of schema DownloadReportCustomerCnResponse in response with status code 200 - [Breaking] [Deleted] Response with status 4XX - ##### What's Changed @@ -2063,9 +5058,9 @@ #### invoiceActivityLogs - ##### What's New - - [Breaking] [Added] Possible nullable value true to property data[].performed_by of schema InvoiceActivityLogsResponseData in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property data[].reason of schema InvoiceActivityLogsResponseData in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property data[].max_retry_attempts of schema InvoiceActivityLogsResponseData in response with status code 200 + - [Added] Possible nullable value true to property data[].performed_by of schema InvoiceActivityLogsResponseData in response with status code 200 + - [Added] Possible nullable value true to property data[].reason of schema InvoiceActivityLogsResponseData in response with status code 200 + - [Added] Possible nullable value true to property data[].max_retry_attempts of schema InvoiceActivityLogsResponseData in response with status code 200 - [Added] Response with status 400 - ##### What's Deprecated @@ -2208,9 +5203,11 @@ - [Added] property support_faq of schema GeneralConfigResponse in response with status code 200 - ##### What's Deprecated - - [Deleted] Required status from property success in response with status code 200 - [Breaking] [Deleted] property success of schema CloseVideoRoomResponse in response with status code 200 +- ##### What's Changed + - [Breaking] [Changed] success made optional in response with status code 200 + ### Serviceability @@ -2221,199 +5218,268 @@ - ##### What's New - [Breaking] [Deleted] query parameter country (type: string), [Added] query parameter countryIsoCode (type: string) + - [Added] property items[].store_ids of schema ListViewItems in response with status code 200 #### createCourierPartnerAccount -- ##### What's Deprecated - - [Deleted] Required status from property account_id in request body +- ##### What's Changed + - [Changed] account_id made optional in request body #### getCourierPartnerAccounts - ##### What's New - - [Breaking] [Added] Possible nullable value true to property items[].scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 #### updateCourierPartnerAccount - ##### What's New - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 #### getCourierPartnerAccount - ##### What's New - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property scheme_rules.weight.gte of schema ArithmeticOperations in response with status code 200 #### updateCourierRule - ##### What's New - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in request body + - [Added] property cp_list[].scheme_rules of schema CourierPartnerRuleCPListResponse in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] property application_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property company_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property created_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property modified_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property modified_on of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property type of schema CourierPartnerRuleResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property cp_list[].name of schema CourierPartnerList in request body + - [Breaking] [Deleted] property cp_list[].is_self_ship of schema CourierPartnerList in request body + - [Breaking] [Deleted] property cp_list[].name of schema CourierPartnerList in response with status code 200 + +- ##### What's Changed + - [Changed] cp_list[].is_self_ship made optional in request body + - [Changed] cp_list[].name made optional in request body + - [Breaking] [Changed] cp_list[].account_id, cp_list[].extension_id, cp_list[].is_self_ship, cp_list[].name made optional in response with status code 200 + - [Breaking] [Changed] conditions, is_active, name, sort, type made optional in response with status code 200 #### getCourierPartnerRule - ##### What's New - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] property cp_list[].scheme_rules of schema CourierPartnerRuleCPListResponse in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] property application_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property company_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property created_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property modified_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property modified_on of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property type of schema CourierPartnerRuleResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property cp_list[].name of schema CourierPartnerList in response with status code 200 + +- ##### What's Changed + - [Breaking] [Changed] cp_list[].account_id, cp_list[].extension_id, cp_list[].is_self_ship, cp_list[].name made optional in response with status code 200 + - [Breaking] [Changed] conditions, is_active, name, sort, type made optional in response with status code 200 #### createCourierPartnerRule - ##### What's New - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in request body + - [Added] property cp_list[].scheme_rules of schema CourierPartnerRuleCPListResponse in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_cost.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] property application_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property company_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property created_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property modified_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property modified_on of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property type of schema CourierPartnerRuleResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property cp_list[].name of schema CourierPartnerList in request body + - [Breaking] [Deleted] property cp_list[].is_self_ship of schema CourierPartnerList in request body + - [Breaking] [Deleted] property cp_list[].name of schema CourierPartnerList in response with status code 200 + +- ##### What's Changed + - [Changed] cp_list[].is_self_ship made optional in request body + - [Changed] cp_list[].name made optional in request body + - [Breaking] [Changed] cp_list[].account_id, cp_list[].extension_id, cp_list[].is_self_ship, cp_list[].name made optional in response with status code 200 + - [Breaking] [Changed] conditions, is_active, name, sort, type made optional in response with status code 200 #### getCourierPartnerRules - ##### What's New - - [Breaking] [Added] Possible nullable value true to property items[].conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.shipment_weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.shipment_weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.shipment_weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.shipment_weight.gte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.shipment_cost.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.shipment_cost.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.shipment_cost.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.shipment_cost.gte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] property items[].cp_list[].scheme_rules of schema CourierPartnerRuleCPListResponse in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_cost.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_cost.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_cost.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_cost.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_volumetric_weight.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_volumetric_weight.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_volumetric_weight.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.shipment_volumetric_weight.gte of schema ArithmeticOperations in response with status code 200 + - [Added] property items[].application_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property items[].company_id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property items[].created_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property items[].id of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property items[].modified_by of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property items[].modified_on of schema CourierPartnerRuleResponse in response with status code 200 + - [Added] property items[].type of schema CourierPartnerRuleResponse in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property items[].cp_list[].name of schema CourierPartnerList in response with status code 200 + +- ##### What's Changed + - [Breaking] [Changed] items[].cp_list[].account_id, items[].cp_list[].extension_id, items[].cp_list[].is_self_ship, items[].cp_list[].name made optional in response with status code 200 + - [Breaking] [Changed] items[].conditions, items[].is_active, items[].name, items[].sort, items[].type made optional in response with status code 200 #### getStoreRules - ##### What's New - - [Breaking] [Added] Possible nullable value true to property items[].conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property items[].conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property items[].conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 #### createStoreRules - ##### What's New - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 #### getStoreRule - ##### What's New - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 #### updateStoreRules - ##### What's New - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in request body - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 - - [Breaking] [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in request body + - [Added] Possible nullable value true to property conditions.order_place_date.lt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gt of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.lte of schema ArithmeticOperations in response with status code 200 + - [Added] Possible nullable value true to property conditions.order_place_date.gte of schema ArithmeticOperations in response with status code 200 ### Order @@ -2462,6 +5528,32 @@ - [Added] property items[].is_lapa_enabled of schema ShipmentItem in response with status code 200 +#### getBagById + +- ##### What's Deprecated + - [Breaking] [Deleted] properties data.item.attributes.primary_material, data.item.attributes.essential, data.item.attributes.marketer_name, data.item.attributes.primary_color, data.item.attributes.marketer_address, data.item.attributes.primary_color_hex, data.item.attributes.brand_name, data.item.attributes.name, data.item.attributes.gender in response with status code 200 + + +#### getBags + +- ##### What's Deprecated + - [Breaking] [Deleted] properties data.items[].item.attributes.primary_material, data.items[].item.attributes.essential, data.items[].item.attributes.marketer_name, data.items[].item.attributes.primary_color, data.items[].item.attributes.marketer_address, data.items[].item.attributes.primary_color_hex, data.items[].item.attributes.brand_name, data.items[].item.attributes.name, data.items[].item.attributes.gender in response with status code 200 + + +#### addStateManagerConfig + +- ##### What's New + - [Added] method addStateManagerConfig + + + +#### getStateManagerConfig + +- ##### What's New + - [Added] method getStateManagerConfig + + + ### Payment @@ -2478,6 +5570,12 @@ - [Added] property data.is_payment_done of schema LinkStatus in response with status code 200 +#### verifyCustomerForPayment + +- ##### What's Changed + - [Breaking] [Changed] data made optional in response with status code 200 + + ### Theme @@ -2485,49 +5583,49 @@ #### getAllPages - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### createPage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### updateMultiplePages - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property pages[].seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### getPage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### updatePage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in request body + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### deletePage - ##### What's Deprecated - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 - - [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.page.type of schema PageType in response with status code 200 + - [Breaking] [Deleted] Possible nullable value from true from property seo.breadcrumb[].action.popup.type of schema PageType in response with status code 200 #### getExtensionSections @@ -2582,38 +5680,38 @@ #### downloadDeliveryReport - ##### What's New - - [Breaking] [Added] Required status to properties end_date, start_date in request body + - [Breaking] [Added] end_date, start_date made required in request body #### pingWebhook - ##### What's New - - [Breaking] [Added] Required status to property webhook_url in request body + - [Breaking] [Added] webhook_url made required in request body #### getReportFilters - ##### What's New - - [Breaking] [Added] Required status to property subscriber_ids in request body + - [Breaking] [Added] subscriber_ids made required in request body #### getHistoricalReports - ##### What's New - - [Breaking] [Added] Required status to property type in request body + - [Breaking] [Added] type made required in request body #### getDeliveryReports - ##### What's New - - [Breaking] [Added] Required status to properties end_date, start_date in request body + - [Breaking] [Added] end_date, start_date made required in request body #### registerSubscriberToEventV2 - ##### What's New - [Breaking] [Added] Type object to property of schema SubscriberConfigPostRequestV2 in request body - - [Breaking] [Added] Required status to properties provider, association, status, email_id, name, events in request body + - [Breaking] [Added] provider, association, status, email_id, name, events made required in request body - ##### What's Deprecated - [Breaking] [Deleted] property id of schema SubscriberConfigRequestV2 in request body @@ -2624,7 +5722,7 @@ - ##### What's New - [Breaking] [Added] Type object to property of schema SubscriberConfigUpdateRequestV2 in request body - - [Breaking] [Added] Required status to properties id, provider, status in request body + - [Breaking] [Added] id, provider, status made required in request body - ##### What's Deprecated - [Breaking] [Deleted] property association.company_id of schema Association in request body @@ -2634,7 +5732,7 @@ - ##### What's New - [Breaking] [Added] Type object to property of schema SubscriberConfigPost in request body - - [Breaking] [Added] Required status to properties webhook_url, association, status, email_id, event_id, name in request body + - [Breaking] [Added] webhook_url, association, status, email_id, event_id, name made required in request body - ##### What's Deprecated - [Breaking] [Deleted] property id of schema SubscriberConfig in request body @@ -2645,7 +5743,7 @@ - ##### What's New - [Breaking] [Added] Type object to property of schema SubscriberConfigUpdate in request body - - [Breaking] [Added] Required status to properties id, event_id in request body + - [Breaking] [Added] id, event_id made required in request body - ##### What's Deprecated - [Breaking] [Deleted] property association.company_id of schema Association in request body @@ -2653,6 +5751,7 @@ ## Public Client +- [Breaking] [Removed] Inventory class from public client ### Billing @@ -2662,28 +5761,36 @@ #### getStandardPlans - ##### What's New - - [Added] property plans[].recurring.aggregate_usage of schema PlanRecurring in response with status code 200 - - [Added] property plans[].recurring.usage_type of schema PlanRecurring in response with status code 200 - - [Added] property plans[].approved_by of schema PlanDetails in response with status code 200 - - [Added] property plans[].updated_by of schema PlanDetails in response with status code 200 - - [Added] property plans[].company_ids of schema PlanDetails in response with status code 200 - - [Added] property plans[].created_by of schema PlanDetails in response with status code 200 - - [Added] property plans[].channel_type of schema PlanDetails in response with status code 200 - - [Added] property plans[].platform of schema PlanDetails in response with status code 200 - - [Added] property plans[].taxation of schema PlanDetails in response with status code 200 - - [Added] property plans[].one_time_fees of schema PlanDetails in response with status code 200 - - [Added] property plans[].credit_line of schema PlanDetails in response with status code 200 - - [Added] property plans[].current_status of schema PlanDetails in response with status code 200 - - [Added] property plans[].meta of schema PlanDetails in response with status code 200 - - [Added] property plans[].components of schema PlanDetails in response with status code 200 - -- ##### What's Deprecated - - [Breaking] [Deleted] property trial_plan of schema DetailList in response with status code 200 + - [Added] properties plans.month, plans.quarter, plans.half_year, plans.year in response with status code 200 + - [Breaking] [Added] Possible values day,week,month,year,quarter,half_year to property trial_plan.recurring.interval of schema PlanRecurring in response with status code 200 + - [Added] property trial_plan.recurring.aggregate_usage of schema PlanRecurring in response with status code 200 + - [Added] property trial_plan.recurring.usage_type of schema PlanRecurring in response with status code 200 + - [Added] properties trial_plan.country.name, trial_plan.country.code in response with status code 200 + - [Breaking] [Added] Value format date-time to property trial_plan.created_at of schema TrialPlanDetails in response with status code 200 + - [Breaking] [Added] Value format date-time to property trial_plan.modified_at of schema TrialPlanDetails in response with status code 200 + - [Added] property trial_plan.activated_by of schema TrialPlanDetails in response with status code 200 + - [Added] property trial_plan.updated_by of schema TrialPlanDetails in response with status code 200 + - [Added] property trial_plan.company_ids of schema TrialPlanDetails in response with status code 200 + - [Added] property trial_plan.created_by of schema TrialPlanDetails in response with status code 200 + - [Added] property trial_plan.channel_type of schema TrialPlanDetails in response with status code 200 + - [Added] property trial_plan.platform of schema TrialPlanDetails in response with status code 200 + - [Added] property trial_plan.taxation of schema TrialPlanDetails in response with status code 200 + - [Added] property trial_plan.one_time_fees of schema TrialPlanDetails in response with status code 200 + - [Added] property trial_plan.credit_line of schema TrialPlanDetails in response with status code 200 + - [Added] property trial_plan.current_status of schema TrialPlanDetails in response with status code 200 + - [Added] property trial_plan.meta of schema TrialPlanDetails in response with status code 200 + - [Added] property trial_plan.components of schema TrialPlanDetails in response with status code 200 + +- ##### What's Deprecated + - [Breaking] [Deleted] property plans[] of schema DetailList in response with status code 200 + - [Breaking] [Deleted] property component_groups of schema DetailList in response with status code 200 - [Breaking] [Deleted] Response with status 400 - [Breaking] [Deleted] Response with status 500 - ##### What's Changed - [Changed] Required status of query parameter platform + - [Breaking] [Changed] Type from array to object of property plans of schema DetailList in response with status code 200 + - [Breaking] [Changed] Type from string to object of property trial_plan.country of schema Plan in response with status code 200 - [Changed] Path From /service/public/billing/v1.0/plan/detailed-list To /service/public/billing/v1.0/plan/detailed-list/ @@ -2701,6 +5808,13 @@ +#### getTenureConfig + +- ##### What's New + - [Added] method getTenureConfig + + + ### Webhook @@ -2708,13 +5822,13 @@ #### testHandlerTransformation - ##### What's New - - [Breaking] [Added] Required status to properties event_name, event_type, event_category, event_version, event in request body + - [Breaking] [Added] event_name, event_type, event_category, event_version, event made required in request body #### validateSchema - ##### What's New - - [Breaking] [Added] Required status to properties event_name, event_type, event_category, event_version, event, event_schema in request body + - [Breaking] [Added] event_name, event_type, event_category, event_version, event, event_schema made required in request body # CHANGE LOG (1.4.7) - fp-v1.9.3 diff --git a/README.md b/README.md index efc3448b0..e26216b23 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,29 @@ getData(); --- +### Sample Usage - Fetch function. + +The fetch function allows you to make custom API requests with ease. It is available on both `platform` and `application` client. + +```javascript + +let auditLog = await client.request({ + url: `/service/platform/audit-trail/v1.0/company/1/logs`, + method: 'GET', +}); + +``` + +The `fetch` function accepts an object with the following possible keys: + +- **method** (string): The HTTP method to use (e.g., 'GET', 'POST', 'PUT', 'DELETE'). +- **url** (string): The URL endpoint for the request. +- **query** (object): Query parameters to include in the request URL. +- **body** (object): The request payload to send. +- **headers** (object): Additional headers to include in the request. + +--- + ### Cookie Following code snippet will read and write cookies on behalf of you
@@ -214,7 +237,7 @@ console.log("Active Theme: ", response.information.name); The above code will log the curl command in the console ```bash -curl --request GET "https://api.fynd.com/service/application/theme/v1.0/applied-theme" --header 'authorization: Bearer ' --header 'x-fp-sdk-version: 1.4.8-beta.3' --header 'x-fp-date: 20230222T115108Z' --header 'x-fp-signature: v1.1:1e3ab3b02b5bc626e3c32a37ee844266ade02bbcbaafc28fc7a0e46a76a7a1a8' +curl --request GET "https://api.fynd.com/service/application/theme/v1.0/applied-theme" --header 'authorization: Bearer ' --header 'x-fp-sdk-version: 1.4.10-beta.1' --header 'x-fp-date: 20230222T115108Z' --header 'x-fp-signature: v1.1:1e3ab3b02b5bc626e3c32a37ee844266ade02bbcbaafc28fc7a0e46a76a7a1a8' Active Theme: Emerge ``` @@ -228,3 +251,5 @@ fdk-client-javascript includes Typescript definitions. import { ApplicationConfig, ApplicationClient } from "fdk-client-javascript"; ``` + + diff --git a/dist/application.js b/dist/application.js index e4499adde..b5878b472 100644 --- a/dist/application.js +++ b/dist/application.js @@ -1 +1 @@ -(()=>{var e={2675:(e,t,r)=>{const{ApplicationConfig:a,ApplicationClient:n,ApplicationModel:o}=r(3775);e.exports={ApplicationConfig:a,ApplicationClient:n,ApplicationModel:o}},5379:function(e,t,r){"use strict";var a=this&&this.__assign||function(){return a=Object.assign||function(e){for(var t,r=1,a=arguments.length;r0&&n[n.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!n||i[1]>n[0]&&i[1]1e3&&(0,l.removeFromStart)(t-1e3,"flickEvents")})),[2]):[2]}))}))}t.axiosRequest=null,t.eventProcessor=null,t.client=null,t.apiKey=null,t.stelioLocal=null,t.batchExecutorID=null,t.identify=function(e,t){return n(this,void 0,void 0,(function(){var r,n;return o(this,(function(o){return r=(0,l.getLocal)("userIdentity"),{},n=r?r.userID&&r.userID!==e?{anonymousID:(0,c.v4)(),userID:e}:a(a({},r),{userID:e}):{anonymousID:(0,c.v4)(),userID:e},(0,l.setLocal)("userIdentity",n),d("user_login",a({event_type:"identity"},t)),[2]}))}))},t.reset=function(){return n(this,void 0,void 0,(function(){var e;return o(this,(function(t){return(0,l.deleteSteliosLocal)("userIdentity"),(0,l.deleteSteliosLocal)("apiKey"),e={anonymousID:(0,c.v4)()},(0,l.setLocal)("userIdentity",e),[2]}))}))},t.initialize=function(e,r,a){return void 0===a&&(a=15e3),n(this,void 0,void 0,(function(){return o(this,(function(n){return(0,l.initStorage)(),(0,u.axiosCreate)(e,r),t.batchExecutorID||(t.batchExecutorID=setInterval(p,a)),[2]}))}))},t.validateClient=function(e){return n(this,void 0,void 0,(function(){return o(this,(function(e){return[2,{data:{isTokenValid:"true"}}]}))}))},t.sendEvent=d},5656:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.send=void 0;var a=r(5785);t.send=function(e,t){return(0,a.post)("service/application/webhook/v1.0/click-analytics/events",e,t)}},2241:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.deleteSteliosLocal=t.removeFromStart=t.getLocal=t.ifExists=t.setLocal=t.appendLocal=t.initStorage=void 0;var a={},n={getItem:function(e){return a[e]},setItem:function(e,t){a[e]=t},removeItem:function(e){delete a[e]}};function o(e,t){try{if(!e||0==e.length||!t)return;r.setItem(e,JSON.stringify(t))}catch(e){return e}}function s(e){return!!r.getItem(e)}function i(e){if(e&&0!=e.length&&s(e)){var t=r.removeItem(e);return console.info("key ".concat(e," deleted from localStorage")),t}}t.initStorage=function(){console.log("############ inside initStorage ##############");var e="undefined"!=typeof window;r=e?window.localStorage:n},t.appendLocal=function(e,t){try{if(0==e.length||!t)return;if(!r.getItem(e))return o(e,t);var a=JSON.parse(r.getItem(e));return a.push(t),r.setItem(e,JSON.stringify(a))}catch(e){return e}},t.setLocal=o,t.ifExists=s,t.getLocal=function(e){try{return e&&0!=e.length?r.getItem(e)?JSON.parse(r.getItem(e)):{}:"null"}catch(e){return e}},t.removeFromStart=function(e,t){if(t&&0!=t.length&&s(t)){var a=JSON.parse(r.getItem(t));return e=e>a.length?a.length:e,a.splice(0,e),a&&a.length>0?(i(t),o(t,a)):i(t)}},t.deleteSteliosLocal=i},3911:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateContext=t.validate=void 0;var a=r(5785),n=r(611),o=r(7232);t.validate=function(e){return(0,a.post)("verify_token",{access_token:e},{"x-dp-access-token":e})},t.generateContext=function(e,t){return{context:{library:{name:"flick",version:"1.0.4"},os:new o.UAParser(navigator.userAgent).getOS(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screen:{width:window.screen.availWidth,height:window.screen.availHeight},userAgent:navigator.userAgent||"",locale:navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language,device:{isMobile:/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)}},event_id:(0,n.v4)(),event_name:e,properties:t,event_timestamp:new Date,user_id:"",anonymous_id:""}}},5785:function(e,t,r){"use strict";var a=this&&this.__assign||function(){return a=Object.assign||function(e){for(var t,r=1,a=arguments.length;r0&&n[n.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!n||i[1]>n[0]&&i[1](()=>{var e={249:function(e,t,r){var a;e.exports=(a=a||function(e,t){var a;if("undefined"!=typeof window&&window.crypto&&(a=window.crypto),"undefined"!=typeof self&&self.crypto&&(a=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(a=globalThis.crypto),!a&&"undefined"!=typeof window&&window.msCrypto&&(a=window.msCrypto),!a&&void 0!==r.g&&r.g.crypto&&(a=r.g.crypto),!a)try{a=r(480)}catch(e){}var n=function(){if(a){if("function"==typeof a.getRandomValues)try{return a.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof a.randomBytes)try{return a.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")},o=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),s={},i=s.lib={},l=i.Base={extend:function(e){var t=o(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},c=i.WordArray=l.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||d).stringify(this)},concat:function(e){var t=this.words,r=e.words,a=this.sigBytes,n=e.sigBytes;if(this.clamp(),a%4)for(var o=0;o>>2]>>>24-o%4*8&255;t[a+o>>>2]|=s<<24-(a+o)%4*8}else for(var i=0;i>>2]=r[i>>>2];return this.sigBytes+=n,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=l.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r>>2]>>>24-n%4*8&255;a.push((o>>>4).toString(16)),a.push((15&o).toString(16))}return a.join("")},parse:function(e){for(var t=e.length,r=[],a=0;a>>3]|=parseInt(e.substr(a,2),16)<<24-a%8*4;return new c.init(r,t/2)}},p=u.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,a=[],n=0;n>>2]>>>24-n%4*8&255;a.push(String.fromCharCode(o))}return a.join("")},parse:function(e){for(var t=e.length,r=[],a=0;a>>2]|=(255&e.charCodeAt(a))<<24-a%4*8;return new c.init(r,t)}},g=u.Utf8={stringify:function(e){try{return decodeURIComponent(escape(p.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return p.parse(unescape(encodeURIComponent(e)))}},m=i.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=g.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,a=this._data,n=a.words,o=a.sigBytes,s=this.blockSize,i=o/(4*s),l=(i=t?e.ceil(i):e.max((0|i)-this._minBufferSize,0))*s,u=e.min(4*l,o);if(l){for(var d=0;da&&(t=e.finalize(t)),t.clamp();for(var n=this._oKey=t.clone(),s=this._iKey=t.clone(),i=n.words,l=s.words,c=0;c>>7)^(m<<14|m>>>18)^m>>>3,w=c[g-2],y=(w<<15|w>>>17)^(w<<13|w>>>19)^w>>>10;c[g]=f+c[g-7]+y+c[g-16]}var b=a&n^a&o^n&o,h=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22),_=p+((i<<26|i>>>6)^(i<<21|i>>>11)^(i<<7|i>>>25))+(i&u^~i&d)+l[g]+c[g];p=d,d=u,u=i,i=s+_|0,s=o,o=n,n=a,a=_+(h+b)|0}r[0]=r[0]+a|0,r[1]=r[1]+n|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+i|0,r[5]=r[5]+u|0,r[6]=r[6]+d|0,r[7]=r[7]+p|0},_doFinalize:function(){var t=this._data,r=t.words,a=8*this._nDataBytes,n=8*t.sigBytes;return r[n>>>5]|=128<<24-n%32,r[14+(n+64>>>9<<4)]=e.floor(a/4294967296),r[15+(n+64>>>9<<4)]=a,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=o._createHelper(u),t.HmacSHA256=o._createHmacHelper(u)}(Math),a.SHA256)},335:e=>{"use strict";function t(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,a,n,o){a=a||"&",n=n||"=";var s={};if("string"!=typeof e||0===e.length)return s;var i=/\+/g;e=e.split(a);var l=1e3;o&&"number"==typeof o.maxKeys&&(l=o.maxKeys);var c=e.length;l>0&&c>l&&(c=l);for(var u=0;u=0?(d=f.substr(0,w),p=f.substr(w+1)):(d=f,p=""),g=decodeURIComponent(d),m=decodeURIComponent(p),t(s,g)?r(s[g])?s[g].push(m):s[g]=[s[g],m]:s[g]=m}return s};var r=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},795:e=>{"use strict";var t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,o,s,i){return o=o||"&",s=s||"=",null===e&&(e=void 0),"object"==typeof e?a(n(e),(function(n){var i=encodeURIComponent(t(n))+s;return r(e[n])?a(e[n],(function(e){return i+encodeURIComponent(t(e))})).join(o):i+encodeURIComponent(t(e[n]))})).join(o):i?encodeURIComponent(t(i))+s+encodeURIComponent(t(e)):""};var r=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function a(e,t){if(e.map)return e.map(t);for(var r=[],a=0;a{"use strict";t.decode=t.parse=r(335),t.encode=t.stringify=r(795)},832:function(e,t,r){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var n=a(r(735)),o=r(601),s=r(593),i=function(){function e(e,t){if(!t)throw new Error("Signature secrete cannot be null, pass secret parameter in constructor.");this.secret=t,this.request=e;var r=this.request.headers=this.request.headers||{};!this.request.method&&this.request.body&&(this.request.method="POST"),r.Host||r.host||(r.Host=this.request.host,this.request.port&&(r.Host+=":"+this.request.port)),this.request.host||(this.request.host=r.Host||r.host)}return e.prototype.prepareRequest=function(){this.parsePath();var e,t=this.request,r=t.headers;t.signQuery?(this.parsedPath.query=e=this.parsedPath.query||{},e["x-fp-date"]?this.datetime=e["x-fp-date"]:e["x-fp-date"]=this.getDateTime()):(t.doNotModifyHeaders||(r["x-fp-date"]?this.datetime=r["x-fp-date"]||r["x-fp-date"]:r["x-fp-date"]=this.getDateTime()),delete r["x-fp-signature"],delete r["X-Fp-Signature"])},e.prototype.sign=function(){return this.request.signQuery=!1,this.parsedPath||this.prepareRequest(),this.request.headers["x-fp-signature"]=this.signature(),{"x-fp-signature":this.request.headers["x-fp-signature"],"x-fp-date":this.request.headers["x-fp-date"]}},e.prototype.signQuery=function(){return this.request.signQuery=!0,this.parsedPath||this.prepareRequest(),this.parsedPath.query["x-fp-signature"]=this.signature(),this.request.path=this.formatPath(),{"x-fp-signature":this.parsedPath.query["x-fp-signature"],"x-fp-date":this.parsedPath.query["x-fp-date"]}},e.prototype.getDateTime=function(){if(!this.datetime){var e=this.request.headers,t=new Date(e.Date||e.date||new Date);this.datetime=t.toISOString().replace(/[:\-]|\.\d{3}/g,"")}return this.datetime},e.prototype.signature=function(){var e=this.stringToSign();return"v1.1:".concat((0,s.hmac)(this.secret,e,"hex"))},e.prototype.stringToSign=function(){return[this.getDateTime(),(0,s.hash)(this.canonicalString(),"hex")].join("\n")},e.prototype.canonicalString=function(){this.parsedPath||this.prepareRequest();var e=this.parsedPath.path,t=this.parsedPath.query,r=(this.request.headers,""),a=this.request.doNotEncodePath,n=(0,s.hash)(this.request.body||"","hex");if(t){var o=Object.keys(t).reduce((function(e,r){return r?(e[(0,s.encodeRfc3986Full)(r)]=(Array.isArray(t[r]),t[r]),e):e}),{}),i=[];Object.keys(o).sort().forEach((function(e){Array.isArray(o[e])?o[e].map(s.encodeRfc3986Full).sort().forEach((function(t){i.push(e+"="+t)})):i.push(e+"="+(0,s.encodeRfc3986Full)(o[e]))})),r=i.join("&")}return"/"!==e&&"/"!==(e=(e=e.replace(/\/{2,}/g,"/")).split("/").reduce((function(e,t){return".."===t?e.pop():"."!==t&&(a&&(t=decodeURIComponent(t.replace(/\+/g," "))),e.push((0,s.encodeRfc3986Full)(t))),e}),[]).join("/"))[0]&&(e="/"+e),[this.request.method||"GET",e,r,this.canonicalHeaders()+"\n",this.signedHeaders(),n].join("\n")},e.prototype.canonicalHeaders=function(){var e=this.request.headers;return Object.keys(e).filter((function(e){if(null==o.HEADERS_TO_IGNORE[e.toLowerCase()]){var t=!1;for(var r in o.HEADERS_TO_INCLUDE)t=t||new RegExp(o.HEADERS_TO_INCLUDE[r],"ig").test(e);return t}return!1})).sort((function(e,t){return e.toLowerCase()=0&&(delete(r=n.default.parse(e.slice(t+1)))["x-fp-signature"],delete r["X-Fp-Signature"],e=e.slice(0,t)),e=e.split("/").map((function(e){return encodeURIComponent(decodeURIComponent(e))})).join("/"),this.parsedPath={path:e,query:r}},e.prototype.formatPath=function(){var e=this.parsedPath.path,t=this.parsedPath.query;return t?(null!=t[""]&&delete t[""],e+"?"+(0,s.encodeRfc3986)(n.default.stringify(t))):e},e}();t.default=i},601:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HEADERS_TO_INCLUDE=t.HEADERS_TO_IGNORE=void 0,t.HEADERS_TO_IGNORE={authorization:!0,connection:!0,"x-amzn-trace-id":!0,"user-agent":!0,expect:!0,"presigned-expires":!0,range:!0},t.HEADERS_TO_INCLUDE=["x-fp-.*","host"]},607:function(e,t,r){"use strict";var a=this&&this.__assign||function(){return a=Object.assign||function(e){for(var t,r=1,a=arguments.length;r{}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var o=t[a]={exports:{}};return e[a].call(o.exports,o,o.exports,r),o.exports}return r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r(607)})(),e.exports=t()},2729:e=>{"use strict";const t=/[\p{Lu}]/u,r=/[\p{Ll}]/u,a=/^[\p{Lu}](?![\p{Lu}])/gu,n=/([\p{Alpha}\p{N}_]|$)/u,o=/[_.\- ]+/,s=new RegExp("^"+o.source),i=new RegExp(o.source+n.source,"gu"),l=new RegExp("\\d+"+n.source,"gu"),c=(e,n)=>{if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");if(n={pascalCase:!1,preserveConsecutiveUppercase:!1,...n},0===(e=Array.isArray(e)?e.map((e=>e.trim())).filter((e=>e.length)).join("-"):e.trim()).length)return"";const o=!1===n.locale?e=>e.toLowerCase():e=>e.toLocaleLowerCase(n.locale),c=!1===n.locale?e=>e.toUpperCase():e=>e.toLocaleUpperCase(n.locale);return 1===e.length?n.pascalCase?c(e):o(e):(e!==o(e)&&(e=((e,a,n)=>{let o=!1,s=!1,i=!1;for(let l=0;l(a.lastIndex=0,e.replace(a,(e=>t(e)))))(e,o):o(e),n.pascalCase&&(e=c(e.charAt(0))+e.slice(1)),((e,t)=>(i.lastIndex=0,l.lastIndex=0,e.replace(i,((e,r)=>t(r))).replace(l,(e=>t(e)))))(e,c))};e.exports=c,e.exports.default=c},454:e=>{"use strict";var t="%[a-f0-9]{2}",r=new RegExp("("+t+")|([^%]+?)","gi"),a=new RegExp("("+t+")+","gi");function n(e,t){try{return[decodeURIComponent(e.join(""))]}catch(e){}if(1===e.length)return e;t=t||1;var r=e.slice(0,t),a=e.slice(t);return Array.prototype.concat.call([],n(r),n(a))}function o(e){try{return decodeURIComponent(e)}catch(o){for(var t=e.match(r)||[],a=1;a{"use strict";e.exports=function(e,t){for(var r={},a=Object.keys(e),n=Array.isArray(t),o=0;o{var t;self,t=()=>{return e={7629:(e,t,r)=>{"use strict";const a=r(375),n=r(8571),o=r(9474),s=r(1687),i=r(8652),l=r(8160),c=r(3292),u=r(6354),d=r(8901),p=r(9708),g=r(6914),m=r(2294),f=r(6133),w=r(1152),y=r(8863),b=r(2036),h={Base:class{constructor(e){this.type=e,this.$_root=null,this._definition={},this._reset()}_reset(){this._ids=new m.Ids,this._preferences=null,this._refs=new f.Manager,this._cache=null,this._valids=null,this._invalids=null,this._flags={},this._rules=[],this._singleRules=new Map,this.$_terms={},this.$_temp={ruleset:null,whens:{}}}describe(){return a("function"==typeof p.describe,"Manifest functionality disabled"),p.describe(this)}allow(...e){return l.verifyFlat(e,"allow"),this._values(e,"_valids")}alter(e){a(e&&"object"==typeof e&&!Array.isArray(e),"Invalid targets argument"),a(!this._inRuleset(),"Cannot set alterations inside a ruleset");const t=this.clone();t.$_terms.alterations=t.$_terms.alterations||[];for(const r in e){const n=e[r];a("function"==typeof n,"Alteration adjuster for",r,"must be a function"),t.$_terms.alterations.push({target:r,adjuster:n})}return t.$_temp.ruleset=!1,t}artifact(e){return a(void 0!==e,"Artifact cannot be undefined"),a(!this._cache,"Cannot set an artifact with a rule cache"),this.$_setFlag("artifact",e)}cast(e){return a(!1===e||"string"==typeof e,"Invalid to value"),a(!1===e||this._definition.cast[e],"Type",this.type,"does not support casting to",e),this.$_setFlag("cast",!1===e?void 0:e)}default(e,t){return this._default("default",e,t)}description(e){return a(e&&"string"==typeof e,"Description must be a non-empty string"),this.$_setFlag("description",e)}empty(e){const t=this.clone();return void 0!==e&&(e=t.$_compile(e,{override:!1})),t.$_setFlag("empty",e,{clone:!1})}error(e){return a(e,"Missing error"),a(e instanceof Error||"function"==typeof e,"Must provide a valid Error object or a function"),this.$_setFlag("error",e)}example(e,t={}){return a(void 0!==e,"Missing example"),l.assertOptions(t,["override"]),this._inner("examples",e,{single:!0,override:t.override})}external(e,t){return"object"==typeof e&&(a(!t,"Cannot combine options with description"),t=e.description,e=e.method),a("function"==typeof e,"Method must be a function"),a(void 0===t||t&&"string"==typeof t,"Description must be a non-empty string"),this._inner("externals",{method:e,description:t},{single:!0})}failover(e,t){return this._default("failover",e,t)}forbidden(){return this.presence("forbidden")}id(e){return e?(a("string"==typeof e,"id must be a non-empty string"),a(/^[^\.]+$/.test(e),"id cannot contain period character"),this.$_setFlag("id",e)):this.$_setFlag("id",void 0)}invalid(...e){return this._values(e,"_invalids")}label(e){return a(e&&"string"==typeof e,"Label name must be a non-empty string"),this.$_setFlag("label",e)}meta(e){return a(void 0!==e,"Meta cannot be undefined"),this._inner("metas",e,{single:!0})}note(...e){a(e.length,"Missing notes");for(const t of e)a(t&&"string"==typeof t,"Notes must be non-empty strings");return this._inner("notes",e)}only(e=!0){return a("boolean"==typeof e,"Invalid mode:",e),this.$_setFlag("only",e)}optional(){return this.presence("optional")}prefs(e){a(e,"Missing preferences"),a(void 0===e.context,"Cannot override context"),a(void 0===e.externals,"Cannot override externals"),a(void 0===e.warnings,"Cannot override warnings"),a(void 0===e.debug,"Cannot override debug"),l.checkPreferences(e);const t=this.clone();return t._preferences=l.preferences(t._preferences,e),t}presence(e){return a(["optional","required","forbidden"].includes(e),"Unknown presence mode",e),this.$_setFlag("presence",e)}raw(e=!0){return this.$_setFlag("result",e?"raw":void 0)}result(e){return a(["raw","strip"].includes(e),"Unknown result mode",e),this.$_setFlag("result",e)}required(){return this.presence("required")}strict(e){const t=this.clone(),r=void 0!==e&&!e;return t._preferences=l.preferences(t._preferences,{convert:r}),t}strip(e=!0){return this.$_setFlag("result",e?"strip":void 0)}tag(...e){a(e.length,"Missing tags");for(const t of e)a(t&&"string"==typeof t,"Tags must be non-empty strings");return this._inner("tags",e)}unit(e){return a(e&&"string"==typeof e,"Unit name must be a non-empty string"),this.$_setFlag("unit",e)}valid(...e){l.verifyFlat(e,"valid");const t=this.allow(...e);return t.$_setFlag("only",!!t._valids,{clone:!1}),t}when(e,t){const r=this.clone();r.$_terms.whens||(r.$_terms.whens=[]);const n=c.when(r,e,t);if(!["any","link"].includes(r.type)){const e=n.is?[n]:n.switch;for(const t of e)a(!t.then||"any"===t.then.type||t.then.type===r.type,"Cannot combine",r.type,"with",t.then&&t.then.type),a(!t.otherwise||"any"===t.otherwise.type||t.otherwise.type===r.type,"Cannot combine",r.type,"with",t.otherwise&&t.otherwise.type)}return r.$_terms.whens.push(n),r.$_mutateRebuild()}cache(e){a(!this._inRuleset(),"Cannot set caching inside a ruleset"),a(!this._cache,"Cannot override schema cache"),a(void 0===this._flags.artifact,"Cannot cache a rule with an artifact");const t=this.clone();return t._cache=e||i.provider.provision(),t.$_temp.ruleset=!1,t}clone(){const e=Object.create(Object.getPrototypeOf(this));return this._assign(e)}concat(e){a(l.isSchema(e),"Invalid schema object"),a("any"===this.type||"any"===e.type||e.type===this.type,"Cannot merge type",this.type,"with another type:",e.type),a(!this._inRuleset(),"Cannot concatenate onto a schema with open ruleset"),a(!e._inRuleset(),"Cannot concatenate a schema with open ruleset");let t=this.clone();if("any"===this.type&&"any"!==e.type){const r=e.clone();for(const e of Object.keys(t))"type"!==e&&(r[e]=t[e]);t=r}t._ids.concat(e._ids),t._refs.register(e,f.toSibling),t._preferences=t._preferences?l.preferences(t._preferences,e._preferences):e._preferences,t._valids=b.merge(t._valids,e._valids,e._invalids),t._invalids=b.merge(t._invalids,e._invalids,e._valids);for(const r of e._singleRules.keys())t._singleRules.has(r)&&(t._rules=t._rules.filter((e=>e.keep||e.name!==r)),t._singleRules.delete(r));for(const r of e._rules)e._definition.rules[r.method].multi||t._singleRules.set(r.name,r),t._rules.push(r);if(t._flags.empty&&e._flags.empty){t._flags.empty=t._flags.empty.concat(e._flags.empty);const r=Object.assign({},e._flags);delete r.empty,s(t._flags,r)}else if(e._flags.empty){t._flags.empty=e._flags.empty;const r=Object.assign({},e._flags);delete r.empty,s(t._flags,r)}else s(t._flags,e._flags);for(const r in e.$_terms){const a=e.$_terms[r];a?t.$_terms[r]?t.$_terms[r]=t.$_terms[r].concat(a):t.$_terms[r]=a.slice():t.$_terms[r]||(t.$_terms[r]=a)}return this.$_root._tracer&&this.$_root._tracer._combine(t,[this,e]),t.$_mutateRebuild()}extend(e){return a(!e.base,"Cannot extend type with another base"),d.type(this,e)}extract(e){return e=Array.isArray(e)?e:e.split("."),this._ids.reach(e)}fork(e,t){a(!this._inRuleset(),"Cannot fork inside a ruleset");let r=this;for(let a of[].concat(e))a=Array.isArray(a)?a:a.split("."),r=r._ids.fork(a,t,r);return r.$_temp.ruleset=!1,r}rule(e){const t=this._definition;l.assertOptions(e,Object.keys(t.modifiers)),a(!1!==this.$_temp.ruleset,"Cannot apply rules to empty ruleset or the last rule added does not support rule properties");const r=null===this.$_temp.ruleset?this._rules.length-1:this.$_temp.ruleset;a(r>=0&&rt.tailor(e),ref:!1}),t.$_temp.ruleset=!1,t.$_mutateRebuild()}tracer(){return w.location?w.location(this):this}validate(e,t){return y.entry(e,this,t)}validateAsync(e,t){return y.entryAsync(e,this,t)}$_addRule(e){"string"==typeof e&&(e={name:e}),a(e&&"object"==typeof e,"Invalid options"),a(e.name&&"string"==typeof e.name,"Invalid rule name");for(const t in e)a("_"!==t[0],"Cannot set private rule properties");const t=Object.assign({},e);t._resolve=[],t.method=t.method||t.name;const r=this._definition.rules[t.method],n=t.args;a(r,"Unknown rule",t.method);const o=this.clone();if(n){a(1===Object.keys(n).length||Object.keys(n).length===this._definition.rules[t.name].args.length,"Invalid rule definition for",this.type,t.name);for(const e in n){let s=n[e];if(r.argsByName){const i=r.argsByName.get(e);if(i.ref&&l.isResolvable(s))t._resolve.push(e),o.$_mutateRegister(s);else if(i.normalize&&(s=i.normalize(s),n[e]=s),i.assert){const t=l.validateArg(s,e,i);a(!t,t,"or reference")}}void 0!==s?n[e]=s:delete n[e]}}return r.multi||(o._ruleRemove(t.name,{clone:!1}),o._singleRules.set(t.name,t)),!1===o.$_temp.ruleset&&(o.$_temp.ruleset=null),r.priority?o._rules.unshift(t):o._rules.push(t),o}$_compile(e,t){return c.schema(this.$_root,e,t)}$_createError(e,t,r,a,n,o={}){const s=!1!==o.flags?this._flags:{},i=o.messages?g.merge(this._definition.messages,o.messages):this._definition.messages;return new u.Report(e,t,r,s,i,a,n)}$_getFlag(e){return this._flags[e]}$_getRule(e){return this._singleRules.get(e)}$_mapLabels(e){return e=Array.isArray(e)?e:e.split("."),this._ids.labels(e)}$_match(e,t,r,a){(r=Object.assign({},r)).abortEarly=!0,r._externals=!1,t.snapshot();const n=!y.validate(e,this,t,r,a).errors;return t.restore(),n}$_modify(e){return l.assertOptions(e,["each","once","ref","schema"]),m.schema(this,e)||this}$_mutateRebuild(){return a(!this._inRuleset(),"Cannot add this rule inside a ruleset"),this._refs.reset(),this._ids.reset(),this.$_modify({each:(e,{source:t,name:r,path:a,key:n})=>{const o=this._definition[t][r]&&this._definition[t][r].register;!1!==o&&this.$_mutateRegister(e,{family:o,key:n})}}),this._definition.rebuild&&this._definition.rebuild(this),this.$_temp.ruleset=!1,this}$_mutateRegister(e,{family:t,key:r}={}){this._refs.register(e,t),this._ids.register(e,{key:r})}$_property(e){return this._definition.properties[e]}$_reach(e){return this._ids.reach(e)}$_rootReferences(){return this._refs.roots()}$_setFlag(e,t,r={}){a("_"===e[0]||!this._inRuleset(),"Cannot set flag inside a ruleset");const n=this._definition.flags[e]||{};if(o(t,n.default)&&(t=void 0),o(t,this._flags[e]))return this;const s=!1!==r.clone?this.clone():this;return void 0!==t?(s._flags[e]=t,s.$_mutateRegister(t)):delete s._flags[e],"_"!==e[0]&&(s.$_temp.ruleset=!1),s}$_parent(e,...t){return this[e][l.symbols.parent].call(this,...t)}$_validate(e,t,r){return y.validate(e,this,t,r)}_assign(e){e.type=this.type,e.$_root=this.$_root,e.$_temp=Object.assign({},this.$_temp),e.$_temp.whens={},e._ids=this._ids.clone(),e._preferences=this._preferences,e._valids=this._valids&&this._valids.clone(),e._invalids=this._invalids&&this._invalids.clone(),e._rules=this._rules.slice(),e._singleRules=n(this._singleRules,{shallow:!0}),e._refs=this._refs.clone(),e._flags=Object.assign({},this._flags),e._cache=null,e.$_terms={};for(const t in this.$_terms)e.$_terms[t]=this.$_terms[t]?this.$_terms[t].slice():null;e.$_super={};for(const t in this.$_super)e.$_super[t]=this._super[t].bind(e);return e}_bare(){const e=this.clone();e._reset();const t=e._definition.terms;for(const r in t){const a=t[r];e.$_terms[r]=a.init}return e.$_mutateRebuild()}_default(e,t,r={}){return l.assertOptions(r,"literal"),a(void 0!==t,"Missing",e,"value"),a("function"==typeof t||!r.literal,"Only function value supports literal option"),"function"==typeof t&&r.literal&&(t={[l.symbols.literal]:!0,literal:t}),this.$_setFlag(e,t)}_generate(e,t,r){if(!this.$_terms.whens)return{schema:this};const a=[],n=[];for(let o=0;oc)break}const o=n.join(", ");if(t.mainstay.tracer.debug(t,"rule","when",o),!o)return{schema:this};if(!t.mainstay.tracer.active&&this.$_temp.whens[o])return{schema:this.$_temp.whens[o],id:o};let s=this;this._definition.generate&&(s=this._definition.generate(this,e,t,r));for(const e of a)s=s.concat(e);return this.$_root._tracer&&this.$_root._tracer._combine(s,[this,...a]),this.$_temp.whens[o]=s,{schema:s,id:o}}_inner(e,t,r={}){a(!this._inRuleset(),`Cannot set ${e} inside a ruleset`);const n=this.clone();return n.$_terms[e]&&!r.override||(n.$_terms[e]=[]),r.single?n.$_terms[e].push(t):n.$_terms[e].push(...t),n.$_temp.ruleset=!1,n}_inRuleset(){return null!==this.$_temp.ruleset&&!1!==this.$_temp.ruleset}_ruleRemove(e,t={}){if(!this._singleRules.has(e))return this;const r=!1!==t.clone?this.clone():this;r._singleRules.delete(e);const a=[];for(let t=0;t{"use strict";const a=r(375),n=r(8571),o=r(8160),s={max:1e3,supported:new Set(["undefined","boolean","number","string"])};t.provider={provision:e=>new s.Cache(e)},s.Cache=class{constructor(e={}){o.assertOptions(e,["max"]),a(void 0===e.max||e.max&&e.max>0&&isFinite(e.max),"Invalid max cache size"),this._max=e.max||s.max,this._map=new Map,this._list=new s.List}get length(){return this._map.size}set(e,t){if(null!==e&&!s.supported.has(typeof e))return;let r=this._map.get(e);if(r)return r.value=t,void this._list.first(r);r=this._list.unshift({key:e,value:t}),this._map.set(e,r),this._compact()}get(e){const t=this._map.get(e);if(t)return this._list.first(t),n(t.value)}_compact(){if(this._map.size>this._max){const e=this._list.pop();this._map.delete(e.key)}}},s.List=class{constructor(){this.tail=null,this.head=null}unshift(e){return e.next=null,e.prev=this.head,this.head&&(this.head.next=e),this.head=e,this.tail||(this.tail=e),e}first(e){e!==this.head&&(this._remove(e),this.unshift(e))}pop(){return this._remove(this.tail)}_remove(e){const{next:t,prev:r}=e;return t.prev=r,r&&(r.next=t),e===this.tail&&(this.tail=t),e.prev=null,e.next=null,e}}},8160:(e,t,r)=>{"use strict";const a=r(375),n=r(7916),o=r(5934);let s,i;const l={isoDate:/^(?:[-+]\d{2})?(?:\d{4}(?!\d{2}\b))(?:(-?)(?:(?:0[1-9]|1[0-2])(?:\1(?:[12]\d|0[1-9]|3[01]))?|W(?:[0-4]\d|5[0-2])(?:-?[1-7])?|(?:00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[1-6])))(?![T]$|[T][\d]+Z$)(?:[T\s](?:(?:(?:[01]\d|2[0-3])(?:(:?)[0-5]\d)?|24\:?00)(?:[.,]\d+(?!:))?)(?:\2[0-5]\d(?:[.,]\d+)?)?(?:[Z]|(?:[+-])(?:[01]\d|2[0-3])(?::?[0-5]\d)?)?)?)?$/};t.version=o.version,t.defaults={abortEarly:!0,allowUnknown:!1,artifacts:!1,cache:!0,context:null,convert:!0,dateFormat:"iso",errors:{escapeHtml:!1,label:"path",language:null,render:!0,stack:!1,wrap:{label:'"',array:"[]"}},externals:!0,messages:{},nonEnumerables:!1,noDefaults:!1,presence:"optional",skipFunctions:!1,stripUnknown:!1,warnings:!1},t.symbols={any:Symbol.for("@hapi/joi/schema"),arraySingle:Symbol("arraySingle"),deepDefault:Symbol("deepDefault"),errors:Symbol("errors"),literal:Symbol("literal"),override:Symbol("override"),parent:Symbol("parent"),prefs:Symbol("prefs"),ref:Symbol("ref"),template:Symbol("template"),values:Symbol("values")},t.assertOptions=function(e,t,r="Options"){a(e&&"object"==typeof e&&!Array.isArray(e),"Options must be of type object");const n=Object.keys(e).filter((e=>!t.includes(e)));a(0===n.length,`${r} contain unknown keys: ${n}`)},t.checkPreferences=function(e){i=i||r(3378);const t=i.preferences.validate(e);if(t.error)throw new n([t.error.details[0].message])},t.compare=function(e,t,r){switch(r){case"=":return e===t;case">":return e>t;case"<":return e=":return e>=t;case"<=":return e<=t}},t.default=function(e,t){return void 0===e?t:e},t.isIsoDate=function(e){return l.isoDate.test(e)},t.isNumber=function(e){return"number"==typeof e&&!isNaN(e)},t.isResolvable=function(e){return!!e&&(e[t.symbols.ref]||e[t.symbols.template])},t.isSchema=function(e,r={}){const n=e&&e[t.symbols.any];return!!n&&(a(r.legacy||n.version===t.version,"Cannot mix different versions of joi schemas"),!0)},t.isValues=function(e){return e[t.symbols.values]},t.limit=function(e){return Number.isSafeInteger(e)&&e>=0},t.preferences=function(e,a){s=s||r(6914),e=e||{},a=a||{};const n=Object.assign({},e,a);return a.errors&&e.errors&&(n.errors=Object.assign({},e.errors,a.errors),n.errors.wrap=Object.assign({},e.errors.wrap,a.errors.wrap)),a.messages&&(n.messages=s.compile(a.messages,e.messages)),delete n[t.symbols.prefs],n},t.tryWithPath=function(e,t,r={}){try{return e()}catch(e){throw void 0!==e.path?e.path=t+"."+e.path:e.path=t,r.append&&(e.message=`${e.message} (${e.path})`),e}},t.validateArg=function(e,r,{assert:a,message:n}){if(t.isSchema(a)){const t=a.validate(e);if(!t.error)return;return t.error.message}if(!a(e))return r?`${r} ${n}`:n},t.verifyFlat=function(e,t){for(const r of e)a(!Array.isArray(r),"Method no longer accepts array arguments:",t)}},3292:(e,t,r)=>{"use strict";const a=r(375),n=r(8160),o=r(6133),s={};t.schema=function(e,t,r={}){n.assertOptions(r,["appendPath","override"]);try{return s.schema(e,t,r)}catch(e){throw r.appendPath&&void 0!==e.path&&(e.message=`${e.message} (${e.path})`),e}},s.schema=function(e,t,r){a(void 0!==t,"Invalid undefined schema"),Array.isArray(t)&&(a(t.length,"Invalid empty array schema"),1===t.length&&(t=t[0]));const o=(t,...a)=>!1!==r.override?t.valid(e.override,...a):t.valid(...a);if(s.simple(t))return o(e,t);if("function"==typeof t)return e.custom(t);if(a("object"==typeof t,"Invalid schema content:",typeof t),n.isResolvable(t))return o(e,t);if(n.isSchema(t))return t;if(Array.isArray(t)){for(const r of t)if(!s.simple(r))return e.alternatives().try(...t);return o(e,...t)}return t instanceof RegExp?e.string().regex(t):t instanceof Date?o(e.date(),t):(a(Object.getPrototypeOf(t)===Object.getPrototypeOf({}),"Schema can only contain plain objects"),e.object().keys(t))},t.ref=function(e,t){return o.isRef(e)?e:o.create(e,t)},t.compile=function(e,r,o={}){n.assertOptions(o,["legacy"]);const i=r&&r[n.symbols.any];if(i)return a(o.legacy||i.version===n.version,"Cannot mix different versions of joi schemas:",i.version,n.version),r;if("object"!=typeof r||!o.legacy)return t.schema(e,r,{appendPath:!0});const l=s.walk(r);return l?l.compile(l.root,r):t.schema(e,r,{appendPath:!0})},s.walk=function(e){if("object"!=typeof e)return null;if(Array.isArray(e)){for(const t of e){const e=s.walk(t);if(e)return e}return null}const t=e[n.symbols.any];if(t)return{root:e[t.root],compile:t.compile};a(Object.getPrototypeOf(e)===Object.getPrototypeOf({}),"Schema can only contain plain objects");for(const t in e){const r=s.walk(e[t]);if(r)return r}return null},s.simple=function(e){return null===e||["boolean","string","number"].includes(typeof e)},t.when=function(e,r,i){if(void 0===i&&(a(r&&"object"==typeof r,"Missing options"),i=r,r=o.create(".")),Array.isArray(i)&&(i={switch:i}),n.assertOptions(i,["is","not","then","otherwise","switch","break"]),n.isSchema(r))return a(void 0===i.is,'"is" can not be used with a schema condition'),a(void 0===i.not,'"not" can not be used with a schema condition'),a(void 0===i.switch,'"switch" can not be used with a schema condition'),s.condition(e,{is:r,then:i.then,otherwise:i.otherwise,break:i.break});if(a(o.isRef(r)||"string"==typeof r,"Invalid condition:",r),a(void 0===i.not||void 0===i.is,'Cannot combine "is" with "not"'),void 0===i.switch){let l=i;void 0!==i.not&&(l={is:i.not,then:i.otherwise,otherwise:i.then,break:i.break});let c=void 0!==l.is?e.$_compile(l.is):e.$_root.invalid(null,!1,0,"").required();return a(void 0!==l.then||void 0!==l.otherwise,'options must have at least one of "then", "otherwise", or "switch"'),a(void 0===l.break||void 0===l.then||void 0===l.otherwise,"Cannot specify then, otherwise, and break all together"),void 0===i.is||o.isRef(i.is)||n.isSchema(i.is)||(c=c.required()),s.condition(e,{ref:t.ref(r),is:c,then:l.then,otherwise:l.otherwise,break:l.break})}a(Array.isArray(i.switch),'"switch" must be an array'),a(void 0===i.is,'Cannot combine "switch" with "is"'),a(void 0===i.not,'Cannot combine "switch" with "not"'),a(void 0===i.then,'Cannot combine "switch" with "then"');const l={ref:t.ref(r),switch:[],break:i.break};for(let t=0;t{"use strict";const a=r(5688),n=r(8160),o=r(3328);t.Report=class{constructor(e,r,a,n,o,s,i){if(this.code=e,this.flags=n,this.messages=o,this.path=s.path,this.prefs=i,this.state=s,this.value=r,this.message=null,this.template=null,this.local=a||{},this.local.label=t.label(this.flags,this.state,this.prefs,this.messages),void 0===this.value||this.local.hasOwnProperty("value")||(this.local.value=this.value),this.path.length){const e=this.path[this.path.length-1];"object"!=typeof e&&(this.local.key=e)}}_setTemplate(e){if(this.template=e,!this.flags.label&&0===this.path.length){const e=this._template(this.template,"root");e&&(this.local.label=e)}}toString(){if(this.message)return this.message;const e=this.code;if(!this.prefs.errors.render)return this.code;const t=this._template(this.template)||this._template(this.prefs.messages)||this._template(this.messages);return void 0===t?`Error code "${e}" is not defined, your custom type is missing the correct messages definition`:(this.message=t.render(this.value,this.state,this.prefs,this.local,{errors:this.prefs.errors,messages:[this.prefs.messages,this.messages]}),this.prefs.errors.label||(this.message=this.message.replace(/^"" /,"").trim()),this.message)}_template(e,r){return t.template(this.value,e,r||this.code,this.state,this.prefs)}},t.path=function(e){let t="";for(const r of e)"object"!=typeof r&&("string"==typeof r?(t&&(t+="."),t+=r):t+=`[${r}]`);return t},t.template=function(e,t,r,a,s){if(!t)return;if(o.isTemplate(t))return"root"!==r?t:null;let i=s.errors.language;if(n.isResolvable(i)&&(i=i.resolve(e,a,s)),i&&t[i]){if(void 0!==t[i][r])return t[i][r];if(void 0!==t[i]["*"])return t[i]["*"]}return t[r]?t[r]:t["*"]},t.label=function(e,r,a,n){if(!a.errors.label)return"";if(e.label)return e.label;let o=r.path;return"key"===a.errors.label&&r.path.length>1&&(o=r.path.slice(-1)),t.path(o)||t.template(null,a.messages,"root",r,a)||n&&t.template(null,n,"root",r,a)||"value"},t.process=function(e,r,a){if(!e)return null;const{override:n,message:o,details:s}=t.details(e);if(n)return n;if(a.errors.stack)return new t.ValidationError(o,s,r);const i=Error.stackTraceLimit;Error.stackTraceLimit=0;const l=new t.ValidationError(o,s,r);return Error.stackTraceLimit=i,l},t.details=function(e,t={}){let r=[];const a=[];for(const n of e){if(n instanceof Error){if(!1!==t.override)return{override:n};const e=n.toString();r.push(e),a.push({message:e,type:"override",context:{error:n}});continue}const e=n.toString();r.push(e),a.push({message:e,path:n.path.filter((e=>"object"!=typeof e)),type:n.code,context:n.local})}return r.length>1&&(r=[...new Set(r)]),{message:r.join(". "),details:a}},t.ValidationError=class extends Error{constructor(e,t,r){super(e),this._original=r,this.details=t}static isError(e){return e instanceof t.ValidationError}},t.ValidationError.prototype.isJoi=!0,t.ValidationError.prototype.name="ValidationError",t.ValidationError.prototype.annotate=a.error},8901:(e,t,r)=>{"use strict";const a=r(375),n=r(8571),o=r(8160),s=r(6914),i={};t.type=function(e,t){const r=Object.getPrototypeOf(e),l=n(r),c=e._assign(Object.create(l)),u=Object.assign({},t);delete u.base,l._definition=u;const d=r._definition||{};u.messages=s.merge(d.messages,u.messages),u.properties=Object.assign({},d.properties,u.properties),c.type=u.type,u.flags=Object.assign({},d.flags,u.flags);const p=Object.assign({},d.terms);if(u.terms)for(const e in u.terms){const t=u.terms[e];a(void 0===c.$_terms[e],"Invalid term override for",u.type,e),c.$_terms[e]=t.init,p[e]=t}u.terms=p,u.args||(u.args=d.args),u.prepare=i.prepare(u.prepare,d.prepare),u.coerce&&("function"==typeof u.coerce&&(u.coerce={method:u.coerce}),u.coerce.from&&!Array.isArray(u.coerce.from)&&(u.coerce={method:u.coerce.method,from:[].concat(u.coerce.from)})),u.coerce=i.coerce(u.coerce,d.coerce),u.validate=i.validate(u.validate,d.validate);const g=Object.assign({},d.rules);if(u.rules)for(const e in u.rules){const t=u.rules[e];a("object"==typeof t,"Invalid rule definition for",u.type,e);let r=t.method;if(void 0===r&&(r=function(){return this.$_addRule(e)}),r&&(a(!l[e],"Rule conflict in",u.type,e),l[e]=r),a(!g[e],"Rule conflict in",u.type,e),g[e]=t,t.alias){const e=[].concat(t.alias);for(const r of e)l[r]=t.method}t.args&&(t.argsByName=new Map,t.args=t.args.map((e=>("string"==typeof e&&(e={name:e}),a(!t.argsByName.has(e.name),"Duplicated argument name",e.name),o.isSchema(e.assert)&&(e.assert=e.assert.strict().label(e.name)),t.argsByName.set(e.name,e),e))))}u.rules=g;const m=Object.assign({},d.modifiers);if(u.modifiers)for(const e in u.modifiers){a(!l[e],"Rule conflict in",u.type,e);const t=u.modifiers[e];a("function"==typeof t,"Invalid modifier definition for",u.type,e);const r=function(t){return this.rule({[e]:t})};l[e]=r,m[e]=t}if(u.modifiers=m,u.overrides){l._super=r,c.$_super={};for(const e in u.overrides)a(r[e],"Cannot override missing",e),u.overrides[e][o.symbols.parent]=r[e],c.$_super[e]=r[e].bind(c);Object.assign(l,u.overrides)}u.cast=Object.assign({},d.cast,u.cast);const f=Object.assign({},d.manifest,u.manifest);return f.build=i.build(u.manifest&&u.manifest.build,d.manifest&&d.manifest.build),u.manifest=f,u.rebuild=i.rebuild(u.rebuild,d.rebuild),c},i.build=function(e,t){return e&&t?function(r,a){return t(e(r,a),a)}:e||t},i.coerce=function(e,t){return e&&t?{from:e.from&&t.from?[...new Set([...e.from,...t.from])]:null,method(r,a){let n;if((!t.from||t.from.includes(typeof r))&&(n=t.method(r,a),n)){if(n.errors||void 0===n.value)return n;r=n.value}if(!e.from||e.from.includes(typeof r)){const t=e.method(r,a);if(t)return t}return n}}:e||t},i.prepare=function(e,t){return e&&t?function(r,a){const n=e(r,a);if(n){if(n.errors||void 0===n.value)return n;r=n.value}return t(r,a)||n}:e||t},i.rebuild=function(e,t){return e&&t?function(r){t(r),e(r)}:e||t},i.validate=function(e,t){return e&&t?function(r,a){const n=t(r,a);if(n){if(n.errors&&(!Array.isArray(n.errors)||n.errors.length))return n;r=n.value}return e(r,a)||n}:e||t}},5107:(e,t,r)=>{"use strict";const a=r(375),n=r(8571),o=r(8652),s=r(8160),i=r(3292),l=r(6354),c=r(8901),u=r(9708),d=r(6133),p=r(3328),g=r(1152);let m;const f={types:{alternatives:r(4946),any:r(8068),array:r(546),boolean:r(4937),date:r(7500),function:r(390),link:r(8785),number:r(3832),object:r(8966),string:r(7417),symbol:r(8826)},aliases:{alt:"alternatives",bool:"boolean",func:"function"},root:function(){const e={_types:new Set(Object.keys(f.types))};for(const t of e._types)e[t]=function(...e){return a(!e.length||["alternatives","link","object"].includes(t),"The",t,"type does not allow arguments"),f.generate(this,f.types[t],e)};for(const t of["allow","custom","disallow","equal","exist","forbidden","invalid","not","only","optional","options","prefs","preferences","required","strip","valid","when"])e[t]=function(...e){return this.any()[t](...e)};Object.assign(e,f.methods);for(const t in f.aliases){const r=f.aliases[t];e[t]=e[r]}return e.x=e.expression,g.setup&&g.setup(e),e}};f.methods={ValidationError:l.ValidationError,version:s.version,cache:o.provider,assert(e,t,...r){f.assert(e,t,!0,r)},attempt:(e,t,...r)=>f.assert(e,t,!1,r),build(e){return a("function"==typeof u.build,"Manifest functionality disabled"),u.build(this,e)},checkPreferences(e){s.checkPreferences(e)},compile(e,t){return i.compile(this,e,t)},defaults(e){a("function"==typeof e,"modifier must be a function");const t=Object.assign({},this);for(const r of t._types){const n=e(t[r]());a(s.isSchema(n),"modifier must return a valid schema object"),t[r]=function(...e){return f.generate(this,n,e)}}return t},expression:(...e)=>new p(...e),extend(...e){s.verifyFlat(e,"extend"),m=m||r(3378),a(e.length,"You need to provide at least one extension"),this.assert(e,m.extensions);const t=Object.assign({},this);t._types=new Set(t._types);for(let r of e){"function"==typeof r&&(r=r(t)),this.assert(r,m.extension);const e=f.expandExtension(r,t);for(const r of e){a(void 0===t[r.type]||t._types.has(r.type),"Cannot override name",r.type);const e=r.base||this.any(),n=c.type(e,r);t._types.add(r.type),t[r.type]=function(...e){return f.generate(this,n,e)}}}return t},isError:l.ValidationError.isError,isExpression:p.isTemplate,isRef:d.isRef,isSchema:s.isSchema,in:(...e)=>d.in(...e),override:s.symbols.override,ref:(...e)=>d.create(...e),types(){const e={};for(const t of this._types)e[t]=this[t]();for(const t in f.aliases)e[t]=this[t]();return e}},f.assert=function(e,t,r,a){const o=a[0]instanceof Error||"string"==typeof a[0]?a[0]:null,i=null!==o?a[1]:a[0],c=t.validate(e,s.preferences({errors:{stack:!0}},i||{}));let u=c.error;if(!u)return c.value;if(o instanceof Error)throw o;const d=r&&"function"==typeof u.annotate?u.annotate():u.message;throw u instanceof l.ValidationError==0&&(u=n(u)),u.message=o?`${o} ${d}`:d,u},f.generate=function(e,t,r){return a(e,"Must be invoked on a Joi instance."),t.$_root=e,t._definition.args&&r.length?t._definition.args(t,...r):t},f.expandExtension=function(e,t){if("string"==typeof e.type)return[e];const r=[];for(const a of t._types)if(e.type.test(a)){const n=Object.assign({},e);n.type=a,n.base=t[a](),r.push(n)}return r},e.exports=f.root()},6914:(e,t,r)=>{"use strict";const a=r(375),n=r(8571),o=r(3328);t.compile=function(e,t){if("string"==typeof e)return a(!t,"Cannot set single message string"),new o(e);if(o.isTemplate(e))return a(!t,"Cannot set single message template"),e;a("object"==typeof e&&!Array.isArray(e),"Invalid message options"),t=t?n(t):{};for(let r in e){const n=e[r];if("root"===r||o.isTemplate(n)){t[r]=n;continue}if("string"==typeof n){t[r]=new o(n);continue}a("object"==typeof n&&!Array.isArray(n),"Invalid message for",r);const s=r;for(r in t[s]=t[s]||{},n){const e=n[r];"root"===r||o.isTemplate(e)?t[s][r]=e:(a("string"==typeof e,"Invalid message for",r,"in",s),t[s][r]=new o(e))}}return t},t.decompile=function(e){const t={};for(let r in e){const a=e[r];if("root"===r){t.root=a;continue}if(o.isTemplate(a)){t[r]=a.describe({compact:!0});continue}const n=r;for(r in t[n]={},a){const e=a[r];"root"!==r?t[n][r]=e.describe({compact:!0}):t[n].root=e}}return t},t.merge=function(e,r){if(!e)return t.compile(r);if(!r)return e;if("string"==typeof r)return new o(r);if(o.isTemplate(r))return r;const s=n(e);for(let e in r){const t=r[e];if("root"===e||o.isTemplate(t)){s[e]=t;continue}if("string"==typeof t){s[e]=new o(t);continue}a("object"==typeof t&&!Array.isArray(t),"Invalid message for",e);const n=e;for(e in s[n]=s[n]||{},t){const r=t[e];"root"===e||o.isTemplate(r)?s[n][e]=r:(a("string"==typeof r,"Invalid message for",e,"in",n),s[n][e]=new o(r))}}return s}},2294:(e,t,r)=>{"use strict";const a=r(375),n=r(8160),o=r(6133),s={};t.Ids=s.Ids=class{constructor(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}clone(){const e=new s.Ids;return e._byId=new Map(this._byId),e._byKey=new Map(this._byKey),e._schemaChain=this._schemaChain,e}concat(e){e._schemaChain&&(this._schemaChain=!0);for(const[t,r]of e._byId.entries())a(!this._byKey.has(t),"Schema id conflicts with existing key:",t),this._byId.set(t,r);for(const[t,r]of e._byKey.entries())a(!this._byId.has(t),"Schema key conflicts with existing id:",t),this._byKey.set(t,r)}fork(e,t,r){const o=this._collect(e);o.push({schema:r});const i=o.shift();let l={id:i.id,schema:t(i.schema)};a(n.isSchema(l.schema),"adjuster function failed to return a joi schema type");for(const e of o)l={id:e.id,schema:s.fork(e.schema,l.id,l.schema)};return l.schema}labels(e,t=[]){const r=e[0],a=this._get(r);if(!a)return[...t,...e].join(".");const n=e.slice(1);return t=[...t,a.schema._flags.label||r],n.length?a.schema._ids.labels(n,t):t.join(".")}reach(e,t=[]){const r=e[0],n=this._get(r);a(n,"Schema does not contain path",[...t,...e].join("."));const o=e.slice(1);return o.length?n.schema._ids.reach(o,[...t,r]):n.schema}register(e,{key:t}={}){if(!e||!n.isSchema(e))return;(e.$_property("schemaChain")||e._ids._schemaChain)&&(this._schemaChain=!0);const r=e._flags.id;if(r){const t=this._byId.get(r);a(!t||t.schema===e,"Cannot add different schemas with the same id:",r),a(!this._byKey.has(r),"Schema id conflicts with existing key:",r),this._byId.set(r,{schema:e,id:r})}t&&(a(!this._byKey.has(t),"Schema already contains key:",t),a(!this._byId.has(t),"Schema key conflicts with existing id:",t),this._byKey.set(t,{schema:e,id:t}))}reset(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}_collect(e,t=[],r=[]){const n=e[0],o=this._get(n);a(o,"Schema does not contain path",[...t,...e].join(".")),r=[o,...r];const s=e.slice(1);return s.length?o.schema._ids._collect(s,[...t,n],r):r}_get(e){return this._byId.get(e)||this._byKey.get(e)}},s.fork=function(e,r,a){const n=t.schema(e,{each:(e,{key:t})=>{if(r===(e._flags.id||t))return a},ref:!1});return n?n.$_mutateRebuild():e},t.schema=function(e,t){let r;for(const a in e._flags){if("_"===a[0])continue;const n=s.scan(e._flags[a],{source:"flags",name:a},t);void 0!==n&&(r=r||e.clone(),r._flags[a]=n)}for(let a=0;a{"use strict";const a=r(375),n=r(8571),o=r(9621),s=r(8160);let i;const l={symbol:Symbol("ref"),defaults:{adjust:null,in:!1,iterables:null,map:null,separator:".",type:"value"}};t.create=function(e,t={}){a("string"==typeof e,"Invalid reference key:",e),s.assertOptions(t,["adjust","ancestor","in","iterables","map","prefix","render","separator"]),a(!t.prefix||"object"==typeof t.prefix,"options.prefix must be of type object");const r=Object.assign({},l.defaults,t);delete r.prefix;const n=r.separator,o=l.context(e,n,t.prefix);if(r.type=o.type,e=o.key,"value"===r.type)if(o.root&&(a(!n||e[0]!==n,"Cannot specify relative path with root prefix"),r.ancestor="root",e||(e=null)),n&&n===e)e=null,r.ancestor=0;else if(void 0!==r.ancestor)a(!n||!e||e[0]!==n,"Cannot combine prefix with ancestor option");else{const[t,a]=l.ancestor(e,n);a&&""===(e=e.slice(a))&&(e=null),r.ancestor=t}return r.path=n?null===e?[]:e.split(n):[e],new l.Ref(r)},t.in=function(e,r={}){return t.create(e,{...r,in:!0})},t.isRef=function(e){return!!e&&!!e[s.symbols.ref]},l.Ref=class{constructor(e){a("object"==typeof e,"Invalid reference construction"),s.assertOptions(e,["adjust","ancestor","in","iterables","map","path","render","separator","type","depth","key","root","display"]),a([!1,void 0].includes(e.separator)||"string"==typeof e.separator&&1===e.separator.length,"Invalid separator"),a(!e.adjust||"function"==typeof e.adjust,"options.adjust must be a function"),a(!e.map||Array.isArray(e.map),"options.map must be an array"),a(!e.map||!e.adjust,"Cannot set both map and adjust options"),Object.assign(this,l.defaults,e),a("value"===this.type||void 0===this.ancestor,"Non-value references cannot reference ancestors"),Array.isArray(this.map)&&(this.map=new Map(this.map)),this.depth=this.path.length,this.key=this.path.length?this.path.join(this.separator):null,this.root=this.path[0],this.updateDisplay()}resolve(e,t,r,n,o={}){return a(!this.in||o.in,"Invalid in() reference usage"),"global"===this.type?this._resolve(r.context,t,o):"local"===this.type?this._resolve(n,t,o):this.ancestor?"root"===this.ancestor?this._resolve(t.ancestors[t.ancestors.length-1],t,o):(a(this.ancestor<=t.ancestors.length,"Invalid reference exceeds the schema root:",this.display),this._resolve(t.ancestors[this.ancestor-1],t,o)):this._resolve(e,t,o)}_resolve(e,t,r){let a;if("value"===this.type&&t.mainstay.shadow&&!1!==r.shadow&&(a=t.mainstay.shadow.get(this.absolute(t))),void 0===a&&(a=o(e,this.path,{iterables:this.iterables,functions:!0})),this.adjust&&(a=this.adjust(a)),this.map){const e=this.map.get(a);void 0!==e&&(a=e)}return t.mainstay&&t.mainstay.tracer.resolve(t,this,a),a}toString(){return this.display}absolute(e){return[...e.path.slice(0,-this.ancestor),...this.path]}clone(){return new l.Ref(this)}describe(){const e={path:this.path};"value"!==this.type&&(e.type=this.type),"."!==this.separator&&(e.separator=this.separator),"value"===this.type&&1!==this.ancestor&&(e.ancestor=this.ancestor),this.map&&(e.map=[...this.map]);for(const t of["adjust","iterables","render"])null!==this[t]&&void 0!==this[t]&&(e[t]=this[t]);return!1!==this.in&&(e.in=!0),{ref:e}}updateDisplay(){const e=null!==this.key?this.key:"";if("value"!==this.type)return void(this.display=`ref:${this.type}:${e}`);if(!this.separator)return void(this.display=`ref:${e}`);if(!this.ancestor)return void(this.display=`ref:${this.separator}${e}`);if("root"===this.ancestor)return void(this.display=`ref:root:${e}`);if(1===this.ancestor)return void(this.display=`ref:${e||".."}`);const t=new Array(this.ancestor+1).fill(this.separator).join("");this.display=`ref:${t}${e||""}`}},l.Ref.prototype[s.symbols.ref]=!0,t.build=function(e){return"value"===(e=Object.assign({},l.defaults,e)).type&&void 0===e.ancestor&&(e.ancestor=1),new l.Ref(e)},l.context=function(e,t,r={}){if(e=e.trim(),r){const a=void 0===r.global?"$":r.global;if(a!==t&&e.startsWith(a))return{key:e.slice(a.length),type:"global"};const n=void 0===r.local?"#":r.local;if(n!==t&&e.startsWith(n))return{key:e.slice(n.length),type:"local"};const o=void 0===r.root?"/":r.root;if(o!==t&&e.startsWith(o))return{key:e.slice(o.length),type:"value",root:!0}}return{key:e,type:"value"}},l.ancestor=function(e,t){if(!t)return[1,0];if(e[0]!==t)return[1,0];if(e[1]!==t)return[0,1];let r=2;for(;e[r]===t;)++r;return[r-1,r]},t.toSibling=0,t.toParent=1,t.Manager=class{constructor(){this.refs=[]}register(e,a){if(e)if(a=void 0===a?t.toParent:a,Array.isArray(e))for(const t of e)this.register(t,a);else if(s.isSchema(e))for(const t of e._refs.refs)t.ancestor-a>=0&&this.refs.push({ancestor:t.ancestor-a,root:t.root});else t.isRef(e)&&"value"===e.type&&e.ancestor-a>=0&&this.refs.push({ancestor:e.ancestor-a,root:e.root}),i=i||r(3328),i.isTemplate(e)&&this.register(e.refs(),a)}get length(){return this.refs.length}clone(){const e=new t.Manager;return e.refs=n(this.refs),e}reset(){this.refs=[]}roots(){return this.refs.filter((e=>!e.ancestor)).map((e=>e.root))}}},3378:(e,t,r)=>{"use strict";const a=r(5107),n={};n.wrap=a.string().min(1).max(2).allow(!1),t.preferences=a.object({allowUnknown:a.boolean(),abortEarly:a.boolean(),artifacts:a.boolean(),cache:a.boolean(),context:a.object(),convert:a.boolean(),dateFormat:a.valid("date","iso","string","time","utc"),debug:a.boolean(),errors:{escapeHtml:a.boolean(),label:a.valid("path","key",!1),language:[a.string(),a.object().ref()],render:a.boolean(),stack:a.boolean(),wrap:{label:n.wrap,array:n.wrap,string:n.wrap}},externals:a.boolean(),messages:a.object(),noDefaults:a.boolean(),nonEnumerables:a.boolean(),presence:a.valid("required","optional","forbidden"),skipFunctions:a.boolean(),stripUnknown:a.object({arrays:a.boolean(),objects:a.boolean()}).or("arrays","objects").allow(!0,!1),warnings:a.boolean()}).strict(),n.nameRx=/^[a-zA-Z0-9]\w*$/,n.rule=a.object({alias:a.array().items(a.string().pattern(n.nameRx)).single(),args:a.array().items(a.string(),a.object({name:a.string().pattern(n.nameRx).required(),ref:a.boolean(),assert:a.alternatives([a.function(),a.object().schema()]).conditional("ref",{is:!0,then:a.required()}),normalize:a.function(),message:a.string().when("assert",{is:a.function(),then:a.required()})})),convert:a.boolean(),manifest:a.boolean(),method:a.function().allow(!1),multi:a.boolean(),validate:a.function()}),t.extension=a.object({type:a.alternatives([a.string(),a.object().regex()]).required(),args:a.function(),cast:a.object().pattern(n.nameRx,a.object({from:a.function().maxArity(1).required(),to:a.function().minArity(1).maxArity(2).required()})),base:a.object().schema().when("type",{is:a.object().regex(),then:a.forbidden()}),coerce:[a.function().maxArity(3),a.object({method:a.function().maxArity(3).required(),from:a.array().items(a.string()).single()})],flags:a.object().pattern(n.nameRx,a.object({setter:a.string(),default:a.any()})),manifest:{build:a.function().arity(2)},messages:[a.object(),a.string()],modifiers:a.object().pattern(n.nameRx,a.function().minArity(1).maxArity(2)),overrides:a.object().pattern(n.nameRx,a.function()),prepare:a.function().maxArity(3),rebuild:a.function().arity(1),rules:a.object().pattern(n.nameRx,n.rule),terms:a.object().pattern(n.nameRx,a.object({init:a.array().allow(null).required(),manifest:a.object().pattern(/.+/,[a.valid("schema","single"),a.object({mapped:a.object({from:a.string().required(),to:a.string().required()}).required()})])})),validate:a.function().maxArity(3)}).strict(),t.extensions=a.array().items(a.object(),a.function().arity(1)).strict(),n.desc={buffer:a.object({buffer:a.string()}),func:a.object({function:a.function().required(),options:{literal:!0}}),override:a.object({override:!0}),ref:a.object({ref:a.object({type:a.valid("value","global","local"),path:a.array().required(),separator:a.string().length(1).allow(!1),ancestor:a.number().min(0).integer().allow("root"),map:a.array().items(a.array().length(2)).min(1),adjust:a.function(),iterables:a.boolean(),in:a.boolean(),render:a.boolean()}).required()}),regex:a.object({regex:a.string().min(3)}),special:a.object({special:a.valid("deep").required()}),template:a.object({template:a.string().required(),options:a.object()}),value:a.object({value:a.alternatives([a.object(),a.array()]).required()})},n.desc.entity=a.alternatives([a.array().items(a.link("...")),a.boolean(),a.function(),a.number(),a.string(),n.desc.buffer,n.desc.func,n.desc.ref,n.desc.regex,n.desc.special,n.desc.template,n.desc.value,a.link("/")]),n.desc.values=a.array().items(null,a.boolean(),a.function(),a.number().allow(1/0,-1/0),a.string().allow(""),a.symbol(),n.desc.buffer,n.desc.func,n.desc.override,n.desc.ref,n.desc.regex,n.desc.template,n.desc.value),n.desc.messages=a.object().pattern(/.+/,[a.string(),n.desc.template,a.object().pattern(/.+/,[a.string(),n.desc.template])]),t.description=a.object({type:a.string().required(),flags:a.object({cast:a.string(),default:a.any(),description:a.string(),empty:a.link("/"),failover:n.desc.entity,id:a.string(),label:a.string(),only:!0,presence:["optional","required","forbidden"],result:["raw","strip"],strip:a.boolean(),unit:a.string()}).unknown(),preferences:{allowUnknown:a.boolean(),abortEarly:a.boolean(),artifacts:a.boolean(),cache:a.boolean(),convert:a.boolean(),dateFormat:["date","iso","string","time","utc"],errors:{escapeHtml:a.boolean(),label:["path","key"],language:[a.string(),n.desc.ref],wrap:{label:n.wrap,array:n.wrap}},externals:a.boolean(),messages:n.desc.messages,noDefaults:a.boolean(),nonEnumerables:a.boolean(),presence:["required","optional","forbidden"],skipFunctions:a.boolean(),stripUnknown:a.object({arrays:a.boolean(),objects:a.boolean()}).or("arrays","objects").allow(!0,!1),warnings:a.boolean()},allow:n.desc.values,invalid:n.desc.values,rules:a.array().min(1).items({name:a.string().required(),args:a.object().min(1),keep:a.boolean(),message:[a.string(),n.desc.messages],warn:a.boolean()}),keys:a.object().pattern(/.*/,a.link("/")),link:n.desc.ref}).pattern(/^[a-z]\w*$/,a.any())},493:(e,t,r)=>{"use strict";const a=r(8571),n=r(9621),o=r(8160),s={value:Symbol("value")};e.exports=s.State=class{constructor(e,t,r){this.path=e,this.ancestors=t,this.mainstay=r.mainstay,this.schemas=r.schemas,this.debug=null}localize(e,t=null,r=null){const a=new s.State(e,t,this);return r&&a.schemas&&(a.schemas=[s.schemas(r),...a.schemas]),a}nest(e,t){const r=new s.State(this.path,this.ancestors,this);return r.schemas=r.schemas&&[s.schemas(e),...r.schemas],r.debug=t,r}shadow(e,t){this.mainstay.shadow=this.mainstay.shadow||new s.Shadow,this.mainstay.shadow.set(this.path,e,t)}snapshot(){this.mainstay.shadow&&(this._snapshot=a(this.mainstay.shadow.node(this.path))),this.mainstay.snapshot()}restore(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0),this.mainstay.restore()}commit(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0),this.mainstay.commit()}},s.schemas=function(e){return o.isSchema(e)?{schema:e}:e},s.Shadow=class{constructor(){this._values=null}set(e,t,r){if(!e.length)return;if("strip"===r&&"number"==typeof e[e.length-1])return;this._values=this._values||new Map;let a=this._values;for(let t=0;t{"use strict";const a=r(375),n=r(8571),o=r(5277),s=r(1447),i=r(8160),l=r(6354),c=r(6133),u={symbol:Symbol("template"),opens:new Array(1e3).join("\0"),closes:new Array(1e3).join(""),dateFormat:{date:Date.prototype.toDateString,iso:Date.prototype.toISOString,string:Date.prototype.toString,time:Date.prototype.toTimeString,utc:Date.prototype.toUTCString}};e.exports=u.Template=class{constructor(e,t){if(a("string"==typeof e,"Template source must be a string"),a(!e.includes("\0")&&!e.includes(""),"Template source cannot contain reserved control characters"),this.source=e,this.rendered=e,this._template=null,t){const{functions:e,...r}=t;this._settings=Object.keys(r).length?n(r):void 0,this._functions=e,this._functions&&(a(Object.keys(this._functions).every((e=>"string"==typeof e)),"Functions keys must be strings"),a(Object.values(this._functions).every((e=>"function"==typeof e)),"Functions values must be functions"))}else this._settings=void 0,this._functions=void 0;this._parse()}_parse(){if(!this.source.includes("{"))return;const e=u.encode(this.source),t=u.split(e);let r=!1;const a=[],n=t.shift();n&&a.push(n);for(const e of t){const t="{"!==e[0],n=t?"}":"}}",o=e.indexOf(n);if(-1===o||"{"===e[1]){a.push(`{${u.decode(e)}`);continue}let s=e.slice(t?0:1,o);const i=":"===s[0];i&&(s=s.slice(1));const l=this._ref(u.decode(s),{raw:t,wrapped:i});a.push(l),"string"!=typeof l&&(r=!0);const c=e.slice(o+n.length);c&&a.push(u.decode(c))}r?this._template=a:this.rendered=a.join("")}static date(e,t){return u.dateFormat[t.dateFormat].call(e)}describe(e={}){if(!this._settings&&e.compact)return this.source;const t={template:this.source};return this._settings&&(t.options=this._settings),this._functions&&(t.functions=this._functions),t}static build(e){return new u.Template(e.template,e.options||e.functions?{...e.options,functions:e.functions}:void 0)}isDynamic(){return!!this._template}static isTemplate(e){return!!e&&!!e[i.symbols.template]}refs(){if(!this._template)return;const e=[];for(const t of this._template)"string"!=typeof t&&e.push(...t.refs);return e}resolve(e,t,r,a){return this._template&&1===this._template.length?this._part(this._template[0],e,t,r,a,{}):this.render(e,t,r,a)}_part(e,...t){return e.ref?e.ref.resolve(...t):e.formula.evaluate(t)}render(e,t,r,a,n={}){if(!this.isDynamic())return this.rendered;const s=[];for(const i of this._template)if("string"==typeof i)s.push(i);else{const l=this._part(i,e,t,r,a,n),c=u.stringify(l,e,t,r,a,n);if(void 0!==c){const e=i.raw||!1===(n.errors&&n.errors.escapeHtml)?c:o(c);s.push(u.wrap(e,i.wrapped&&r.errors.wrap.label))}}return s.join("")}_ref(e,{raw:t,wrapped:r}){const a=[],n=e=>{const t=c.create(e,this._settings);return a.push(t),e=>{const r=t.resolve(...e);return void 0!==r?r:null}};try{const t=this._functions?{...u.functions,...this._functions}:u.functions;var o=new s.Parser(e,{reference:n,functions:t,constants:u.constants})}catch(t){throw t.message=`Invalid template variable "${e}" fails due to: ${t.message}`,t}if(o.single){if("reference"===o.single.type){const e=a[0];return{ref:e,raw:t,refs:a,wrapped:r||"local"===e.type&&"label"===e.key}}return u.stringify(o.single.value)}return{formula:o,raw:t,refs:a}}toString(){return this.source}},u.Template.prototype[i.symbols.template]=!0,u.Template.prototype.isImmutable=!0,u.encode=function(e){return e.replace(/\\(\{+)/g,((e,t)=>u.opens.slice(0,t.length))).replace(/\\(\}+)/g,((e,t)=>u.closes.slice(0,t.length)))},u.decode=function(e){return e.replace(/\u0000/g,"{").replace(/\u0001/g,"}")},u.split=function(e){const t=[];let r="";for(let a=0;a ${a.toString()}`);e=t}if(!Array.isArray(e))return e.toString();const d=[];for(const s of e)d.push(u.stringify(s,t,r,a,n,{arrayItems:!0,...o}));return u.wrap(d.join(", "),!l&&i.array)},u.constants={true:!0,false:!1,null:null,second:1e3,minute:6e4,hour:36e5,day:864e5},u.functions={if:(e,t,r)=>e?t:r,length:e=>"string"==typeof e?e.length:e&&"object"==typeof e?Array.isArray(e)?e.length:Object.keys(e).length:null,msg(e){const[t,r,a,n,o]=this,s=o.messages;if(!s)return"";const i=l.template(t,s[0],e,r,a)||l.template(t,s[1],e,r,a);return i?i.render(t,r,a,n,o):""},number:e=>"number"==typeof e?e:"string"==typeof e?parseFloat(e):"boolean"==typeof e?e?1:0:e instanceof Date?e.getTime():null}},4946:(e,t,r)=>{"use strict";const a=r(375),n=r(1687),o=r(8068),s=r(8160),i=r(3292),l=r(6354),c=r(6133),u={};e.exports=o.extend({type:"alternatives",flags:{match:{default:"any"}},terms:{matches:{init:[],register:c.toSibling}},args:(e,...t)=>1===t.length&&Array.isArray(t[0])?e.try(...t[0]):e.try(...t),validate(e,t){const{schema:r,error:a,state:o,prefs:s}=t;if(r._flags.match){const t=[],i=[];for(let a=0;al.details(e,{override:!1})))})};if("one"===r._flags.match)return 1===t.length?{value:t[0]}:{errors:a("alternatives.one")};if(t.length!==r.$_terms.matches.length)return{errors:a("alternatives.all",{details:i.map((e=>l.details(e,{override:!1})))})};const c=e=>e.$_terms.matches.some((e=>"object"===e.schema.type||"alternatives"===e.schema.type&&c(e.schema)));return c(r)?{value:t.reduce(((e,t)=>n(e,t,{mergeArrays:!1})))}:{value:t[t.length-1]}}const i=[];for(let t=0;t"is"!==r.path[0]&&"string"!=typeof t._flags.label?t.label(e):void 0,ref:!1})}},rebuild(e){e.$_modify({each:t=>{s.isSchema(t)&&"array"===t.type&&e.$_setFlag("_arrayItems",!0,{clone:!1})}})},manifest:{build(e,t){if(t.matches)for(const r of t.matches){const{schema:t,ref:a,is:n,not:o,then:s,otherwise:i}=r;e=t?e.try(t):a?e.conditional(a,{is:n,then:s,not:o,otherwise:i,switch:r.switch}):e.conditional(n,{then:s,otherwise:i})}return e}},messages:{"alternatives.all":"{{#label}} does not match all of the required types","alternatives.any":"{{#label}} does not match any of the allowed types","alternatives.match":"{{#label}} does not match any of the allowed types","alternatives.one":"{{#label}} matches more than one allowed type","alternatives.types":"{{#label}} must be one of {{#types}}"}}),u.errors=function(e,{error:t,state:r}){if(!e.length)return{errors:t("alternatives.any")};if(1===e.length)return{errors:e[0].reports};const a=new Set,n=[];for(const{reports:o,schema:s}of e){if(o.length>1)return u.unmatched(e,t);const i=o[0];if(i instanceof l.Report==0)return u.unmatched(e,t);if(i.state.path.length!==r.path.length){n.push({type:s.type,report:i});continue}if("any.only"===i.code){for(const e of i.local.valids)a.add(e);continue}const[c,d]=i.code.split(".");"base"!==d?n.push({type:s.type,report:i}):"object.base"===i.code?a.add(i.local.type):a.add(c)}return n.length?1===n.length?{errors:n[0].report}:u.unmatched(e,t):{errors:t("alternatives.types",{types:[...a]})}},u.unmatched=function(e,t){const r=[];for(const t of e)r.push(...t.reports);return{errors:t("alternatives.match",l.details(r,{override:!1}))}}},8068:(e,t,r)=>{"use strict";const a=r(375),n=r(7629),o=r(8160),s=r(6914);e.exports=n.extend({type:"any",flags:{only:{default:!1}},terms:{alterations:{init:null},examples:{init:null},externals:{init:null},metas:{init:[]},notes:{init:[]},shared:{init:null},tags:{init:[]},whens:{init:null}},rules:{custom:{method(e,t){return a("function"==typeof e,"Method must be a function"),a(void 0===t||t&&"string"==typeof t,"Description must be a non-empty string"),this.$_addRule({name:"custom",args:{method:e,description:t}})},validate(e,t,{method:r}){try{return r(e,t)}catch(e){return t.error("any.custom",{error:e})}},args:["method","description"],multi:!0},messages:{method(e){return this.prefs({messages:e})}},shared:{method(e){a(o.isSchema(e)&&e._flags.id,"Schema must be a schema with an id");const t=this.clone();return t.$_terms.shared=t.$_terms.shared||[],t.$_terms.shared.push(e),t.$_mutateRegister(e),t}},warning:{method(e,t){return a(e&&"string"==typeof e,"Invalid warning code"),this.$_addRule({name:"warning",args:{code:e,local:t},warn:!0})},validate:(e,t,{code:r,local:a})=>t.error(r,a),args:["code","local"],multi:!0}},modifiers:{keep(e,t=!0){e.keep=t},message(e,t){e.message=s.compile(t)},warn(e,t=!0){e.warn=t}},manifest:{build(e,t){for(const r in t){const a=t[r];if(["examples","externals","metas","notes","tags"].includes(r))for(const t of a)e=e[r.slice(0,-1)](t);else if("alterations"!==r)if("whens"!==r){if("shared"===r)for(const t of a)e=e.shared(t)}else for(const t of a){const{ref:r,is:a,not:n,then:o,otherwise:s,concat:i}=t;e=i?e.concat(i):r?e.when(r,{is:a,not:n,then:o,otherwise:s,switch:t.switch,break:t.break}):e.when(a,{then:o,otherwise:s,break:t.break})}else{const t={};for(const{target:e,adjuster:r}of a)t[e]=r;e=e.alter(t)}}return e}},messages:{"any.custom":"{{#label}} failed custom validation because {{#error.message}}","any.default":"{{#label}} threw an error when running default method","any.failover":"{{#label}} threw an error when running failover method","any.invalid":"{{#label}} contains an invalid value","any.only":'{{#label}} must be {if(#valids.length == 1, "", "one of ")}{{#valids}}',"any.ref":"{{#label}} {{#arg}} references {{:#ref}} which {{#reason}}","any.required":"{{#label}} is required","any.unknown":"{{#label}} is not allowed"}})},546:(e,t,r)=>{"use strict";const a=r(375),n=r(9474),o=r(9621),s=r(8068),i=r(8160),l=r(3292),c={};e.exports=s.extend({type:"array",flags:{single:{default:!1},sparse:{default:!1}},terms:{items:{init:[],manifest:"schema"},ordered:{init:[],manifest:"schema"},_exclusions:{init:[]},_inclusions:{init:[]},_requireds:{init:[]}},coerce:{from:"object",method(e,{schema:t,state:r,prefs:a}){if(!Array.isArray(e))return;const n=t.$_getRule("sort");return n?c.sort(t,e,n.args.options,r,a):void 0}},validate(e,{schema:t,error:r}){if(!Array.isArray(e)){if(t._flags.single){const t=[e];return t[i.symbols.arraySingle]=!0,{value:t}}return{errors:r("array.base")}}if(t.$_getRule("items")||t.$_terms.externals)return{value:e.slice()}},rules:{has:{method(e){e=this.$_compile(e,{appendPath:!0});const t=this.$_addRule({name:"has",args:{schema:e}});return t.$_mutateRegister(e),t},validate(e,{state:t,prefs:r,error:a},{schema:n}){const o=[e,...t.ancestors];for(let a=0;athis.$_compile(e[r])),r,{append:!0});t.$_terms.items.push(a)}return t.$_mutateRebuild()},validate(e,{schema:t,error:r,state:a,prefs:n,errorsArray:o}){const s=t.$_terms._requireds.slice(),l=t.$_terms.ordered.slice(),u=[...t.$_terms._inclusions,...s],d=!e[i.symbols.arraySingle];delete e[i.symbols.arraySingle];const p=o();let g=e.length;for(let o=0;o="})}},ordered:{method(...e){i.verifyFlat(e,"ordered");const t=this.$_addRule("items");for(let r=0;rthis.$_compile(e[r])),r,{append:!0});c.validateSingle(a,t),t.$_mutateRegister(a),t.$_terms.ordered.push(a)}return t.$_mutateRebuild()}},single:{method(e){const t=void 0===e||!!e;return a(!t||!this._flags._arrayItems,"Cannot specify single rule when array has array items"),this.$_setFlag("single",t)}},sort:{method(e={}){i.assertOptions(e,["by","order"]);const t={order:e.order||"ascending"};return e.by&&(t.by=l.ref(e.by,{ancestor:0}),a(!t.by.ancestor,"Cannot sort by ancestor")),this.$_addRule({name:"sort",args:{options:t}})},validate(e,{error:t,state:r,prefs:a,schema:n},{options:o}){const{value:s,errors:i}=c.sort(n,e,o,r,a);if(i)return i;for(let r=0;rnew Set(e)}},rebuild(e){e.$_terms._inclusions=[],e.$_terms._exclusions=[],e.$_terms._requireds=[];for(const t of e.$_terms.items)c.validateSingle(t,e),"required"===t._flags.presence?e.$_terms._requireds.push(t):"forbidden"===t._flags.presence?e.$_terms._exclusions.push(t):e.$_terms._inclusions.push(t);for(const t of e.$_terms.ordered)c.validateSingle(t,e)},manifest:{build:(e,t)=>(t.items&&(e=e.items(...t.items)),t.ordered&&(e=e.ordered(...t.ordered)),e)},messages:{"array.base":"{{#label}} must be an array","array.excludes":"{{#label}} contains an excluded value","array.hasKnown":"{{#label}} does not contain at least one required match for type {:#patternLabel}","array.hasUnknown":"{{#label}} does not contain at least one required match","array.includes":"{{#label}} does not match any of the allowed types","array.includesRequiredBoth":"{{#label}} does not contain {{#knownMisses}} and {{#unknownMisses}} other required value(s)","array.includesRequiredKnowns":"{{#label}} does not contain {{#knownMisses}}","array.includesRequiredUnknowns":"{{#label}} does not contain {{#unknownMisses}} required value(s)","array.length":"{{#label}} must contain {{#limit}} items","array.max":"{{#label}} must contain less than or equal to {{#limit}} items","array.min":"{{#label}} must contain at least {{#limit}} items","array.orderedLength":"{{#label}} must contain at most {{#limit}} items","array.sort":"{{#label}} must be sorted in {#order} order by {{#by}}","array.sort.mismatching":"{{#label}} cannot be sorted due to mismatching types","array.sort.unsupported":"{{#label}} cannot be sorted due to unsupported type {#type}","array.sparse":"{{#label}} must not be a sparse array item","array.unique":"{{#label}} contains a duplicate value"}}),c.fillMissedErrors=function(e,t,r,a,n,o){const s=[];let i=0;for(const e of r){const t=e._flags.label;t?s.push(t):++i}s.length?i?t.push(e.$_createError("array.includesRequiredBoth",a,{knownMisses:s,unknownMisses:i},n,o)):t.push(e.$_createError("array.includesRequiredKnowns",a,{knownMisses:s},n,o)):t.push(e.$_createError("array.includesRequiredUnknowns",a,{unknownMisses:i},n,o))},c.fillOrderedErrors=function(e,t,r,a,n,o){const s=[];for(const e of r)"required"===e._flags.presence&&s.push(e);s.length&&c.fillMissedErrors(e,t,s,a,n,o)},c.fillDefault=function(e,t,r,a){const n=[];let o=!0;for(let s=e.length-1;s>=0;--s){const i=e[s],l=[t,...r.ancestors],c=i.$_validate(void 0,r.localize(r.path,l,i),a).value;if(o){if(void 0===c)continue;o=!1}n.unshift(c)}n.length&&t.push(...n)},c.fastSplice=function(e,t){let r=t;for(;r{let d=c.compare(l,u,s,i);if(null!==d)return d;if(r.by&&(l=r.by.resolve(l,a,n),u=r.by.resolve(u,a,n)),d=c.compare(l,u,s,i),null!==d)return d;const p=typeof l;if(p!==typeof u)throw e.$_createError("array.sort.mismatching",t,null,a,n);if("number"!==p&&"string"!==p)throw e.$_createError("array.sort.unsupported",t,{type:p},a,n);return"number"===p?(l-u)*o:l{"use strict";const a=r(375),n=r(8068),o=r(8160),s=r(2036),i={isBool:function(e){return"boolean"==typeof e}};e.exports=n.extend({type:"boolean",flags:{sensitive:{default:!1}},terms:{falsy:{init:null,manifest:"values"},truthy:{init:null,manifest:"values"}},coerce(e,{schema:t}){if("boolean"!=typeof e){if("string"==typeof e){const r=t._flags.sensitive?e:e.toLowerCase();e="true"===r||"false"!==r&&e}return"boolean"!=typeof e&&(e=t.$_terms.truthy&&t.$_terms.truthy.has(e,null,null,!t._flags.sensitive)||(!t.$_terms.falsy||!t.$_terms.falsy.has(e,null,null,!t._flags.sensitive))&&e),{value:e}}},validate(e,{error:t}){if("boolean"!=typeof e)return{value:e,errors:t("boolean.base")}},rules:{truthy:{method(...e){o.verifyFlat(e,"truthy");const t=this.clone();t.$_terms.truthy=t.$_terms.truthy||new s;for(let r=0;re?1:0},string:{from:i.isBool,to:(e,t)=>e?"true":"false"}},manifest:{build:(e,t)=>(t.truthy&&(e=e.truthy(...t.truthy)),t.falsy&&(e=e.falsy(...t.falsy)),e)},messages:{"boolean.base":"{{#label}} must be a boolean"}})},7500:(e,t,r)=>{"use strict";const a=r(375),n=r(8068),o=r(8160),s=r(3328),i={isDate:function(e){return e instanceof Date}};e.exports=n.extend({type:"date",coerce:{from:["number","string"],method:(e,{schema:t})=>({value:i.parse(e,t._flags.format)||e})},validate(e,{schema:t,error:r,prefs:a}){if(e instanceof Date&&!isNaN(e.getTime()))return;const n=t._flags.format;return a.convert&&n&&"string"==typeof e?{value:e,errors:r("date.format",{format:n})}:{value:e,errors:r("date.base")}},rules:{compare:{method:!1,validate(e,t,{date:r},{name:a,operator:n,args:s}){const i="now"===r?Date.now():r.getTime();return o.compare(e.getTime(),i,n)?e:t.error("date."+a,{limit:s.date,value:e})},args:[{name:"date",ref:!0,normalize:e=>"now"===e?e:i.parse(e),assert:e=>null!==e,message:"must have a valid date format"}]},format:{method(e){return a(["iso","javascript","unix"].includes(e),"Unknown date format",e),this.$_setFlag("format",e)}},greater:{method(e){return this.$_addRule({name:"greater",method:"compare",args:{date:e},operator:">"})}},iso:{method(){return this.format("iso")}},less:{method(e){return this.$_addRule({name:"less",method:"compare",args:{date:e},operator:"<"})}},max:{method(e){return this.$_addRule({name:"max",method:"compare",args:{date:e},operator:"<="})}},min:{method(e){return this.$_addRule({name:"min",method:"compare",args:{date:e},operator:">="})}},timestamp:{method(e="javascript"){return a(["javascript","unix"].includes(e),'"type" must be one of "javascript, unix"'),this.format(e)}}},cast:{number:{from:i.isDate,to:(e,t)=>e.getTime()},string:{from:i.isDate,to:(e,{prefs:t})=>s.date(e,t)}},messages:{"date.base":"{{#label}} must be a valid date","date.format":'{{#label}} must be in {msg("date.format." + #format) || #format} format',"date.greater":"{{#label}} must be greater than {{:#limit}}","date.less":"{{#label}} must be less than {{:#limit}}","date.max":"{{#label}} must be less than or equal to {{:#limit}}","date.min":"{{#label}} must be greater than or equal to {{:#limit}}","date.format.iso":"ISO 8601 date","date.format.javascript":"timestamp or number of milliseconds","date.format.unix":"timestamp or number of seconds"}}),i.parse=function(e,t){if(e instanceof Date)return e;if("string"!=typeof e&&(isNaN(e)||!isFinite(e)))return null;if(/^\s*$/.test(e))return null;if("iso"===t)return o.isIsoDate(e)?i.date(e.toString()):null;const r=e;if("string"==typeof e&&/^[+-]?\d+(\.\d+)?$/.test(e)&&(e=parseFloat(e)),t){if("javascript"===t)return i.date(1*e);if("unix"===t)return i.date(1e3*e);if("string"==typeof r)return null}return i.date(e)},i.date=function(e){const t=new Date(e);return isNaN(t.getTime())?null:t}},390:(e,t,r)=>{"use strict";const a=r(375),n=r(7824);e.exports=n.extend({type:"function",properties:{typeof:"function"},rules:{arity:{method(e){return a(Number.isSafeInteger(e)&&e>=0,"n must be a positive integer"),this.$_addRule({name:"arity",args:{n:e}})},validate:(e,t,{n:r})=>e.length===r?e:t.error("function.arity",{n:r})},class:{method(){return this.$_addRule("class")},validate:(e,t)=>/^\s*class\s/.test(e.toString())?e:t.error("function.class",{value:e})},minArity:{method(e){return a(Number.isSafeInteger(e)&&e>0,"n must be a strict positive integer"),this.$_addRule({name:"minArity",args:{n:e}})},validate:(e,t,{n:r})=>e.length>=r?e:t.error("function.minArity",{n:r})},maxArity:{method(e){return a(Number.isSafeInteger(e)&&e>=0,"n must be a positive integer"),this.$_addRule({name:"maxArity",args:{n:e}})},validate:(e,t,{n:r})=>e.length<=r?e:t.error("function.maxArity",{n:r})}},messages:{"function.arity":"{{#label}} must have an arity of {{#n}}","function.class":"{{#label}} must be a class","function.maxArity":"{{#label}} must have an arity lesser or equal to {{#n}}","function.minArity":"{{#label}} must have an arity greater or equal to {{#n}}"}})},7824:(e,t,r)=>{"use strict";const a=r(978),n=r(375),o=r(8571),s=r(3652),i=r(8068),l=r(8160),c=r(3292),u=r(6354),d=r(6133),p=r(3328),g={renameDefaults:{alias:!1,multiple:!1,override:!1}};e.exports=i.extend({type:"_keys",properties:{typeof:"object"},flags:{unknown:{default:void 0}},terms:{dependencies:{init:null},keys:{init:null,manifest:{mapped:{from:"schema",to:"key"}}},patterns:{init:null},renames:{init:null}},args:(e,t)=>e.keys(t),validate(e,{schema:t,error:r,state:a,prefs:n}){if(!e||typeof e!==t.$_property("typeof")||Array.isArray(e))return{value:e,errors:r("object.base",{type:t.$_property("typeof")})};if(!(t.$_terms.renames||t.$_terms.dependencies||t.$_terms.keys||t.$_terms.patterns||t.$_terms.externals))return;e=g.clone(e,n);const o=[];if(t.$_terms.renames&&!g.rename(t,e,a,n,o))return{value:e,errors:o};if(!t.$_terms.keys&&!t.$_terms.patterns&&!t.$_terms.dependencies)return{value:e,errors:o};const s=new Set(Object.keys(e));if(t.$_terms.keys){const r=[e,...a.ancestors];for(const i of t.$_terms.keys){const t=i.key,l=e[t];s.delete(t);const c=a.localize([...a.path,t],r,i),u=i.schema.$_validate(l,c,n);if(u.errors){if(n.abortEarly)return{value:e,errors:u.errors};void 0!==u.value&&(e[t]=u.value),o.push(...u.errors)}else"strip"===i.schema._flags.result||void 0===u.value&&void 0!==l?delete e[t]:void 0!==u.value&&(e[t]=u.value)}}if(s.size||t._flags._hasPatternMatch){const r=g.unknown(t,e,s,o,a,n);if(r)return r}if(t.$_terms.dependencies)for(const r of t.$_terms.dependencies){if(null!==r.key&&!1===g.isPresent(r.options)(r.key.resolve(e,a,n,null,{shadow:!1})))continue;const s=g.dependencies[r.rel](t,r,e,a,n);if(s){const r=t.$_createError(s.code,e,s.context,a,n);if(n.abortEarly)return{value:e,errors:r};o.push(r)}}return{value:e,errors:o}},rules:{and:{method(...e){return l.verifyFlat(e,"and"),g.dependency(this,"and",null,e)}},append:{method(e){return null==e||0===Object.keys(e).length?this:this.keys(e)}},assert:{method(e,t,r){p.isTemplate(e)||(e=c.ref(e)),n(void 0===r||"string"==typeof r,"Message must be a string"),t=this.$_compile(t,{appendPath:!0});const a=this.$_addRule({name:"assert",args:{subject:e,schema:t,message:r}});return a.$_mutateRegister(e),a.$_mutateRegister(t),a},validate(e,{error:t,prefs:r,state:a},{subject:n,schema:o,message:s}){const i=n.resolve(e,a,r),l=d.isRef(n)?n.absolute(a):[];return o.$_match(i,a.localize(l,[e,...a.ancestors],o),r)?e:t("object.assert",{subject:n,message:s})},args:["subject","schema","message"],multi:!0},instance:{method(e,t){return n("function"==typeof e,"constructor must be a function"),t=t||e.name,this.$_addRule({name:"instance",args:{constructor:e,name:t}})},validate:(e,t,{constructor:r,name:a})=>e instanceof r?e:t.error("object.instance",{type:a,value:e}),args:["constructor","name"]},keys:{method(e){n(void 0===e||"object"==typeof e,"Object schema must be a valid object"),n(!l.isSchema(e),"Object schema cannot be a joi schema");const t=this.clone();if(e)if(Object.keys(e).length){t.$_terms.keys=t.$_terms.keys?t.$_terms.keys.filter((t=>!e.hasOwnProperty(t.key))):new g.Keys;for(const r in e)l.tryWithPath((()=>t.$_terms.keys.push({key:r,schema:this.$_compile(e[r])})),r)}else t.$_terms.keys=new g.Keys;else t.$_terms.keys=null;return t.$_mutateRebuild()}},length:{method(e){return this.$_addRule({name:"length",args:{limit:e},operator:"="})},validate:(e,t,{limit:r},{name:a,operator:n,args:o})=>l.compare(Object.keys(e).length,r,n)?e:t.error("object."+a,{limit:o.limit,value:e}),args:[{name:"limit",ref:!0,assert:l.limit,message:"must be a positive integer"}]},max:{method(e){return this.$_addRule({name:"max",method:"length",args:{limit:e},operator:"<="})}},min:{method(e){return this.$_addRule({name:"min",method:"length",args:{limit:e},operator:">="})}},nand:{method(...e){return l.verifyFlat(e,"nand"),g.dependency(this,"nand",null,e)}},or:{method(...e){return l.verifyFlat(e,"or"),g.dependency(this,"or",null,e)}},oxor:{method(...e){return g.dependency(this,"oxor",null,e)}},pattern:{method(e,t,r={}){const a=e instanceof RegExp;a||(e=this.$_compile(e,{appendPath:!0})),n(void 0!==t,"Invalid rule"),l.assertOptions(r,["fallthrough","matches"]),a&&n(!e.flags.includes("g")&&!e.flags.includes("y"),"pattern should not use global or sticky mode"),t=this.$_compile(t,{appendPath:!0});const o=this.clone();o.$_terms.patterns=o.$_terms.patterns||[];const s={[a?"regex":"schema"]:e,rule:t};return r.matches&&(s.matches=this.$_compile(r.matches),"array"!==s.matches.type&&(s.matches=s.matches.$_root.array().items(s.matches)),o.$_mutateRegister(s.matches),o.$_setFlag("_hasPatternMatch",!0,{clone:!1})),r.fallthrough&&(s.fallthrough=!0),o.$_terms.patterns.push(s),o.$_mutateRegister(t),o}},ref:{method(){return this.$_addRule("ref")},validate:(e,t)=>d.isRef(e)?e:t.error("object.refType",{value:e})},regex:{method(){return this.$_addRule("regex")},validate:(e,t)=>e instanceof RegExp?e:t.error("object.regex",{value:e})},rename:{method(e,t,r={}){n("string"==typeof e||e instanceof RegExp,"Rename missing the from argument"),n("string"==typeof t||t instanceof p,"Invalid rename to argument"),n(t!==e,"Cannot rename key to same name:",e),l.assertOptions(r,["alias","ignoreUndefined","override","multiple"]);const o=this.clone();o.$_terms.renames=o.$_terms.renames||[];for(const t of o.$_terms.renames)n(t.from!==e,"Cannot rename the same key multiple times");return t instanceof p&&o.$_mutateRegister(t),o.$_terms.renames.push({from:e,to:t,options:a(g.renameDefaults,r)}),o}},schema:{method(e="any"){return this.$_addRule({name:"schema",args:{type:e}})},validate:(e,t,{type:r})=>!l.isSchema(e)||"any"!==r&&e.type!==r?t.error("object.schema",{type:r}):e},unknown:{method(e){return this.$_setFlag("unknown",!1!==e)}},with:{method(e,t,r={}){return g.dependency(this,"with",e,t,r)}},without:{method(e,t,r={}){return g.dependency(this,"without",e,t,r)}},xor:{method(...e){return l.verifyFlat(e,"xor"),g.dependency(this,"xor",null,e)}}},overrides:{default(e,t){return void 0===e&&(e=l.symbols.deepDefault),this.$_parent("default",e,t)}},rebuild(e){if(e.$_terms.keys){const t=new s.Sorter;for(const r of e.$_terms.keys)l.tryWithPath((()=>t.add(r,{after:r.schema.$_rootReferences(),group:r.key})),r.key);e.$_terms.keys=new g.Keys(...t.nodes)}},manifest:{build(e,t){if(t.keys&&(e=e.keys(t.keys)),t.dependencies)for(const{rel:r,key:a=null,peers:n,options:o}of t.dependencies)e=g.dependency(e,r,a,n,o);if(t.patterns)for(const{regex:r,schema:a,rule:n,fallthrough:o,matches:s}of t.patterns)e=e.pattern(r||a,n,{fallthrough:o,matches:s});if(t.renames)for(const{from:r,to:a,options:n}of t.renames)e=e.rename(r,a,n);return e}},messages:{"object.and":"{{#label}} contains {{#presentWithLabels}} without its required peers {{#missingWithLabels}}","object.assert":'{{#label}} is invalid because {if(#subject.key, `"` + #subject.key + `" failed to ` + (#message || "pass the assertion test"), #message || "the assertion failed")}',"object.base":"{{#label}} must be of type {{#type}}","object.instance":"{{#label}} must be an instance of {{:#type}}","object.length":'{{#label}} must have {{#limit}} key{if(#limit == 1, "", "s")}',"object.max":'{{#label}} must have less than or equal to {{#limit}} key{if(#limit == 1, "", "s")}',"object.min":'{{#label}} must have at least {{#limit}} key{if(#limit == 1, "", "s")}',"object.missing":"{{#label}} must contain at least one of {{#peersWithLabels}}","object.nand":"{{:#mainWithLabel}} must not exist simultaneously with {{#peersWithLabels}}","object.oxor":"{{#label}} contains a conflict between optional exclusive peers {{#peersWithLabels}}","object.pattern.match":"{{#label}} keys failed to match pattern requirements","object.refType":"{{#label}} must be a Joi reference","object.regex":"{{#label}} must be a RegExp object","object.rename.multiple":"{{#label}} cannot rename {{:#from}} because multiple renames are disabled and another key was already renamed to {{:#to}}","object.rename.override":"{{#label}} cannot rename {{:#from}} because override is disabled and target {{:#to}} exists","object.schema":"{{#label}} must be a Joi schema of {{#type}} type","object.unknown":"{{#label}} is not allowed","object.with":"{{:#mainWithLabel}} missing required peer {{:#peerWithLabel}}","object.without":"{{:#mainWithLabel}} conflict with forbidden peer {{:#peerWithLabel}}","object.xor":"{{#label}} contains a conflict between exclusive peers {{#peersWithLabels}}"}}),g.clone=function(e,t){if("object"==typeof e){if(t.nonEnumerables)return o(e,{shallow:!0});const r=Object.create(Object.getPrototypeOf(e));return Object.assign(r,e),r}const r=function(...t){return e.apply(this,t)};return r.prototype=o(e.prototype),Object.defineProperty(r,"name",{value:e.name,writable:!1}),Object.defineProperty(r,"length",{value:e.length,writable:!1}),Object.assign(r,e),r},g.dependency=function(e,t,r,a,o){n(null===r||"string"==typeof r,t,"key must be a strings"),o||(o=a.length>1&&"object"==typeof a[a.length-1]?a.pop():{}),l.assertOptions(o,["separator","isPresent"]),a=[].concat(a);const s=l.default(o.separator,"."),i=[];for(const e of a)n("string"==typeof e,t,"peers must be strings"),i.push(c.ref(e,{separator:s,ancestor:0,prefix:!1}));null!==r&&(r=c.ref(r,{separator:s,ancestor:0,prefix:!1}));const u=e.clone();return u.$_terms.dependencies=u.$_terms.dependencies||[],u.$_terms.dependencies.push(new g.Dependency(t,r,i,a,o)),u},g.dependencies={and(e,t,r,a,n){const o=[],s=[],i=t.peers.length,l=g.isPresent(t.options);for(const e of t.peers)!1===l(e.resolve(r,a,n,null,{shadow:!1}))?o.push(e.key):s.push(e.key);if(o.length!==i&&s.length!==i)return{code:"object.and",context:{present:s,presentWithLabels:g.keysToLabels(e,s),missing:o,missingWithLabels:g.keysToLabels(e,o)}}},nand(e,t,r,a,n){const o=[],s=g.isPresent(t.options);for(const e of t.peers)s(e.resolve(r,a,n,null,{shadow:!1}))&&o.push(e.key);if(o.length!==t.peers.length)return;const i=t.paths[0],l=t.paths.slice(1);return{code:"object.nand",context:{main:i,mainWithLabel:g.keysToLabels(e,i),peers:l,peersWithLabels:g.keysToLabels(e,l)}}},or(e,t,r,a,n){const o=g.isPresent(t.options);for(const e of t.peers)if(o(e.resolve(r,a,n,null,{shadow:!1})))return;return{code:"object.missing",context:{peers:t.paths,peersWithLabels:g.keysToLabels(e,t.paths)}}},oxor(e,t,r,a,n){const o=[],s=g.isPresent(t.options);for(const e of t.peers)s(e.resolve(r,a,n,null,{shadow:!1}))&&o.push(e.key);if(!o.length||1===o.length)return;const i={peers:t.paths,peersWithLabels:g.keysToLabels(e,t.paths)};return i.present=o,i.presentWithLabels=g.keysToLabels(e,o),{code:"object.oxor",context:i}},with(e,t,r,a,n){const o=g.isPresent(t.options);for(const s of t.peers)if(!1===o(s.resolve(r,a,n,null,{shadow:!1})))return{code:"object.with",context:{main:t.key.key,mainWithLabel:g.keysToLabels(e,t.key.key),peer:s.key,peerWithLabel:g.keysToLabels(e,s.key)}}},without(e,t,r,a,n){const o=g.isPresent(t.options);for(const s of t.peers)if(o(s.resolve(r,a,n,null,{shadow:!1})))return{code:"object.without",context:{main:t.key.key,mainWithLabel:g.keysToLabels(e,t.key.key),peer:s.key,peerWithLabel:g.keysToLabels(e,s.key)}}},xor(e,t,r,a,n){const o=[],s=g.isPresent(t.options);for(const e of t.peers)s(e.resolve(r,a,n,null,{shadow:!1}))&&o.push(e.key);if(1===o.length)return;const i={peers:t.paths,peersWithLabels:g.keysToLabels(e,t.paths)};return 0===o.length?{code:"object.missing",context:i}:(i.present=o,i.presentWithLabels=g.keysToLabels(e,o),{code:"object.xor",context:i})}},g.keysToLabels=function(e,t){return Array.isArray(t)?t.map((t=>e.$_mapLabels(t))):e.$_mapLabels(t)},g.isPresent=function(e){return"function"==typeof e.isPresent?e.isPresent:e=>void 0!==e},g.rename=function(e,t,r,a,n){const o={};for(const s of e.$_terms.renames){const i=[],l="string"!=typeof s.from;if(l)for(const e in t){if(void 0===t[e]&&s.options.ignoreUndefined)continue;if(e===s.to)continue;const r=s.from.exec(e);r&&i.push({from:e,to:s.to,match:r})}else!Object.prototype.hasOwnProperty.call(t,s.from)||void 0===t[s.from]&&s.options.ignoreUndefined||i.push(s);for(const c of i){const i=c.from;let u=c.to;if(u instanceof p&&(u=u.render(t,r,a,c.match)),i!==u){if(!s.options.multiple&&o[u]&&(n.push(e.$_createError("object.rename.multiple",t,{from:i,to:u,pattern:l},r,a)),a.abortEarly))return!1;if(Object.prototype.hasOwnProperty.call(t,u)&&!s.options.override&&!o[u]&&(n.push(e.$_createError("object.rename.override",t,{from:i,to:u,pattern:l},r,a)),a.abortEarly))return!1;void 0===t[i]?delete t[u]:t[u]=t[i],o[u]=!0,s.options.alias||delete t[i]}}}return!0},g.unknown=function(e,t,r,a,n,o){if(e.$_terms.patterns){let s=!1;const i=e.$_terms.patterns.map((e=>{if(e.matches)return s=!0,[]})),l=[t,...n.ancestors];for(const s of r){const c=t[s],u=[...n.path,s];for(let d=0;d{"use strict";const a=r(375),n=r(8068),o=r(8160),s=r(3292),i=r(6354),l={};e.exports=n.extend({type:"link",properties:{schemaChain:!0},terms:{link:{init:null,manifest:"single",register:!1}},args:(e,t)=>e.ref(t),validate(e,{schema:t,state:r,prefs:n}){a(t.$_terms.link,"Uninitialized link schema");const o=l.generate(t,e,r,n),s=t.$_terms.link[0].ref;return o.$_validate(e,r.nest(o,`link:${s.display}:${o.type}`),n)},generate:(e,t,r,a)=>l.generate(e,t,r,a),rules:{ref:{method(e){a(!this.$_terms.link,"Cannot reinitialize schema"),e=s.ref(e),a("value"===e.type||"local"===e.type,"Invalid reference type:",e.type),a("local"===e.type||"root"===e.ancestor||e.ancestor>0,"Link cannot reference itself");const t=this.clone();return t.$_terms.link=[{ref:e}],t}},relative:{method(e=!0){return this.$_setFlag("relative",e)}}},overrides:{concat(e){a(this.$_terms.link,"Uninitialized link schema"),a(o.isSchema(e),"Invalid schema object"),a("link"!==e.type,"Cannot merge type link with another link");const t=this.clone();return t.$_terms.whens||(t.$_terms.whens=[]),t.$_terms.whens.push({concat:e}),t.$_mutateRebuild()}},manifest:{build:(e,t)=>(a(t.link,"Invalid link description missing link"),e.ref(t.link))}}),l.generate=function(e,t,r,a){let n=r.mainstay.links.get(e);if(n)return n._generate(t,r,a).schema;const o=e.$_terms.link[0].ref,{perspective:s,path:i}=l.perspective(o,r);l.assert(s,"which is outside of schema boundaries",o,e,r,a);try{n=i.length?s.$_reach(i):s}catch(t){l.assert(!1,"to non-existing schema",o,e,r,a)}return l.assert("link"!==n.type,"which is another link",o,e,r,a),e._flags.relative||r.mainstay.links.set(e,n),n._generate(t,r,a).schema},l.perspective=function(e,t){if("local"===e.type){for(const{schema:r,key:a}of t.schemas){if((r._flags.id||a)===e.path[0])return{perspective:r,path:e.path.slice(1)};if(r.$_terms.shared)for(const t of r.$_terms.shared)if(t._flags.id===e.path[0])return{perspective:t,path:e.path.slice(1)}}return{perspective:null,path:null}}return"root"===e.ancestor?{perspective:t.schemas[t.schemas.length-1].schema,path:e.path}:{perspective:t.schemas[e.ancestor]&&t.schemas[e.ancestor].schema,path:e.path}},l.assert=function(e,t,r,n,o,s){e||a(!1,`"${i.label(n._flags,o,s)}" contains link reference "${r.display}" ${t}`)}},3832:(e,t,r)=>{"use strict";const a=r(375),n=r(8068),o=r(8160),s={numberRx:/^\s*[+-]?(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:e([+-]?\d+))?\s*$/i,precisionRx:/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/,exponentialPartRegex:/[eE][+-]?\d+$/,leadingSignAndZerosRegex:/^[+-]?(0*)?/,dotRegex:/\./,trailingZerosRegex:/0+$/,decimalPlaces(e){const t=e.toString(),r=t.indexOf("."),a=t.indexOf("e");return(r<0?0:(a<0?t.length:a)-r-1)+(a<0?0:Math.max(0,-parseInt(t.slice(a+1))))}};e.exports=n.extend({type:"number",flags:{unsafe:{default:!1}},coerce:{from:"string",method(e,{schema:t,error:r}){if(!e.match(s.numberRx))return;e=e.trim();const a={value:parseFloat(e)};if(0===a.value&&(a.value=0),!t._flags.unsafe)if(e.match(/e/i)){if(s.extractSignificantDigits(e)!==s.extractSignificantDigits(String(a.value)))return a.errors=r("number.unsafe"),a}else{const t=a.value.toString();if(t.match(/e/i))return a;if(t!==s.normalizeDecimal(e))return a.errors=r("number.unsafe"),a}return a}},validate(e,{schema:t,error:r,prefs:a}){if(e===1/0||e===-1/0)return{value:e,errors:r("number.infinity")};if(!o.isNumber(e))return{value:e,errors:r("number.base")};const n={value:e};if(a.convert){const e=t.$_getRule("precision");if(e){const t=Math.pow(10,e.args.limit);n.value=Math.round(n.value*t)/t}}return 0===n.value&&(n.value=0),!t._flags.unsafe&&(e>Number.MAX_SAFE_INTEGER||eo.compare(e,r,n)?e:t.error("number."+a,{limit:s.limit,value:e}),args:[{name:"limit",ref:!0,assert:o.isNumber,message:"must be a number"}]},greater:{method(e){return this.$_addRule({name:"greater",method:"compare",args:{limit:e},operator:">"})}},integer:{method(){return this.$_addRule("integer")},validate:(e,t)=>Math.trunc(e)-e==0?e:t.error("number.integer")},less:{method(e){return this.$_addRule({name:"less",method:"compare",args:{limit:e},operator:"<"})}},max:{method(e){return this.$_addRule({name:"max",method:"compare",args:{limit:e},operator:"<="})}},min:{method(e){return this.$_addRule({name:"min",method:"compare",args:{limit:e},operator:">="})}},multiple:{method(e){const t="number"==typeof e?s.decimalPlaces(e):null,r=Math.pow(10,t);return this.$_addRule({name:"multiple",args:{base:e,baseDecimalPlace:t,pfactor:r}})},validate:(e,t,{base:r,baseDecimalPlace:a,pfactor:n},o)=>s.decimalPlaces(e)>a?t.error("number.multiple",{multiple:o.args.base,value:e}):Math.round(n*e)%Math.round(n*r)==0?e:t.error("number.multiple",{multiple:o.args.base,value:e}),args:[{name:"base",ref:!0,assert:e=>"number"==typeof e&&isFinite(e)&&e>0,message:"must be a positive number"},"baseDecimalPlace","pfactor"],multi:!0},negative:{method(){return this.sign("negative")}},port:{method(){return this.$_addRule("port")},validate:(e,t)=>Number.isSafeInteger(e)&&e>=0&&e<=65535?e:t.error("number.port")},positive:{method(){return this.sign("positive")}},precision:{method(e){return a(Number.isSafeInteger(e),"limit must be an integer"),this.$_addRule({name:"precision",args:{limit:e}})},validate(e,t,{limit:r}){const a=e.toString().match(s.precisionRx);return Math.max((a[1]?a[1].length:0)-(a[2]?parseInt(a[2],10):0),0)<=r?e:t.error("number.precision",{limit:r,value:e})},convert:!0},sign:{method(e){return a(["negative","positive"].includes(e),"Invalid sign",e),this.$_addRule({name:"sign",args:{sign:e}})},validate:(e,t,{sign:r})=>"negative"===r&&e<0||"positive"===r&&e>0?e:t.error(`number.${r}`)},unsafe:{method(e=!0){return a("boolean"==typeof e,"enabled must be a boolean"),this.$_setFlag("unsafe",e)}}},cast:{string:{from:e=>"number"==typeof e,to:(e,t)=>e.toString()}},messages:{"number.base":"{{#label}} must be a number","number.greater":"{{#label}} must be greater than {{#limit}}","number.infinity":"{{#label}} cannot be infinity","number.integer":"{{#label}} must be an integer","number.less":"{{#label}} must be less than {{#limit}}","number.max":"{{#label}} must be less than or equal to {{#limit}}","number.min":"{{#label}} must be greater than or equal to {{#limit}}","number.multiple":"{{#label}} must be a multiple of {{#multiple}}","number.negative":"{{#label}} must be a negative number","number.port":"{{#label}} must be a valid port","number.positive":"{{#label}} must be a positive number","number.precision":"{{#label}} must have no more than {{#limit}} decimal places","number.unsafe":"{{#label}} must be a safe number"}}),s.extractSignificantDigits=function(e){return e.replace(s.exponentialPartRegex,"").replace(s.dotRegex,"").replace(s.trailingZerosRegex,"").replace(s.leadingSignAndZerosRegex,"")},s.normalizeDecimal=function(e){return(e=e.replace(/^\+/,"").replace(/\.0*$/,"").replace(/^(-?)\.([^\.]*)$/,"$10.$2").replace(/^(-?)0+([0-9])/,"$1$2")).includes(".")&&e.endsWith("0")&&(e=e.replace(/0+$/,"")),"-0"===e?"0":e}},8966:(e,t,r)=>{"use strict";const a=r(7824);e.exports=a.extend({type:"object",cast:{map:{from:e=>e&&"object"==typeof e,to:(e,t)=>new Map(Object.entries(e))}}})},7417:(e,t,r)=>{"use strict";const a=r(375),n=r(5380),o=r(1745),s=r(9959),i=r(6064),l=r(9926),c=r(5752),u=r(8068),d=r(8160),p={tlds:l instanceof Set&&{tlds:{allow:l,deny:null}},base64Regex:{true:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}==|[\w\-]{3}=)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/},false:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}(==)?|[\w\-]{3}=?)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}(==)?|[A-Za-z0-9+\/]{3}=?)?$/}},dataUriRegex:/^data:[\w+.-]+\/[\w+.-]+;((charset=[\w-]+|base64),)?(.*)$/,hexRegex:{withPrefix:/^0x[0-9a-f]+$/i,withOptionalPrefix:/^(?:0x)?[0-9a-f]+$/i,withoutPrefix:/^[0-9a-f]+$/i},ipRegex:s.regex({cidr:"forbidden"}).regex,isoDurationRegex:/^P(?!$)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?$/,guidBrackets:{"{":"}","[":"]","(":")","":""},guidVersions:{uuidv1:"1",uuidv2:"2",uuidv3:"3",uuidv4:"4",uuidv5:"5",uuidv6:"6",uuidv7:"7",uuidv8:"8"},guidSeparators:new Set([void 0,!0,!1,"-",":"]),normalizationForms:["NFC","NFD","NFKC","NFKD"]};e.exports=u.extend({type:"string",flags:{insensitive:{default:!1},truncate:{default:!1}},terms:{replacements:{init:null}},coerce:{from:"string",method(e,{schema:t,state:r,prefs:a}){const n=t.$_getRule("normalize");n&&(e=e.normalize(n.args.form));const o=t.$_getRule("case");o&&(e="upper"===o.args.direction?e.toLocaleUpperCase():e.toLocaleLowerCase());const s=t.$_getRule("trim");if(s&&s.args.enabled&&(e=e.trim()),t.$_terms.replacements)for(const r of t.$_terms.replacements)e=e.replace(r.pattern,r.replacement);const i=t.$_getRule("hex");if(i&&i.args.options.byteAligned&&e.length%2!=0&&(e=`0${e}`),t.$_getRule("isoDate")){const t=p.isoDate(e);t&&(e=t)}if(t._flags.truncate){const n=t.$_getRule("max");if(n){let o=n.args.limit;if(d.isResolvable(o)&&(o=o.resolve(e,r,a),!d.limit(o)))return{value:e,errors:t.$_createError("any.ref",o,{ref:n.args.limit,arg:"limit",reason:"must be a positive integer"},r,a)};e=e.slice(0,o)}}return{value:e}}},validate(e,{schema:t,error:r}){if("string"!=typeof e)return{value:e,errors:r("string.base")};if(""===e){const a=t.$_getRule("min");if(a&&0===a.args.limit)return;return{value:e,errors:r("string.empty")}}},rules:{alphanum:{method(){return this.$_addRule("alphanum")},validate:(e,t)=>/^[a-zA-Z0-9]+$/.test(e)?e:t.error("string.alphanum")},base64:{method(e={}){return d.assertOptions(e,["paddingRequired","urlSafe"]),e={urlSafe:!1,paddingRequired:!0,...e},a("boolean"==typeof e.paddingRequired,"paddingRequired must be boolean"),a("boolean"==typeof e.urlSafe,"urlSafe must be boolean"),this.$_addRule({name:"base64",args:{options:e}})},validate:(e,t,{options:r})=>p.base64Regex[r.paddingRequired][r.urlSafe].test(e)?e:t.error("string.base64")},case:{method(e){return a(["lower","upper"].includes(e),"Invalid case:",e),this.$_addRule({name:"case",args:{direction:e}})},validate:(e,t,{direction:r})=>"lower"===r&&e===e.toLocaleLowerCase()||"upper"===r&&e===e.toLocaleUpperCase()?e:t.error(`string.${r}case`),convert:!0},creditCard:{method(){return this.$_addRule("creditCard")},validate(e,t){let r=e.length,a=0,n=1;for(;r--;){const t=e.charAt(r)*n;a+=t-9*(t>9),n^=3}return a>0&&a%10==0?e:t.error("string.creditCard")}},dataUri:{method(e={}){return d.assertOptions(e,["paddingRequired"]),e={paddingRequired:!0,...e},a("boolean"==typeof e.paddingRequired,"paddingRequired must be boolean"),this.$_addRule({name:"dataUri",args:{options:e}})},validate(e,t,{options:r}){const a=e.match(p.dataUriRegex);if(a){if(!a[2])return e;if("base64"!==a[2])return e;if(p.base64Regex[r.paddingRequired].false.test(a[3]))return e}return t.error("string.dataUri")}},domain:{method(e){e&&d.assertOptions(e,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);const t=p.addressOptions(e);return this.$_addRule({name:"domain",args:{options:e},address:t})},validate:(e,t,r,{address:a})=>n.isValid(e,a)?e:t.error("string.domain")},email:{method(e={}){d.assertOptions(e,["allowFullyQualified","allowUnicode","ignoreLength","maxDomainSegments","minDomainSegments","multiple","separator","tlds"]),a(void 0===e.multiple||"boolean"==typeof e.multiple,"multiple option must be an boolean");const t=p.addressOptions(e),r=new RegExp(`\\s*[${e.separator?i(e.separator):","}]\\s*`);return this.$_addRule({name:"email",args:{options:e},regex:r,address:t})},validate(e,t,{options:r},{regex:a,address:n}){const s=r.multiple?e.split(a):[e],i=[];for(const e of s)o.isValid(e,n)||i.push(e);return i.length?t.error("string.email",{value:e,invalids:i}):e}},guid:{alias:"uuid",method(e={}){d.assertOptions(e,["version","separator"]);let t="";if(e.version){const r=[].concat(e.version);a(r.length>=1,"version must have at least 1 valid version specified");const n=new Set;for(let e=0;e("optional"===r.prefix?p.hexRegex.withOptionalPrefix:!0===r.prefix?p.hexRegex.withPrefix:p.hexRegex.withoutPrefix).test(e)?r.byteAligned&&e.length%2!=0?t.error("string.hexAlign"):e:t.error("string.hex")},hostname:{method(){return this.$_addRule("hostname")},validate:(e,t)=>n.isValid(e,{minDomainSegments:1})||p.ipRegex.test(e)?e:t.error("string.hostname")},insensitive:{method(){return this.$_setFlag("insensitive",!0)}},ip:{method(e={}){d.assertOptions(e,["cidr","version"]);const{cidr:t,versions:r,regex:a}=s.regex(e),n=e.version?r:void 0;return this.$_addRule({name:"ip",args:{options:{cidr:t,version:n}},regex:a})},validate:(e,t,{options:r},{regex:a})=>a.test(e)?e:r.version?t.error("string.ipVersion",{value:e,cidr:r.cidr,version:r.version}):t.error("string.ip",{value:e,cidr:r.cidr})},isoDate:{method(){return this.$_addRule("isoDate")},validate:(e,{error:t})=>p.isoDate(e)?e:t("string.isoDate")},isoDuration:{method(){return this.$_addRule("isoDuration")},validate:(e,t)=>p.isoDurationRegex.test(e)?e:t.error("string.isoDuration")},length:{method(e,t){return p.length(this,"length",e,"=",t)},validate(e,t,{limit:r,encoding:a},{name:n,operator:o,args:s}){const i=!a&&e.length;return d.compare(i,r,o)?e:t.error("string."+n,{limit:s.limit,value:e,encoding:a})},args:[{name:"limit",ref:!0,assert:d.limit,message:"must be a positive integer"},"encoding"]},lowercase:{method(){return this.case("lower")}},max:{method(e,t){return p.length(this,"max",e,"<=",t)},args:["limit","encoding"]},min:{method(e,t){return p.length(this,"min",e,">=",t)},args:["limit","encoding"]},normalize:{method(e="NFC"){return a(p.normalizationForms.includes(e),"normalization form must be one of "+p.normalizationForms.join(", ")),this.$_addRule({name:"normalize",args:{form:e}})},validate:(e,{error:t},{form:r})=>e===e.normalize(r)?e:t("string.normalize",{value:e,form:r}),convert:!0},pattern:{alias:"regex",method(e,t={}){a(e instanceof RegExp,"regex must be a RegExp"),a(!e.flags.includes("g")&&!e.flags.includes("y"),"regex should not use global or sticky mode"),"string"==typeof t&&(t={name:t}),d.assertOptions(t,["invert","name"]);const r=["string.pattern",t.invert?".invert":"",t.name?".name":".base"].join("");return this.$_addRule({name:"pattern",args:{regex:e,options:t},errorCode:r})},validate:(e,t,{regex:r,options:a},{errorCode:n})=>r.test(e)^a.invert?e:t.error(n,{name:a.name,regex:r,value:e}),args:["regex","options"],multi:!0},replace:{method(e,t){"string"==typeof e&&(e=new RegExp(i(e),"g")),a(e instanceof RegExp,"pattern must be a RegExp"),a("string"==typeof t,"replacement must be a String");const r=this.clone();return r.$_terms.replacements||(r.$_terms.replacements=[]),r.$_terms.replacements.push({pattern:e,replacement:t}),r}},token:{method(){return this.$_addRule("token")},validate:(e,t)=>/^\w+$/.test(e)?e:t.error("string.token")},trim:{method(e=!0){return a("boolean"==typeof e,"enabled must be a boolean"),this.$_addRule({name:"trim",args:{enabled:e}})},validate:(e,t,{enabled:r})=>r&&e!==e.trim()?t.error("string.trim"):e,convert:!0},truncate:{method(e=!0){return a("boolean"==typeof e,"enabled must be a boolean"),this.$_setFlag("truncate",e)}},uppercase:{method(){return this.case("upper")}},uri:{method(e={}){d.assertOptions(e,["allowRelative","allowQuerySquareBrackets","domain","relativeOnly","scheme","encodeUri"]),e.domain&&d.assertOptions(e.domain,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);const{regex:t,scheme:r}=c.regex(e),a=e.domain?p.addressOptions(e.domain):null;return this.$_addRule({name:"uri",args:{options:e},regex:t,domain:a,scheme:r})},validate(e,t,{options:r},{regex:a,domain:o,scheme:s}){if(["http:/","https:/"].includes(e))return t.error("string.uri");let i=a.exec(e);if(!i&&t.prefs.convert&&r.encodeUri){const t=encodeURI(e);i=a.exec(t),i&&(e=t)}if(i){const a=i[1]||i[2];return!o||r.allowRelative&&!a||n.isValid(a,o)?e:t.error("string.domain",{value:a})}return r.relativeOnly?t.error("string.uriRelativeOnly"):r.scheme?t.error("string.uriCustomScheme",{scheme:s,value:e}):t.error("string.uri")}}},manifest:{build(e,t){if(t.replacements)for(const{pattern:r,replacement:a}of t.replacements)e=e.replace(r,a);return e}},messages:{"string.alphanum":"{{#label}} must only contain alpha-numeric characters","string.base":"{{#label}} must be a string","string.base64":"{{#label}} must be a valid base64 string","string.creditCard":"{{#label}} must be a credit card","string.dataUri":"{{#label}} must be a valid dataUri string","string.domain":"{{#label}} must contain a valid domain name","string.email":"{{#label}} must be a valid email","string.empty":"{{#label}} is not allowed to be empty","string.guid":"{{#label}} must be a valid GUID","string.hex":"{{#label}} must only contain hexadecimal characters","string.hexAlign":"{{#label}} hex decoded representation must be byte aligned","string.hostname":"{{#label}} must be a valid hostname","string.ip":"{{#label}} must be a valid ip address with a {{#cidr}} CIDR","string.ipVersion":"{{#label}} must be a valid ip address of one of the following versions {{#version}} with a {{#cidr}} CIDR","string.isoDate":"{{#label}} must be in iso format","string.isoDuration":"{{#label}} must be a valid ISO 8601 duration","string.length":"{{#label}} length must be {{#limit}} characters long","string.lowercase":"{{#label}} must only contain lowercase characters","string.max":"{{#label}} length must be less than or equal to {{#limit}} characters long","string.min":"{{#label}} length must be at least {{#limit}} characters long","string.normalize":"{{#label}} must be unicode normalized in the {{#form}} form","string.token":"{{#label}} must only contain alpha-numeric and underscore characters","string.pattern.base":"{{#label}} with value {:[.]} fails to match the required pattern: {{#regex}}","string.pattern.name":"{{#label}} with value {:[.]} fails to match the {{#name}} pattern","string.pattern.invert.base":"{{#label}} with value {:[.]} matches the inverted pattern: {{#regex}}","string.pattern.invert.name":"{{#label}} with value {:[.]} matches the inverted {{#name}} pattern","string.trim":"{{#label}} must not have leading or trailing whitespace","string.uri":"{{#label}} must be a valid uri","string.uriCustomScheme":"{{#label}} must be a valid uri with a scheme matching the {{#scheme}} pattern","string.uriRelativeOnly":"{{#label}} must be a valid relative uri","string.uppercase":"{{#label}} must only contain uppercase characters"}}),p.addressOptions=function(e){if(!e)return p.tlds||e;if(a(void 0===e.minDomainSegments||Number.isSafeInteger(e.minDomainSegments)&&e.minDomainSegments>0,"minDomainSegments must be a positive integer"),a(void 0===e.maxDomainSegments||Number.isSafeInteger(e.maxDomainSegments)&&e.maxDomainSegments>0,"maxDomainSegments must be a positive integer"),!1===e.tlds)return e;if(!0===e.tlds||void 0===e.tlds)return a(p.tlds,"Built-in TLD list disabled"),Object.assign({},e,p.tlds);a("object"==typeof e.tlds,"tlds must be true, false, or an object");const t=e.tlds.deny;if(t)return Array.isArray(t)&&(e=Object.assign({},e,{tlds:{deny:new Set(t)}})),a(e.tlds.deny instanceof Set,"tlds.deny must be an array, Set, or boolean"),a(!e.tlds.allow,"Cannot specify both tlds.allow and tlds.deny lists"),p.validateTlds(e.tlds.deny,"tlds.deny"),e;const r=e.tlds.allow;return r?!0===r?(a(p.tlds,"Built-in TLD list disabled"),Object.assign({},e,p.tlds)):(Array.isArray(r)&&(e=Object.assign({},e,{tlds:{allow:new Set(r)}})),a(e.tlds.allow instanceof Set,"tlds.allow must be an array, Set, or boolean"),p.validateTlds(e.tlds.allow,"tlds.allow"),e):e},p.validateTlds=function(e,t){for(const r of e)a(n.isValid(r,{minDomainSegments:1,maxDomainSegments:1}),`${t} must contain valid top level domain names`)},p.isoDate=function(e){if(!d.isIsoDate(e))return null;/.*T.*[+-]\d\d$/.test(e)&&(e+="00");const t=new Date(e);return isNaN(t.getTime())?null:t.toISOString()},p.length=function(e,t,r,n,o){return a(!o||!1,"Invalid encoding:",o),e.$_addRule({name:t,method:"length",args:{limit:r,encoding:o},operator:n})}},8826:(e,t,r)=>{"use strict";const a=r(375),n=r(8068),o={};o.Map=class extends Map{slice(){return new o.Map(this)}},e.exports=n.extend({type:"symbol",terms:{map:{init:new o.Map}},coerce:{method(e,{schema:t,error:r}){const a=t.$_terms.map.get(e);return a&&(e=a),t._flags.only&&"symbol"!=typeof e?{value:e,errors:r("symbol.map",{map:t.$_terms.map})}:{value:e}}},validate(e,{error:t}){if("symbol"!=typeof e)return{value:e,errors:t("symbol.base")}},rules:{map:{method(e){e&&!e[Symbol.iterator]&&"object"==typeof e&&(e=Object.entries(e)),a(e&&e[Symbol.iterator],"Iterable must be an iterable or object");const t=this.clone(),r=[];for(const n of e){a(n&&n[Symbol.iterator],"Entry must be an iterable");const[e,o]=n;a("object"!=typeof e&&"function"!=typeof e&&"symbol"!=typeof e,"Key must not be of type object, function, or Symbol"),a("symbol"==typeof o,"Value must be a Symbol"),t.$_terms.map.set(e,o),r.push(o)}return t.valid(...r)}}},manifest:{build:(e,t)=>(t.map&&(e=e.map(t.map)),e)},messages:{"symbol.base":"{{#label}} must be a symbol","symbol.map":"{{#label}} must be one of {{#map}}"}})},8863:(e,t,r)=>{"use strict";const a=r(375),n=r(8571),o=r(738),s=r(9621),i=r(8160),l=r(6354),c=r(493),u={result:Symbol("result")};t.entry=function(e,t,r){let n=i.defaults;r&&(a(void 0===r.warnings,"Cannot override warnings preference in synchronous validation"),a(void 0===r.artifacts,"Cannot override artifacts preference in synchronous validation"),n=i.preferences(i.defaults,r));const o=u.entry(e,t,n);a(!o.mainstay.externals.length,"Schema with external rules must use validateAsync()");const s={value:o.value};return o.error&&(s.error=o.error),o.mainstay.warnings.length&&(s.warning=l.details(o.mainstay.warnings)),o.mainstay.debug&&(s.debug=o.mainstay.debug),o.mainstay.artifacts&&(s.artifacts=o.mainstay.artifacts),s},t.entryAsync=async function(e,t,r){let a=i.defaults;r&&(a=i.preferences(i.defaults,r));const n=u.entry(e,t,a),o=n.mainstay;if(n.error)throw o.debug&&(n.error.debug=o.debug),n.error;if(o.externals.length){let t=n.value;const c=[];for(const n of o.externals){const d=n.state.path,p="link"===n.schema.type?o.links.get(n.schema):null;let g,m,f=t;const w=d.length?[t]:[],y=d.length?s(e,d):e;if(d.length){g=d[d.length-1];let e=t;for(const t of d.slice(0,-1))e=e[t],w.unshift(e);m=w[0],f=m[g]}try{const e=(e,t)=>(p||n.schema).$_createError(e,f,t,n.state,a),s=await n.method(f,{schema:n.schema,linked:p,state:n.state,prefs:r,original:y,error:e,errorsArray:u.errorsArray,warn:(e,t)=>o.warnings.push((p||n.schema).$_createError(e,f,t,n.state,a)),message:(e,t)=>(p||n.schema).$_createError("external",f,t,n.state,a,{messages:e})});if(void 0===s||s===f)continue;if(s instanceof l.Report){if(o.tracer.log(n.schema,n.state,"rule","external","error"),c.push(s),a.abortEarly)break;continue}if(Array.isArray(s)&&s[i.symbols.errors]){if(o.tracer.log(n.schema,n.state,"rule","external","error"),c.push(...s),a.abortEarly)break;continue}m?(o.tracer.value(n.state,"rule",f,s,"external"),m[g]=s):(o.tracer.value(n.state,"rule",t,s,"external"),t=s)}catch(e){throw a.errors.label&&(e.message+=` (${n.label})`),e}}if(n.value=t,c.length)throw n.error=l.process(c,e,a),o.debug&&(n.error.debug=o.debug),n.error}if(!a.warnings&&!a.debug&&!a.artifacts)return n.value;const c={value:n.value};return o.warnings.length&&(c.warning=l.details(o.warnings)),o.debug&&(c.debug=o.debug),o.artifacts&&(c.artifacts=o.artifacts),c},u.Mainstay=class{constructor(e,t,r){this.externals=[],this.warnings=[],this.tracer=e,this.debug=t,this.links=r,this.shadow=null,this.artifacts=null,this._snapshots=[]}snapshot(){this._snapshots.push({externals:this.externals.slice(),warnings:this.warnings.slice()})}restore(){const e=this._snapshots.pop();this.externals=e.externals,this.warnings=e.warnings}commit(){this._snapshots.pop()}},u.entry=function(e,r,a){const{tracer:n,cleanup:o}=u.tracer(r,a),s=a.debug?[]:null,i=r._ids._schemaChain?new Map:null,d=new u.Mainstay(n,s,i),p=r._ids._schemaChain?[{schema:r}]:null,g=new c([],[],{mainstay:d,schemas:p}),m=t.validate(e,r,g,a);o&&r.$_root.untrace();const f=l.process(m.errors,e,a);return{value:m.value,error:f,mainstay:d}},u.tracer=function(e,t){return e.$_root._tracer?{tracer:e.$_root._tracer._register(e)}:t.debug?(a(e.$_root.trace,"Debug mode not supported"),{tracer:e.$_root.trace()._register(e),cleanup:!0}):{tracer:u.ignore}},t.validate=function(e,t,r,a,n={}){if(t.$_terms.whens&&(t=t._generate(e,r,a).schema),t._preferences&&(a=u.prefs(t,a)),t._cache&&a.cache){const a=t._cache.get(e);if(r.mainstay.tracer.debug(r,"validate","cached",!!a),a)return a}const o=(n,o,s)=>t.$_createError(n,e,o,s||r,a),s={original:e,prefs:a,schema:t,state:r,error:o,errorsArray:u.errorsArray,warn:(e,t,a)=>r.mainstay.warnings.push(o(e,t,a)),message:(n,o)=>t.$_createError("custom",e,o,r,a,{messages:n})};r.mainstay.tracer.entry(t,r);const l=t._definition;if(l.prepare&&void 0!==e&&a.convert){const t=l.prepare(e,s);if(t){if(r.mainstay.tracer.value(r,"prepare",e,t.value),t.errors)return u.finalize(t.value,[].concat(t.errors),s);e=t.value}}if(l.coerce&&void 0!==e&&a.convert&&(!l.coerce.from||l.coerce.from.includes(typeof e))){const t=l.coerce.method(e,s);if(t){if(r.mainstay.tracer.value(r,"coerced",e,t.value),t.errors)return u.finalize(t.value,[].concat(t.errors),s);e=t.value}}const c=t._flags.empty;c&&c.$_match(u.trim(e,t),r.nest(c),i.defaults)&&(r.mainstay.tracer.value(r,"empty",e,void 0),e=void 0);const d=n.presence||t._flags.presence||(t._flags._endedSwitch?null:a.presence);if(void 0===e){if("forbidden"===d)return u.finalize(e,null,s);if("required"===d)return u.finalize(e,[t.$_createError("any.required",e,null,r,a)],s);if("optional"===d){if(t._flags.default!==i.symbols.deepDefault)return u.finalize(e,null,s);r.mainstay.tracer.value(r,"default",e,{}),e={}}}else if("forbidden"===d)return u.finalize(e,[t.$_createError("any.unknown",e,null,r,a)],s);const p=[];if(t._valids){const n=t._valids.get(e,r,a,t._flags.insensitive);if(n)return a.convert&&(r.mainstay.tracer.value(r,"valids",e,n.value),e=n.value),r.mainstay.tracer.filter(t,r,"valid",n),u.finalize(e,null,s);if(t._flags.only){const n=t.$_createError("any.only",e,{valids:t._valids.values({display:!0})},r,a);if(a.abortEarly)return u.finalize(e,[n],s);p.push(n)}}if(t._invalids){const n=t._invalids.get(e,r,a,t._flags.insensitive);if(n){r.mainstay.tracer.filter(t,r,"invalid",n);const o=t.$_createError("any.invalid",e,{invalids:t._invalids.values({display:!0})},r,a);if(a.abortEarly)return u.finalize(e,[o],s);p.push(o)}}if(l.validate){const t=l.validate(e,s);if(t&&(r.mainstay.tracer.value(r,"base",e,t.value),e=t.value,t.errors)){if(!Array.isArray(t.errors))return p.push(t.errors),u.finalize(e,p,s);if(t.errors.length)return p.push(...t.errors),u.finalize(e,p,s)}}return t._rules.length?u.rules(e,p,s):u.finalize(e,p,s)},u.rules=function(e,t,r){const{schema:a,state:n,prefs:o}=r;for(const s of a._rules){const l=a._definition.rules[s.method];if(l.convert&&o.convert){n.mainstay.tracer.log(a,n,"rule",s.name,"full");continue}let c,d=s.args;if(s._resolve.length){d=Object.assign({},d);for(const t of s._resolve){const r=l.argsByName.get(t),s=d[t].resolve(e,n,o),u=r.normalize?r.normalize(s):s,p=i.validateArg(u,null,r);if(p){c=a.$_createError("any.ref",s,{arg:t,ref:d[t],reason:p},n,o);break}d[t]=u}}c=c||l.validate(e,r,d,s);const p=u.rule(c,s);if(p.errors){if(n.mainstay.tracer.log(a,n,"rule",s.name,"error"),s.warn){n.mainstay.warnings.push(...p.errors);continue}if(o.abortEarly)return u.finalize(e,p.errors,r);t.push(...p.errors)}else n.mainstay.tracer.log(a,n,"rule",s.name,"pass"),n.mainstay.tracer.value(n,"rule",e,p.value,s.name),e=p.value}return u.finalize(e,t,r)},u.rule=function(e,t){return e instanceof l.Report?(u.error(e,t),{errors:[e],value:null}):Array.isArray(e)&&e[i.symbols.errors]?(e.forEach((e=>u.error(e,t))),{errors:e,value:null}):{errors:null,value:e}},u.error=function(e,t){return t.message&&e._setTemplate(t.message),e},u.finalize=function(e,t,r){t=t||[];const{schema:n,state:o,prefs:s}=r;if(t.length){const a=u.default("failover",void 0,t,r);void 0!==a&&(o.mainstay.tracer.value(o,"failover",e,a),e=a,t=[])}if(t.length&&n._flags.error)if("function"==typeof n._flags.error){t=n._flags.error(t),Array.isArray(t)||(t=[t]);for(const e of t)a(e instanceof Error||e instanceof l.Report,"error() must return an Error object")}else t=[n._flags.error];if(void 0===e){const a=u.default("default",e,t,r);o.mainstay.tracer.value(o,"default",e,a),e=a}if(n._flags.cast&&void 0!==e){const t=n._definition.cast[n._flags.cast];if(t.from(e)){const a=t.to(e,r);o.mainstay.tracer.value(o,"cast",e,a,n._flags.cast),e=a}}if(n.$_terms.externals&&s.externals&&!1!==s._externals)for(const{method:e}of n.$_terms.externals)o.mainstay.externals.push({method:e,schema:n,state:o,label:l.label(n._flags,o,s)});const i={value:e,errors:t.length?t:null};return n._flags.result&&(i.value="strip"===n._flags.result?void 0:r.original,o.mainstay.tracer.value(o,n._flags.result,e,i.value),o.shadow(e,n._flags.result)),n._cache&&!1!==s.cache&&!n._refs.length&&n._cache.set(r.original,i),void 0===e||i.errors||void 0===n._flags.artifact||(o.mainstay.artifacts=o.mainstay.artifacts||new Map,o.mainstay.artifacts.has(n._flags.artifact)||o.mainstay.artifacts.set(n._flags.artifact,[]),o.mainstay.artifacts.get(n._flags.artifact).push(o.path)),i},u.prefs=function(e,t){const r=t===i.defaults;return r&&e._preferences[i.symbols.prefs]?e._preferences[i.symbols.prefs]:(t=i.preferences(t,e._preferences),r&&(e._preferences[i.symbols.prefs]=t),t)},u.default=function(e,t,r,a){const{schema:o,state:s,prefs:l}=a,c=o._flags[e];if(l.noDefaults||void 0===c)return t;if(s.mainstay.tracer.log(o,s,"rule",e,"full"),!c)return c;if("function"==typeof c){const i=c.length?[n(s.ancestors[0]),a]:[];try{return c(...i)}catch(t){return void r.push(o.$_createError(`any.${e}`,null,{error:t},s,l))}}return"object"!=typeof c?c:c[i.symbols.literal]?c.literal:i.isResolvable(c)?c.resolve(t,s,l):n(c)},u.trim=function(e,t){if("string"!=typeof e)return e;const r=t.$_getRule("trim");return r&&r.args.enabled?e.trim():e},u.ignore={active:!1,debug:o,entry:o,filter:o,log:o,resolve:o,value:o},u.errorsArray=function(){const e=[];return e[i.symbols.errors]=!0,e}},2036:(e,t,r)=>{"use strict";const a=r(375),n=r(9474),o=r(8160),s={};e.exports=s.Values=class{constructor(e,t){this._values=new Set(e),this._refs=new Set(t),this._lowercase=s.lowercases(e),this._override=!1}get length(){return this._values.size+this._refs.size}add(e,t){o.isResolvable(e)?this._refs.has(e)||(this._refs.add(e),t&&t.register(e)):this.has(e,null,null,!1)||(this._values.add(e),"string"==typeof e&&this._lowercase.set(e.toLowerCase(),e))}static merge(e,t,r){if(e=e||new s.Values,t){if(t._override)return t.clone();for(const r of[...t._values,...t._refs])e.add(r)}if(r)for(const t of[...r._values,...r._refs])e.remove(t);return e.length?e:null}remove(e){o.isResolvable(e)?this._refs.delete(e):(this._values.delete(e),"string"==typeof e&&this._lowercase.delete(e.toLowerCase()))}has(e,t,r,a){return!!this.get(e,t,r,a)}get(e,t,r,a){if(!this.length)return!1;if(this._values.has(e))return{value:e};if("string"==typeof e&&e&&a){const t=this._lowercase.get(e.toLowerCase());if(t)return{value:t}}if(!this._refs.size&&"object"!=typeof e)return!1;if("object"==typeof e)for(const t of this._values)if(n(t,e))return{value:t};if(t)for(const o of this._refs){const s=o.resolve(e,t,r,null,{in:!0});if(void 0===s)continue;const i=o.in&&"object"==typeof s?Array.isArray(s)?s:Object.keys(s):[s];for(const t of i)if(typeof t==typeof e)if(a&&e&&"string"==typeof e){if(t.toLowerCase()===e.toLowerCase())return{value:t,ref:o}}else if(n(t,e))return{value:t,ref:o}}return!1}override(){this._override=!0}values(e){if(e&&e.display){const e=[];for(const t of[...this._values,...this._refs])void 0!==t&&e.push(t);return e}return Array.from([...this._values,...this._refs])}clone(){const e=new s.Values(this._values,this._refs);return e._override=this._override,e}concat(e){a(!e._override,"Cannot concat override set of values");const t=new s.Values([...this._values,...e._values],[...this._refs,...e._refs]);return t._override=this._override,t}describe(){const e=[];this._override&&e.push({override:!0});for(const t of this._values.values())e.push(t&&"object"==typeof t?{value:t}:t);for(const t of this._refs.values())e.push(t.describe());return e}},s.Values.prototype[o.symbols.values]=!0,s.Values.prototype.slice=s.Values.prototype.clone,s.lowercases=function(e){const t=new Map;if(e)for(const r of e)"string"==typeof r&&t.set(r.toLowerCase(),r);return t}},978:(e,t,r)=>{"use strict";const a=r(375),n=r(8571),o=r(1687),s=r(9621),i={};e.exports=function(e,t,r={}){if(a(e&&"object"==typeof e,"Invalid defaults value: must be an object"),a(!t||!0===t||"object"==typeof t,"Invalid source value: must be true, falsy or an object"),a("object"==typeof r,"Invalid options: must be an object"),!t)return null;if(r.shallow)return i.applyToDefaultsWithShallow(e,t,r);const s=n(e);if(!0===t)return s;const l=void 0!==r.nullOverride&&r.nullOverride;return o(s,t,{nullOverride:l,mergeArrays:!1})},i.applyToDefaultsWithShallow=function(e,t,r){const l=r.shallow;a(Array.isArray(l),"Invalid keys");const c=new Map,u=!0===t?null:new Set;for(let r of l){r=Array.isArray(r)?r:r.split(".");const a=s(e,r);a&&"object"==typeof a?c.set(a,u&&s(t,r)||a):u&&u.add(r)}const d=n(e,{},c);if(!u)return d;for(const e of u)i.reachCopy(d,t,e);const p=void 0!==r.nullOverride&&r.nullOverride;return o(d,t,{nullOverride:p,mergeArrays:!1})},i.reachCopy=function(e,t,r){for(const e of r){if(!(e in t))return;const r=t[e];if("object"!=typeof r||null===r)return;t=r}const a=t;let n=e;for(let e=0;e{"use strict";const a=r(7916);e.exports=function(e,...t){if(!e){if(1===t.length&&t[0]instanceof Error)throw t[0];throw new a(t)}}},8571:(e,t,r)=>{"use strict";const a=r(9621),n=r(4277),o=r(7043),s={needsProtoHack:new Set([n.set,n.map,n.weakSet,n.weakMap])};e.exports=s.clone=function(e,t={},r=null){if("object"!=typeof e||null===e)return e;let a=s.clone,i=r;if(t.shallow){if(!0!==t.shallow)return s.cloneWithShallow(e,t);a=e=>e}else if(i){const t=i.get(e);if(t)return t}else i=new Map;const l=n.getInternalProto(e);if(l===n.buffer)return!1;if(l===n.date)return new Date(e.getTime());if(l===n.regex)return new RegExp(e);const c=s.base(e,l,t);if(c===e)return e;if(i&&i.set(e,c),l===n.set)for(const r of e)c.add(a(r,t,i));else if(l===n.map)for(const[r,n]of e)c.set(r,a(n,t,i));const u=o.keys(e,t);for(const r of u){if("__proto__"===r)continue;if(l===n.array&&"length"===r){c.length=e.length;continue}const o=Object.getOwnPropertyDescriptor(e,r);o?o.get||o.set?Object.defineProperty(c,r,o):o.enumerable?c[r]=a(e[r],t,i):Object.defineProperty(c,r,{enumerable:!1,writable:!0,configurable:!0,value:a(e[r],t,i)}):Object.defineProperty(c,r,{enumerable:!0,writable:!0,configurable:!0,value:a(e[r],t,i)})}return c},s.cloneWithShallow=function(e,t){const r=t.shallow;(t=Object.assign({},t)).shallow=!1;const n=new Map;for(const t of r){const r=a(e,t);"object"!=typeof r&&"function"!=typeof r||n.set(r,r)}return s.clone(e,t,n)},s.base=function(e,t,r){if(!1===r.prototype)return s.needsProtoHack.has(t)?new t.constructor:t===n.array?[]:{};const a=Object.getPrototypeOf(e);if(a&&a.isImmutable)return e;if(t===n.array){const e=[];return a!==t&&Object.setPrototypeOf(e,a),e}if(s.needsProtoHack.has(t)){const e=new a.constructor;return a!==t&&Object.setPrototypeOf(e,a),e}return Object.create(a)}},9474:(e,t,r)=>{"use strict";const a=r(4277),n={mismatched:null};e.exports=function(e,t,r){return r=Object.assign({prototype:!0},r),!!n.isDeepEqual(e,t,r,[])},n.isDeepEqual=function(e,t,r,o){if(e===t)return 0!==e||1/e==1/t;const s=typeof e;if(s!==typeof t)return!1;if(null===e||null===t)return!1;if("function"===s){if(!r.deepFunction||e.toString()!==t.toString())return!1}else if("object"!==s)return e!=e&&t!=t;const i=n.getSharedType(e,t,!!r.prototype);switch(i){case a.buffer:return!1;case a.promise:return e===t;case a.regex:return e.toString()===t.toString();case n.mismatched:return!1}for(let r=o.length-1;r>=0;--r)if(o[r].isSame(e,t))return!0;o.push(new n.SeenEntry(e,t));try{return!!n.isDeepEqualObj(i,e,t,r,o)}finally{o.pop()}},n.getSharedType=function(e,t,r){if(r)return Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?n.mismatched:a.getInternalProto(e);const o=a.getInternalProto(e);return o!==a.getInternalProto(t)?n.mismatched:o},n.valueOf=function(e){const t=e.valueOf;if(void 0===t)return e;try{return t.call(e)}catch(e){return e}},n.hasOwnEnumerableProperty=function(e,t){return Object.prototype.propertyIsEnumerable.call(e,t)},n.isSetSimpleEqual=function(e,t){for(const r of Set.prototype.values.call(e))if(!Set.prototype.has.call(t,r))return!1;return!0},n.isDeepEqualObj=function(e,t,r,o,s){const{isDeepEqual:i,valueOf:l,hasOwnEnumerableProperty:c}=n,{keys:u,getOwnPropertySymbols:d}=Object;if(e===a.array){if(!o.part){if(t.length!==r.length)return!1;for(let e=0;e{"use strict";const a=r(8761);e.exports=class extends Error{constructor(e){super(e.filter((e=>""!==e)).map((e=>"string"==typeof e?e:e instanceof Error?e.message:a(e))).join(" ")||"Unknown error"),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t.assert)}}},5277:e=>{"use strict";const t={};e.exports=function(e){if(!e)return"";let r="";for(let a=0;a=256?"&#"+e+";":`&#x${e.toString(16).padStart(2,"0")};`)},t.isSafe=function(e){return t.safeCharCodes.has(e)},t.namedHtml=new Map([[38,"&"],[60,"<"],[62,">"],[34,"""],[160," "],[162,"¢"],[163,"£"],[164,"¤"],[169,"©"],[174,"®"]]),t.safeCharCodes=function(){const e=new Set;for(let t=32;t<123;++t)(t>=97||t>=65&&t<=90||t>=48&&t<=57||32===t||46===t||44===t||45===t||58===t||95===t)&&e.add(t);return e}()},6064:e=>{"use strict";e.exports=function(e){return e.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")}},738:e=>{"use strict";e.exports=function(){}},1687:(e,t,r)=>{"use strict";const a=r(375),n=r(8571),o=r(7043),s={};e.exports=s.merge=function(e,t,r){if(a(e&&"object"==typeof e,"Invalid target value: must be an object"),a(null==t||"object"==typeof t,"Invalid source value: must be null, undefined, or an object"),!t)return e;if(r=Object.assign({nullOverride:!0,mergeArrays:!0},r),Array.isArray(t)){a(Array.isArray(e),"Cannot merge array onto an object"),r.mergeArrays||(e.length=0);for(let a=0;a{"use strict";const a=r(375),n={};e.exports=function(e,t,r){if(!1===t||null==t)return e;"string"==typeof(r=r||{})&&(r={separator:r});const o=Array.isArray(t);a(!o||!r.separator,"Separator option is not valid for array-based chain");const s=o?t:t.split(r.separator||".");let i=e;for(let e=0;e{"use strict";e.exports=function(...e){try{return JSON.stringify(...e)}catch(e){return"[Cannot display object: "+e.message+"]"}}},4277:(e,t)=>{"use strict";const r={};t=e.exports={array:Array.prototype,buffer:!1,date:Date.prototype,error:Error.prototype,generic:Object.prototype,map:Map.prototype,promise:Promise.prototype,regex:RegExp.prototype,set:Set.prototype,weakMap:WeakMap.prototype,weakSet:WeakSet.prototype},r.typeMap=new Map([["[object Error]",t.error],["[object Map]",t.map],["[object Promise]",t.promise],["[object Set]",t.set],["[object WeakMap]",t.weakMap],["[object WeakSet]",t.weakSet]]),t.getInternalProto=function(e){if(Array.isArray(e))return t.array;if(e instanceof Date)return t.date;if(e instanceof RegExp)return t.regex;if(e instanceof Error)return t.error;const a=Object.prototype.toString.call(e);return r.typeMap.get(a)||t.generic}},7043:(e,t)=>{"use strict";t.keys=function(e,t={}){return!1!==t.symbols?Reflect.ownKeys(e):Object.getOwnPropertyNames(e)}},3652:(e,t,r)=>{"use strict";const a=r(375),n={};t.Sorter=class{constructor(){this._items=[],this.nodes=[]}add(e,t){const r=[].concat((t=t||{}).before||[]),n=[].concat(t.after||[]),o=t.group||"?",s=t.sort||0;a(!r.includes(o),`Item cannot come before itself: ${o}`),a(!r.includes("?"),"Item cannot come before unassociated items"),a(!n.includes(o),`Item cannot come after itself: ${o}`),a(!n.includes("?"),"Item cannot come after unassociated items"),Array.isArray(e)||(e=[e]);for(const t of e){const e={seq:this._items.length,sort:s,before:r,after:n,group:o,node:t};this._items.push(e)}if(!t.manual){const e=this._sort();a(e,"item","?"!==o?`added into group ${o}`:"","created a dependencies error")}return this.nodes}merge(e){Array.isArray(e)||(e=[e]);for(const t of e)if(t)for(const e of t._items)this._items.push(Object.assign({},e));this._items.sort(n.mergeSort);for(let e=0;ee.sort===t.sort?0:e.sort{"use strict";const a=r(443),n=r(2178),o={minDomainSegments:2,nonAsciiRx:/[^\x00-\x7f]/,domainControlRx:/[\x00-\x20@\:\/\\#!\$&\'\(\)\*\+,;=\?]/,tldSegmentRx:/^[a-zA-Z](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,domainSegmentRx:/^[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,URL:a.URL||URL};t.analyze=function(e,t={}){if(!e)return n.code("DOMAIN_NON_EMPTY_STRING");if("string"!=typeof e)throw new Error("Invalid input: domain must be a string");if(e.length>256)return n.code("DOMAIN_TOO_LONG");if(o.nonAsciiRx.test(e)){if(!1===t.allowUnicode)return n.code("DOMAIN_INVALID_UNICODE_CHARS");e=e.normalize("NFC")}if(o.domainControlRx.test(e))return n.code("DOMAIN_INVALID_CHARS");e=o.punycode(e),t.allowFullyQualified&&"."===e[e.length-1]&&(e=e.slice(0,-1));const r=t.minDomainSegments||o.minDomainSegments,a=e.split(".");if(a.lengtht.maxDomainSegments)return n.code("DOMAIN_SEGMENTS_COUNT_MAX");const s=t.tlds;if(s){const e=a[a.length-1].toLowerCase();if(s.deny&&s.deny.has(e)||s.allow&&!s.allow.has(e))return n.code("DOMAIN_FORBIDDEN_TLDS")}for(let e=0;e63)return n.code("DOMAIN_LONG_SEGMENT");if(e{"use strict";const a=r(9848),n=r(5380),o=r(2178),s={nonAsciiRx:/[^\x00-\x7f]/,encoder:new(a.TextEncoder||TextEncoder)};t.analyze=function(e,t){return s.email(e,t)},t.isValid=function(e,t){return!s.email(e,t)},s.email=function(e,t={}){if("string"!=typeof e)throw new Error("Invalid input: email must be a string");if(!e)return o.code("EMPTY_STRING");const r=!s.nonAsciiRx.test(e);if(!r){if(!1===t.allowUnicode)return o.code("FORBIDDEN_UNICODE");e=e.normalize("NFC")}const a=e.split("@");if(2!==a.length)return a.length>2?o.code("MULTIPLE_AT_CHAR"):o.code("MISSING_AT_CHAR");const[i,l]=a;if(!i)return o.code("EMPTY_LOCAL");if(!t.ignoreLength){if(e.length>254)return o.code("ADDRESS_TOO_LONG");if(s.encoder.encode(i).length>64)return o.code("LOCAL_TOO_LONG")}return s.local(i,r)||n.analyze(l,t)},s.local=function(e,t){const r=e.split(".");for(const e of r){if(!e.length)return o.code("EMPTY_LOCAL_SEGMENT");if(t){if(!s.atextRx.test(e))return o.code("INVALID_LOCAL_CHARS")}else for(const t of e){if(s.atextRx.test(t))continue;const e=s.binary(t);if(!s.atomRx.test(e))return o.code("INVALID_LOCAL_CHARS")}}},s.binary=function(e){return Array.from(s.encoder.encode(e)).map((e=>String.fromCharCode(e))).join("")},s.atextRx=/^[\w!#\$%&'\*\+\-/=\?\^`\{\|\}~]+$/,s.atomRx=new RegExp(["(?:[\\xc2-\\xdf][\\x80-\\xbf])","(?:\\xe0[\\xa0-\\xbf][\\x80-\\xbf])|(?:[\\xe1-\\xec][\\x80-\\xbf]{2})|(?:\\xed[\\x80-\\x9f][\\x80-\\xbf])|(?:[\\xee-\\xef][\\x80-\\xbf]{2})","(?:\\xf0[\\x90-\\xbf][\\x80-\\xbf]{2})|(?:[\\xf1-\\xf3][\\x80-\\xbf]{3})|(?:\\xf4[\\x80-\\x8f][\\x80-\\xbf]{2})"].join("|"))},2178:(e,t)=>{"use strict";t.codes={EMPTY_STRING:"Address must be a non-empty string",FORBIDDEN_UNICODE:"Address contains forbidden Unicode characters",MULTIPLE_AT_CHAR:"Address cannot contain more than one @ character",MISSING_AT_CHAR:"Address must contain one @ character",EMPTY_LOCAL:"Address local part cannot be empty",ADDRESS_TOO_LONG:"Address too long",LOCAL_TOO_LONG:"Address local part too long",EMPTY_LOCAL_SEGMENT:"Address local part contains empty dot-separated segment",INVALID_LOCAL_CHARS:"Address local part contains invalid character",DOMAIN_NON_EMPTY_STRING:"Domain must be a non-empty string",DOMAIN_TOO_LONG:"Domain too long",DOMAIN_INVALID_UNICODE_CHARS:"Domain contains forbidden Unicode characters",DOMAIN_INVALID_CHARS:"Domain contains invalid character",DOMAIN_INVALID_TLDS_CHARS:"Domain contains invalid tld character",DOMAIN_SEGMENTS_COUNT:"Domain lacks the minimum required number of segments",DOMAIN_SEGMENTS_COUNT_MAX:"Domain contains too many segments",DOMAIN_FORBIDDEN_TLDS:"Domain uses forbidden TLD",DOMAIN_EMPTY_SEGMENT:"Domain contains empty dot-separated segment",DOMAIN_LONG_SEGMENT:"Domain contains dot-separated segment that is too long"},t.code=function(e){return{code:e,error:t.codes[e]}}},9959:(e,t,r)=>{"use strict";const a=r(375),n=r(5752);t.regex=function(e={}){a(void 0===e.cidr||"string"==typeof e.cidr,"options.cidr must be a string");const t=e.cidr?e.cidr.toLowerCase():"optional";a(["required","optional","forbidden"].includes(t),"options.cidr must be one of required, optional, forbidden"),a(void 0===e.version||"string"==typeof e.version||Array.isArray(e.version),"options.version must be a string or an array of string");let r=e.version||["ipv4","ipv6","ipvfuture"];Array.isArray(r)||(r=[r]),a(r.length>=1,"options.version must have at least 1 version specified");for(let e=0;e{if("forbidden"===t)return n.ip[e];const r=`\\/${"ipv4"===e?n.ip.v4Cidr:n.ip.v6Cidr}`;return"required"===t?`${n.ip[e]}${r}`:`${n.ip[e]}(?:${r})?`})).join("|")})`,s=new RegExp(`^${o}$`);return{cidr:t,versions:r,regex:s,raw:o}}},5752:(e,t,r)=>{"use strict";const a=r(375),n=r(6064),o={generate:function(){const e={},t="\\dA-Fa-f",r="["+t+"]",a="\\w-\\.~",n="!\\$&'\\(\\)\\*\\+,;=",o="%"+t,s=a+o+n+":@",i="["+s+"]",l="(?:0{0,2}\\d|0?[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])";e.ipv4address="(?:"+l+"\\.){3}"+l;const c=r+"{1,4}",u="(?:"+c+":"+c+"|"+e.ipv4address+")",d="(?:"+c+":){6}"+u,p="::(?:"+c+":){5}"+u,g="(?:"+c+")?::(?:"+c+":){4}"+u,m="(?:(?:"+c+":){0,1}"+c+")?::(?:"+c+":){3}"+u,f="(?:(?:"+c+":){0,2}"+c+")?::(?:"+c+":){2}"+u,w="(?:(?:"+c+":){0,3}"+c+")?::"+c+":"+u,y="(?:(?:"+c+":){0,4}"+c+")?::"+u,b="(?:(?:"+c+":){0,5}"+c+")?::"+c,h="(?:(?:"+c+":){0,6}"+c+")?::";e.ipv4Cidr="(?:\\d|[1-2]\\d|3[0-2])",e.ipv6Cidr="(?:0{0,2}\\d|0?[1-9]\\d|1[01]\\d|12[0-8])",e.ipv6address="(?:"+d+"|"+p+"|"+g+"|"+m+"|"+f+"|"+w+"|"+y+"|"+b+"|"+h+")",e.ipvFuture="v"+r+"+\\.["+a+n+":]+",e.scheme="[a-zA-Z][a-zA-Z\\d+-\\.]*",e.schemeRegex=new RegExp(e.scheme);const _="["+a+o+n+":]*",v="["+a+o+n+"]{1,255}",R="(?:\\[(?:"+e.ipv6address+"|"+e.ipvFuture+")\\]|"+e.ipv4address+"|"+v+")",k="(?:"+_+"@)?"+R+"(?::\\d*)?",P="(?:"+_+"@)?("+R+")(?::\\d*)?",j=i+"*",C=i+"+",q="(?:\\/"+j+")*",S="\\/(?:"+C+q+")?",A=C+q,E="["+a+o+n+"@]+"+q,U="(?:\\/\\/\\/"+j+q+")";return e.hierPart="(?:(?:\\/\\/"+k+q+")|"+S+"|"+A+"|"+U+")",e.hierPartCapture="(?:(?:\\/\\/"+P+q+")|"+S+"|"+A+")",e.relativeRef="(?:(?:\\/\\/"+k+q+")|"+S+"|"+E+"|)",e.relativeRefCapture="(?:(?:\\/\\/"+P+q+")|"+S+"|"+E+"|)",e.query="["+s+"\\/\\?]*(?=#|$)",e.queryWithSquareBrackets="["+s+"\\[\\]\\/\\?]*(?=#|$)",e.fragment="["+s+"\\/\\?]*",e}};o.rfc3986=o.generate(),t.ip={v4Cidr:o.rfc3986.ipv4Cidr,v6Cidr:o.rfc3986.ipv6Cidr,ipv4:o.rfc3986.ipv4address,ipv6:o.rfc3986.ipv6address,ipvfuture:o.rfc3986.ipvFuture},o.createRegex=function(e){const t=o.rfc3986,r="(?:\\?"+(e.allowQuerySquareBrackets?t.queryWithSquareBrackets:t.query)+")?(?:#"+t.fragment+")?",s=e.domain?t.relativeRefCapture:t.relativeRef;if(e.relativeOnly)return o.wrap(s+r);let i="";if(e.scheme){a(e.scheme instanceof RegExp||"string"==typeof e.scheme||Array.isArray(e.scheme),"scheme must be a RegExp, String, or Array");const r=[].concat(e.scheme);a(r.length>=1,"scheme must have at least 1 scheme specified");const o=[];for(let e=0;e{"use strict";const r={operators:["!","^","*","/","%","+","-","<","<=",">",">=","==","!=","&&","||","??"],operatorCharacters:["!","^","*","/","%","+","-","<","=",">","&","|","?"],operatorsOrder:[["^"],["*","/","%"],["+","-"],["<","<=",">",">="],["==","!="],["&&"],["||","??"]],operatorsPrefix:["!","n"],literals:{'"':'"',"`":"`","'":"'","[":"]"},numberRx:/^(?:[0-9]*(\.[0-9]*)?){1}$/,tokenRx:/^[\w\$\#\.\@\:\{\}]+$/,symbol:Symbol("formula"),settings:Symbol("settings")};t.Parser=class{constructor(e,t={}){if(!t[r.settings]&&t.constants)for(const e in t.constants){const r=t.constants[e];if(null!==r&&!["boolean","number","string"].includes(typeof r))throw new Error(`Formula constant ${e} contains invalid ${typeof r} value type`)}this.settings=t[r.settings]?t:Object.assign({[r.settings]:!0,constants:{},functions:{}},t),this.single=null,this._parts=null,this._parse(e)}_parse(e){let a=[],n="",o=0,s=!1;const i=e=>{if(o)throw new Error("Formula missing closing parenthesis");const i=a.length?a[a.length-1]:null;if(s||n||e){if(i&&"reference"===i.type&&")"===e)return i.type="function",i.value=this._subFormula(n,i.value),void(n="");if(")"===e){const e=new t.Parser(n,this.settings);a.push({type:"segment",value:e})}else if(s){if("]"===s)return a.push({type:"reference",value:n}),void(n="");a.push({type:"literal",value:n})}else if(r.operatorCharacters.includes(n))i&&"operator"===i.type&&r.operators.includes(i.value+n)?i.value+=n:a.push({type:"operator",value:n});else if(n.match(r.numberRx))a.push({type:"constant",value:parseFloat(n)});else if(void 0!==this.settings.constants[n])a.push({type:"constant",value:this.settings.constants[n]});else{if(!n.match(r.tokenRx))throw new Error(`Formula contains invalid token: ${n}`);a.push({type:"reference",value:n})}n=""}};for(const t of e)s?t===s?(i(),s=!1):n+=t:o?"("===t?(n+=t,++o):")"===t?(--o,o?n+=t:i(t)):n+=t:t in r.literals?s=r.literals[t]:"("===t?(i(),++o):r.operatorCharacters.includes(t)?(i(),n=t,i()):" "!==t?n+=t:i();i(),a=a.map(((e,t)=>"operator"!==e.type||"-"!==e.value||t&&"operator"!==a[t-1].type?e:{type:"operator",value:"n"}));let l=!1;for(const e of a){if("operator"===e.type){if(r.operatorsPrefix.includes(e.value))continue;if(!l)throw new Error("Formula contains an operator in invalid position");if(!r.operators.includes(e.value))throw new Error(`Formula contains an unknown operator ${e.value}`)}else if(l)throw new Error("Formula missing expected operator");l=!l}if(!l)throw new Error("Formula contains invalid trailing operator");1===a.length&&["reference","literal","constant"].includes(a[0].type)&&(this.single={type:"reference"===a[0].type?"reference":"value",value:a[0].value}),this._parts=a.map((e=>{if("operator"===e.type)return r.operatorsPrefix.includes(e.value)?e:e.value;if("reference"!==e.type)return e.value;if(this.settings.tokenRx&&!this.settings.tokenRx.test(e.value))throw new Error(`Formula contains invalid reference ${e.value}`);return this.settings.reference?this.settings.reference(e.value):r.reference(e.value)}))}_subFormula(e,a){const n=this.settings.functions[a];if("function"!=typeof n)throw new Error(`Formula contains unknown function ${a}`);let o=[];if(e){let t="",n=0,s=!1;const i=()=>{if(!t)throw new Error(`Formula contains function ${a} with invalid arguments ${e}`);o.push(t),t=""};for(let a=0;anew t.Parser(e,this.settings))),function(e){const t=[];for(const r of o)t.push(r.evaluate(e));return n.call(e,...t)}}evaluate(e){const t=this._parts.slice();for(let a=t.length-2;a>=0;--a){const n=t[a];if(n&&"operator"===n.type){const o=t[a+1];t.splice(a+1,1);const s=r.evaluate(o,e);t[a]=r.single(n.value,s)}}return r.operatorsOrder.forEach((a=>{for(let n=1;n":return t>a;case">=":return t>=a;case"==":return t===a;case"!=":return t!==a;case"&&":return t&&a;case"||":return t||a}return null},r.exists=function(e){return null!=e}},9926:()=>{},5688:()=>{},9708:()=>{},1152:()=>{},443:()=>{},9848:()=>{},5934:e=>{"use strict";e.exports=JSON.parse('{"version":"17.13.3"}')}},t={},function r(a){var n=t[a];if(void 0!==n)return n.exports;var o=t[a]={exports:{}};return e[a](o,o.exports,r),o.exports}(5107);var e,t},e.exports=t()},3065:function(e,t,r){var a,n;!function(o,s){"use strict";a=function(){var e=function(){},t="undefined",r=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),a=["trace","debug","info","warn","error"],n={},o=null;function s(e,t){var r=e[t];if("function"==typeof r.bind)return r.bind(e);try{return Function.prototype.bind.call(r,e)}catch(t){return function(){return Function.prototype.apply.apply(r,[e,arguments])}}}function i(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(){for(var r=this.getLevel(),n=0;n=0&&t<=d.levels.SILENT)return t;throw new TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?p+=":"+e:"symbol"==typeof e&&(p=void 0),d.name=e,d.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},d.methodFactory=r||u,d.getLevel=function(){return null!=c?c:null!=i?i:s},d.setLevel=function(e,r){return c=m(e),!1!==r&&function(e){var r=(a[e]||"silent").toUpperCase();if(typeof window!==t&&p){try{return void(window.localStorage[p]=r)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"="+r+";"}catch(e){}}}(c),l.call(d)},d.setDefaultLevel=function(e){i=m(e),g()||d.setLevel(e,!1)},d.resetLevel=function(){c=null,function(){if(typeof window!==t&&p){try{window.localStorage.removeItem(p)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}(),l.call(d)},d.enableAll=function(e){d.setLevel(d.levels.TRACE,e)},d.disableAll=function(e){d.setLevel(d.levels.SILENT,e)},d.rebuild=function(){if(o!==d&&(s=m(o.getLevel())),l.call(d),o===d)for(var e in n)n[e].rebuild()},s=m(o?o.getLevel():"WARN");var f=g();null!=f&&(c=m(f)),l.call(d)}(o=new d).getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=n[e];return t||(t=n[e]=new d(e,o.methodFactory)),t};var p=typeof window!==t?window.log:void 0;return o.noConflict=function(){return typeof window!==t&&window.log===o&&(window.log=p),o},o.getLoggers=function(){return n},o.default=o,o},void 0===(n=a.call(t,r,t,e))||(e.exports=n)}()},6663:(e,t,r)=>{"use strict";const a=r(4280),n=r(454),o=r(528),s=r(3055),i=Symbol("encodeFragmentIdentifier");function l(e){if("string"!=typeof e||1!==e.length)throw new TypeError("arrayFormatSeparator must be single character string")}function c(e,t){return t.encode?t.strict?a(e):encodeURIComponent(e):e}function u(e,t){return t.decode?n(e):e}function d(e){return Array.isArray(e)?e.sort():"object"==typeof e?d(Object.keys(e)).sort(((e,t)=>Number(e)-Number(t))).map((t=>e[t])):e}function p(e){const t=e.indexOf("#");return-1!==t&&(e=e.slice(0,t)),e}function g(e){const t=(e=p(e)).indexOf("?");return-1===t?"":e.slice(t+1)}function m(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?e=Number(e):!t.parseBooleans||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(e="true"===e.toLowerCase()),e}function f(e,t){l((t=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},t)).arrayFormatSeparator);const r=function(e){let t;switch(e.arrayFormat){case"index":return(e,r,a)=>{t=/\[(\d*)\]$/.exec(e),e=e.replace(/\[\d*\]$/,""),t?(void 0===a[e]&&(a[e]={}),a[e][t[1]]=r):a[e]=r};case"bracket":return(e,r,a)=>{t=/(\[\])$/.exec(e),e=e.replace(/\[\]$/,""),t?void 0!==a[e]?a[e]=[].concat(a[e],r):a[e]=[r]:a[e]=r};case"colon-list-separator":return(e,r,a)=>{t=/(:list)$/.exec(e),e=e.replace(/:list$/,""),t?void 0!==a[e]?a[e]=[].concat(a[e],r):a[e]=[r]:a[e]=r};case"comma":case"separator":return(t,r,a)=>{const n="string"==typeof r&&r.includes(e.arrayFormatSeparator),o="string"==typeof r&&!n&&u(r,e).includes(e.arrayFormatSeparator);r=o?u(r,e):r;const s=n||o?r.split(e.arrayFormatSeparator).map((t=>u(t,e))):null===r?r:u(r,e);a[t]=s};case"bracket-separator":return(t,r,a)=>{const n=/(\[\])$/.test(t);if(t=t.replace(/\[\]$/,""),!n)return void(a[t]=r?u(r,e):r);const o=null===r?[]:r.split(e.arrayFormatSeparator).map((t=>u(t,e)));void 0!==a[t]?a[t]=[].concat(a[t],o):a[t]=o};default:return(e,t,r)=>{void 0!==r[e]?r[e]=[].concat(r[e],t):r[e]=t}}}(t),a=Object.create(null);if("string"!=typeof e)return a;if(!(e=e.trim().replace(/^[?#&]/,"")))return a;for(const n of e.split("&")){if(""===n)continue;let[e,s]=o(t.decode?n.replace(/\+/g," "):n,"=");s=void 0===s?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?s:u(s,t),r(u(e,t),s,a)}for(const e of Object.keys(a)){const r=a[e];if("object"==typeof r&&null!==r)for(const e of Object.keys(r))r[e]=m(r[e],t);else a[e]=m(r,t)}return!1===t.sort?a:(!0===t.sort?Object.keys(a).sort():Object.keys(a).sort(t.sort)).reduce(((e,t)=>{const r=a[t];return Boolean(r)&&"object"==typeof r&&!Array.isArray(r)?e[t]=d(r):e[t]=r,e}),Object.create(null))}t.extract=g,t.parse=f,t.stringify=(e,t)=>{if(!e)return"";l((t=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},t)).arrayFormatSeparator);const r=r=>t.skipNull&&null==e[r]||t.skipEmptyString&&""===e[r],a=function(e){switch(e.arrayFormat){case"index":return t=>(r,a)=>{const n=r.length;return void 0===a||e.skipNull&&null===a||e.skipEmptyString&&""===a?r:null===a?[...r,[c(t,e),"[",n,"]"].join("")]:[...r,[c(t,e),"[",c(n,e),"]=",c(a,e)].join("")]};case"bracket":return t=>(r,a)=>void 0===a||e.skipNull&&null===a||e.skipEmptyString&&""===a?r:null===a?[...r,[c(t,e),"[]"].join("")]:[...r,[c(t,e),"[]=",c(a,e)].join("")];case"colon-list-separator":return t=>(r,a)=>void 0===a||e.skipNull&&null===a||e.skipEmptyString&&""===a?r:null===a?[...r,[c(t,e),":list="].join("")]:[...r,[c(t,e),":list=",c(a,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t="bracket-separator"===e.arrayFormat?"[]=":"=";return r=>(a,n)=>void 0===n||e.skipNull&&null===n||e.skipEmptyString&&""===n?a:(n=null===n?"":n,0===a.length?[[c(r,e),t,c(n,e)].join("")]:[[a,c(n,e)].join(e.arrayFormatSeparator)])}default:return t=>(r,a)=>void 0===a||e.skipNull&&null===a||e.skipEmptyString&&""===a?r:null===a?[...r,c(t,e)]:[...r,[c(t,e),"=",c(a,e)].join("")]}}(t),n={};for(const t of Object.keys(e))r(t)||(n[t]=e[t]);const o=Object.keys(n);return!1!==t.sort&&o.sort(t.sort),o.map((r=>{const n=e[r];return void 0===n?"":null===n?c(r,t):Array.isArray(n)?0===n.length&&"bracket-separator"===t.arrayFormat?c(r,t)+"[]":n.reduce(a(r),[]).join("&"):c(r,t)+"="+c(n,t)})).filter((e=>e.length>0)).join("&")},t.parseUrl=(e,t)=>{t=Object.assign({decode:!0},t);const[r,a]=o(e,"#");return Object.assign({url:r.split("?")[0]||"",query:f(g(e),t)},t&&t.parseFragmentIdentifier&&a?{fragmentIdentifier:u(a,t)}:{})},t.stringifyUrl=(e,r)=>{r=Object.assign({encode:!0,strict:!0,[i]:!0},r);const a=p(e.url).split("?")[0]||"",n=t.extract(e.url),o=t.parse(n,{sort:!1}),s=Object.assign(o,e.query);let l=t.stringify(s,r);l&&(l=`?${l}`);let u=function(e){let t="";const r=e.indexOf("#");return-1!==r&&(t=e.slice(r)),t}(e.url);return e.fragmentIdentifier&&(u=`#${r[i]?c(e.fragmentIdentifier,r):e.fragmentIdentifier}`),`${a}${l}${u}`},t.pick=(e,r,a)=>{a=Object.assign({parseFragmentIdentifier:!0,[i]:!1},a);const{url:n,query:o,fragmentIdentifier:l}=t.parseUrl(e,a);return t.stringifyUrl({url:n,query:s(o,r),fragmentIdentifier:l},a)},t.exclude=(e,r,a)=>{const n=Array.isArray(r)?e=>!r.includes(e):(e,t)=>!r(e,t);return t.pick(e,n,a)}},528:e=>{"use strict";e.exports=(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===t)return[e];const r=e.indexOf(t);return-1===r?[e]:[e.slice(0,r),e.slice(r+t.length)]}},4280:e=>{"use strict";e.exports=e=>encodeURIComponent(e).replace(/[!'()*]/g,(e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`))},7232:function(e,t,r){var a;!function(n,o){"use strict";var s="function",i="undefined",l="object",c="string",u="major",d="model",p="name",g="type",m="vendor",f="version",w="architecture",y="console",b="mobile",h="tablet",_="smarttv",v="wearable",R="embedded",k="Amazon",P="Apple",j="ASUS",C="BlackBerry",q="Browser",S="Chrome",A="Firefox",E="Google",U="Huawei",H="LG",x="Microsoft",O="Motorola",$="Opera",I="Samsung",N="Sharp",D="Sony",W="Xiaomi",L="Zebra",T="Facebook",V="Chromium OS",B="Mac OS",F=function(e){for(var t={},r=0;r0?2===i.length?typeof i[1]==s?this[i[0]]=i[1].call(this,u):this[i[0]]=i[1]:3===i.length?typeof i[1]!==s||i[1].exec&&i[1].test?this[i[0]]=u?u.replace(i[1],i[2]):o:this[i[0]]=u?i[1].call(this,u,i[2]):o:4===i.length&&(this[i[0]]=u?i[3].call(this,u.replace(i[1],i[2])):o):this[i]=u||o;d+=2}},Q=function(e,t){for(var r in t)if(typeof t[r]===l&&t[r].length>0){for(var a=0;a2&&(e[d]="iPad",e[g]=h),e},this.getEngine=function(){var e={};return e[p]=o,e[f]=o,K.call(e,a,_.engine),e},this.getOS=function(){var e={};return e[p]=o,e[f]=o,K.call(e,a,_.os),v&&!e[p]&&y&&y.platform&&"Unknown"!=y.platform&&(e[p]=y.platform.replace(/chrome os/i,V).replace(/macos/i,B)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return a},this.setUA=function(e){return a=typeof e===c&&e.length>500?G(e,500):e,this},this.setUA(a),this};Y.VERSION="1.0.38",Y.BROWSER=F([p,f,u]),Y.CPU=F([w]),Y.DEVICE=F([d,m,g,y,b,_,h,v,R]),Y.ENGINE=Y.OS=F([p,f]),typeof t!==i?(e.exports&&(t=e.exports=Y),t.UAParser=Y):r.amdO?(a=function(){return Y}.call(t,r,t,e))===o||(e.exports=a):typeof n!==i&&(n.UAParser=Y);var X=typeof n!==i&&(n.jQuery||n.Zepto);if(X&&!X.ua){var ee=new Y;X.ua=ee.getResult(),X.ua.get=function(){return ee.getUA()},X.ua.set=function(e){ee.setUA(e);var t=ee.getResult();for(var r in t)X.ua[r]=t[r]}}}("object"==typeof window?window:this)},611:(e,t,r)=>{"use strict";var a;r.r(t),r.d(t,{NIL:()=>E,parse:()=>w,stringify:()=>u,v1:()=>f,v3:()=>j,v4:()=>C,v5:()=>A,validate:()=>i,version:()=>U});var n=new Uint8Array(16);function o(){if(!a&&!(a="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return a(n)}const s=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,i=function(e){return"string"==typeof e&&s.test(e)};for(var l=[],c=0;c<256;++c)l.push((c+256).toString(16).substr(1));const u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=(l[e[t+0]]+l[e[t+1]]+l[e[t+2]]+l[e[t+3]]+"-"+l[e[t+4]]+l[e[t+5]]+"-"+l[e[t+6]]+l[e[t+7]]+"-"+l[e[t+8]]+l[e[t+9]]+"-"+l[e[t+10]]+l[e[t+11]]+l[e[t+12]]+l[e[t+13]]+l[e[t+14]]+l[e[t+15]]).toLowerCase();if(!i(r))throw TypeError("Stringified UUID is invalid");return r};var d,p,g=0,m=0;const f=function(e,t,r){var a=t&&r||0,n=t||new Array(16),s=(e=e||{}).node||d,i=void 0!==e.clockseq?e.clockseq:p;if(null==s||null==i){var l=e.random||(e.rng||o)();null==s&&(s=d=[1|l[0],l[1],l[2],l[3],l[4],l[5]]),null==i&&(i=p=16383&(l[6]<<8|l[7]))}var c=void 0!==e.msecs?e.msecs:Date.now(),f=void 0!==e.nsecs?e.nsecs:m+1,w=c-g+(f-m)/1e4;if(w<0&&void 0===e.clockseq&&(i=i+1&16383),(w<0||c>g)&&void 0===e.nsecs&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=c,m=f,p=i;var y=(1e4*(268435455&(c+=122192928e5))+f)%4294967296;n[a++]=y>>>24&255,n[a++]=y>>>16&255,n[a++]=y>>>8&255,n[a++]=255&y;var b=c/4294967296*1e4&268435455;n[a++]=b>>>8&255,n[a++]=255&b,n[a++]=b>>>24&15|16,n[a++]=b>>>16&255,n[a++]=i>>>8|128,n[a++]=255&i;for(var h=0;h<6;++h)n[a+h]=s[h];return t||u(n)},w=function(e){if(!i(e))throw TypeError("Invalid UUID");var t,r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r};function y(e,t,r){function a(e,a,n,o){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],r=0;r>>9<<4)+1}function h(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function _(e,t,r,a,n,o){return h((s=h(h(t,e),h(a,o)))<<(i=n)|s>>>32-i,r);var s,i}function v(e,t,r,a,n,o,s){return _(t&r|~t&a,e,t,n,o,s)}function R(e,t,r,a,n,o,s){return _(t&a|r&~a,e,t,n,o,s)}function k(e,t,r,a,n,o,s){return _(t^r^a,e,t,n,o,s)}function P(e,t,r,a,n,o,s){return _(r^(t|~a),e,t,n,o,s)}const j=y("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var r=0;r>5]>>>n%32&255,s=parseInt(a.charAt(o>>>4&15)+a.charAt(15&o),16);t.push(s)}return t}(function(e,t){e[t>>5]|=128<>5]|=(255&e[a/8])<>>32-t}const A=y("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var a=unescape(encodeURIComponent(e));e=[];for(var n=0;n>>0;h=b,b=y,y=S(w,30)>>>0,w=f,f=R}r[0]=r[0]+f>>>0,r[1]=r[1]+w>>>0,r[2]=r[2]+y>>>0,r[3]=r[3]+b>>>0,r[4]=r[4]+h>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,255&r[0],r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,255&r[1],r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,255&r[2],r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,255&r[3],r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,255&r[4]]})),E="00000000-0000-0000-0000-000000000000",U=function(e){if(!i(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}},7534:(e,t,r)=>{const{fdkAxios:a}=r(128),{convertStringToBase64:n}=r(8879);e.exports=class{static execute(e,t,r,o,s,i,l){let c={Authorization:"Bearer "+n(`${e.applicationID}:${e.applicationToken}`)};e.cookie&&(c={...c,cookie:e.cookie}),e.locationDetails&&(c={...c,"x-location-detail":JSON.stringify(e.locationDetails)}),e.currencyCode&&(c={...c,"x-currency-code":e.currencyCode});const u=e.extraHeaders.reduce(((e,t)=>({...e,...t})),{});let d={method:t,url:r,params:o,data:s,headers:{...c,...u,...i},responseHeaders:l.responseHeaders};return a.request(d)}}},9418:(e,t,r)=>{const a=r(869),n=r(2099),o=r(3727),s=r(8979),i=r(7307),l=r(7507),c=r(5259),u=r(133),d=r(469),p=r(7611),g=r(603),m=r(3715),f=r(8651),w=r(7803),y=r(8363),b=r(3567),{FDKClientValidationError:h}=r(1235),{Logger:_}=r(8572),{convertStringToBase64:v}=r(8879);e.exports=class{constructor(e){if(this.config=e,this.cart=new a(e),this.catalog=new n(e),this.common=new o(e),this.communication=new s(e),this.configuration=new i(e),this.content=new l(e),this.fileStorage=new c(e),this.lead=new u(e),this.logistic=new d(e),this.order=new p(e),this.payment=new g(e),this.rewards=new m(e),this.share=new f(e),this.theme=new w(e),this.user=new y(e),this.webhook=new b(e),"undefined"!=typeof window&&e.options&&e.options.enable_clickstream){const t=r(5379);_({level:"DEBUG",message:`initializing clickstream with base url ${e.domain}`}),t.initialize(e.domain,v(e.applicationID+":"+e.applicationToken)),r(3010)}}setCookie(e){this.config.cookie=e}setLocationDetails(e,t=!1){this.config.locationDetails=!0===t?e:{...this.config.locationDetails,...e}}setCurrencyCode(e){if("string"!=typeof e)throw new h("Currency code should be string only");this.config.currencyCode=e}setExtraHeaders(e){if("object"!=typeof e)throw new h("Context value should be an object");this.config.extraHeaders.push(e)}}},8163:(e,t,r)=>{const{FDKInvalidCredentialError:a}=r(1235),{Logger:n,setLoggerLevel:o}=r(8572);e.exports=class{constructor(e,t){this.applicationID=e.applicationID||"",this.applicationToken=e.applicationToken||"",this.options={strictResponseCheck:!1,...t},this.domain=e.domain||"https://api.fynd.com",this.logLevel=e.logLevel||"ERROR",this.setLogLevel(this.logLevel),this.extraHeaders=[],this.locationDetails=e.locationDetails,this.currencyCode=e.currencyCode||"INR",this.validate()}setLogLevel(e){o(e.toUpperCase()),this.logLevel=e.toUpperCase()}setCookie(e){this.cookie=e}validate(){if(!this.applicationID)throw n({level:"ERROR",message:"No Application ID Present"}),new a("No Application ID Present");if(!this.applicationToken)throw n({level:"ERROR",message:"No Application Token Present"}),new a("No Application Token Present");if(this.applicationToken.length<5)throw n({level:"ERROR",message:"Invalid Application Token"}),new a("Invalid Application Token");if("boolean"!=typeof this.options.strictResponseCheck)throw n({level:"ERROR",message:"Invalid Application Token"}),n({level:"ERROR",message:"Invalid Value for options.strictResponseCheck, provide boolean value"}),new a("Invalid Value for options.strictResponseCheck, provide boolean value")}}},869:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(3206)),l=r(7785),{Logger:c}=r(8572),u=r(6075);e.exports=class{constructor(e){this._conf=e,this._relativeUrls={addAddress:"/service/application/cart/v1.0/address",addItems:"/service/application/cart/v1.0/detail",applyCoupon:"/service/application/cart/v1.0/coupon",applyRewardPoints:"/service/application/cart/v1.0/redeem/points/",checkoutCart:"/service/application/cart/v1.0/checkout",checkoutCartV2:"/service/application/cart/v2.0/checkout",deleteCart:"/service/application/cart/v1.0/cart_archive",getAddressById:"/service/application/cart/v1.0/address/{id}",getAddresses:"/service/application/cart/v1.0/address",getBulkDiscountOffers:"/service/application/cart/v1.0/bulk-price",getCart:"/service/application/cart/v1.0/detail",getCartLastModified:"/service/application/cart/v1.0/detail",getCartShareLink:"/service/application/cart/v1.0/share-cart",getCartSharedItems:"/service/application/cart/v1.0/share-cart/{token}",getCoupons:"/service/application/cart/v1.0/coupon",getItemCount:"/service/application/cart/v1.0/basic",getLadderOffers:"/service/application/cart/v1.0/available-ladder-prices",getPromotionOffers:"/service/application/cart/v1.0/available-promotions",getPromotionPaymentOffers:"/service/application/cart/v1.0/available-payment-offers",getShipments:"/service/application/cart/v1.0/shipment",removeAddress:"/service/application/cart/v1.0/address/{id}",removeCoupon:"/service/application/cart/v1.0/coupon",selectAddress:"/service/application/cart/v1.0/select-address",selectPaymentMode:"/service/application/cart/v1.0/payment",updateAddress:"/service/application/cart/v1.0/address/{id}",updateCart:"/service/application/cart/v1.0/detail",updateCartMeta:"/service/application/cart/v1.0/meta",updateCartWithSharedItems:"/service/application/cart/v1.0/share-cart/{token}/{action}",validateCouponForPayment:"/service/application/cart/v1.0/payment/validate/"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async addAddress({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.addAddress().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.addAddress().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > addAddress \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.addAddress,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.SaveAddressResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Cart > addAddress \n ${m}`})}return p}async addItems({body:e,i:t,b:r,areaCode:u,buyNow:d,id:p,orderType:g,requestHeaders:m}={requestHeaders:{}},{responseHeaders:f}={responseHeaders:!1}){const{error:w}=i.addItems().validate({body:e,i:t,b:r,areaCode:u,buyNow:d,id:p,orderType:g},{abortEarly:!1,allowUnknown:!0});if(w)return Promise.reject(new n(w));const{error:y}=i.addItems().validate({body:e,i:t,b:r,areaCode:u,buyNow:d,id:p,orderType:g},{abortEarly:!1,allowUnknown:!1});y&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > addItems \n ${y}`});const b={};b.i=t,b.b=r,b.area_code=u,b.buy_now=d,b.id=p,b.order_type=g;const h=await a.execute(this._conf,"post",s({url:this._urls.addItems,params:{}}),b,e,{...m},{responseHeaders:f});let _=h;f&&(_=h[0]);const{error:v}=l.AddCartDetailResponse().validate(_,{abortEarly:!1,allowUnknown:!0});if(v){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(v));c({level:"WARN",message:`Response Validation Warnings for application > Cart > addItems \n ${v}`})}return h}async applyCoupon({body:e,i:t,b:r,p:u,id:d,buyNow:p,cartType:g,requestHeaders:m}={requestHeaders:{}},{responseHeaders:f}={responseHeaders:!1}){const{error:w}=i.applyCoupon().validate({body:e,i:t,b:r,p:u,id:d,buyNow:p,cartType:g},{abortEarly:!1,allowUnknown:!0});if(w)return Promise.reject(new n(w));const{error:y}=i.applyCoupon().validate({body:e,i:t,b:r,p:u,id:d,buyNow:p,cartType:g},{abortEarly:!1,allowUnknown:!1});y&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > applyCoupon \n ${y}`});const b={};b.i=t,b.b=r,b.p=u,b.id=d,b.buy_now=p,b.cart_type=g;const h=await a.execute(this._conf,"post",s({url:this._urls.applyCoupon,params:{}}),b,e,{...m},{responseHeaders:f});let _=h;f&&(_=h[0]);const{error:v}=l.CartDetailResponse().validate(_,{abortEarly:!1,allowUnknown:!0});if(v){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(v));c({level:"WARN",message:`Response Validation Warnings for application > Cart > applyCoupon \n ${v}`})}return h}async applyRewardPoints({body:e,id:t,i:r,b:u,buyNow:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=i.applyRewardPoints().validate({body:e,id:t,i:r,b:u,buyNow:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=i.applyRewardPoints().validate({body:e,id:t,i:r,b:u,buyNow:d},{abortEarly:!1,allowUnknown:!1});f&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > applyRewardPoints \n ${f}`});const w={};w.id=t,w.i=r,w.b=u,w.buy_now=d;const y=await a.execute(this._conf,"post",s({url:this._urls.applyRewardPoints,params:{}}),w,e,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=l.CartDetailResponse().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));c({level:"WARN",message:`Response Validation Warnings for application > Cart > applyRewardPoints \n ${h}`})}return y}async checkoutCart({body:e,buyNow:t,cartType:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.checkoutCart().validate({body:e,buyNow:t,cartType:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.checkoutCart().validate({body:e,buyNow:t,cartType:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > checkoutCart \n ${g}`});const m={};m.buy_now=t,m.cart_type=r;const f=await a.execute(this._conf,"post",s({url:this._urls.checkoutCart,params:{}}),m,e,{...u},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=l.CartCheckoutResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Cart > checkoutCart \n ${y}`})}return f}async checkoutCartV2({body:e,buyNow:t,cartType:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.checkoutCartV2().validate({body:e,buyNow:t,cartType:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.checkoutCartV2().validate({body:e,buyNow:t,cartType:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > checkoutCartV2 \n ${g}`});const m={};m.buy_now=t,m.cart_type=r;const f=await a.execute(this._conf,"post",s({url:this._urls.checkoutCartV2,params:{}}),m,e,{...u},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=l.CartCheckoutResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Cart > checkoutCartV2 \n ${y}`})}return f}async deleteCart({id:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.deleteCart().validate({id:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.deleteCart().validate({id:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > deleteCart \n ${d}`});const p={};p.id=e;const g=await a.execute(this._conf,"put",s({url:this._urls.deleteCart,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.DeleteCartDetailResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Cart > deleteCart \n ${f}`})}return g}async getAddressById({id:e,cartId:t,buyNow:r,mobileNo:u,checkoutMode:d,tags:p,isDefault:g,requestHeaders:m}={requestHeaders:{}},{responseHeaders:f}={responseHeaders:!1}){const{error:w}=i.getAddressById().validate({id:e,cartId:t,buyNow:r,mobileNo:u,checkoutMode:d,tags:p,isDefault:g},{abortEarly:!1,allowUnknown:!0});if(w)return Promise.reject(new n(w));const{error:y}=i.getAddressById().validate({id:e,cartId:t,buyNow:r,mobileNo:u,checkoutMode:d,tags:p,isDefault:g},{abortEarly:!1,allowUnknown:!1});y&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getAddressById \n ${y}`});const b={};b.cart_id=t,b.buy_now=r,b.mobile_no=u,b.checkout_mode=d,b.tags=p,b.is_default=g;const h=await a.execute(this._conf,"get",s({url:this._urls.getAddressById,params:{id:e}}),b,void 0,{...m},{responseHeaders:f});let _=h;f&&(_=h[0]);const{error:v}=l.Address().validate(_,{abortEarly:!1,allowUnknown:!0});if(v){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(v));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getAddressById \n ${v}`})}return h}async getAddresses({cartId:e,buyNow:t,mobileNo:r,checkoutMode:u,tags:d,isDefault:p,requestHeaders:g}={requestHeaders:{}},{responseHeaders:m}={responseHeaders:!1}){const{error:f}=i.getAddresses().validate({cartId:e,buyNow:t,mobileNo:r,checkoutMode:u,tags:d,isDefault:p},{abortEarly:!1,allowUnknown:!0});if(f)return Promise.reject(new n(f));const{error:w}=i.getAddresses().validate({cartId:e,buyNow:t,mobileNo:r,checkoutMode:u,tags:d,isDefault:p},{abortEarly:!1,allowUnknown:!1});w&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getAddresses \n ${w}`});const y={};y.cart_id=e,y.buy_now=t,y.mobile_no=r,y.checkout_mode=u,y.tags=d,y.is_default=p;const b=await a.execute(this._conf,"get",s({url:this._urls.getAddresses,params:{}}),y,void 0,{...g},{responseHeaders:m});let h=b;m&&(h=b[0]);const{error:_}=l.GetAddressesResponse().validate(h,{abortEarly:!1,allowUnknown:!0});if(_){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(_));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getAddresses \n ${_}`})}return b}async getBulkDiscountOffers({itemId:e,articleId:t,uid:r,slug:u,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=i.getBulkDiscountOffers().validate({itemId:e,articleId:t,uid:r,slug:u},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=i.getBulkDiscountOffers().validate({itemId:e,articleId:t,uid:r,slug:u},{abortEarly:!1,allowUnknown:!1});m&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getBulkDiscountOffers \n ${m}`});const f={};f.item_id=e,f.article_id=t,f.uid=r,f.slug=u;const w=await a.execute(this._conf,"get",s({url:this._urls.getBulkDiscountOffers,params:{}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=l.BulkPriceResponse().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getBulkDiscountOffers \n ${b}`})}return w}async getCart({id:e,i:t,b:r,c:u,assignCardId:d,areaCode:p,buyNow:g,orderType:m,requestHeaders:f}={requestHeaders:{}},{responseHeaders:w}={responseHeaders:!1}){const{error:y}=i.getCart().validate({id:e,i:t,b:r,c:u,assignCardId:d,areaCode:p,buyNow:g,orderType:m},{abortEarly:!1,allowUnknown:!0});if(y)return Promise.reject(new n(y));const{error:b}=i.getCart().validate({id:e,i:t,b:r,c:u,assignCardId:d,areaCode:p,buyNow:g,orderType:m},{abortEarly:!1,allowUnknown:!1});b&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getCart \n ${b}`});const h={};h.id=e,h.i=t,h.b=r,h.c=u,h.assign_card_id=d,h.area_code=p,h.buy_now=g,h.order_type=m;const _=await a.execute(this._conf,"get",s({url:this._urls.getCart,params:{}}),h,void 0,{...f},{responseHeaders:w});let v=_;w&&(v=_[0]);const{error:R}=l.CartDetailResponse().validate(v,{abortEarly:!1,allowUnknown:!0});if(R){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(R));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getCart \n ${R}`})}return _}async getCartLastModified({id:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:l}=i.getCartLastModified().validate({id:e},{abortEarly:!1,allowUnknown:!0});if(l)return Promise.reject(new n(l));const{error:d}=i.getCartLastModified().validate({id:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getCartLastModified \n ${d}`});const p={};p.id=e;const g=await a.execute(this._conf,"head",s({url:this._urls.getCartLastModified,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=u.string().allow("").validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getCartLastModified \n ${f}`})}return g}async getCartShareLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getCartShareLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getCartShareLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getCartShareLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getCartShareLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.GetShareCartLinkResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getCartShareLink \n ${m}`})}return p}async getCartSharedItems({token:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getCartSharedItems().validate({token:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getCartSharedItems().validate({token:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getCartSharedItems \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getCartSharedItems,params:{token:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.SharedCartResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getCartSharedItems \n ${m}`})}return p}async getCoupons({id:e,buyNow:t,slug:r,storeId:u,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=i.getCoupons().validate({id:e,buyNow:t,slug:r,storeId:u},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=i.getCoupons().validate({id:e,buyNow:t,slug:r,storeId:u},{abortEarly:!1,allowUnknown:!1});m&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getCoupons \n ${m}`});const f={};f.id=e,f.buy_now=t,f.slug=r,f.store_id=u;const w=await a.execute(this._conf,"get",s({url:this._urls.getCoupons,params:{}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=l.GetCouponResponse().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getCoupons \n ${b}`})}return w}async getItemCount({id:e,buyNow:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getItemCount().validate({id:e,buyNow:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getItemCount().validate({id:e,buyNow:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getItemCount \n ${p}`});const g={};g.id=e,g.buy_now=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getItemCount,params:{}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.CartItemCountResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getItemCount \n ${w}`})}return m}async getLadderOffers({slug:e,storeId:t,promotionId:r,pageSize:u,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=i.getLadderOffers().validate({slug:e,storeId:t,promotionId:r,pageSize:u},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=i.getLadderOffers().validate({slug:e,storeId:t,promotionId:r,pageSize:u},{abortEarly:!1,allowUnknown:!1});m&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getLadderOffers \n ${m}`});const f={};f.slug=e,f.store_id=t,f.promotion_id=r,f.page_size=u;const w=await a.execute(this._conf,"get",s({url:this._urls.getLadderOffers,params:{}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=l.LadderPriceOffers().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getLadderOffers \n ${b}`})}return w}async getPromotionOffers({slug:e,pageSize:t,promotionGroup:r,storeId:u,cartType:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=i.getPromotionOffers().validate({slug:e,pageSize:t,promotionGroup:r,storeId:u,cartType:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=i.getPromotionOffers().validate({slug:e,pageSize:t,promotionGroup:r,storeId:u,cartType:d},{abortEarly:!1,allowUnknown:!1});f&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getPromotionOffers \n ${f}`});const w={};w.slug=e,w.page_size=t,w.promotion_group=r,w.store_id=u,w.cart_type=d;const y=await a.execute(this._conf,"get",s({url:this._urls.getPromotionOffers,params:{}}),w,void 0,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=l.PromotionOffersResponse().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getPromotionOffers \n ${h}`})}return y}async getPromotionPaymentOffers({id:e,uid:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getPromotionPaymentOffers().validate({id:e,uid:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getPromotionPaymentOffers().validate({id:e,uid:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getPromotionPaymentOffers \n ${p}`});const g={};g.id=e,g.uid=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getPromotionPaymentOffers,params:{}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.PromotionPaymentOffersResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getPromotionPaymentOffers \n ${w}`})}return m}async getShipments({p:e,id:t,buyNow:r,addressId:u,areaCode:d,orderType:p,requestHeaders:g}={requestHeaders:{}},{responseHeaders:m}={responseHeaders:!1}){const{error:f}=i.getShipments().validate({p:e,id:t,buyNow:r,addressId:u,areaCode:d,orderType:p},{abortEarly:!1,allowUnknown:!0});if(f)return Promise.reject(new n(f));const{error:w}=i.getShipments().validate({p:e,id:t,buyNow:r,addressId:u,areaCode:d,orderType:p},{abortEarly:!1,allowUnknown:!1});w&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getShipments \n ${w}`});const y={};y.p=e,y.id=t,y.buy_now=r,y.address_id=u,y.area_code=d,y.order_type=p;const b=await a.execute(this._conf,"get",s({url:this._urls.getShipments,params:{}}),y,void 0,{...g},{responseHeaders:m});let h=b;m&&(h=b[0]);const{error:_}=l.CartShipmentsResponse().validate(h,{abortEarly:!1,allowUnknown:!0});if(_){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(_));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getShipments \n ${_}`})}return b}async removeAddress({id:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.removeAddress().validate({id:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.removeAddress().validate({id:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > removeAddress \n ${d}`});const p=await a.execute(this._conf,"delete",s({url:this._urls.removeAddress,params:{id:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.DeleteAddressResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Cart > removeAddress \n ${m}`})}return p}async removeCoupon({id:e,buyNow:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.removeCoupon().validate({id:e,buyNow:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.removeCoupon().validate({id:e,buyNow:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > removeCoupon \n ${p}`});const g={};g.id=e,g.buy_now=t;const m=await a.execute(this._conf,"delete",s({url:this._urls.removeCoupon,params:{}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.CartDetailResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Cart > removeCoupon \n ${w}`})}return m}async selectAddress({body:e,cartId:t,buyNow:r,i:u,b:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=i.selectAddress().validate({body:e,cartId:t,buyNow:r,i:u,b:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=i.selectAddress().validate({body:e,cartId:t,buyNow:r,i:u,b:d},{abortEarly:!1,allowUnknown:!1});f&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > selectAddress \n ${f}`});const w={};w.cart_id=t,w.buy_now=r,w.i=u,w.b=d;const y=await a.execute(this._conf,"post",s({url:this._urls.selectAddress,params:{}}),w,e,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=l.CartDetailResponse().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));c({level:"WARN",message:`Response Validation Warnings for application > Cart > selectAddress \n ${h}`})}return y}async selectPaymentMode({body:e,id:t,buyNow:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.selectPaymentMode().validate({body:e,id:t,buyNow:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.selectPaymentMode().validate({body:e,id:t,buyNow:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > selectPaymentMode \n ${g}`});const m={};m.id=t,m.buy_now=r;const f=await a.execute(this._conf,"put",s({url:this._urls.selectPaymentMode,params:{}}),m,e,{...u},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=l.CartDetailResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Cart > selectPaymentMode \n ${y}`})}return f}async updateAddress({id:e,body:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.updateAddress().validate({id:e,body:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.updateAddress().validate({id:e,body:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > updateAddress \n ${p}`});const g=await a.execute(this._conf,"put",s({url:this._urls.updateAddress,params:{id:e}}),{},t,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.UpdateAddressResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Cart > updateAddress \n ${f}`})}return g}async updateCart({body:e,id:t,i:r,b:u,areaCode:d,buyNow:p,cartType:g,orderType:m,requestHeaders:f}={requestHeaders:{}},{responseHeaders:w}={responseHeaders:!1}){const{error:y}=i.updateCart().validate({body:e,id:t,i:r,b:u,areaCode:d,buyNow:p,cartType:g,orderType:m},{abortEarly:!1,allowUnknown:!0});if(y)return Promise.reject(new n(y));const{error:b}=i.updateCart().validate({body:e,id:t,i:r,b:u,areaCode:d,buyNow:p,cartType:g,orderType:m},{abortEarly:!1,allowUnknown:!1});b&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > updateCart \n ${b}`});const h={};h.id=t,h.i=r,h.b=u,h.area_code=d,h.buy_now=p,h.cart_type=g,h.order_type=m;const _=await a.execute(this._conf,"put",s({url:this._urls.updateCart,params:{}}),h,e,{...f},{responseHeaders:w});let v=_;w&&(v=_[0]);const{error:R}=l.UpdateCartDetailResponse().validate(v,{abortEarly:!1,allowUnknown:!0});if(R){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(R));c({level:"WARN",message:`Response Validation Warnings for application > Cart > updateCart \n ${R}`})}return _}async updateCartMeta({body:e,id:t,buyNow:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.updateCartMeta().validate({body:e,id:t,buyNow:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.updateCartMeta().validate({body:e,id:t,buyNow:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > updateCartMeta \n ${g}`});const m={};m.id=t,m.buy_now=r;const f=await a.execute(this._conf,"put",s({url:this._urls.updateCartMeta,params:{}}),m,e,{...u},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=l.CartMetaResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Cart > updateCartMeta \n ${y}`})}return f}async updateCartWithSharedItems({token:e,action:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.updateCartWithSharedItems().validate({token:e,action:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.updateCartWithSharedItems().validate({token:e,action:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > updateCartWithSharedItems \n ${p}`});const g=await a.execute(this._conf,"post",s({url:this._urls.updateCartWithSharedItems,params:{token:e,action:t}}),{},void 0,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.SharedCartResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Cart > updateCartWithSharedItems \n ${f}`})}return g}async validateCouponForPayment({id:e,buyNow:t,addressId:r,paymentMode:u,paymentIdentifier:d,aggregatorName:p,merchantCode:g,iin:m,network:f,type:w,cardId:y,cartType:b,requestHeaders:h}={requestHeaders:{}},{responseHeaders:_}={responseHeaders:!1}){const{error:v}=i.validateCouponForPayment().validate({id:e,buyNow:t,addressId:r,paymentMode:u,paymentIdentifier:d,aggregatorName:p,merchantCode:g,iin:m,network:f,type:w,cardId:y,cartType:b},{abortEarly:!1,allowUnknown:!0});if(v)return Promise.reject(new n(v));const{error:R}=i.validateCouponForPayment().validate({id:e,buyNow:t,addressId:r,paymentMode:u,paymentIdentifier:d,aggregatorName:p,merchantCode:g,iin:m,network:f,type:w,cardId:y,cartType:b},{abortEarly:!1,allowUnknown:!1});R&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > validateCouponForPayment \n ${R}`});const k={};k.id=e,k.buy_now=t,k.address_id=r,k.payment_mode=u,k.payment_identifier=d,k.aggregator_name=p,k.merchant_code=g,k.iin=m,k.network=f,k.type=w,k.card_id=y,k.cart_type=b;const P=await a.execute(this._conf,"get",s({url:this._urls.validateCouponForPayment,params:{}}),k,void 0,{...h},{responseHeaders:_});let j=P;_&&(j=P[0]);const{error:C}=l.PaymentCouponValidate().validate(j,{abortEarly:!1,allowUnknown:!0});if(C){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(C));c({level:"WARN",message:`Response Validation Warnings for application > Cart > validateCouponForPayment \n ${C}`})}return P}}},7785:(e,t,r)=>{const a=r(6075);class n{static BuyRules(){return a.object({item_criteria:a.any(),cart_conditions:a.any()})}static DiscountRulesApp(){return a.object({matched_buy_rules:a.array().items(a.string().allow("")),raw_offer:a.any(),offer:a.any(),item_criteria:a.any()})}static Ownership(){return a.object({payable_category:a.string().allow(""),payable_by:a.string().allow("")})}static AppliedFreeArticles(){return a.object({free_gift_item_details:n.FreeGiftItems(),parent_item_identifier:a.string().allow(""),quantity:a.number(),article_id:a.string().allow("")})}static AppliedPromotion(){return a.object({promo_id:a.string().allow(""),buy_rules:a.array().items(n.BuyRules()),offer_text:a.string().allow(""),promotion_group:a.string().allow(""),mrp_promotion:a.boolean(),promotion_name:a.string().allow(""),amount:a.number(),discount_rules:a.array().items(n.DiscountRulesApp()),ownership:n.Ownership(),article_quantity:a.number(),applied_free_articles:a.array().items(n.AppliedFreeArticles()),promotion_type:a.string().allow(""),meta:a.any(),code:a.string().allow("").allow(null)})}static PaymentSelectionLock(){return a.object({enabled:a.boolean(),default_options:a.string().allow(""),payment_identifier:a.string().allow("")})}static PromiseFormatted(){return a.object({max:a.string().allow(""),min:a.string().allow("")})}static PromiseISOFormat(){return a.object({max:a.string().allow(""),min:a.string().allow("")})}static PromiseTimestamp(){return a.object({max:a.number(),min:a.number()})}static ShipmentPromise(){return a.object({formatted:n.PromiseFormatted(),timestamp:n.PromiseTimestamp(),iso:n.PromiseISOFormat()})}static BasePrice(){return a.object({effective:a.number(),currency_symbol:a.string().allow(""),marked:a.number(),currency_code:a.string().allow("")})}static ArticlePriceInfo(){return a.object({base:n.BasePrice(),converted:n.BasePrice()})}static BaseInfo(){return a.object({uid:a.number(),name:a.string().allow("")})}static StoreInfo(){return a.object({store_code:a.string().allow(""),uid:a.number(),name:a.string().allow("")})}static ProductArticle(){return a.object({price:n.ArticlePriceInfo(),product_group_tags:a.array().items(a.string().allow("")),extra_meta:a.any(),quantity:a.number(),_custom_json:a.any(),meta:a.any(),size:a.string().allow(""),mto_quantity:a.number(),seller:n.BaseInfo(),seller_identifier:a.string().allow(""),parent_item_identifiers:a.any(),identifier:a.any(),store:n.StoreInfo(),cart_item_meta:a.any(),uid:a.string().allow(""),gift_card:a.any(),is_gift_visible:a.boolean(),type:a.string().allow(""),tags:a.array().items(a.string().allow(""))})}static CartProductIdentifer(){return a.object({identifier:a.string().allow("")})}static PromoMeta(){return a.object({message:a.string().allow("")})}static ChargesAmount(){return a.object({value:a.number(),currency:a.string().allow("")})}static Charges(){return a.object({meta:a.any(),amount:n.ChargesAmount(),name:a.string().allow(""),allow_refund:a.boolean(),code:a.string().allow(""),type:a.string().allow("")})}static ProductPrice(){return a.object({currency_symbol:a.string().allow(""),selling:a.number(),currency_code:a.string().allow(""),add_on:a.number(),effective:a.number(),marked:a.number()})}static ProductPriceInfo(){return a.object({base:n.ProductPrice(),converted:n.ProductPrice()})}static ProductPricePerUnit(){return a.object({currency_symbol:a.string().allow(""),selling_price:a.number(),currency_code:a.string().allow(""),add_on:a.number(),effective:a.number(),marked:a.number()})}static ProductPricePerUnitInfo(){return a.object({base:n.ProductPricePerUnit(),converted:n.ProductPricePerUnit()})}static ProductAvailabilitySize(){return a.object({display:a.string().allow(""),value:a.string().allow(""),is_available:a.boolean()})}static ProductAvailability(){return a.object({out_of_stock:a.boolean(),deliverable:a.boolean(),available_sizes:a.array().items(n.ProductAvailabilitySize()),is_valid:a.boolean(),other_store_quantity:a.number(),sizes:a.array().items(a.string().allow(""))})}static ActionQuery(){return a.object({product_slug:a.array().items(a.string().allow(""))})}static ProductAction(){return a.object({query:n.ActionQuery(),url:a.string().allow(""),type:a.string().allow("")})}static Tags(){return a.object({tags:a.any()})}static ProductImage(){return a.object({secure_url:a.string().allow(""),aspect_ratio:a.string().allow(""),url:a.string().allow("")})}static CategoryInfo(){return a.object({uid:a.number(),name:a.string().allow("")})}static CartProduct(){return a.object({_custom_json:a.any(),brand:n.BaseInfo(),action:n.ProductAction(),teaser_tag:n.Tags(),slug:a.string().allow(""),images:a.array().items(n.ProductImage()),uid:a.number(),name:a.string().allow(""),item_code:a.string().allow("").allow(null),categories:a.array().items(n.CategoryInfo()),tags:a.array().items(a.string().allow("")),type:a.string().allow(""),attributes:a.any()})}static CouponDetails(){return a.object({discount_single_quantity:a.number(),code:a.string().allow(""),discount_total_quantity:a.number()})}static CartProductInfo(){return a.object({article:n.ProductArticle(),moq:a.any(),identifiers:n.CartProductIdentifer().required(),promo_meta:n.PromoMeta(),price:n.ProductPriceInfo(),quantity:a.number(),charges:a.array().items(n.Charges()),discount:a.string().allow(""),availability:n.ProductAvailability(),delivery_promise:n.ShipmentPromise(),product:n.CartProduct(),product_ean_id:a.string().allow(""),bulk_offer:a.any(),parent_item_identifiers:a.any(),coupon:n.CouponDetails(),custom_order:a.any(),coupon_message:a.string().allow(""),key:a.string().allow(""),message:a.string().allow(""),is_set:a.boolean(),price_per_unit:n.ProductPricePerUnitInfo(),promotions_applied:a.array().items(n.AppliedPromotion())})}static DisplayBreakup(){return a.object({currency_symbol:a.string().allow(""),key:a.string().allow(""),display:a.string().allow(""),message:a.array().items(a.string().allow("")),currency_code:a.string().allow(""),value:a.number(),preset:a.number()})}static RawBreakup(){return a.object({vog:a.number(),subtotal:a.number(),fynd_cash:a.number(),discount:a.number(),convenience_fee:a.number(),delivery_charge:a.number(),gst_charges:a.number(),mrp_total:a.number(),mop_total:a.number(),total_charge:a.number(),coupon:a.number(),total:a.number(),gift_card:a.number(),you_saved:a.number(),cod_charge:a.number()})}static CouponBreakup(){return a.object({coupon_value:a.number(),title:a.string().allow("").allow(null),sub_title:a.string().allow("").allow(null),minimum_cart_value:a.number(),message:a.string().allow(""),coupon_type:a.string().allow("").allow(null),uid:a.string().allow(""),value:a.number(),max_discount_value:a.number(),is_applied:a.boolean(),description:a.string().allow("").allow(null),code:a.string().allow(""),type:a.string().allow("")})}static LoyaltyPoints(){return a.object({total:a.number(),description:a.string().allow(""),applicable:a.number(),is_applied:a.boolean()})}static CartBreakup(){return a.object({display:a.array().items(n.DisplayBreakup()),raw:n.RawBreakup(),coupon:n.CouponBreakup(),loyalty_points:n.LoyaltyPoints()})}static CartCurrency(){return a.object({code:a.string().allow(""),symbol:a.string().allow("")})}static CartDetailCoupon(){return a.object({cashback_amount:a.number(),cashback_message_primary:a.string().allow(""),cashback_message_secondary:a.string().allow(""),coupon_code:a.string().allow(""),coupon_description:a.string().allow(""),coupon_id:a.string().allow(""),coupon_subtitle:a.string().allow(""),coupon_title:a.string().allow(""),coupon_type:a.string().allow(""),coupon_value:a.number(),discount:a.number(),is_applied:a.boolean(),is_valid:a.boolean(),maximum_discount_value:a.number(),message:a.string().allow(""),minimum_cart_value:a.number()})}static ChargesThreshold(){return a.object({charges:a.number(),threshold:a.number()})}static DeliveryChargesConfig(){return a.object({enabled:a.boolean(),charges:a.array().items(n.ChargesThreshold())})}static CartCommonConfig(){return a.object({delivery_charges_config:n.DeliveryChargesConfig()})}static CartDetailResponse(){return a.object({cart_id:a.number(),uid:a.string().allow(""),applied_promo_details:a.array().items(n.AppliedPromotion()),checkout_mode:a.string().allow(""),pan_no:a.string().allow(""),is_valid:a.boolean(),id:a.string().allow(""),payment_selection_lock:n.PaymentSelectionLock(),delivery_promise:n.ShipmentPromise(),comment:a.string().allow(""),items:a.array().items(n.CartProductInfo()),delivery_charge_info:a.string().allow(""),common_config:n.CartCommonConfig(),coupon:n.CartDetailCoupon(),message:a.string().allow(""),notification:a.any(),staff_user_id:a.string().allow(""),success:a.boolean(),gstin:a.string().allow(""),restrict_checkout:a.boolean(),last_modified:a.string().allow(""),breakup_values:n.CartBreakup(),currency:n.CartCurrency(),coupon_text:a.string().allow(""),buy_now:a.boolean(),pan_config:a.any(),custom_cart_meta:a.any()})}static AddProductCart(){return a.object({article_assignment:a.any(),product_group_tags:a.array().items(a.string().allow("").allow(null)),extra_meta:a.any(),quantity:a.number(),_custom_json:a.any(),item_size:a.string().allow(""),store_id:a.number(),display:a.string().allow(""),article_id:a.string().allow(""),parent_item_identifiers:a.array().items(a.object().pattern(/\S/,a.string().allow(""))),seller_id:a.number(),pos:a.boolean(),item_id:a.number(),meta:a.any(),seller_identifier:a.string().allow("")})}static AddCartRequest(){return a.object({items:a.array().items(n.AddProductCart()),new_cart:a.boolean()})}static AddCartDetailResponse(){return a.object({message:a.string().allow(""),partial:a.boolean(),cart:n.CartDetailResponse(),success:a.boolean()})}static UpdateProductCart(){return a.object({extra_meta:a.any(),_custom_json:a.any(),quantity:a.number(),item_size:a.string().allow(""),item_index:a.number(),identifiers:n.CartProductIdentifer().required(),article_id:a.string().allow(""),parent_item_identifiers:a.any(),item_id:a.number(),meta:a.any()})}static UpdateCartRequest(){return a.object({items:a.array().items(n.UpdateProductCart()),operation:a.string().allow("").required()})}static UpdateCartDetailResponse(){return a.object({message:a.string().allow(""),cart:n.CartDetailResponse(),success:a.boolean()})}static DeleteCartDetailResponse(){return a.object({message:a.string().allow(""),success:a.boolean()})}static CartItemCountResponse(){return a.object({user_cart_items_count:a.number()})}static PageCoupon(){return a.object({total_item_count:a.number(),has_next:a.boolean(),total:a.number(),current:a.number(),has_previous:a.boolean()})}static Coupon(){return a.object({coupon_amount:a.number(),coupon_value:a.number(),title:a.string().allow(""),minimum_cart_value:a.number(),sub_title:a.string().allow(""),expires_on:a.string().allow(""),message:a.string().allow(""),coupon_type:a.string().allow("").allow(null),max_discount_value:a.number(),coupon_code:a.string().allow(""),is_applicable:a.boolean(),description:a.string().allow("").allow(null),is_applied:a.boolean(),start_date:a.string().allow("").allow(null),end_date:a.string().allow("").allow(null),coupon_applicable_message:a.string().allow(""),offer_text:a.string().allow(""),is_bank_offer:a.boolean()})}static GetCouponResponse(){return a.object({page:n.PageCoupon(),available_coupon_list:a.array().items(n.Coupon())})}static ApplyCouponRequest(){return a.object({coupon_code:a.string().allow("").required()})}static OfferPrice(){return a.object({currency_symbol:a.string().allow(""),bulk_effective:a.number(),currency_code:a.string().allow(""),effective:a.number(),marked:a.number()})}static OfferItem(){return a.object({price:n.OfferPrice(),margin:a.number(),quantity:a.number(),best:a.boolean(),total:a.number(),auto_applied:a.boolean(),type:a.string().allow("")})}static OfferSeller(){return a.object({uid:a.number(),name:a.string().allow("")})}static BulkPriceOffer(){return a.object({offers:a.array().items(n.OfferItem()),seller:n.OfferSeller()})}static BulkPriceResponse(){return a.object({data:a.array().items(n.BulkPriceOffer())})}static RewardPointRequest(){return a.object({points:a.boolean().required()})}static GeoLocation(){return a.object({latitude:a.number(),longitude:a.number()})}static Address(){return a.object({country_iso_code:a.string().allow(""),area:a.string().allow(""),phone:a.string().allow(""),country_phone_code:a.string().allow(""),checkout_mode:a.string().allow(""),address:a.string().allow(""),area_code_slug:a.string().allow(""),geo_location:n.GeoLocation(),id:a.string().allow(""),_custom_json:a.any(),city:a.string().allow(""),sector:a.string().allow(""),state_code:a.string().allow(""),created_by_user_id:a.string().allow(""),landmark:a.string().allow(""),user_id:a.string().allow(""),name:a.string().allow(""),google_map_point:a.any(),is_active:a.boolean(),tags:a.array().items(a.string().allow("")),country_code:a.string().allow(""),address_type:a.string().allow(""),country:a.string().allow(""),is_default_address:a.boolean(),area_code:a.string().allow(""),email:a.string().allow(""),state:a.string().allow(""),meta:a.any()})}static GetAddressesResponse(){return a.object({pii_masking:a.boolean(),address:a.array().items(n.Address())})}static SaveAddressResponse(){return a.object({id:a.string().allow(""),success:a.boolean(),is_default_address:a.boolean()})}static UpdateAddressResponse(){return a.object({is_updated:a.boolean(),id:a.string().allow(""),success:a.boolean(),is_default_address:a.boolean()})}static DeleteAddressResponse(){return a.object({id:a.string().allow(""),is_deleted:a.boolean()})}static SelectCartAddressRequest(){return a.object({id:a.string().allow(""),billing_address_id:a.string().allow(""),cart_id:a.string().allow("")})}static UpdateCartPaymentRequest(){return a.object({id:a.string().allow(""),payment_identifier:a.string().allow("").allow(null),address_id:a.string().allow(""),merchant_code:a.string().allow(""),aggregator_name:a.string().allow(""),payment_mode:a.string().allow("")})}static CouponValidity(){return a.object({title:a.string().allow(""),discount:a.number(),next_validation_required:a.boolean().allow(null),valid:a.boolean(),display_message_en:a.string().allow("").allow(null),code:a.string().allow("").allow(null)})}static PaymentCouponValidate(){return a.object({message:a.string().allow(""),coupon_validity:n.CouponValidity(),success:a.boolean().required()})}static ShipmentResponse(){return a.object({shipments:a.number(),promise:n.ShipmentPromise(),order_type:a.string().allow(""),box_type:a.string().allow("").allow(null),shipment_type:a.string().allow(""),dp_options:a.any().allow(null),dp_id:a.string().allow("").allow(null),items:a.array().items(n.CartProductInfo()),fulfillment_type:a.string().allow(""),fulfillment_id:a.number()})}static CartShipmentsResponse(){return a.object({delivery_charge_info:a.string().allow(""),checkout_mode:a.string().allow(""),message:a.string().allow(""),gstin:a.string().allow(""),restrict_checkout:a.boolean(),last_modified:a.string().allow(""),cart_id:a.number(),is_valid:a.boolean(),breakup_values:n.CartBreakup(),currency:n.CartCurrency(),id:a.string().allow(""),shipments:a.array().items(n.ShipmentResponse()),payment_selection_lock:n.PaymentSelectionLock(),coupon_text:a.string().allow(""),delivery_promise:n.ShipmentPromise(),error:a.boolean(),comment:a.string().allow(""),buy_now:a.boolean(),uid:a.string().allow(""),custom_cart_meta:a.any()})}static CartCheckoutCustomMeta(){return a.object({key:a.string().allow("").required(),value:a.string().allow("").required()})}static CustomerDetails(){return a.object({email:a.string().allow(""),mobile:a.string().allow("").required(),name:a.string().allow("")})}static StaffCheckout(){return a.object({employee_code:a.string().allow(""),user:a.string().allow("").required(),last_name:a.string().allow("").required(),first_name:a.string().allow("").required(),_id:a.string().allow("").required()})}static CartCheckoutDetailRequest(){return a.object({custom_meta:a.array().items(n.CartCheckoutCustomMeta()),customer_details:a.any(),merchant_code:a.string().allow(""),id:a.string().allow(""),payment_auto_confirm:a.boolean(),payment_mode:a.string().allow("").required(),aggregator:a.string().allow(""),address_id:a.string().allow(""),callback_url:a.string().allow(""),delivery_address:a.any(),staff:n.StaffCheckout(),order_type:a.string().allow(""),ordering_store:a.number(),extra_meta:a.any(),payment_identifier:a.string().allow(""),billing_address:a.any(),payment_params:a.any(),billing_address_id:a.string().allow(""),meta:a.any(),payment_extra_identifiers:a.any(),iin:a.string().allow(""),network:a.string().allow(""),type:a.string().allow(""),card_id:a.string().allow("")})}static CheckCart(){return a.object({checkout_mode:a.string().allow(""),user_type:a.string().allow(""),cod_message:a.string().allow(""),cart_id:a.number(),is_valid:a.boolean(),delivery_charges:a.number(),id:a.string().allow(""),payment_selection_lock:n.PaymentSelectionLock(),error_message:a.string().allow(""),delivery_promise:n.ShipmentPromise(),comment:a.string().allow(""),items:a.array().items(n.CartProductInfo()),uid:a.string().allow(""),delivery_charge_order_value:a.number(),delivery_charge_info:a.string().allow(""),cod_available:a.boolean(),success:a.boolean(),store_code:a.string().allow(""),message:a.string().allow(""),gstin:a.string().allow(""),restrict_checkout:a.boolean(),last_modified:a.string().allow(""),order_id:a.string().allow(""),breakup_values:n.CartBreakup(),currency:n.CartCurrency(),store_emps:a.array().items(a.any()),coupon_text:a.string().allow(""),buy_now:a.boolean(),cod_charges:a.number(),custom_cart_meta:a.any()})}static CartCheckoutResponse(){return a.object({payment_confirm_url:a.string().allow(""),app_intercept_url:a.string().allow(""),success:a.boolean(),callback_url:a.string().allow(""),message:a.string().allow(""),data:a.any(),order_id:a.string().allow(""),cart:n.CheckCart()})}static GiftDetail(){return a.object({is_gift_applied:a.boolean(),gift_message:a.string().allow("")})}static ArticleGiftDetail(){return a.object({article_id:n.GiftDetail()})}static CartMetaRequest(){return a.object({delivery_slots:a.any(),gift_details:n.ArticleGiftDetail(),pick_up_customer_details:a.any(),checkout_mode:a.string().allow(""),comment:a.string().allow(""),gstin:a.string().allow(""),custom_cart_meta:a.any()})}static CartMetaResponse(){return a.object({message:a.string().allow(""),is_valid:a.boolean()})}static CartMetaMissingResponse(){return a.object({errors:a.array().items(a.string().allow(""))})}static GetShareCartLinkRequest(){return a.object({id:a.string().allow(""),meta:a.any()})}static GetShareCartLinkResponse(){return a.object({token:a.string().allow(""),share_url:a.string().allow("")})}static SharedCartDetails(){return a.object({token:a.string().allow(""),user:a.any(),created_on:a.string().allow(""),source:a.any(),meta:a.any()})}static SharedCart(){return a.object({checkout_mode:a.string().allow(""),cart_id:a.number(),is_valid:a.boolean(),id:a.string().allow(""),payment_selection_lock:n.PaymentSelectionLock(),delivery_promise:n.ShipmentPromise(),comment:a.string().allow(""),items:a.array().items(n.CartProductInfo()),uid:a.string().allow(""),delivery_charge_info:a.string().allow(""),message:a.string().allow(""),gstin:a.string().allow(""),shared_cart_details:n.SharedCartDetails(),restrict_checkout:a.boolean(),last_modified:a.string().allow(""),breakup_values:n.CartBreakup(),currency:n.CartCurrency(),coupon_text:a.string().allow(""),buy_now:a.boolean(),custom_cart_meta:a.any()})}static SharedCartResponse(){return a.object({error:a.string().allow(""),cart:n.SharedCart()})}static PriceMinMax(){return a.object({min:a.number(),max:a.number()})}static ItemPriceDetails(){return a.object({marked:n.PriceMinMax(),effective:n.PriceMinMax(),currency:a.string().allow("")})}static FreeGiftItems(){return a.object({item_slug:a.string().allow(""),item_name:a.string().allow(""),item_price_details:n.ItemPriceDetails(),item_brand_name:a.string().allow(""),item_id:a.number(),item_images_url:a.array().items(a.string().allow(""))})}static PromotionOffer(){return a.object({id:a.string().allow(""),buy_rules:a.any(),offer_text:a.string().allow(""),promotion_type:a.string().allow(""),promotion_name:a.string().allow(""),promotion_group:a.string().allow(""),valid_till:a.string().allow(""),discount_rules:a.array().items(a.any()),free_gift_items:a.array().items(n.FreeGiftItems()),description:a.string().allow("")})}static PromotionOffersResponse(){return a.object({available_promotions:a.array().items(n.PromotionOffer())})}static PromotionPaymentOffer(){return a.object({application_id:a.string().allow(""),buy_rules:a.array().items(a.any()),calculate_on:a.string().allow(""),description:a.string().allow(""),discount_rules:a.array().items(a.any()),id:a.string().allow(""),offer_text:a.string().allow(""),promotion_group:a.string().allow(""),promotion_type:a.string().allow(""),promotion_name:a.string().allow("")})}static PromotionPaymentOffersResponse(){return a.object({success:a.boolean(),promotions:a.array().items(n.PromotionPaymentOffer())})}static OperationErrorResponse(){return a.object({message:a.string().allow(""),success:a.boolean()})}static LadderPrice(){return a.object({currency_symbol:a.string().allow(""),offer_price:a.number(),currency_code:a.string().allow(""),effective:a.number(),marked:a.number()})}static LadderOfferItem(){return a.object({price:n.LadderPrice(),margin:a.number(),max_quantity:a.number(),min_quantity:a.number(),type:a.string().allow("")})}static LadderPriceOffer(){return a.object({id:a.string().allow(""),buy_rules:a.any(),calculate_on:a.string().allow(""),offer_text:a.string().allow(""),promotion_group:a.string().allow(""),valid_till:a.string().allow(""),discount_rules:a.array().items(a.any()),offer_prices:a.array().items(n.LadderOfferItem()),free_gift_items:a.array().items(n.FreeGiftItems()),description:a.string().allow("")})}static CurrencyInfo(){return a.object({code:a.string().allow(""),symbol:a.string().allow("")})}static LadderPriceOffers(){return a.object({available_offers:a.array().items(n.LadderPriceOffer()),currency:n.CurrencyInfo()})}static PaymentMeta(){return a.object({merchant_code:a.string().allow(""),type:a.string().allow(""),payment_gateway:a.string().allow(""),payment_identifier:a.string().allow("").allow(null)})}static PaymentMethod(){return a.object({payment_meta:n.PaymentMeta().required(),mode:a.string().allow("").required(),payment:a.string().allow(""),amount:a.number().allow(null),name:a.string().allow(""),payment_extra_identifiers:a.any()})}static CartCheckoutDetailV2Request(){return a.object({custom_meta:a.any(),customer_details:a.any().allow(null),merchant_code:a.string().allow(""),cart_id:a.string().allow(""),id:a.string().allow("").allow(null),payment_auto_confirm:a.boolean(),payment_methods:a.array().items(n.PaymentMethod()).required(),payment_mode:a.string().allow("").required(),aggregator:a.string().allow(""),address_id:a.string().allow(""),callback_url:a.string().allow("").allow(null),delivery_address:a.any(),staff:n.StaffCheckout(),order_type:a.string().allow(""),ordering_store:a.number().allow(null),extra_meta:a.any(),payment_identifier:a.string().allow("").allow(null),billing_address:a.any(),payment_params:a.any().allow(null),billing_address_id:a.string().allow(""),meta:a.any(),iin:a.string().allow(""),network:a.string().allow(""),type:a.string().allow(""),card_id:a.string().allow("")})}}e.exports=n},3206:(e,t,r)=>{const a=r(6075),n=r(7785);e.exports=class{static addAddress(){return a.object({body:n.Address().required()}).required()}static addItems(){return a.object({i:a.boolean(),b:a.boolean(),areaCode:a.string().allow(""),buyNow:a.boolean(),id:a.string().allow(""),orderType:a.string().allow(""),body:n.AddCartRequest().required()}).required()}static applyCoupon(){return a.object({i:a.boolean(),b:a.boolean(),p:a.boolean(),id:a.string().allow(""),buyNow:a.boolean(),cartType:a.string().allow(""),body:n.ApplyCouponRequest().required()}).required()}static applyRewardPoints(){return a.object({id:a.string().allow(""),i:a.boolean(),b:a.boolean(),buyNow:a.boolean(),body:n.RewardPointRequest().required()}).required()}static checkoutCart(){return a.object({buyNow:a.boolean(),cartType:a.string().allow(""),body:n.CartCheckoutDetailRequest().required()}).required()}static checkoutCartV2(){return a.object({buyNow:a.boolean(),cartType:a.string().allow(""),body:n.CartCheckoutDetailV2Request().required()}).required()}static deleteCart(){return a.object({id:a.string().allow("")})}static getAddressById(){return a.object({id:a.string().allow("").required(),cartId:a.string().allow(""),buyNow:a.boolean(),mobileNo:a.string().allow(""),checkoutMode:a.string().allow(""),tags:a.string().allow(""),isDefault:a.boolean()}).required()}static getAddresses(){return a.object({cartId:a.string().allow(""),buyNow:a.boolean(),mobileNo:a.string().allow(""),checkoutMode:a.string().allow(""),tags:a.string().allow(""),isDefault:a.boolean()})}static getBulkDiscountOffers(){return a.object({itemId:a.number(),articleId:a.string().allow(""),uid:a.number(),slug:a.string().allow("")})}static getCart(){return a.object({id:a.string().allow(""),i:a.boolean(),b:a.boolean(),c:a.boolean(),assignCardId:a.number(),areaCode:a.string().allow(""),buyNow:a.boolean(),orderType:a.string().allow("")})}static getCartLastModified(){return a.object({id:a.string().allow("")})}static getCartShareLink(){return a.object({body:n.GetShareCartLinkRequest().required()}).required()}static getCartSharedItems(){return a.object({token:a.string().allow("").required()}).required()}static getCoupons(){return a.object({id:a.string().allow(""),buyNow:a.boolean(),slug:a.string().allow(""),storeId:a.string().allow("")})}static getItemCount(){return a.object({id:a.string().allow(""),buyNow:a.boolean()})}static getLadderOffers(){return a.object({slug:a.string().allow("").required(),storeId:a.string().allow(""),promotionId:a.string().allow(""),pageSize:a.number()}).required()}static getPromotionOffers(){return a.object({slug:a.string().allow(""),pageSize:a.number(),promotionGroup:a.string().allow(""),storeId:a.number(),cartType:a.string().allow("")})}static getPromotionPaymentOffers(){return a.object({id:a.string().allow(""),uid:a.number()})}static getShipments(){return a.object({p:a.boolean(),id:a.string().allow(""),buyNow:a.boolean(),addressId:a.string().allow(""),areaCode:a.string().allow(""),orderType:a.string().allow("")})}static removeAddress(){return a.object({id:a.string().allow("").required()}).required()}static removeCoupon(){return a.object({id:a.string().allow(""),buyNow:a.boolean()})}static selectAddress(){return a.object({cartId:a.string().allow(""),buyNow:a.boolean(),i:a.boolean(),b:a.boolean(),body:n.SelectCartAddressRequest().required()}).required()}static selectPaymentMode(){return a.object({id:a.string().allow(""),buyNow:a.boolean(),body:n.UpdateCartPaymentRequest().required()}).required()}static updateAddress(){return a.object({id:a.string().allow("").required(),body:n.Address().required()}).required()}static updateCart(){return a.object({id:a.string().allow(""),i:a.boolean(),b:a.boolean(),areaCode:a.string().allow(""),buyNow:a.boolean(),cartType:a.string().allow(""),orderType:a.string().allow(""),body:n.UpdateCartRequest().required()}).required()}static updateCartMeta(){return a.object({id:a.string().allow(""),buyNow:a.boolean(),body:n.CartMetaRequest().required()}).required()}static updateCartWithSharedItems(){return a.object({token:a.string().allow("").required(),action:a.string().allow("").required()}).required()}static validateCouponForPayment(){return a.object({id:a.string().allow(""),buyNow:a.boolean(),addressId:a.string().allow(""),paymentMode:a.string().allow(""),paymentIdentifier:a.string().allow(""),aggregatorName:a.string().allow(""),merchantCode:a.string().allow(""),iin:a.string().allow(""),network:a.string().allow(""),type:a.string().allow(""),cardId:a.string().allow(""),cartType:a.string().allow("")})}}},2099:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=r(1121),l=r(700),c=r(103),{Logger:u}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={followById:"/service/application/catalog/v1.0/follow/{collection_type}/{collection_id}/",getBrandDetailBySlug:"/service/application/catalog/v1.0/brands/{slug}/",getBrands:"/service/application/catalog/v1.0/brands/",getCategories:"/service/application/catalog/v1.0/categories/",getCategoryDetailBySlug:"/service/application/catalog/v1.0/categories/{slug}/",getCollectionDetailBySlug:"/service/application/catalog/v1.0/collections/{slug}/",getCollectionItemsBySlug:"/service/application/catalog/v1.0/collections/{slug}/items/",getCollections:"/service/application/catalog/v1.0/collections/",getComparedFrequentlyProductBySlug:"/service/application/catalog/v1.0/products/{slug}/similar/compared-frequently/",getDepartments:"/service/application/catalog/v1.0/departments/",getFollowIds:"/service/application/catalog/v1.0/follow/ids/",getFollowedListing:"/service/application/catalog/v1.0/follow/{collection_type}/",getFollowerCountById:"/service/application/catalog/v1.0/follow/{collection_type}/{collection_id}/count/",getHomeProducts:"/service/application/catalog/v1.0/home/listing/",getInStockLocations:"/service/application/catalog/v1.0/in-stock/locations/",getLocationDetailsById:"/service/application/catalog/v1.0/locations/{location_id}/",getProductBundlesBySlug:"/service/application/catalog/v1.0/product-grouping/",getProductComparisonBySlugs:"/service/application/catalog/v1.0/products/compare/",getProductDetailBySlug:"/service/application/catalog/v1.0/products/{slug}/",getProductPriceBySlug:"/service/application/catalog/v3.0/products/{slug}/sizes/{size}/price/",getProductSellersBySlug:"/service/application/catalog/v3.0/products/{slug}/sizes/{size}/sellers/",getProductSizesBySlug:"/service/application/catalog/v1.0/products/{slug}/sizes/",getProductStockByIds:"/service/application/catalog/v1.0/products/stock-status/",getProductStockForTimeByIds:"/service/application/catalog/v1.0/products/stock-status/poll/",getProductVariantsBySlug:"/service/application/catalog/v1.0/products/{slug}/variants/",getProducts:"/service/application/catalog/v1.0/products/",getSearchResults:"/service/application/catalog/v1.0/auto-complete/",getSimilarComparisonProductBySlug:"/service/application/catalog/v1.0/products/{slug}/similar/compare/",getStores:"/service/application/catalog/v1.0/locations/",unfollowById:"/service/application/catalog/v1.0/follow/{collection_type}/{collection_id}/"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async followById({collectionType:e,collectionId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.followById().validate({collectionType:e,collectionId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.followById().validate({collectionType:e,collectionId:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > followById \n ${p}`});const g=await a.execute(this._conf,"post",s({url:this._urls.followById,params:{collectionType:e,collectionId:t}}),{},void 0,{...r},{responseHeaders:i});let m=g;i&&(m=g[0]);const{error:f}=c.FollowPostResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > followById \n ${f}`})}return g}async getBrandDetailBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getBrandDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getBrandDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getBrandDetailBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getBrandDetailBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.BrandDetailResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getBrandDetailBySlug \n ${m}`})}return p}async getBrands({department:e,pageNo:t,pageSize:r,requestHeaders:i}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=l.getBrands().validate({department:e,pageNo:t,pageSize:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=l.getBrands().validate({department:e,pageNo:t,pageSize:r},{abortEarly:!1,allowUnknown:!1});g&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getBrands \n ${g}`});const m={};m.department=e,m.page_no=t,m.page_size=r;const f=await a.execute(this._conf,"get",s({url:this._urls.getBrands,params:{}}),m,void 0,{...i},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=c.BrandListingResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getBrands \n ${y}`})}return f}getBrandsPaginator({department:e,pageSize:t}={}){const r=new i;return r.setCallback((async()=>{r.nextId;const a=r.pageNo,n=await this.getBrands({department:e,pageNo:a,pageSize:t});return r.setPaginator({hasNext:!!n.page.has_next,nextId:n.page.next_id}),n}).bind(this)),r}async getCategories({department:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getCategories().validate({department:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getCategories().validate({department:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getCategories \n ${d}`});const p={};p.department=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getCategories,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=c.CategoryListingResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getCategories \n ${f}`})}return g}async getCategoryDetailBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getCategoryDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getCategoryDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getCategoryDetailBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getCategoryDetailBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.CategoryMetaResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getCategoryDetailBySlug \n ${m}`})}return p}async getCollectionDetailBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getCollectionDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getCollectionDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getCollectionDetailBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getCollectionDetailBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.CollectionDetailResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getCollectionDetailBySlug \n ${m}`})}return p}async getCollectionItemsBySlug({slug:e,f:t,q:r,filters:i,sortOn:d,pageId:p,pageSize:g,pageNo:m,pageType:f,requestHeaders:w}={requestHeaders:{}},{responseHeaders:y}={responseHeaders:!1}){const{error:b}=l.getCollectionItemsBySlug().validate({slug:e,f:t,q:r,filters:i,sortOn:d,pageId:p,pageSize:g,pageNo:m,pageType:f},{abortEarly:!1,allowUnknown:!0});if(b)return Promise.reject(new n(b));const{error:h}=l.getCollectionItemsBySlug().validate({slug:e,f:t,q:r,filters:i,sortOn:d,pageId:p,pageSize:g,pageNo:m,pageType:f},{abortEarly:!1,allowUnknown:!1});h&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getCollectionItemsBySlug \n ${h}`});const _={};_.f=t,_.q=r,_.filters=i,_.sort_on=d,_.page_id=p,_.page_size=g,_.page_no=m,_.page_type=f;const v=await a.execute(this._conf,"get",s({url:this._urls.getCollectionItemsBySlug,params:{slug:e}}),_,void 0,{...w},{responseHeaders:y});let R=v;y&&(R=v[0]);const{error:k}=c.ProductListingResponse().validate(R,{abortEarly:!1,allowUnknown:!0});if(k){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(k));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getCollectionItemsBySlug \n ${k}`})}return v}getCollectionItemsBySlugPaginator({slug:e,f:t,q:r,filters:a,sortOn:n,pageSize:o}={}){const s=new i;return s.setCallback((async()=>{const i=s.nextId,l=s.pageNo,c=await this.getCollectionItemsBySlug({slug:e,f:t,q:r,filters:a,sortOn:n,pageId:i,pageSize:o,pageNo:l,pageType:"cursor"});return s.setPaginator({hasNext:!!c.page.has_next,nextId:c.page.next_id}),c}).bind(this)),s}async getCollections({pageNo:e,pageSize:t,tag:r,q:i,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=l.getCollections().validate({pageNo:e,pageSize:t,tag:r,q:i},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=l.getCollections().validate({pageNo:e,pageSize:t,tag:r,q:i},{abortEarly:!1,allowUnknown:!1});m&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getCollections \n ${m}`});const f={};f.page_no=e,f.page_size=t,f.tag=r,f.q=i;const w=await a.execute(this._conf,"get",s({url:this._urls.getCollections,params:{}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=c.GetCollectionListingResponse().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getCollections \n ${b}`})}return w}getCollectionsPaginator({pageSize:e,tag:t,q:r}={}){const a=new i;return a.setCallback((async()=>{a.nextId;const n=a.pageNo,o=await this.getCollections({pageNo:n,pageSize:e,tag:t,q:r});return a.setPaginator({hasNext:!!o.page.has_next,nextId:o.page.next_id}),o}).bind(this)),a}async getComparedFrequentlyProductBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getComparedFrequentlyProductBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getComparedFrequentlyProductBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getComparedFrequentlyProductBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getComparedFrequentlyProductBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.ProductFrequentlyComparedSimilarResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getComparedFrequentlyProductBySlug \n ${m}`})}return p}async getDepartments({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getDepartments().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getDepartments().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getDepartments \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getDepartments,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.DepartmentResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getDepartments \n ${g}`})}return d}async getFollowIds({collectionType:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getFollowIds().validate({collectionType:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getFollowIds().validate({collectionType:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getFollowIds \n ${d}`});const p={};p.collection_type=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getFollowIds,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=c.FollowIdsResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getFollowIds \n ${f}`})}return g}async getFollowedListing({collectionType:e,pageId:t,pageSize:r,requestHeaders:i}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=l.getFollowedListing().validate({collectionType:e,pageId:t,pageSize:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=l.getFollowedListing().validate({collectionType:e,pageId:t,pageSize:r},{abortEarly:!1,allowUnknown:!1});g&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getFollowedListing \n ${g}`});const m={};m.page_id=t,m.page_size=r;const f=await a.execute(this._conf,"get",s({url:this._urls.getFollowedListing,params:{collectionType:e}}),m,void 0,{...i},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=c.GetFollowListingResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getFollowedListing \n ${y}`})}return f}getFollowedListingPaginator({collectionType:e,pageSize:t}={}){const r=new i;return r.setCallback((async()=>{const a=r.nextId,n=(r.pageNo,await this.getFollowedListing({collectionType:e,pageId:a,pageSize:t}));return r.setPaginator({hasNext:!!n.page.has_next,nextId:n.page.next_id}),n}).bind(this)),r}async getFollowerCountById({collectionType:e,collectionId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getFollowerCountById().validate({collectionType:e,collectionId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getFollowerCountById().validate({collectionType:e,collectionId:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getFollowerCountById \n ${p}`});const g=await a.execute(this._conf,"get",s({url:this._urls.getFollowerCountById,params:{collectionType:e,collectionId:t}}),{},void 0,{...r},{responseHeaders:i});let m=g;i&&(m=g[0]);const{error:f}=c.FollowerCountResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getFollowerCountById \n ${f}`})}return g}async getHomeProducts({sortOn:e,pageId:t,pageSize:r,requestHeaders:i}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=l.getHomeProducts().validate({sortOn:e,pageId:t,pageSize:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=l.getHomeProducts().validate({sortOn:e,pageId:t,pageSize:r},{abortEarly:!1,allowUnknown:!1});g&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getHomeProducts \n ${g}`});const m={};m.sort_on=e,m.page_id=t,m.page_size=r;const f=await a.execute(this._conf,"get",s({url:this._urls.getHomeProducts,params:{}}),m,void 0,{...i},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=c.HomeListingResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getHomeProducts \n ${y}`})}return f}getHomeProductsPaginator({sortOn:e,pageSize:t}={}){const r=new i;return r.setCallback((async()=>{const a=r.nextId,n=(r.pageNo,await this.getHomeProducts({sortOn:e,pageId:a,pageSize:t}));return r.setPaginator({hasNext:!!n.page.has_next,nextId:n.page.next_id}),n}).bind(this)),r}async getInStockLocations({pageNo:e,pageSize:t,q:r,city:i,range:d,latitude:p,longitude:g,requestHeaders:m}={requestHeaders:{}},{responseHeaders:f}={responseHeaders:!1}){const{error:w}=l.getInStockLocations().validate({pageNo:e,pageSize:t,q:r,city:i,range:d,latitude:p,longitude:g},{abortEarly:!1,allowUnknown:!0});if(w)return Promise.reject(new n(w));const{error:y}=l.getInStockLocations().validate({pageNo:e,pageSize:t,q:r,city:i,range:d,latitude:p,longitude:g},{abortEarly:!1,allowUnknown:!1});y&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getInStockLocations \n ${y}`});const b={};b.page_no=e,b.page_size=t,b.q=r,b.city=i,b.range=d,b.latitude=p,b.longitude=g;const h=await a.execute(this._conf,"get",s({url:this._urls.getInStockLocations,params:{}}),b,void 0,{...m},{responseHeaders:f});let _=h;f&&(_=h[0]);const{error:v}=c.ApplicationStoreListing().validate(_,{abortEarly:!1,allowUnknown:!0});if(v){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(v));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getInStockLocations \n ${v}`})}return h}getInStockLocationsPaginator({pageSize:e,q:t,city:r,range:a,latitude:n,longitude:o}={}){const s=new i;return s.setCallback((async()=>{s.nextId;const i=s.pageNo,l=await this.getInStockLocations({pageNo:i,pageSize:e,q:t,city:r,range:a,latitude:n,longitude:o});return s.setPaginator({hasNext:!!l.page.has_next,nextId:l.page.next_id}),l}).bind(this)),s}async getLocationDetailsById({locationId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getLocationDetailsById().validate({locationId:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getLocationDetailsById().validate({locationId:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getLocationDetailsById \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getLocationDetailsById,params:{locationId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.StoreDetails().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getLocationDetailsById \n ${m}`})}return p}async getProductBundlesBySlug({slug:e,id:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getProductBundlesBySlug().validate({slug:e,id:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getProductBundlesBySlug().validate({slug:e,id:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductBundlesBySlug \n ${p}`});const g={};g.slug=e,g.id=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getProductBundlesBySlug,params:{}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.ProductBundle().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductBundlesBySlug \n ${w}`})}return m}async getProductComparisonBySlugs({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getProductComparisonBySlugs().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getProductComparisonBySlugs().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductComparisonBySlugs \n ${d}`});const p={};p.slug=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getProductComparisonBySlugs,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=c.ProductsComparisonResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductComparisonBySlugs \n ${f}`})}return g}async getProductDetailBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getProductDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getProductDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductDetailBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getProductDetailBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.ProductDetail().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductDetailBySlug \n ${m}`})}return p}async getProductPriceBySlug({slug:e,size:t,storeId:r,moq:i,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=l.getProductPriceBySlug().validate({slug:e,size:t,storeId:r,moq:i},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=l.getProductPriceBySlug().validate({slug:e,size:t,storeId:r,moq:i},{abortEarly:!1,allowUnknown:!1});m&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductPriceBySlug \n ${m}`});const f={};f.store_id=r,f.moq=i;const w=await a.execute(this._conf,"get",s({url:this._urls.getProductPriceBySlug,params:{slug:e,size:t}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=c.ProductSizePriceResponseV3().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductPriceBySlug \n ${b}`})}return w}async getProductSellersBySlug({slug:e,size:t,strategy:r,pageNo:i,pageSize:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=l.getProductSellersBySlug().validate({slug:e,size:t,strategy:r,pageNo:i,pageSize:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=l.getProductSellersBySlug().validate({slug:e,size:t,strategy:r,pageNo:i,pageSize:d},{abortEarly:!1,allowUnknown:!1});f&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductSellersBySlug \n ${f}`});const w={};w.strategy=r,w.page_no=i,w.page_size=d;const y=await a.execute(this._conf,"get",s({url:this._urls.getProductSellersBySlug,params:{slug:e,size:t}}),w,void 0,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=c.ProductSizeSellersResponseV3().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductSellersBySlug \n ${h}`})}return y}getProductSellersBySlugPaginator({slug:e,size:t,strategy:r,pageSize:a}={}){const n=new i;return n.setCallback((async()=>{n.nextId;const o=n.pageNo,s=await this.getProductSellersBySlug({slug:e,size:t,strategy:r,pageNo:o,pageSize:a});return n.setPaginator({hasNext:!!s.page.has_next,nextId:s.page.next_id}),s}).bind(this)),n}async getProductSizesBySlug({slug:e,storeId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getProductSizesBySlug().validate({slug:e,storeId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getProductSizesBySlug().validate({slug:e,storeId:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductSizesBySlug \n ${p}`});const g={};g.store_id=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getProductSizesBySlug,params:{slug:e}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.ProductSizes().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductSizesBySlug \n ${w}`})}return m}async getProductStockByIds({itemId:e,alu:t,skuCode:r,ean:i,upc:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=l.getProductStockByIds().validate({itemId:e,alu:t,skuCode:r,ean:i,upc:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=l.getProductStockByIds().validate({itemId:e,alu:t,skuCode:r,ean:i,upc:d},{abortEarly:!1,allowUnknown:!1});f&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductStockByIds \n ${f}`});const w={};w.item_id=e,w.alu=t,w.sku_code=r,w.ean=i,w.upc=d;const y=await a.execute(this._conf,"get",s({url:this._urls.getProductStockByIds,params:{}}),w,void 0,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=c.ProductStockStatusResponse().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductStockByIds \n ${h}`})}return y}async getProductStockForTimeByIds({timestamp:e,pageSize:t,pageId:r,requestHeaders:i}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=l.getProductStockForTimeByIds().validate({timestamp:e,pageSize:t,pageId:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=l.getProductStockForTimeByIds().validate({timestamp:e,pageSize:t,pageId:r},{abortEarly:!1,allowUnknown:!1});g&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductStockForTimeByIds \n ${g}`});const m={};m.timestamp=e,m.page_size=t,m.page_id=r;const f=await a.execute(this._conf,"get",s({url:this._urls.getProductStockForTimeByIds,params:{}}),m,void 0,{...i},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=c.ProductStockPolling().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductStockForTimeByIds \n ${y}`})}return f}getProductStockForTimeByIdsPaginator({timestamp:e,pageSize:t}={}){const r=new i;return r.setCallback((async()=>{const a=r.nextId,n=(r.pageNo,await this.getProductStockForTimeByIds({timestamp:e,pageSize:t,pageId:a}));return r.setPaginator({hasNext:!!n.page.has_next,nextId:n.page.next_id}),n}).bind(this)),r}async getProductVariantsBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getProductVariantsBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getProductVariantsBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductVariantsBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getProductVariantsBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.ProductVariantsResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductVariantsBySlug \n ${m}`})}return p}async getProducts({q:e,f:t,filters:r,sortOn:i,pageId:d,pageSize:p,pageNo:g,pageType:m,requestHeaders:f}={requestHeaders:{}},{responseHeaders:w}={responseHeaders:!1}){const{error:y}=l.getProducts().validate({q:e,f:t,filters:r,sortOn:i,pageId:d,pageSize:p,pageNo:g,pageType:m},{abortEarly:!1,allowUnknown:!0});if(y)return Promise.reject(new n(y));const{error:b}=l.getProducts().validate({q:e,f:t,filters:r,sortOn:i,pageId:d,pageSize:p,pageNo:g,pageType:m},{abortEarly:!1,allowUnknown:!1});b&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProducts \n ${b}`});const h={};h.q=e,h.f=t,h.filters=r,h.sort_on=i,h.page_id=d,h.page_size=p,h.page_no=g,h.page_type=m;const _=await a.execute(this._conf,"get",s({url:this._urls.getProducts,params:{}}),h,void 0,{...f},{responseHeaders:w});let v=_;w&&(v=_[0]);const{error:R}=c.ProductListingResponse().validate(v,{abortEarly:!1,allowUnknown:!0});if(R){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(R));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProducts \n ${R}`})}return _}getProductsPaginator({q:e,f:t,filters:r,sortOn:a,pageSize:n}={}){const o=new i;return o.setCallback((async()=>{const s=o.nextId,i=o.pageNo,l=await this.getProducts({q:e,f:t,filters:r,sortOn:a,pageId:s,pageSize:n,pageNo:i,pageType:"cursor"});return o.setPaginator({hasNext:!!l.page.has_next,nextId:l.page.next_id}),l}).bind(this)),o}async getSearchResults({q:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getSearchResults().validate({q:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getSearchResults().validate({q:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getSearchResults \n ${d}`});const p={};p.q=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getSearchResults,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=c.AutoCompleteResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getSearchResults \n ${f}`})}return g}async getSimilarComparisonProductBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getSimilarComparisonProductBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getSimilarComparisonProductBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getSimilarComparisonProductBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getSimilarComparisonProductBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.ProductCompareResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getSimilarComparisonProductBySlug \n ${m}`})}return p}async getStores({pageNo:e,pageSize:t,q:r,city:i,range:d,latitude:p,longitude:g,tags:m,requestHeaders:f}={requestHeaders:{}},{responseHeaders:w}={responseHeaders:!1}){const{error:y}=l.getStores().validate({pageNo:e,pageSize:t,q:r,city:i,range:d,latitude:p,longitude:g,tags:m},{abortEarly:!1,allowUnknown:!0});if(y)return Promise.reject(new n(y));const{error:b}=l.getStores().validate({pageNo:e,pageSize:t,q:r,city:i,range:d,latitude:p,longitude:g,tags:m},{abortEarly:!1,allowUnknown:!1});b&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getStores \n ${b}`});const h={};h.page_no=e,h.page_size=t,h.q=r,h.city=i,h.range=d,h.latitude=p,h.longitude=g,h.tags=m;const _=await a.execute(this._conf,"get",s({url:this._urls.getStores,params:{}}),h,void 0,{...f},{responseHeaders:w});let v=_;w&&(v=_[0]);const{error:R}=c.StoreListingResponse().validate(v,{abortEarly:!1,allowUnknown:!0});if(R){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(R));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getStores \n ${R}`})}return _}getStoresPaginator({pageSize:e,q:t,city:r,range:a,latitude:n,longitude:o,tags:s}={}){const l=new i;return l.setCallback((async()=>{l.nextId;const i=l.pageNo,c=await this.getStores({pageNo:i,pageSize:e,q:t,city:r,range:a,latitude:n,longitude:o,tags:s});return l.setPaginator({hasNext:!!c.page.has_next,nextId:c.page.next_id}),c}).bind(this)),l}async unfollowById({collectionType:e,collectionId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.unfollowById().validate({collectionType:e,collectionId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.unfollowById().validate({collectionType:e,collectionId:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > unfollowById \n ${p}`});const g=await a.execute(this._conf,"delete",s({url:this._urls.unfollowById,params:{collectionType:e,collectionId:t}}),{},void 0,{...r},{responseHeaders:i});let m=g;i&&(m=g[0]);const{error:f}=c.FollowPostResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > unfollowById \n ${f}`})}return g}}},103:(e,t,r)=>{const a=r(6075);class n{static ProductDetailCustomOrder(){return a.object({manufacturing_time:a.number(),manufacturing_time_unit:a.string().allow(""),is_custom_order:a.boolean()})}static Meta(){return a.object({source:a.string().allow("")})}static Media(){return a.object({url:a.string().allow(""),type:a.string().allow(""),meta:n.Meta(),alt:a.string().allow("")})}static ProductListingActionPage(){return a.object({type:a.string().allow(""),query:a.any(),params:a.any()})}static ProductListingAction(){return a.object({type:a.string().allow(""),page:n.ProductListingActionPage()})}static ProductBrand(){return a.object({uid:a.number(),logo:n.Media(),description:a.string().allow(""),name:a.string().allow(""),action:n.ProductListingAction()})}static ProductDepartment(){return a.object({uid:a.number(),logo:n.Media(),slug:a.string().allow(""),name:a.string().allow("")})}static ProductCategoryMap(){return a.object({l1:n.ProductBrand(),l2:n.ProductBrand(),l3:n.ProductBrand()})}static NetQuantity(){return a.object({unit:a.any(),value:a.number()})}static CustomMetaFields(){return a.object({value:a.string().allow("").required(),key:a.string().allow("").required()})}static ApplicationItemSEO(){return a.object({title:a.any(),description:a.any()})}static ProductDetailAttribute(){return a.object({value:a.string().allow(""),type:a.string().allow(""),key:a.string().allow("")})}static ProductDetailGroupedAttribute(){return a.object({title:a.string().allow(""),details:a.array().items(n.ProductDetailAttribute())})}static ApplicationItemMOQ(){return a.object({minimum:a.number(),maximum:a.number(),increment_unit:a.number()})}static Price(){return a.object({min:a.number(),currency_symbol:a.string().allow(""),currency_code:a.string().allow(""),max:a.number()})}static ProductListingPrice(){return a.object({effective:n.Price(),marked:n.Price()})}static ProductSizesPrice(){return a.object({effective:n.Price(),marked:n.Price(),selling:n.Price()})}static ProductDetail(){return a.object({uid:a.number(),custom_order:n.ProductDetailCustomOrder(),category_map:n.ProductCategoryMap(),net_quantity:n.NetQuantity(),rating_count:a.number(),_custom_meta:a.array().items(n.CustomMetaFields()),similars:a.array().items(a.string().allow("")),tags:a.array().items(a.string().allow("")),seo:n.ApplicationItemSEO(),image_nature:a.string().allow(""),has_variant:a.boolean(),item_type:a.string().allow(""),description:a.string().allow(""),grouped_attributes:a.array().items(n.ProductDetailGroupedAttribute()),medias:a.array().items(n.Media()),color:a.string().allow(""),type:a.string().allow(""),product_online_date:a.string().allow(""),_custom_json:a.any(),item_code:a.string().allow(""),name:a.string().allow(""),moq:n.ApplicationItemMOQ(),short_description:a.string().allow(""),categories:a.array().items(n.ProductBrand()),attributes:a.any(),discount:a.string().allow(""),tryouts:a.array().items(a.string().allow("")),slug:a.string().allow("").required(),action:n.ProductListingAction(),rating:a.number(),is_dependent:a.boolean(),product_group_tag:a.array().items(a.string().allow("")),highlights:a.array().items(a.string().allow("")),price:n.ProductListingPrice(),brand:n.ProductBrand(),department:n.ProductDepartment(),teaser_tag:a.string().allow("")})}static ErrorResponse(){return a.object({error:a.string().allow("")})}static Dimension(){return a.object({unit:a.string().allow("").required(),height:a.number().required(),length:a.number().required(),width:a.number().required(),is_default:a.boolean().required()})}static Weight(){return a.object({unit:a.string().allow("").required(),shipping:a.number().required(),is_default:a.boolean().required()})}static DiscountMeta(){return a.object({timer:a.boolean(),start_timer_in_minutes:a.number(),start:a.string().allow(""),end:a.string().allow("")})}static ProductSize(){return a.object({quantity:a.number(),dimension:n.Dimension(),weight:n.Weight(),is_available:a.boolean(),seller_identifiers:a.array().items(a.string().allow("")),value:a.string().allow(""),display:a.string().allow("")})}static SizeChartValues(){return a.object({col_3:a.string().allow(""),col_6:a.string().allow(""),col_2:a.string().allow(""),col_4:a.string().allow(""),col_1:a.string().allow(""),col_5:a.string().allow("")})}static ColumnHeader(){return a.object({convertable:a.boolean(),value:a.string().allow("")})}static ColumnHeaders(){return a.object({col_3:n.ColumnHeader(),col_6:n.ColumnHeader(),col_2:n.ColumnHeader(),col_4:n.ColumnHeader(),col_1:n.ColumnHeader(),col_5:n.ColumnHeader()})}static SizeChart(){return a.object({unit:a.string().allow(""),image:a.string().allow(""),size_tip:a.string().allow(""),sizes:a.array().items(n.SizeChartValues()),description:a.string().allow(""),title:a.string().allow(""),headers:n.ColumnHeaders()})}static ProductSizeStores(){return a.object({count:a.number()})}static ProductSizes(){return a.object({sizes:a.array().items(n.ProductSize()),price:n.ProductSizesPrice(),price_per_piece:n.ProductSizesPrice(),size_chart:n.SizeChart(),sellable:a.boolean(),multi_size:a.boolean(),discount:a.string().allow(""),stores:n.ProductSizeStores(),discount_meta:n.DiscountMeta()})}static AttributeDetail(){return a.object({logo:a.string().allow(""),description:a.string().allow(""),display:a.string().allow(""),key:a.string().allow("")})}static AttributeMetadata(){return a.object({title:a.string().allow(""),details:a.array().items(n.AttributeDetail())})}static ProductsComparisonResponse(){return a.object({items:a.array().items(n.ProductDetail()),attributes_metadata:a.array().items(n.AttributeMetadata())})}static ProductCompareResponse(){return a.object({title:a.string().allow(""),items:a.array().items(n.ProductDetail()),attributes_metadata:a.array().items(n.AttributeMetadata()),subtitle:a.string().allow("")})}static ProductFrequentlyComparedSimilarResponse(){return a.object({similars:n.ProductCompareResponse()})}static ProductVariantItemResponse(){return a.object({uid:a.number(),color_name:a.string().allow(""),color:a.string().allow(""),medias:a.array().items(n.Media()),is_available:a.boolean(),_custom_meta:a.array().items(n.CustomMetaFields()),name:a.string().allow(""),value:a.string().allow(""),slug:a.string().allow(""),_custom_json:a.object().pattern(/\S/,a.any()),action:n.ProductListingAction()})}static ProductVariantResponse(){return a.object({display_type:a.string().allow(""),header:a.string().allow(""),group_id:a.string().allow(""),items:a.array().items(n.ProductVariantItemResponse()),key:a.string().allow(""),logo:a.string().allow("")})}static ProductVariantsResponse(){return a.object({variants:a.array().items(n.ProductVariantResponse())})}static StoreDetail(){return a.object({name:a.string().allow(""),city:a.string().allow(""),id:a.number(),code:a.string().allow("")})}static ProductStockPrice(){return a.object({effective:a.number(),currency:a.string().allow(""),marked:a.number()})}static CompanyDetail(){return a.object({name:a.string().allow(""),id:a.number()})}static Seller(){return a.object({uid:a.number(),name:a.string().allow(""),count:a.number()})}static ProductStockStatusItem(){return a.object({uid:a.string().allow(""),quantity:a.number(),store:n.StoreDetail(),size:a.string().allow(""),price:n.ProductStockPrice(),company:n.CompanyDetail(),item_id:a.number(),seller:n.Seller(),identifier:a.any()})}static ProductStockStatusResponse(){return a.object({items:a.array().items(n.ProductStockStatusItem())})}static Page(){return a.object({item_total:a.number(),next_id:a.string().allow(""),has_previous:a.boolean(),has_next:a.boolean(),current:a.number(),type:a.string().allow("").required(),size:a.number()})}static ProductStockPolling(){return a.object({items:a.array().items(n.ProductStockStatusItem()),page:n.Page().required()})}static ProductVariantListingResponse(){return a.object({header:a.string().allow(""),items:a.array().items(n.ProductVariantItemResponse()),total:a.number(),key:a.string().allow(""),display_type:a.string().allow("")})}static ProductListingDetail(){return a.object({uid:a.number(),custom_order:n.ProductDetailCustomOrder(),sizes:a.array().items(a.string().allow("")),category_map:n.ProductCategoryMap(),net_quantity:n.NetQuantity(),rating_count:a.number(),_custom_meta:a.array().items(n.CustomMetaFields()),similars:a.array().items(a.string().allow("")),tags:a.array().items(a.string().allow("")),seo:n.ApplicationItemSEO(),image_nature:a.string().allow(""),has_variant:a.boolean(),item_type:a.string().allow(""),description:a.string().allow(""),grouped_attributes:a.array().items(n.ProductDetailGroupedAttribute()),medias:a.array().items(n.Media()),color:a.string().allow(""),type:a.string().allow(""),product_online_date:a.string().allow(""),_custom_json:a.any(),item_code:a.string().allow(""),name:a.string().allow(""),moq:n.ApplicationItemMOQ(),short_description:a.string().allow(""),categories:a.array().items(n.ProductBrand()),sellable:a.boolean(),attributes:a.any(),variants:a.array().items(n.ProductVariantListingResponse()),discount:a.string().allow(""),tryouts:a.array().items(a.string().allow("")),identifiers:a.array().items(a.string().allow("")),slug:a.string().allow("").required(),action:n.ProductListingAction(),rating:a.number(),is_dependent:a.boolean(),product_group_tag:a.array().items(a.string().allow("")),highlights:a.array().items(a.string().allow("")),price:n.ProductListingPrice(),brand:n.ProductBrand(),teaser_tag:a.string().allow("")})}static ProductFiltersValue(){return a.object({min:a.number(),display_format:a.string().allow(""),selected_max:a.number(),value:a.string().allow(""),query_format:a.string().allow(""),currency_symbol:a.string().allow(""),selected_min:a.number(),currency_code:a.string().allow(""),is_selected:a.boolean().required(),display:a.string().allow("").required(),count:a.number(),max:a.number()})}static ProductFiltersKey(){return a.object({logo:a.string().allow(""),name:a.string().allow("").required(),kind:a.string().allow(""),display:a.string().allow("").required()})}static ProductFilters(){return a.object({values:a.array().items(n.ProductFiltersValue()).required(),key:n.ProductFiltersKey().required()})}static ProductSortOn(){return a.object({logo:a.string().allow(""),is_selected:a.boolean(),name:a.string().allow(""),value:a.string().allow(""),display:a.string().allow("")})}static ProductListingResponse(){return a.object({items:a.array().items(n.ProductListingDetail()),filters:a.array().items(n.ProductFilters()),page:n.Page().required(),sort_on:a.array().items(n.ProductSortOn())})}static ImageUrls(){return a.object({portrait:n.Media(),landscape:n.Media()})}static BrandItem(){return a.object({uid:a.number(),logo:n.Media(),description:a.string().allow(""),banners:n.ImageUrls(),departments:a.array().items(a.string().allow("")),discount:a.string().allow(""),name:a.string().allow(""),slug:a.string().allow(""),action:n.ProductListingAction()})}static BrandListingResponse(){return a.object({items:a.array().items(n.BrandItem()),page:n.Page().required()})}static BrandDetailResponse(){return a.object({logo:n.Media(),uid:a.number(),description:a.string().allow(""),banners:n.ImageUrls(),_custom_json:a.any(),name:a.string().allow("")})}static CategoryBanner(){return a.object({portrait:n.Media().required(),landscape:n.Media().required()})}static ThirdLevelChild(){return a.object({uid:a.number(),banners:n.ImageUrls(),childs:a.array().items(a.any()),_custom_json:a.any(),name:a.string().allow(""),slug:a.string().allow(""),action:n.ProductListingAction()})}static SecondLevelChild(){return a.object({uid:a.number(),banners:n.ImageUrls(),childs:a.array().items(n.ThirdLevelChild()),_custom_json:a.any(),name:a.string().allow(""),slug:a.string().allow(""),action:n.ProductListingAction()})}static Child(){return a.object({uid:a.number(),banners:n.ImageUrls(),childs:a.array().items(n.SecondLevelChild()),_custom_json:a.any(),name:a.string().allow(""),slug:a.string().allow(""),action:n.ProductListingAction()})}static CategoryItems(){return a.object({uid:a.number().required(),banners:n.CategoryBanner().required(),childs:a.array().items(n.Child()),name:a.string().allow("").required(),slug:a.string().allow("").required(),action:n.ProductListingAction().required()})}static DepartmentCategoryTree(){return a.object({items:a.array().items(n.CategoryItems()),department:a.string().allow("").required()})}static DepartmentIdentifier(){return a.object({uid:a.number(),slug:a.string().allow("")})}static CategoryListingResponse(){return a.object({data:a.array().items(n.DepartmentCategoryTree()),departments:a.array().items(n.DepartmentIdentifier())})}static CategoryMetaResponse(){return a.object({logo:n.Media(),uid:a.number(),banners:n.ImageUrls(),_custom_json:a.any(),name:a.string().allow("")})}static HomeListingResponse(){return a.object({items:a.array().items(n.ProductListingDetail()),page:n.Page().required(),message:a.string().allow("")})}static Department(){return a.object({uid:a.number(),logo:n.Media(),priority_order:a.number(),name:a.string().allow(""),slug:a.string().allow("")})}static DepartmentResponse(){return a.object({items:a.array().items(n.Department())})}static AutocompleteItem(){return a.object({logo:n.Media(),display:a.string().allow(""),type:a.string().allow(""),_custom_json:a.any(),action:n.ProductListingAction()})}static AutoCompleteResponse(){return a.object({items:a.array().items(n.AutocompleteItem())})}static CollectionQuery(){return a.object({op:a.string().allow("").required(),value:a.array().items(a.any()).required(),attribute:a.string().allow("").required()})}static GetCollectionDetailNest(){return a.object({is_active:a.boolean(),uid:a.string().allow(""),sort_on:a.string().allow(""),meta:a.any(),banners:n.ImageUrls(),cron:a.any(),_schedule:a.any(),query:a.array().items(n.CollectionQuery()),description:a.string().allow(""),type:a.string().allow(""),_custom_json:a.any(),name:a.string().allow(""),allow_sort:a.boolean(),visible_facets_keys:a.array().items(a.string().allow("")),badge:a.any(),slug:a.string().allow(""),action:n.ProductListingAction(),allow_facets:a.boolean(),logo:n.Media(),priority:a.number(),tags:a.array().items(a.string().allow("")),app_id:a.string().allow("")})}static CollectionListingFilterTag(){return a.object({name:a.string().allow(""),is_selected:a.boolean(),display:a.string().allow("")})}static CollectionListingFilterType(){return a.object({name:a.string().allow(""),is_selected:a.boolean(),display:a.string().allow("")})}static CollectionListingFilter(){return a.object({tags:a.array().items(n.CollectionListingFilterTag()),type:a.array().items(n.CollectionListingFilterType())})}static GetCollectionListingResponse(){return a.object({items:a.array().items(n.GetCollectionDetailNest()),filters:n.CollectionListingFilter(),page:n.Page().required()})}static CollectionDetailResponse(){return a.object({is_active:a.boolean(),sort_on:a.string().allow(""),meta:a.any(),banners:n.ImageUrls(),cron:a.any(),_schedule:a.any(),query:a.array().items(n.CollectionQuery()),description:a.string().allow(""),type:a.string().allow(""),_custom_json:a.any(),name:a.string().allow(""),allow_sort:a.boolean(),visible_facets_keys:a.array().items(a.string().allow("")),badge:a.any(),slug:a.string().allow(""),allow_facets:a.boolean(),logo:n.Media(),priority:a.number(),tag:a.array().items(a.string().allow("")),app_id:a.string().allow("")})}static GetFollowListingResponse(){return a.object({items:a.array().items(n.ProductListingDetail()).required(),page:n.Page().required()})}static FollowPostResponse(){return a.object({message:a.string().allow("").required(),id:a.string().allow("").required()})}static FollowerCountResponse(){return a.object({count:a.number()})}static FollowIdsData(){return a.object({products:a.array().items(a.number()),collections:a.array().items(a.number()),brands:a.array().items(a.number())})}static FollowIdsResponse(){return a.object({data:n.FollowIdsData()})}static LatLong(){return a.object({coordinates:a.array().items(a.number()),type:a.string().allow("")})}static Store(){return a.object({uid:a.number(),store_email:a.string().allow(""),state:a.string().allow(""),country:a.string().allow(""),pincode:a.number(),city:a.string().allow(""),address:a.string().allow(""),store_code:a.string().allow(""),lat_long:n.LatLong(),name:a.string().allow(""),tags:a.array().items(a.string().allow(""))})}static StoreListingResponse(){return a.object({items:a.array().items(n.Store()).required(),page:n.Page().required()})}static StoreDepartments(){return a.object({uid:a.number(),logo:a.any(),priority_order:a.number(),name:a.string().allow(""),slug:a.string().allow("")})}static CompanyStore(){return a.object({uid:a.number(),name:a.string().allow(""),company_type:a.string().allow(""),business_type:a.string().allow("")})}static SellerPhoneNumber(){return a.object({country_code:a.number().required(),number:a.string().allow("").required()})}static StoreManagerSerializer(){return a.object({name:a.string().allow(""),email:a.string().allow(""),mobile_no:n.SellerPhoneNumber()})}static StoreAddressSerializer(){return a.object({latitude:a.number(),state:a.string().allow(""),country:a.string().allow(""),landmark:a.string().allow(""),address1:a.string().allow(""),pincode:a.number(),city:a.string().allow(""),longitude:a.number(),address2:a.string().allow("")})}static AppStore(){return a.object({uid:a.number(),departments:a.array().items(n.StoreDepartments()),company:n.CompanyStore(),manager:n.StoreManagerSerializer(),store_code:a.string().allow(""),address:n.StoreAddressSerializer(),name:a.string().allow(""),contact_numbers:a.array().items(n.SellerPhoneNumber())})}static ApplicationStoreListing(){return a.object({filters:a.array().items(a.any()),items:a.array().items(n.AppStore()),page:n.Page()})}static Time(){return a.object({hour:a.number(),minute:a.number()})}static StoreTiming(){return a.object({open:a.boolean(),closing:n.Time(),weekday:a.string().allow(""),opening:n.Time()})}static StoreDetails(){return a.object({uid:a.number(),departments:a.array().items(n.StoreDepartments()),company:n.CompanyStore(),manager:n.StoreManagerSerializer(),store_code:a.string().allow(""),timing:a.array().items(n.StoreTiming()),address:n.StoreAddressSerializer(),_custom_json:a.any(),name:a.string().allow(""),contact_numbers:a.array().items(n.SellerPhoneNumber())})}static UserDetail(){return a.object({super_user:a.boolean(),contact:a.string().allow(""),username:a.string().allow("").required(),user_id:a.string().allow("").required()})}static Size(){return a.object({quantity:a.number(),value:a.any(),display:a.any(),is_available:a.boolean()})}static ProductGroupPrice(){return a.object({max_effective:a.number(),min_effective:a.number(),min_marked:a.number(),currency:a.any(),max_marked:a.number()})}static ProductDetails(){return a.object({template_tag:a.any(),rating_count:a.number(),image_nature:a.any(),has_variant:a.boolean(),description:a.any(),out_of_stock:a.boolean(),hsn_code:a.number(),grouped_attributes:a.any(),item_code:a.any(),name:a.any(),country_of_origin:a.any(),short_description:a.any(),media:a.array().items(a.any()),attributes:a.any(),is_set:a.boolean(),images:a.array().items(a.any()),slug:a.any(),rating:a.number(),identifier:a.any(),highlights:a.array().items(a.any()),brand_uid:a.number()})}static ProductInGroup(){return a.object({auto_add_to_cart:a.boolean(),max_quantity:a.number().required(),sizes:a.array().items(n.Size()),price:n.ProductGroupPrice(),auto_select:a.boolean(),product_details:n.ProductDetails(),min_quantity:a.number(),allow_remove:a.boolean(),product_uid:a.number().required()})}static ProductGroupingModel(){return a.object({logo:a.string().allow("").allow(null),is_active:a.boolean(),meta:a.any(),verified_by:n.UserDetail(),created_on:a.string().allow("").required(),company_id:a.number(),page_visibility:a.array().items(a.any()),modified_on:a.string().allow("").required(),created_by:n.UserDetail(),modified_by:n.UserDetail(),products:a.array().items(n.ProductInGroup()).required(),same_store_assignment:a.boolean(),_id:a.any(),name:a.any().required(),choice:a.any(),slug:a.any(),verified_on:a.string().allow("")})}static ProductBundle(){return a.object({items:a.array().items(n.ProductGroupingModel())})}static StoreV3(){return a.object({uid:a.number(),name:a.string().allow(""),count:a.number()})}static ArticleAssignmentV3(){return a.object({strategy:a.string().allow(""),level:a.string().allow("")})}static StrategyWiseListingSchemaV3(){return a.object({distance:a.number(),pincode:a.number(),tat:a.number(),quantity:a.number()})}static DetailsSchemaV3(){return a.object({value:a.string().allow(""),type:a.string().allow(""),key:a.string().allow("")})}static SellerGroupAttributes(){return a.object({title:a.string().allow(""),details:a.array().items(n.DetailsSchemaV3())})}static ReturnConfigSchemaV3(){return a.object({unit:a.string().allow(""),returnable:a.boolean(),time:a.number()})}static ProductSetDistributionSizeV3(){return a.object({pieces:a.number(),size:a.string().allow("")})}static ProductSetDistributionV3(){return a.object({sizes:a.array().items(n.ProductSetDistributionSizeV3())})}static ProductSetV3(){return a.object({quantity:a.number(),size_distribution:n.ProductSetDistributionV3()})}static ProductStockPriceV3(){return a.object({effective:a.number(),currency_code:a.string().allow(""),currency_symbol:a.string().allow(""),marked:a.number(),selling:a.number()})}static ProductStockUnitPriceV3(){return a.object({unit:a.string().allow(""),currency_symbol:a.string().allow(""),currency_code:a.string().allow(""),price:a.number()})}static MarketPlaceSttributesSchemaV3(){return a.object({title:a.string().allow(""),details:a.array().items(n.DetailsSchemaV3())})}static SellerV3(){return a.object({uid:a.number(),name:a.string().allow(""),count:a.number()})}static PromiseSchema(){return a.object({min:a.string().allow(""),max:a.string().allow("")})}static ProductSizePriceResponseV3(){return a.object({store:n.StoreV3(),article_assignment:n.ArticleAssignmentV3(),is_cod:a.boolean(),strategy_wise_listing:a.array().items(n.StrategyWiseListingSchemaV3()),quantity:a.number(),item_type:a.string().allow(""),grouped_attributes:a.array().items(n.SellerGroupAttributes()),return_config:n.ReturnConfigSchemaV3(),article_id:a.string().allow(""),is_gift:a.boolean(),set:n.ProductSetV3(),seller_count:a.number(),price_per_piece:n.ProductStockPriceV3(),discount_meta:n.DiscountMeta(),discount:a.string().allow(""),long_lat:a.array().items(a.number()),special_badge:a.string().allow(""),price:n.ProductStockPriceV3(),price_per_unit:n.ProductStockUnitPriceV3(),pincode:a.number(),marketplace_attributes:a.array().items(n.MarketPlaceSttributesSchemaV3()),seller:n.SellerV3(),delivery_promise:n.PromiseSchema()})}static ProductSizeSellerFilterSchemaV3(){return a.object({name:a.string().allow(""),is_selected:a.boolean(),value:a.string().allow("")})}static ProductSizeSellersResponseV3(){return a.object({items:a.array().items(n.ProductSizePriceResponseV3()),page:n.Page().required(),sort_on:a.array().items(n.ProductSizeSellerFilterSchemaV3())})}}e.exports=n},700:(e,t,r)=>{const a=r(6075);r(103),e.exports=class{static followById(){return a.object({collectionType:a.string().allow("").required(),collectionId:a.string().allow("").required()}).required()}static getBrandDetailBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getBrands(){return a.object({department:a.string().allow(""),pageNo:a.number(),pageSize:a.number()})}static getCategories(){return a.object({department:a.string().allow("")})}static getCategoryDetailBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getCollectionDetailBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getCollectionItemsBySlug(){return a.object({slug:a.string().allow("").required(),f:a.string().allow(""),q:a.string().allow(""),filters:a.boolean(),sortOn:a.string().allow(""),pageId:a.string().allow(""),pageSize:a.number(),pageNo:a.number(),pageType:a.string().allow("")}).required()}static getCollections(){return a.object({pageNo:a.number(),pageSize:a.number(),tag:a.array().items(a.string().allow("")),q:a.string().allow("")})}static getComparedFrequentlyProductBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getDepartments(){return a.object({})}static getFollowIds(){return a.object({collectionType:a.string().allow("")})}static getFollowedListing(){return a.object({collectionType:a.string().allow("").required(),pageId:a.string().allow(""),pageSize:a.number()}).required()}static getFollowerCountById(){return a.object({collectionType:a.string().allow("").required(),collectionId:a.string().allow("").required()}).required()}static getHomeProducts(){return a.object({sortOn:a.string().allow(""),pageId:a.string().allow(""),pageSize:a.number()})}static getInStockLocations(){return a.object({pageNo:a.number(),pageSize:a.number(),q:a.string().allow(""),city:a.string().allow(""),range:a.number(),latitude:a.number(),longitude:a.number()})}static getLocationDetailsById(){return a.object({locationId:a.number().required()}).required()}static getProductBundlesBySlug(){return a.object({slug:a.string().allow(""),id:a.string().allow("")})}static getProductComparisonBySlugs(){return a.object({slug:a.array().items(a.string().allow("")).required()}).required()}static getProductDetailBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getProductPriceBySlug(){return a.object({slug:a.string().allow("").required(),size:a.string().allow("").required(),storeId:a.number(),moq:a.number()}).required()}static getProductSellersBySlug(){return a.object({slug:a.string().allow("").required(),size:a.string().allow("").required(),strategy:a.string().allow(""),pageNo:a.number(),pageSize:a.number()}).required()}static getProductSizesBySlug(){return a.object({slug:a.string().allow("").required(),storeId:a.number()}).required()}static getProductStockByIds(){return a.object({itemId:a.string().allow(""),alu:a.string().allow(""),skuCode:a.string().allow(""),ean:a.string().allow(""),upc:a.string().allow("")})}static getProductStockForTimeByIds(){return a.object({timestamp:a.string().allow("").required(),pageSize:a.number(),pageId:a.string().allow("")}).required()}static getProductVariantsBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getProducts(){return a.object({q:a.string().allow(""),f:a.string().allow(""),filters:a.boolean(),sortOn:a.string().allow(""),pageId:a.string().allow(""),pageSize:a.number(),pageNo:a.number(),pageType:a.string().allow("")})}static getSearchResults(){return a.object({q:a.string().allow("").required()}).required()}static getSimilarComparisonProductBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getStores(){return a.object({pageNo:a.number(),pageSize:a.number(),q:a.string().allow(""),city:a.string().allow(""),range:a.number(),latitude:a.number(),longitude:a.number(),tags:a.string().allow("")})}static unfollowById(){return a.object({collectionType:a.string().allow("").required(),collectionId:a.string().allow("").required()}).required()}}},3727:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(6152)),l=r(5443),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={getLocations:"/service/common/configuration/v1.0/location",searchApplication:"/service/common/configuration/v1.0/application/search-application"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async getLocations({locationType:e,id:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getLocations().validate({locationType:e,id:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getLocations().validate({locationType:e,id:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Common > getLocations \n ${p}`});const g={};g.location_type=e,g.id=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getLocations,params:{}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.Locations().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Common > getLocations \n ${w}`})}return m}async searchApplication({authorization:e,query:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.searchApplication().validate({authorization:e,query:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.searchApplication().validate({authorization:e,query:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Common > searchApplication \n ${p}`});const g={};g.query=t;const m={};m.authorization=e;const f=await a.execute(this._conf,"get",s({url:this._urls.searchApplication,params:{}}),g,void 0,{...m,...r},{responseHeaders:u});let w=f;u&&(w=f[0]);const{error:y}=l.ApplicationResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Common > searchApplication \n ${y}`})}return f}}},5443:(e,t,r)=>{const a=r(6075);class n{static ApplicationResponse(){return a.object({application:n.Application()})}static Domain(){return a.object({verified:a.boolean(),is_primary:a.boolean(),is_shortlink:a.boolean(),_id:a.string().allow(""),name:a.string().allow(""),is_predefined:a.boolean()})}static ApplicationWebsite(){return a.object({enabled:a.boolean(),basepath:a.string().allow("")})}static ApplicationCors(){return a.object({domains:a.array().items(a.string().allow(""))})}static ApplicationAuth(){return a.object({enabled:a.boolean()})}static ApplicationRedirections(){return a.object({redirect_from:a.string().allow(""),redirect_to:a.string().allow(""),type:a.string().allow("")})}static ApplicationMeta(){return a.object({name:a.string().allow(""),value:a.string().allow("")})}static SecureUrl(){return a.object({secure_url:a.string().allow("")})}static Application(){return a.object({website:n.ApplicationWebsite(),cors:n.ApplicationCors(),auth:n.ApplicationAuth(),description:a.string().allow(""),channel_type:a.string().allow(""),cache_ttl:a.number(),is_internal:a.boolean(),is_active:a.boolean(),_id:a.string().allow(""),name:a.string().allow(""),owner:a.string().allow(""),company_id:a.number(),token:a.string().allow(""),redirections:a.array().items(n.ApplicationRedirections()),meta:a.array().items(n.ApplicationMeta()),created_at:a.string().allow(""),updated_at:a.string().allow(""),__v:a.number(),banner:n.SecureUrl(),logo:n.SecureUrl(),favicon:n.SecureUrl(),domains:a.array().items(n.Domain()),app_type:a.string().allow(""),mobile_logo:n.SecureUrl(),domain:n.Domain()})}static NotFound(){return a.object({message:a.string().allow("")})}static BadRequest(){return a.object({message:a.string().allow("")})}static LocationDefaultLanguage(){return a.object({name:a.string().allow(""),code:a.string().allow("")})}static LocationDefaultCurrency(){return a.object({name:a.string().allow(""),symbol:a.string().allow(""),code:a.string().allow("")})}static LocationCountry(){return a.object({capital:a.string().allow(""),currency:a.string().allow(""),iso2:a.string().allow(""),iso3:a.string().allow(""),name:a.string().allow(""),parent:a.string().allow(""),phone_code:a.string().allow(""),type:a.string().allow(""),uid:a.number(),__v:a.number(),_id:a.string().allow(""),default_currency:n.LocationDefaultCurrency(),default_language:n.LocationDefaultLanguage(),state_code:a.string().allow(""),country_code:a.string().allow(""),latitude:a.string().allow(""),longitude:a.string().allow("")})}static Locations(){return a.object({items:a.array().items(n.LocationCountry())})}}e.exports=n},6152:(e,t,r)=>{const a=r(6075);r(5443),e.exports=class{static getLocations(){return a.object({locationType:a.string().allow(""),id:a.string().allow("")})}static searchApplication(){return a.object({authorization:a.string().allow(""),query:a.string().allow("")})}}},8979:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(7052)),l=r(8007),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={getCommunicationConsent:"/service/application/communication/v1.0/consent",upsertAppPushtoken:"/service/application/communication/v1.0/pn-token",upsertCommunicationConsent:"/service/application/communication/v1.0/consent"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async getCommunicationConsent({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getCommunicationConsent().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getCommunicationConsent().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Communication > getCommunicationConsent \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getCommunicationConsent,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.CommunicationConsent().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Communication > getCommunicationConsent \n ${g}`})}return d}async upsertAppPushtoken({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.upsertAppPushtoken().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.upsertAppPushtoken().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Communication > upsertAppPushtoken \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.upsertAppPushtoken,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.PushtokenRes().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Communication > upsertAppPushtoken \n ${m}`})}return p}async upsertCommunicationConsent({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.upsertCommunicationConsent().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.upsertCommunicationConsent().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Communication > upsertCommunicationConsent \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.upsertCommunicationConsent,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.CommunicationConsentRes().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Communication > upsertCommunicationConsent \n ${m}`})}return p}}},8007:(e,t,r)=>{const a=r(6075);class n{static CommunicationConsentReq(){return a.object({response:a.string().allow(""),action:a.string().allow(""),channel:a.string().allow("")})}static CommunicationConsentRes(){return a.object({app_id:a.string().allow(""),user_id:a.string().allow(""),channels:n.CommunicationConsentChannels()})}static CommunicationConsentChannelsEmail(){return a.object({response:a.string().allow(""),display_name:a.string().allow("")})}static CommunicationConsentChannelsSms(){return a.object({response:a.string().allow(""),display_name:a.string().allow("")})}static CommunicationConsentChannelsWhatsapp(){return a.object({response:a.string().allow(""),display_name:a.string().allow(""),country_code:a.string().allow(""),phone_number:a.string().allow("")})}static CommunicationConsentChannels(){return a.object({email:n.CommunicationConsentChannelsEmail(),sms:n.CommunicationConsentChannelsSms(),whatsapp:n.CommunicationConsentChannelsWhatsapp()})}static CommunicationConsent(){return a.object({app_id:a.string().allow(""),user_id:a.string().allow(""),channels:n.CommunicationConsentChannels()})}static BadRequestSchema(){return a.object({status:a.string().allow(""),message:a.string().allow("")})}static PushtokenReq(){return a.object({action:a.string().allow(""),bundle_identifier:a.string().allow(""),push_token:a.string().allow(""),unique_device_id:a.string().allow(""),type:a.string().allow("")})}static PushtokenRes(){return a.object({_id:a.string().allow(""),bundle_identifier:a.string().allow(""),push_token:a.string().allow(""),unique_device_id:a.string().allow(""),type:a.string().allow(""),platform:a.string().allow(""),application_id:a.string().allow(""),user_id:a.string().allow(""),created_at:a.string().allow(""),updated_at:a.string().allow(""),expired_at:a.string().allow("")})}}e.exports=n},7052:(e,t,r)=>{const a=r(6075),n=r(8007);e.exports=class{static getCommunicationConsent(){return a.object({})}static upsertAppPushtoken(){return a.object({body:n.PushtokenReq().required()}).required()}static upsertCommunicationConsent(){return a.object({body:n.CommunicationConsentReq().required()}).required()}}},7307:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(8436)),l=r(1775),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={getAppCurrencies:"/service/application/configuration/v1.0/currency",getAppStaffList:"/service/application/configuration/v1.0/staff/list",getAppStaffs:"/service/application/configuration/v1.0/staff",getApplication:"/service/application/configuration/v1.0/application",getBasicDetails:"/service/application/configuration/v1.0/detail",getContactInfo:"/service/application/configuration/v1.0/information",getCurrencies:"/service/application/configuration/v1.0/currencies",getCurrencyById:"/service/application/configuration/v1.0/currency/{id}",getFeatures:"/service/application/configuration/v1.0/feature",getIntegrationTokens:"/service/application/configuration/v1.0/token",getLanguages:"/service/application/configuration/v1.0/languages",getOrderingStoreCookie:"/service/application/configuration/v1.0/ordering-store/select",getOrderingStores:"/service/application/configuration/v1.0/ordering-store/stores",getOwnerInfo:"/service/application/configuration/v1.0/about",getStoreDetailById:"/service/application/configuration/v1.0/ordering-store/stores/{store_id}",removeOrderingStoreCookie:"/service/application/configuration/v1.0/ordering-store/select"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async getAppCurrencies({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getAppCurrencies().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getAppCurrencies().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getAppCurrencies \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getAppCurrencies,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.AppCurrencyResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getAppCurrencies \n ${g}`})}return d}async getAppStaffList({pageNo:e,pageSize:t,orderIncent:r,orderingStore:u,user:d,userName:p,requestHeaders:g}={requestHeaders:{}},{responseHeaders:m}={responseHeaders:!1}){const{error:f}=i.getAppStaffList().validate({pageNo:e,pageSize:t,orderIncent:r,orderingStore:u,user:d,userName:p},{abortEarly:!1,allowUnknown:!0});if(f)return Promise.reject(new n(f));const{error:w}=i.getAppStaffList().validate({pageNo:e,pageSize:t,orderIncent:r,orderingStore:u,user:d,userName:p},{abortEarly:!1,allowUnknown:!1});w&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getAppStaffList \n ${w}`});const y={};y.page_no=e,y.page_size=t,y.order_incent=r,y.ordering_store=u,y.user=d,y.user_name=p;const b=await a.execute(this._conf,"get",s({url:this._urls.getAppStaffList,params:{}}),y,void 0,{...g},{responseHeaders:m});let h=b;m&&(h=b[0]);const{error:_}=l.AppStaffListResponse().validate(h,{abortEarly:!1,allowUnknown:!0});if(_){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(_));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getAppStaffList \n ${_}`})}return b}async getAppStaffs({orderIncent:e,orderingStore:t,user:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.getAppStaffs().validate({orderIncent:e,orderingStore:t,user:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.getAppStaffs().validate({orderIncent:e,orderingStore:t,user:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getAppStaffs \n ${g}`});const m={};m.order_incent=e,m.ordering_store=t,m.user=r;const f=await a.execute(this._conf,"get",s({url:this._urls.getAppStaffs,params:{}}),m,void 0,{...u},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=l.AppStaffResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getAppStaffs \n ${y}`})}return f}async getApplication({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getApplication().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getApplication().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getApplication \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getApplication,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.Application().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getApplication \n ${g}`})}return d}async getBasicDetails({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getBasicDetails().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getBasicDetails().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getBasicDetails \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getBasicDetails,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.ApplicationDetail().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getBasicDetails \n ${g}`})}return d}async getContactInfo({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getContactInfo().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getContactInfo().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getContactInfo \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getContactInfo,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.ApplicationInformation().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getContactInfo \n ${g}`})}return d}async getCurrencies({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getCurrencies().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getCurrencies().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getCurrencies \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getCurrencies,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.CurrenciesResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getCurrencies \n ${g}`})}return d}async getCurrencyById({id:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getCurrencyById().validate({id:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getCurrencyById().validate({id:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getCurrencyById \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getCurrencyById,params:{id:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.Currency().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getCurrencyById \n ${m}`})}return p}async getFeatures({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getFeatures().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getFeatures().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getFeatures \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getFeatures,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.AppFeatureResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getFeatures \n ${g}`})}return d}async getIntegrationTokens({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getIntegrationTokens().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getIntegrationTokens().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getIntegrationTokens \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getIntegrationTokens,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.AppTokenResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getIntegrationTokens \n ${g}`})}return d}async getLanguages({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getLanguages().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getLanguages().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getLanguages \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getLanguages,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.LanguageResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getLanguages \n ${g}`})}return d}async getOrderingStoreCookie({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getOrderingStoreCookie().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getOrderingStoreCookie().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getOrderingStoreCookie \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getOrderingStoreCookie,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.SuccessMessageResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getOrderingStoreCookie \n ${m}`})}return p}async getOrderingStores({pageNo:e,pageSize:t,q:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.getOrderingStores().validate({pageNo:e,pageSize:t,q:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.getOrderingStores().validate({pageNo:e,pageSize:t,q:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getOrderingStores \n ${g}`});const m={};m.page_no=e,m.page_size=t,m.q=r;const f=await a.execute(this._conf,"get",s({url:this._urls.getOrderingStores,params:{}}),m,void 0,{...u},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=l.OrderingStores().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getOrderingStores \n ${y}`})}return f}async getOwnerInfo({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getOwnerInfo().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getOwnerInfo().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getOwnerInfo \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getOwnerInfo,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.ApplicationAboutResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getOwnerInfo \n ${g}`})}return d}async getStoreDetailById({storeId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getStoreDetailById().validate({storeId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getStoreDetailById().validate({storeId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getStoreDetailById \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getStoreDetailById,params:{storeId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.OrderingStore().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getStoreDetailById \n ${m}`})}return p}async removeOrderingStoreCookie({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.removeOrderingStoreCookie().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.removeOrderingStoreCookie().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > removeOrderingStoreCookie \n ${u}`});const d=await a.execute(this._conf,"delete",s({url:this._urls.removeOrderingStoreCookie,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.SuccessMessageResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > removeOrderingStoreCookie \n ${g}`})}return d}}},1775:(e,t,r)=>{const a=r(6075);class n{static ApplicationAboutResponse(){return a.object({application_info:n.ApplicationInfo()})}static ApplicationInfo(){return a.object({company_info:n.CompanyInfo(),owner_info:n.OwnerInfo(),_id:a.string().allow(""),domain:n.Domain(),website:n.ApplicationWebsite(),cors:n.ApplicationCors(),description:a.string().allow(""),name:a.string().allow(""),meta:a.array().items(n.ApplicationMeta()),token:a.string().allow(""),secret:a.string().allow(""),created_at:a.string().allow(""),banner:n.SecureUrl(),logo:n.SecureUrl(),is_active:a.boolean(),mode:a.string().allow(""),tokens:a.array().items(n.TokenSchema()),domains:a.array().items(n.Domain()),favicon:n.SecureUrl(),mobile_logo:n.SecureUrl(),slug:a.string().allow("")})}static CompanyInfo(){return a.object({_id:a.string().allow(""),uid:a.number(),created_on:a.string().allow(""),is_active:a.boolean(),name:a.string().allow(""),addresses:a.array().items(n.CompanyAboutAddress()),notification_emails:a.array().items(a.string().allow(""))})}static OwnerInfo(){return a.object({_id:a.string().allow(""),emails:a.array().items(n.UserEmail()),phone_numbers:a.array().items(n.UserPhoneNumber()),first_name:a.string().allow(""),last_name:a.string().allow(""),profile_pic:a.string().allow("")})}static SupportedLanguage(){return a.object({name:a.string().allow(""),code:a.string().allow("")})}static LanguageResponse(){return a.object({items:a.array().items(n.SupportedLanguage())})}static AppStaffResponse(){return a.object({staff_users:a.array().items(n.AppStaff())})}static AppStaffListResponse(){return a.object({page:n.Page(),items:a.array().items(n.AppStaff())})}static OrderingStoreSelectRequest(){return a.object({ordering_store:n.OrderingStoreSelect().required()})}static OrderingStoreSelect(){return a.object({uid:a.number().required()})}static AppStaff(){return a.object({_id:a.string().allow(""),order_incent:a.boolean(),stores:a.array().items(a.number()),application:a.string().allow(""),title:a.string().allow(""),user:a.string().allow(""),employee_code:a.string().allow(""),first_name:a.string().allow(""),last_name:a.string().allow(""),profile_pic_url:a.string().allow("")})}static AppTokenResponse(){return a.object({tokens:n.Tokens(),_id:a.string().allow(""),application:a.string().allow(""),created_at:a.string().allow(""),modified_at:a.string().allow(""),__v:a.number()})}static Tokens(){return a.object({firebase:n.Firebase(),moengage:n.Moengage(),segment:n.Segment(),gtm:n.Gtm(),freshchat:n.Freshchat(),safetynet:n.Safetynet(),fynd_rewards:n.FyndRewards(),google_map:n.GoogleMap()})}static Firebase(){return a.object({credentials:n.Credentials(),enabled:a.boolean()})}static Credentials(){return a.object({ios:n.Ios(),android:n.Android(),project_id:a.string().allow(""),gcm_sender_id:a.string().allow(""),application_id:a.string().allow(""),api_key:a.string().allow("")})}static Ios(){return a.object({application_id:a.string().allow(""),api_key:a.string().allow("")})}static Android(){return a.object({application_id:a.string().allow(""),api_key:a.string().allow("")})}static Moengage(){return a.object({credentials:n.MoengageCredentials(),enabled:a.boolean()})}static MoengageCredentials(){return a.object({app_id:a.string().allow("")})}static Segment(){return a.object({credentials:n.SegmentCredentials(),enabled:a.boolean()})}static SegmentCredentials(){return a.object({write_key:a.string().allow("")})}static Gtm(){return a.object({credentials:n.GtmCredentials(),enabled:a.boolean()})}static GtmCredentials(){return a.object({api_key:a.string().allow("")})}static Freshchat(){return a.object({credentials:n.FreshchatCredentials(),enabled:a.boolean()})}static FreshchatCredentials(){return a.object({app_id:a.string().allow(""),app_key:a.string().allow(""),web_token:a.string().allow("")})}static Safetynet(){return a.object({credentials:n.SafetynetCredentials(),enabled:a.boolean()})}static SafetynetCredentials(){return a.object({api_key:a.string().allow("")})}static FyndRewards(){return a.object({credentials:n.FyndRewardsCredentials()})}static FyndRewardsCredentials(){return a.object({public_key:a.string().allow("")})}static GoogleMap(){return a.object({credentials:n.GoogleMapCredentials()})}static GoogleMapCredentials(){return a.object({api_key:a.string().allow("")})}static RewardPointsConfig(){return a.object({credit:n.Credit(),debit:n.Debit()})}static Credit(){return a.object({enabled:a.boolean()})}static Debit(){return a.object({enabled:a.boolean(),auto_apply:a.boolean(),strategy_channel:a.string().allow("")})}static ProductDetailFeature(){return a.object({similar:a.array().items(a.string().allow("")),seller_selection:a.boolean(),update_product_meta:a.boolean(),request_product:a.boolean()})}static LaunchPage(){return a.object({page_type:a.string().allow(""),params:a.any(),query:a.any()})}static LandingPageFeature(){return a.object({launch_page:n.LaunchPage(),continue_as_guest:a.boolean(),login_btn_text:a.string().allow(""),show_domain_textbox:a.boolean(),show_register_btn:a.boolean()})}static RegistrationPageFeature(){return a.object({ask_store_address:a.boolean()})}static AppFeature(){return a.object({product_detail:n.ProductDetailFeature(),landing_page:n.LandingPageFeature(),registration_page:n.RegistrationPageFeature(),home_page:n.HomePageFeature(),common:n.CommonFeature(),cart:n.CartFeature(),qr:n.QrFeature(),pcr:n.PcrFeature(),order:n.OrderFeature(),_id:a.string().allow(""),app:a.string().allow(""),created_at:a.string().allow(""),modified_at:a.string().allow(""),__v:a.number()})}static HomePageFeature(){return a.object({order_processing:a.boolean()})}static CommonFeature(){return a.object({communication_optin_dialog:n.CommunicationOptinDialogFeature(),deployment_store_selection:n.DeploymentStoreSelectionFeature(),listing_price:n.ListingPriceFeature(),currency:n.CurrencyFeature(),revenue_engine:n.RevenueEngineFeature(),feedback:n.FeedbackFeature(),compare_products:n.CompareProductsFeature(),reward_points:n.RewardPointsConfig(),listing_page:n.ListingPageFeature(),international_shipping:n.InternationalShipping()})}static InternationalShipping(){return a.object({enabled:a.boolean()})}static CommunicationOptinDialogFeature(){return a.object({visibility:a.boolean()})}static DeploymentStoreSelectionFeature(){return a.object({enabled:a.boolean(),type:a.string().allow("")})}static ListingPriceFeature(){return a.object({value:a.string().allow(""),sort:a.string().allow("")})}static ListingPageFeature(){return a.object({sort_on:a.string().allow("")})}static CurrencyFeature(){return a.object({value:a.array().items(a.string().allow("")),type:a.string().allow(""),default_currency:a.string().allow("")})}static RevenueEngineFeature(){return a.object({enabled:a.boolean()})}static FeedbackFeature(){return a.object({enabled:a.boolean()})}static CompareProductsFeature(){return a.object({enabled:a.boolean()})}static CartFeature(){return a.object({gst_input:a.boolean(),staff_selection:a.boolean(),placing_for_customer:a.boolean(),google_map:a.boolean(),revenue_engine_coupon:a.boolean()})}static QrFeature(){return a.object({application:a.boolean(),products:a.boolean(),collections:a.boolean()})}static PcrFeature(){return a.object({staff_selection:a.boolean()})}static OrderFeature(){return a.object({buy_again:a.boolean()})}static AppFeatureResponse(){return a.object({feature:n.AppFeature()})}static Currency(){return a.object({_id:a.string().allow(""),is_active:a.boolean(),name:a.string().allow(""),code:a.string().allow(""),created_at:a.string().allow(""),modified_at:a.string().allow(""),decimal_digits:a.number(),symbol:a.string().allow(""),country_name:a.string().allow(""),country_code:a.string().allow("")})}static Domain(){return a.object({verified:a.boolean(),is_primary:a.boolean(),is_shortlink:a.boolean(),_id:a.string().allow(""),name:a.string().allow(""),is_predefined:a.boolean()})}static ApplicationWebsite(){return a.object({enabled:a.boolean(),basepath:a.string().allow("")})}static ApplicationCors(){return a.object({domains:a.array().items(a.string().allow(""))})}static ApplicationAuth(){return a.object({enabled:a.boolean()})}static ApplicationRedirections(){return a.object({redirect_from:a.string().allow(""),redirect_to:a.string().allow(""),type:a.string().allow("")})}static ApplicationMeta(){return a.object({name:a.string().allow(""),value:a.string().allow("")})}static SecureUrl(){return a.object({secure_url:a.string().allow("")})}static Application(){return a.object({website:n.ApplicationWebsite(),cors:n.ApplicationCors(),auth:n.ApplicationAuth(),description:a.string().allow(""),channel_type:a.string().allow(""),cache_ttl:a.number(),is_internal:a.boolean(),is_active:a.boolean(),_id:a.string().allow(""),name:a.string().allow(""),owner:a.string().allow(""),company_id:a.number(),token:a.string().allow(""),redirections:a.array().items(n.ApplicationRedirections()),meta:a.array().items(n.ApplicationMeta()),created_at:a.string().allow(""),modified_at:a.string().allow(""),__v:a.number(),banner:n.SecureUrl(),logo:n.SecureUrl(),favicon:n.SecureUrl(),domains:a.array().items(n.Domain()),app_type:a.string().allow(""),mobile_logo:n.SecureUrl(),domain:n.Domain(),slug:a.string().allow(""),mode:a.string().allow(""),status:a.string().allow(""),tokens:a.array().items(n.TokenSchema())})}static TokenSchema(){return a.object({token:a.string().allow(""),created_by:a.object().pattern(/\S/,a.any()),created_at:a.string().allow("")})}static NotFound(){return a.object({message:a.string().allow("")})}static InvalidPayloadRequest(){return a.object({message:a.string().allow("")})}static UnhandledError(){return a.object({message:a.string().allow("")})}static SuccessMessageResponse(){return a.object({message:a.string().allow("")})}static CompanyAboutAddress(){return a.object({pincode:a.number(),address1:a.string().allow(""),address2:a.string().allow(""),city:a.string().allow(""),state:a.string().allow(""),country:a.string().allow(""),address_type:a.string().allow("")})}static UserEmail(){return a.object({active:a.boolean(),primary:a.boolean(),verified:a.boolean(),email:a.string().allow("")})}static UserPhoneNumber(){return a.object({active:a.boolean(),primary:a.boolean(),verified:a.boolean(),country_code:a.number(),phone:a.string().allow("")})}static Page(){return a.object({item_total:a.number(),next_id:a.string().allow(""),has_previous:a.boolean(),has_next:a.boolean(),current:a.number(),type:a.string().allow("").required(),size:a.number()})}static ApplicationInformation(){return a.object({address:n.InformationAddress(),support:n.InformationSupport(),social_links:n.SocialLinks(),links:a.array().items(n.Links()),copyright_text:a.string().allow(""),_id:a.string().allow(""),business_highlights:a.array().items(n.BusinessHighlights()),application:a.string().allow(""),created_at:a.string().allow(""),modified_at:a.string().allow(""),__v:a.number()})}static InformationAddress(){return a.object({loc:n.InformationLoc(),address_line:a.array().items(a.string().allow("")),phone:a.array().items(n.InformationPhone()),city:a.string().allow(""),country:a.string().allow(""),pincode:a.number()})}static InformationPhone(){return a.object({code:a.string().allow(""),number:a.string().allow("")})}static InformationSupportPhone(){return a.object({code:a.string().allow(""),number:a.string().allow(""),key:a.string().allow("")})}static InformationSupportEmail(){return a.object({value:a.string().allow(""),key:a.string().allow("")})}static InformationLoc(){return a.object({type:a.string().allow(""),coordinates:a.array().items(a.number())})}static InformationSupport(){return a.object({phone:a.array().items(n.InformationSupportPhone()),email:a.array().items(n.InformationSupportEmail()),timing:a.string().allow("")})}static SocialLinks(){return a.object({facebook:n.FacebookLink(),instagram:n.InstagramLink(),twitter:n.TwitterLink(),pinterest:n.PinterestLink(),google_plus:n.GooglePlusLink(),youtube:n.YoutubeLink(),linked_in:n.LinkedInLink(),vimeo:n.VimeoLink(),blog_link:n.BlogLink()})}static FacebookLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static InstagramLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static TwitterLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static PinterestLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static GooglePlusLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static YoutubeLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static LinkedInLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static VimeoLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static BlogLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static Links(){return a.object({title:a.string().allow(""),link:a.string().allow("")})}static BusinessHighlights(){return a.object({_id:a.string().allow(""),title:a.string().allow(""),icon:a.string().allow(""),sub_title:a.string().allow("")})}static ApplicationDetail(){return a.object({name:a.string().allow("").required(),description:a.string().allow(""),logo:n.SecureUrl(),mobile_logo:n.SecureUrl(),favicon:n.SecureUrl(),banner:n.SecureUrl(),domain:n.Domain(),domains:a.array().items(n.Domain()),_id:a.string().allow(""),slug:a.string().allow(""),company_id:a.number()})}static CurrenciesResponse(){return a.object({items:a.array().items(n.Currency())})}static DefaultCurrency(){return a.object({ref:a.string().allow(""),code:a.string().allow("")})}static AppCurrencyResponse(){return a.object({application:a.string().allow(""),default_currency:n.DefaultCurrency(),supported_currency:a.array().items(n.Currency()),_id:a.string().allow(""),created_at:a.string().allow(""),modified_at:a.string().allow("")})}static StoreLatLong(){return a.object({type:a.string().allow(""),coordinates:a.array().items(a.number())})}static OptedStoreAddress(){return a.object({state:a.string().allow(""),address1:a.string().allow(""),lat_long:n.StoreLatLong(),address2:a.string().allow(""),pincode:a.number(),country:a.string().allow(""),city:a.string().allow("")})}static OrderingStore(){return a.object({address:n.OptedStoreAddress(),_id:a.string().allow(""),uid:a.number(),name:a.string().allow(""),display_name:a.string().allow(""),store_type:a.string().allow(""),store_code:a.string().allow(""),pincode:a.number(),code:a.string().allow("")})}static OrderingStores(){return a.object({page:n.Page(),items:a.array().items(n.OrderingStore()),deployed_stores:a.array().items(a.number()),all_stores:a.boolean(),enabled:a.boolean(),type:a.string().allow(""),_id:a.string().allow(""),app:a.string().allow(""),__v:a.number()})}}e.exports=n},8436:(e,t,r)=>{const a=r(6075),n=r(1775);e.exports=class{static getAppCurrencies(){return a.object({})}static getAppStaffList(){return a.object({pageNo:a.number(),pageSize:a.number(),orderIncent:a.boolean(),orderingStore:a.number(),user:a.string().allow(""),userName:a.string().allow("")})}static getAppStaffs(){return a.object({orderIncent:a.boolean(),orderingStore:a.number(),user:a.string().allow("")})}static getApplication(){return a.object({})}static getBasicDetails(){return a.object({})}static getContactInfo(){return a.object({})}static getCurrencies(){return a.object({})}static getCurrencyById(){return a.object({id:a.string().allow("").required()}).required()}static getFeatures(){return a.object({})}static getIntegrationTokens(){return a.object({})}static getLanguages(){return a.object({})}static getOrderingStoreCookie(){return a.object({body:n.OrderingStoreSelectRequest().required()}).required()}static getOrderingStores(){return a.object({pageNo:a.number(),pageSize:a.number(),q:a.string().allow("")})}static getOwnerInfo(){return a.object({})}static getStoreDetailById(){return a.object({storeId:a.number().required()}).required()}static removeOrderingStoreCookie(){return a.object({})}}},7507:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=r(1121),l=r(4092),c=r(9079),{Logger:u}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={getAnnouncements:"/service/application/content/v1.0/announcements",getBlog:"/service/application/content/v1.0/blogs/{slug}",getBlogs:"/service/application/content/v1.0/blogs/",getCustomFields:"/service/application/content/v1.0/metafields/{resource}/{resource_id}",getCustomObject:"/service/application/content/v1.0/metaobjects/{metaobject_id}",getDataLoaders:"/service/application/content/v1.0/data-loader",getFaqBySlug:"/service/application/content/v1.0/faq/{slug}",getFaqCategories:"/service/application/content/v1.0/faq/categories",getFaqCategoryBySlug:"/service/application/content/v1.0/faq/category/{slug}",getFaqs:"/service/application/content/v1.0/faq",getFaqsByCategorySlug:"/service/application/content/v1.0/faq/category/{slug}/faqs",getLandingPage:"/service/application/content/v1.0/landing-page",getLegalInformation:"/service/application/content/v1.0/legal",getNavigations:"/service/application/content/v1.0/navigations/",getPage:"/service/application/content/v2.0/pages/{slug}",getPages:"/service/application/content/v2.0/pages/",getSEOConfiguration:"/service/application/content/v1.0/seo",getSEOMarkupSchemas:"/service/application/content/v1.0/seo/schema",getSlideshow:"/service/application/content/v1.0/slideshow/{slug}",getSlideshows:"/service/application/content/v1.0/slideshow/",getSupportInformation:"/service/application/content/v1.0/support",getTags:"/service/application/content/v1.0/tags"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async getAnnouncements({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getAnnouncements().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getAnnouncements().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getAnnouncements \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getAnnouncements,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.AnnouncementsResponseSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getAnnouncements \n ${g}`})}return d}async getBlog({slug:e,rootId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getBlog().validate({slug:e,rootId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getBlog().validate({slug:e,rootId:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getBlog \n ${p}`});const g={};g.root_id=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getBlog,params:{slug:e}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.BlogSchema().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Content > getBlog \n ${w}`})}return m}async getBlogs({pageNo:e,pageSize:t,tags:r,search:i,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=l.getBlogs().validate({pageNo:e,pageSize:t,tags:r,search:i},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=l.getBlogs().validate({pageNo:e,pageSize:t,tags:r,search:i},{abortEarly:!1,allowUnknown:!1});m&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getBlogs \n ${m}`});const f={};f.page_no=e,f.page_size=t,f.tags=r,f.search=i;const w=await a.execute(this._conf,"get",s({url:this._urls.getBlogs,params:{}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=c.BlogGetResponse().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));u({level:"WARN",message:`Response Validation Warnings for application > Content > getBlogs \n ${b}`})}return w}async getCustomFields({resource:e,resourceId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getCustomFields().validate({resource:e,resourceId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getCustomFields().validate({resource:e,resourceId:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getCustomFields \n ${p}`});const g=await a.execute(this._conf,"get",s({url:this._urls.getCustomFields,params:{resource:e,resourceId:t}}),{},void 0,{...r},{responseHeaders:i});let m=g;i&&(m=g[0]);const{error:f}=c.CustomFieldsResponseByResourceIdSchema().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Content > getCustomFields \n ${f}`})}return g}async getCustomObject({metaobjectId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getCustomObject().validate({metaobjectId:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getCustomObject().validate({metaobjectId:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getCustomObject \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getCustomObject,params:{metaobjectId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.CustomObjectByIdSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Content > getCustomObject \n ${m}`})}return p}async getDataLoaders({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getDataLoaders().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getDataLoaders().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getDataLoaders \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getDataLoaders,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.DataLoadersSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getDataLoaders \n ${g}`})}return d}async getFaqBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getFaqBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getFaqBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getFaqBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getFaqBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.FaqSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Content > getFaqBySlug \n ${m}`})}return p}async getFaqCategories({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getFaqCategories().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getFaqCategories().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getFaqCategories \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getFaqCategories,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.GetFaqCategoriesSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getFaqCategories \n ${g}`})}return d}async getFaqCategoryBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getFaqCategoryBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getFaqCategoryBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getFaqCategoryBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getFaqCategoryBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.GetFaqCategoryBySlugSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Content > getFaqCategoryBySlug \n ${m}`})}return p}async getFaqs({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getFaqs().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getFaqs().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getFaqs \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getFaqs,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.FaqResponseSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getFaqs \n ${g}`})}return d}async getFaqsByCategorySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getFaqsByCategorySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getFaqsByCategorySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getFaqsByCategorySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getFaqsByCategorySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.GetFaqSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Content > getFaqsByCategorySlug \n ${m}`})}return p}async getLandingPage({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getLandingPage().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getLandingPage().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getLandingPage \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getLandingPage,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.LandingPageSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getLandingPage \n ${g}`})}return d}async getLegalInformation({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getLegalInformation().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getLegalInformation().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getLegalInformation \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getLegalInformation,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.ApplicationLegal().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getLegalInformation \n ${g}`})}return d}async getNavigations({pageNo:e,pageSize:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getNavigations().validate({pageNo:e,pageSize:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getNavigations().validate({pageNo:e,pageSize:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getNavigations \n ${p}`});const g={};g.page_no=e,g.page_size=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getNavigations,params:{}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.NavigationGetResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Content > getNavigations \n ${w}`})}return m}async getPage({slug:e,rootId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getPage().validate({slug:e,rootId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getPage().validate({slug:e,rootId:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getPage \n ${p}`});const g={};g.root_id=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getPage,params:{slug:e}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.PageSchema().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Content > getPage \n ${w}`})}return m}async getPages({pageNo:e,pageSize:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getPages().validate({pageNo:e,pageSize:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getPages().validate({pageNo:e,pageSize:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getPages \n ${p}`});const g={};g.page_no=e,g.page_size=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getPages,params:{}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.PageGetResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Content > getPages \n ${w}`})}return m}async getSEOConfiguration({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getSEOConfiguration().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getSEOConfiguration().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getSEOConfiguration \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getSEOConfiguration,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.SeoComponent().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getSEOConfiguration \n ${g}`})}return d}async getSEOMarkupSchemas({pageType:e,active:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getSEOMarkupSchemas().validate({pageType:e,active:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getSEOMarkupSchemas().validate({pageType:e,active:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getSEOMarkupSchemas \n ${p}`});const g={};g.page_type=e,g.active=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getSEOMarkupSchemas,params:{}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.SeoSchemaComponent().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Content > getSEOMarkupSchemas \n ${w}`})}return m}async getSlideshow({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getSlideshow().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getSlideshow().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getSlideshow \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getSlideshow,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.SlideshowSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Content > getSlideshow \n ${m}`})}return p}async getSlideshows({pageNo:e,pageSize:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getSlideshows().validate({pageNo:e,pageSize:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getSlideshows().validate({pageNo:e,pageSize:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getSlideshows \n ${p}`});const g={};g.page_no=e,g.page_size=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getSlideshows,params:{}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.SlideshowGetResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Content > getSlideshows \n ${w}`})}return m}getSlideshowsPaginator({pageSize:e}={}){const t=new i;return t.setCallback((async()=>{t.nextId;const r=t.pageNo,a=await this.getSlideshows({pageNo:r,pageSize:e});return t.setPaginator({hasNext:!!a.page.has_next,nextId:a.page.next_id}),a}).bind(this)),t}async getSupportInformation({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getSupportInformation().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getSupportInformation().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getSupportInformation \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getSupportInformation,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.Support().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getSupportInformation \n ${g}`})}return d}async getTags({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getTags().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getTags().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getTags \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getTags,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.TagsSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getTags \n ${g}`})}return d}}},9079:(e,t,r)=>{const a=r(6075);class n{static ApplicationLegal(){return a.object({application:a.string().allow(""),tnc:a.string().allow(""),policy:a.string().allow(""),shipping:a.string().allow(""),returns:a.string().allow(""),faq:a.array().items(n.ApplicationLegalFAQ()),_id:a.string().allow(""),updated_at:a.string().allow(""),created_at:a.string().allow("")})}static ApplicationLegalFAQ(){return a.object({question:a.string().allow(""),answer:a.string().allow("")})}static SeoComponent(){return a.object({seo:n.SeoSchema()})}static SeoSchema(){return a.object({app:a.string().allow(""),_id:a.string().allow(""),robots_txt:a.string().allow(""),sitemap_enabled:a.boolean(),additonal_sitemap:a.string().allow(""),cannonical_enabled:a.boolean(),custom_meta_tags:a.array().items(n.CustomMetaTag()),details:n.Detail(),created_at:a.string().allow(""),updated_at:a.string().allow("")})}static CustomMetaTag(){return a.object({name:a.string().allow(""),content:a.string().allow(""),_id:a.string().allow("")})}static Detail(){return a.object({title:a.string().allow(""),description:a.string().allow(""),image_url:a.string().allow("")})}static SeoSchemaComponent(){return a.object({items:a.array().items(n.SEOSchemaMarkupTemplate())})}static SEOSchemaMarkupTemplate(){return a.object({id:a.string().allow(""),title:a.string().allow(""),page_type:a.string().allow(""),description:a.string().allow(""),schema:a.string().allow(""),active:a.boolean(),created_at:a.string().allow(""),updated_at:a.string().allow(""),application:a.string().allow("")})}static ScheduleSchema(){return a.object({cron:a.string().allow(""),start:a.string().allow(""),end:a.string().allow(""),duration:a.number(),next_schedule:a.array().items(n.NextSchedule())})}static NextSchedule(){return a.object({start:a.string().allow(""),end:a.string().allow("")})}static AnnouncementSchema(){return a.object({announcement:a.string().allow(""),schedule:n.ScheduleStartSchema()})}static ScheduleStartSchema(){return a.object({start:a.string().allow(""),end:a.string().allow("")})}static BlogGetResponse(){return a.object({items:a.array().items(n.BlogSchema()),page:n.Page(),filters:a.array().items(a.string().allow(""))})}static ResourceContent(){return a.object({type:a.string().allow(""),value:a.string().allow("")})}static Asset(){return a.object({aspect_ratio:a.string().allow(""),id:a.string().allow(""),secure_url:a.string().allow("")})}static Author(){return a.object({designation:a.string().allow(""),id:a.string().allow(""),name:a.string().allow("")})}static BlogSchema(){return a.object({_id:a.string().allow(""),_custom_json:a.any(),application:a.string().allow(""),archived:a.boolean(),author:n.Author(),content:a.array().items(n.ResourceContent()),feature_image:n.Asset(),published:a.boolean(),reading_time:a.string().allow(""),slug:a.string().allow(""),tags:a.array().items(a.string().allow("")),publish_date:a.string().allow(""),seo:n.SEO(),title:a.string().allow(""),date_meta:n.DateMeta(),summary:a.string().allow("")})}static SEO(){return a.object({description:a.string().allow(""),image:n.SEOImage(),title:a.string().allow(""),meta_tags:a.array().items(n.SEOMetaItem()),sitemap:n.SEOSitemap(),breadcrumb:a.array().items(n.SEObreadcrumb()),canonical_url:a.string().allow("")})}static SEOImage(){return a.object({url:a.string().allow("")})}static SEOMetaItem(){return a.object({title:a.string().allow(""),items:a.array().items(n.SEOMetaItems())})}static SEOMetaItems(){return a.object({key:a.string().allow(""),value:a.string().allow("")})}static SEOSitemap(){return a.object({priority:a.number(),frequency:a.string().allow("")})}static SEObreadcrumb(){return a.object({url:a.string().allow(""),action:n.Action()})}static DateMeta(){return a.object({created_on:a.string().allow(""),modified_on:a.string().allow("")})}static LocaleLanguage(){return a.object({hi:n.Language(),ar:n.Language(),en_us:n.Language()})}static Language(){return a.object({display:a.string().allow("")})}static Action(){return a.object({type:a.string().allow(""),page:n.ActionPage(),popup:n.ActionPage()})}static NavigationReference(){return a.object({acl:a.array().items(a.string().allow("")),tags:a.array().items(a.string().allow("")),_locale_language:n.LocaleLanguage(),image:a.string().allow(""),type:a.string().allow(""),action:n.Action(),active:a.boolean(),display:a.string().allow(""),sort_order:a.number(),sub_navigation:a.array().items(a.link("#NavigationReference"))}).id("NavigationReference")}static ConfigurationSchema(){return a.object({sleep_time:a.number(),start_on_launch:a.boolean(),duration:a.number(),slide_direction:a.string().allow("")})}static SlideshowMedia(){return a.object({type:a.string().allow(""),url:a.string().allow(""),bg_color:a.string().allow(""),duration:a.number(),auto_decide_duration:a.boolean(),action:n.Action()})}static AnnouncementsResponseSchema(){return a.object({announcements:a.object().pattern(/\S/,a.array().items(n.AnnouncementSchema())),refresh_rate:a.number(),refresh_pages:a.array().items(a.string().allow(""))})}static FaqResponseSchema(){return a.object({faqs:a.array().items(n.FaqSchema())})}static DataLoaderSchema(){return a.object({name:a.string().allow(""),service:a.string().allow(""),operation_id:a.string().allow(""),type:a.string().allow(""),url:a.string().allow(""),content:a.string().allow(""),__source:n.DataLoaderSourceSchema(),_id:a.string().allow("")})}static DataLoaderSourceSchema(){return a.object({type:a.string().allow(""),id:a.string().allow("")})}static DataLoadersSchema(){return a.object({items:a.array().items(n.DataLoaderSchema())})}static ContentAPIError(){return a.object({message:a.string().allow(""),status:a.number(),code:a.string().allow(""),exception:a.string().allow(""),info:a.string().allow(""),request_id:a.string().allow(""),stack_trace:a.string().allow(""),meta:a.any()})}static CommonError(){return a.object({message:a.string().allow("")})}static CategorySchema(){return a.object({index:a.number(),title:a.string().allow(""),description:a.string().allow(""),children:a.array().items(a.string().allow("")),_id:a.string().allow(""),slug:a.string().allow(""),application:a.string().allow(""),icon_url:a.string().allow(""),_custom_json:a.any()})}static ChildrenSchema(){return a.object({question:a.string().allow(""),answer:a.string().allow(""),slug:a.string().allow(""),application:a.string().allow(""),_id:a.string().allow("")})}static FAQCategorySchema(){return a.object({index:a.number(),title:a.string().allow(""),description:a.string().allow(""),children:a.array().items(n.ChildrenSchema()),_id:a.string().allow(""),slug:a.string().allow(""),application:a.string().allow(""),icon_url:a.string().allow(""),_custom_json:a.any()})}static FaqSchema(){return a.object({slug:a.string().allow(""),application:a.string().allow(""),_id:a.string().allow(""),question:a.string().allow(""),answer:a.string().allow(""),tags:a.array().items(a.string().allow(""))})}static GetFaqSchema(){return a.object({faqs:a.array().items(n.FaqSchema())})}static GetFaqCategoriesSchema(){return a.object({categories:a.array().items(n.CategorySchema())})}static GetFaqCategoryBySlugSchema(){return a.object({category:n.FAQCategorySchema()})}static Page(){return a.object({item_total:a.number(),next_id:a.string().allow(""),has_previous:a.boolean(),has_next:a.boolean(),current:a.number(),type:a.string().allow("").required(),size:a.number()})}static LandingPageSchema(){return a.object({slug:a.string().allow(""),action:n.Action(),platform:a.array().items(a.string().allow("")),created_by:n.CreatedBySchema(),date_meta:n.DateMeta(),_id:a.string().allow(""),application:a.string().allow(""),archived:a.boolean(),_custom_json:a.any()})}static NavigationGetResponse(){return a.object({items:a.array().items(n.NavigationSchema()),page:n.Page()})}static Orientation(){return a.object({portrait:a.array().items(a.string().allow("")),landscape:a.array().items(a.string().allow(""))})}static NavigationSchema(){return a.object({_id:a.string().allow(""),application:a.string().allow(""),archived:a.boolean(),name:a.string().allow(""),slug:a.string().allow(""),platform:a.array().items(a.string().allow("")),created_by:n.CreatedBySchema(),date_meta:n.DateMeta(),orientation:n.Orientation(),version:a.number(),navigation:a.array().items(n.NavigationReference())})}static PageGetResponse(){return a.object({items:a.array().items(n.PageSchema()),page:n.Page()})}static PageSchema(){return a.object({_id:a.string().allow(""),application:a.string().allow(""),component_ids:a.array().items(a.string().allow("")),content:a.array().items(a.any()),content_path:a.string().allow(""),created_by:n.CreatedBySchema(),date_meta:n.DateMeta(),description:a.string().allow(""),feature_image:n.Asset(),page_meta:a.array().items(a.any()),_schedule:n.ScheduleSchema(),_custom_json:a.any(),orientation:a.string().allow(""),platform:a.string().allow(""),published:a.boolean(),slug:a.string().allow(""),tags:a.array().items(a.string().allow("")),title:a.string().allow(""),type:a.string().allow(""),seo:n.SEO(),visibility:a.any(),archived:a.boolean()})}static CreatedBySchema(){return a.object({id:a.string().allow("")})}static SlideshowGetResponse(){return a.object({items:a.array().items(n.SlideshowSchema()),page:n.Page()})}static SlideshowSchema(){return a.object({_id:a.string().allow(""),slug:a.string().allow(""),date_meta:n.DateMeta(),application:a.string().allow(""),platform:a.string().allow(""),configuration:n.ConfigurationSchema(),media:a.array().items(n.SlideshowMedia()),active:a.boolean(),archived:a.boolean(),_custom_json:a.any()})}static Support(){return a.object({created:a.boolean(),_id:a.string().allow(""),config_type:a.string().allow(""),application:a.string().allow(""),created_at:a.string().allow(""),updated_at:a.string().allow(""),contact:n.ContactSchema()})}static PhoneProperties(){return a.object({key:a.string().allow(""),code:a.string().allow(""),number:a.string().allow(""),phone_type:a.string().allow("")})}static PhoneSchema(){return a.object({active:a.boolean(),phone:a.array().items(n.PhoneProperties())})}static EmailProperties(){return a.object({key:a.string().allow(""),value:a.string().allow("")})}static EmailSchema(){return a.object({active:a.boolean(),email:a.array().items(n.EmailProperties())})}static ContactSchema(){return a.object({phone:n.PhoneSchema(),email:n.EmailSchema()})}static TagsSchema(){return a.object({application:a.string().allow(""),_id:a.string().allow(""),tags:a.array().items(n.TagSchema())})}static TagSchema(){return a.object({name:a.string().allow(""),url:a.string().allow(""),type:a.string().allow(""),sub_type:a.string().allow(""),_id:a.string().allow(""),position:a.string().allow(""),attributes:a.any(),content:a.string().allow(""),pages:a.array().items(a.any()),__source:n.TagSourceSchema()})}static TagSourceSchema(){return a.object({type:a.string().allow(""),id:a.string().allow("")})}static CustomObjectFieldValue(){return a.object({value:a.any()})}static CustomObjectListItemDefinationSchema(){return a.object({_id:a.string().allow(""),name:a.string().allow(""),type:a.string().allow("")})}static CustomObjectFieldSchema(){return a.object({_id:a.string().allow(""),key:a.string().allow(""),value:a.array().items(n.CustomObjectFieldValue()),type:a.string().allow(""),definition_id:a.string().allow("")})}static CustomObjectByIdSchema(){return a.object({_id:a.string().allow(""),status:a.string().allow(""),display_name:a.string().allow(""),definition:n.CustomObjectListItemDefinationSchema(),references:a.array().items(a.any()),fields:a.array().items(n.CustomObjectFieldSchema())})}static CustomFieldValue(){return a.object({value:a.any()})}static CustomFieldSchema(){return a.object({_id:a.string().allow(""),namespace:a.string().allow(""),key:a.string().allow(""),resource:a.string().allow(""),creator:a.string().allow(""),value:a.array().items(n.CustomFieldValue()),resource_id:a.string().allow(""),type:a.string().allow(""),multi_value:a.boolean(),company_id:a.string().allow(""),application_id:a.string().allow(""),definition_id:a.string().allow(""),has_invalid_values:a.boolean(),invalid_value_errors:a.array().items(a.any()),created_by:a.string().allow(""),is_deleted:a.boolean(),created_at:a.string().allow(""),updated_at:a.string().allow("")})}static CustomFieldsResponseByResourceIdSchema(){return a.object({items:a.array().items(n.CustomFieldSchema())})}static ActionPage(){return a.object({params:a.object().pattern(/\S/,a.array().items(a.string().allow(""))),query:a.object().pattern(/\S/,a.array().items(a.string().allow(""))),url:a.string().allow(""),type:n.PageType().required()})}static PageType(){return a.string().valid("about-us","addresses","blog","brands","cards","cart","categories","brand","category","collection","collections","contact-us","external","faq","freshchat","home","notification-settings","orders","page","policy","product","product-request","products","profile","profile-order-shipment","profile-basic","profile-company","profile-emails","profile-phones","rate-us","refer-earn","settings","shared-cart","tnc","track-order","wishlist","sections","form","cart-delivery","cart-payment","cart-review","login","register","shipping-policy","return-policy","order-status")}}e.exports=n},4092:(e,t,r)=>{const a=r(6075);r(9079),e.exports=class{static getAnnouncements(){return a.object({})}static getBlog(){return a.object({slug:a.string().allow("").required(),rootId:a.string().allow("")}).required()}static getBlogs(){return a.object({pageNo:a.number(),pageSize:a.number(),tags:a.string().allow(""),search:a.string().allow("")})}static getCustomFields(){return a.object({resource:a.string().allow("").required(),resourceId:a.string().allow("").required()}).required()}static getCustomObject(){return a.object({metaobjectId:a.string().allow("").required()}).required()}static getDataLoaders(){return a.object({})}static getFaqBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getFaqCategories(){return a.object({})}static getFaqCategoryBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getFaqs(){return a.object({})}static getFaqsByCategorySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getLandingPage(){return a.object({})}static getLegalInformation(){return a.object({})}static getNavigations(){return a.object({pageNo:a.number(),pageSize:a.number()})}static getPage(){return a.object({slug:a.string().allow("").required(),rootId:a.string().allow("")}).required()}static getPages(){return a.object({pageNo:a.number(),pageSize:a.number()})}static getSEOConfiguration(){return a.object({})}static getSEOMarkupSchemas(){return a.object({pageType:a.string().allow(""),active:a.boolean()})}static getSlideshow(){return a.object({slug:a.string().allow("").required()}).required()}static getSlideshows(){return a.object({pageNo:a.number(),pageSize:a.number()})}static getSupportInformation(){return a.object({})}static getTags(){return a.object({})}}},5259:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(7636)),l=r(6751),{Logger:c}=r(8572),{fdkAxios:u}=(r(6075),r(128));class d{constructor(e){this._conf=e,this._relativeUrls={completeUpload:"/service/application/assets/v1.0/namespaces/{namespace}/upload/complete",signUrls:"/service/application/assets/v1.0/sign-urls",startUpload:"/service/application/assets/v1.0/namespaces/{namespace}/upload/start"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async completeUpload({namespace:e,body:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.completeUpload().validate({namespace:e,body:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.completeUpload().validate({namespace:e,body:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > FileStorage > completeUpload \n ${p}`});const g=await a.execute(this._conf,"post",s({url:this._urls.completeUpload,params:{namespace:e}}),{},t,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.CompleteResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > FileStorage > completeUpload \n ${f}`})}return g}async signUrls({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.signUrls().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.signUrls().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > FileStorage > signUrls \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.signUrls,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.SignUrlResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > FileStorage > signUrls \n ${m}`})}return p}async startUpload({namespace:e,body:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.startUpload().validate({namespace:e,body:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.startUpload().validate({namespace:e,body:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > FileStorage > startUpload \n ${p}`});const g=await a.execute(this._conf,"post",s({url:this._urls.startUpload,params:{namespace:e}}),{},t,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.StartResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > FileStorage > startUpload \n ${f}`})}return g}}d.prototype.upload=function({data:e,file_name:t,content_type:r,namespace:a,size:n,tags:o}={}){return new Promise((async(s,i)=>{try{const l=await this.startUpload({namespace:a,body:{file_name:t,content_type:r,size:n,tags:o}});if(l.upload&&l.upload.url){let t={method:"PUT",url:l.upload.url,data:e,headers:{"Content-Type":r},withCredentials:!1};await u.request(t)}else i({message:"Failed to upload file"});delete l.tags,s(await this.completeUpload({namespace:a,body:l}))}catch(e){i(e)}}))},e.exports=d},6751:(e,t,r)=>{const a=r(6075);class n{static CDN(){return a.object({url:a.string().allow("").required(),absolute_url:a.string().allow("").required(),relative_url:a.string().allow("").required()})}static Upload(){return a.object({expiry:a.number().required(),url:a.string().allow("").required()})}static StartResponse(){return a.object({file_name:a.string().allow("").required(),file_path:a.string().allow("").required(),content_type:a.string().allow("").required(),method:a.string().allow(""),namespace:a.string().allow("").required(),operation:a.string().allow("").required(),size:a.number().required(),upload:n.Upload().required(),cdn:n.CDN().required(),tags:a.array().items(a.string().allow(""))})}static Params(){return a.object({subpath:a.string().allow("")})}static StartRequest(){return a.object({file_name:a.string().allow("").required(),content_type:a.string().allow("").required(),size:a.number().required(),tags:a.array().items(a.string().allow("")),params:n.Params()})}static CreatedBy(){return a.object({username:a.string().allow("")})}static CompleteResponse(){return a.object({_id:a.string().allow("").required(),file_name:a.string().allow("").required(),file_path:a.string().allow("").required(),content_type:a.string().allow("").required(),namespace:a.string().allow("").required(),operation:a.string().allow("").required(),size:a.number().required(),upload:n.Upload().required(),cdn:n.CDN().required(),success:a.boolean().required(),tags:a.array().items(a.string().allow("")),created_on:a.string().allow("").required(),modified_on:a.string().allow("").required(),created_by:n.CreatedBy()})}static Urls(){return a.object({url:a.string().allow("").required(),signed_url:a.string().allow("").required(),expiry:a.number().required()})}static SignUrlResponse(){return a.object({urls:a.array().items(n.Urls()).required()})}static SignUrlRequest(){return a.object({expiry:a.number().required(),urls:a.array().items(a.string().allow("")).required()})}}e.exports=n},7636:(e,t,r)=>{const a=r(6075),n=r(6751);e.exports=class{static completeUpload(){return a.object({namespace:a.string().allow("").required(),body:n.StartResponse().required()}).required()}static signUrls(){return a.object({body:n.SignUrlRequest().required()}).required()}static startUpload(){return a.object({namespace:a.string().allow("").required(),body:n.StartRequest().required()}).required()}}},133:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(7926)),l=r(2201),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={createHistory:"/service/application/lead/v1.0/ticket/{id}/history",createTicket:"/service/application/lead/v1.0/ticket/",getCustomForm:"/service/application/lead/v1.0/form/{slug}",getTicket:"/service/application/lead/v1.0/ticket/{id}",submitCustomForm:"/service/application/lead/v1.0/form/{slug}/submit"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async createHistory({id:e,body:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.createHistory().validate({id:e,body:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.createHistory().validate({id:e,body:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Lead > createHistory \n ${p}`});const g=await a.execute(this._conf,"post",s({url:this._urls.createHistory,params:{id:e}}),{},t,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.TicketHistory().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Lead > createHistory \n ${f}`})}return g}async createTicket({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.createTicket().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.createTicket().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Lead > createTicket \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.createTicket,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.Ticket().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Lead > createTicket \n ${m}`})}return p}async getCustomForm({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getCustomForm().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getCustomForm().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Lead > getCustomForm \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getCustomForm,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.CustomForm().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Lead > getCustomForm \n ${m}`})}return p}async getTicket({id:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getTicket().validate({id:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getTicket().validate({id:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Lead > getTicket \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getTicket,params:{id:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.Ticket().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Lead > getTicket \n ${m}`})}return p}async submitCustomForm({slug:e,body:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.submitCustomForm().validate({slug:e,body:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.submitCustomForm().validate({slug:e,body:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Lead > submitCustomForm \n ${p}`});const g=await a.execute(this._conf,"post",s({url:this._urls.submitCustomForm,params:{slug:e}}),{},t,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.SubmitCustomFormResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Lead > submitCustomForm \n ${f}`})}return g}}},2201:(e,t,r)=>{const a=r(6075);class n{static TicketHistoryPayload(){return a.object({value:a.any().required(),type:n.HistoryTypeEnum().required()})}static CustomFormSubmissionPayload(){return a.object({response:a.array().items(a.any()).required(),attachments:a.array().items(n.TicketAsset())})}static SubmitCustomFormResponse(){return a.object({message:a.string().allow("").required(),ticket:n.Ticket()})}static TicketContext(){return a.object({application_id:a.string().allow(""),company_id:a.string().allow("").required()})}static CreatedOn(){return a.object({user_agent:a.string().allow("").required()})}static TicketAsset(){return a.object({display:a.string().allow(""),value:a.string().allow("").required(),type:n.TicketAssetTypeEnum().required()})}static TicketContent(){return a.object({title:a.string().allow("").required(),description:a.string().allow(""),attachments:a.array().items(n.TicketAsset())})}static AddTicketPayload(){return a.object({created_by:a.any(),status:a.string().allow(""),priority:n.PriorityEnum(),category:a.string().allow("").required(),content:n.TicketContent().required(),_custom_json:a.any(),subscribers:a.array().items(a.string().allow(""))})}static Priority(){return a.object({key:n.PriorityEnum().required(),display:a.string().allow("").required(),color:a.string().allow("").required()})}static Status(){return a.object({key:a.string().allow("").required(),display:a.string().allow("").required(),color:a.string().allow("").required()})}static SubmitButton(){return a.object({title:a.string().allow("").required(),title_color:a.string().allow("").required(),background_color:a.string().allow("").required()})}static PollForAssignment(){return a.object({duration:a.number().required(),message:a.string().allow("").required(),success_message:a.string().allow("").required(),failure_message:a.string().allow("").required()})}static CustomForm(){return a.object({application_id:a.string().allow("").required(),slug:a.string().allow("").required(),header_image:a.string().allow(""),title:a.string().allow("").required(),description:a.string().allow(""),priority:n.Priority().required(),login_required:a.boolean().required(),should_notify:a.boolean().required(),success_message:a.string().allow(""),submit_button:n.SubmitButton(),inputs:a.array().items(a.any()).required(),created_on:n.CreatedOn(),poll_for_assignment:n.PollForAssignment(),_id:a.string().allow("").required()})}static FeedbackForm(){return a.object({inputs:a.any(),title:a.string().allow(""),timestamps:a.any()})}static TicketCategory(){return a.object({display:a.string().allow("").required(),key:a.string().allow("").required(),sub_categories:a.link("#TicketCategory"),group_id:a.number(),feedback_form:n.FeedbackForm()}).id("TicketCategory")}static TicketHistory(){return a.object({type:a.string().allow("").required(),value:a.any().required(),ticket_id:a.string().allow("").required(),created_on:n.CreatedOn(),created_by:a.any(),_id:a.string().allow("").required(),updated_at:a.string().allow(""),created_at:a.string().allow("")})}static Ticket(){return a.object({context:n.TicketContext(),created_on:n.CreatedOn(),response_id:a.string().allow(""),content:n.TicketContent(),category:n.TicketCategory().required(),sub_category:a.string().allow(""),source:n.TicketSourceEnum().required(),status:n.Status().required(),priority:n.Priority().required(),created_by:a.any(),assigned_to:a.any(),tags:a.array().items(a.string().allow("")),_custom_json:a.any(),is_feedback_pending:a.boolean(),integration:a.any(),_id:a.string().allow("").required(),updated_at:a.string().allow(""),created_at:a.string().allow("")})}static PriorityEnum(){return a.string().valid("low","medium","high","urgent")}static HistoryTypeEnum(){return a.string().valid("rating","log","comment","thread")}static TicketAssetTypeEnum(){return a.string().valid("image","video","file","youtube","product","collection","brand","shipment","order")}static TicketSourceEnum(){return a.string().valid("platform_panel","sales_channel")}}e.exports=n},7926:(e,t,r)=>{const a=r(6075),n=r(2201);e.exports=class{static createHistory(){return a.object({id:a.string().allow("").required(),body:n.TicketHistoryPayload().required()}).required()}static createTicket(){return a.object({body:n.AddTicketPayload().required()}).required()}static getCustomForm(){return a.object({slug:a.string().allow("").required()}).required()}static getTicket(){return a.object({id:a.string().allow("").required()}).required()}static submitCustomForm(){return a.object({slug:a.string().allow("").required(),body:n.CustomFormSubmissionPayload().required()}).required()}}},469:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(2230)),l=r(8297),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={getAllCountries:"/service/application/logistics/v1.0/country-list",getCountries:"/service/application/logistics/v2.0/countries",getCountry:"/service/application/logistics/v1.0/countries/{country_iso_code}",getLocalities:"/service/application/logistics/v1.0/localities/{locality_type}",getLocality:"/service/application/logistics/v1.0/localities/{locality_type}/{locality_value}",getLocations:"/service/application/logistics/v1.0/locations",getOptimalLocations:"/service/application/logistics/v1.0/reassign_stores",getPincodeCity:"/service/application/logistics/v1.0/pincode/{pincode}",getPincodeZones:"/service/application/logistics/v1.0/pincode/zones",getTatProduct:"/service/application/logistics/v1.0/",validateAddress:"/service/application/logistics/v1.0/country/{country_iso_code}/address/templates/{template_name}/validate"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async getAllCountries({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getAllCountries().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getAllCountries().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getAllCountries \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getAllCountries,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.CountryListResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getAllCountries \n ${g}`})}return d}async getCountries({onboarding:e,pageNo:t,pageSize:r,q:u,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=i.getCountries().validate({onboarding:e,pageNo:t,pageSize:r,q:u},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=i.getCountries().validate({onboarding:e,pageNo:t,pageSize:r,q:u},{abortEarly:!1,allowUnknown:!1});m&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getCountries \n ${m}`});const f={};f.onboarding=e,f.page_no=t,f.page_size=r,f.q=u;const w=await a.execute(this._conf,"get",s({url:this._urls.getCountries,params:{}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=l.GetCountries().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getCountries \n ${b}`})}return w}async getCountry({countryIsoCode:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getCountry().validate({countryIsoCode:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getCountry().validate({countryIsoCode:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getCountry \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getCountry,params:{countryIsoCode:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.GetCountry().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getCountry \n ${m}`})}return p}async getLocalities({localityType:e,country:t,state:r,city:u,pageNo:d,pageSize:p,q:g,requestHeaders:m}={requestHeaders:{}},{responseHeaders:f}={responseHeaders:!1}){const{error:w}=i.getLocalities().validate({localityType:e,country:t,state:r,city:u,pageNo:d,pageSize:p,q:g},{abortEarly:!1,allowUnknown:!0});if(w)return Promise.reject(new n(w));const{error:y}=i.getLocalities().validate({localityType:e,country:t,state:r,city:u,pageNo:d,pageSize:p,q:g},{abortEarly:!1,allowUnknown:!1});y&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getLocalities \n ${y}`});const b={};b.country=t,b.state=r,b.city=u,b.page_no=d,b.page_size=p,b.q=g;const h=await a.execute(this._conf,"get",s({url:this._urls.getLocalities,params:{localityType:e}}),b,void 0,{...m},{responseHeaders:f});let _=h;f&&(_=h[0]);const{error:v}=l.GetLocalities().validate(_,{abortEarly:!1,allowUnknown:!0});if(v){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(v));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getLocalities \n ${v}`})}return h}async getLocality({localityType:e,localityValue:t,country:r,state:u,city:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=i.getLocality().validate({localityType:e,localityValue:t,country:r,state:u,city:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=i.getLocality().validate({localityType:e,localityValue:t,country:r,state:u,city:d},{abortEarly:!1,allowUnknown:!1});f&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getLocality \n ${f}`});const w={};w.country=r,w.state=u,w.city=d;const y=await a.execute(this._conf,"get",s({url:this._urls.getLocality,params:{localityType:e,localityValue:t}}),w,void 0,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=l.GetLocality().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getLocality \n ${h}`})}return y}async getLocations({xApplicationId:e,xApplicationData:t,country:r,state:u,city:d,pincode:p,sector:g,pageNo:m,pageSize:f,requestHeaders:w}={requestHeaders:{}},{responseHeaders:y}={responseHeaders:!1}){const{error:b}=i.getLocations().validate({xApplicationId:e,xApplicationData:t,country:r,state:u,city:d,pincode:p,sector:g,pageNo:m,pageSize:f},{abortEarly:!1,allowUnknown:!0});if(b)return Promise.reject(new n(b));const{error:h}=i.getLocations().validate({xApplicationId:e,xApplicationData:t,country:r,state:u,city:d,pincode:p,sector:g,pageNo:m,pageSize:f},{abortEarly:!1,allowUnknown:!1});h&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getLocations \n ${h}`});const _={};_["x-application-id"]=e,_["x-application-data"]=t,_.country=r,_.state=u,_.city=d,_.pincode=p,_.sector=g,_.page_no=m,_.page_size=f;const v=await a.execute(this._conf,"get",s({url:this._urls.getLocations,params:{}}),_,void 0,{...w},{responseHeaders:y});let R=v;y&&(R=v[0]);const{error:k}=l.GetStoreResponse().validate(R,{abortEarly:!1,allowUnknown:!0});if(k){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(k));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getLocations \n ${k}`})}return v}async getOptimalLocations({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getOptimalLocations().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getOptimalLocations().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getOptimalLocations \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getOptimalLocations,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ReAssignStoreResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getOptimalLocations \n ${m}`})}return p}async getPincodeCity({pincode:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getPincodeCity().validate({pincode:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getPincodeCity().validate({pincode:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getPincodeCity \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getPincodeCity,params:{pincode:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.PincodeApiResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getPincodeCity \n ${m}`})}return p}async getPincodeZones({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getPincodeZones().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getPincodeZones().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getPincodeZones \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getPincodeZones,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.GetZoneFromPincodeViewResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getPincodeZones \n ${m}`})}return p}async getTatProduct({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getTatProduct().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getTatProduct().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getTatProduct \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getTatProduct,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.TATViewResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getTatProduct \n ${m}`})}return p}async validateAddress({countryIsoCode:e,templateName:t,body:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.validateAddress().validate({countryIsoCode:e,templateName:t,body:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.validateAddress().validate({countryIsoCode:e,templateName:t,body:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > validateAddress \n ${g}`});const m=await a.execute(this._conf,"post",s({url:this._urls.validateAddress,params:{countryIsoCode:e,templateName:t}}),{},r,{...u},{responseHeaders:d});let f=m;d&&(f=m[0]);const{error:w}=l.ValidateAddressRequest().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > validateAddress \n ${w}`})}return m}}},8297:(e,t,r)=>{const a=r(6075);class n{static GetStoreResponse(){return a.object({items:a.array().items(n.StoreItemResponse()),page:n.Page()})}static StoreItemResponse(){return a.object({id:a.number(),store_type:a.string().allow(""),fulfillment_type:a.string().allow(""),processing_time:a.number(),tags:a.array().items(a.string().allow("")),company_id:a.number(),latitude:a.number(),longitude:a.number()})}static ValidateAddressRequest(){return a.object({address:a.string().allow(""),address1:a.string().allow(""),address2:a.string().allow(""),area:a.string().allow(""),landmark:a.string().allow(""),pincode:a.string().allow(""),sector:a.string().allow(""),city:a.string().allow(""),state:a.string().allow(""),name:a.string().allow(""),phone:a.string().allow(""),email:a.string().allow("")})}static PincodeParentsResponse(){return a.object({sub_type:a.string().allow(""),display_name:a.string().allow(""),name:a.string().allow(""),uid:a.string().allow("")})}static PincodeMetaResponse(){return a.object({zone:a.string().allow(""),internal_zone_id:a.number()})}static PincodeErrorSchemaResponse(){return a.object({message:a.string().allow("").allow(null),value:a.string().allow("").allow(null),type:a.string().allow("").allow(null)})}static CountryMetaResponse(){return a.object({country_code:a.string().allow(""),isd_code:a.string().allow("")})}static PincodeLatLongData(){return a.object({type:a.string().allow(""),coordinates:a.array().items(a.string().allow(""))})}static PincodeDataResponse(){return a.object({parents:a.array().items(n.PincodeParentsResponse()),meta:n.PincodeMetaResponse(),display_name:a.string().allow(""),error:n.PincodeErrorSchemaResponse().required(),meta_code:n.CountryMetaResponse(),lat_long:n.PincodeLatLongData(),sub_type:a.string().allow(""),name:a.string().allow(""),uid:a.string().allow("")})}static PincodeApiResponse(){return a.object({success:a.boolean().required(),data:a.array().items(n.PincodeDataResponse()),error:n.PincodeErrorSchemaResponse().required()})}static TATCategoryRequest(){return a.object({level:a.string().allow(""),id:a.number()})}static TATArticlesRequest(){return a.object({category:n.TATCategoryRequest(),manufacturing_time_unit:a.string().allow(""),manufacturing_time:a.number()})}static TATLocationDetailsRequest(){return a.object({fulfillment_id:a.number(),from_pincode:a.string().allow(""),articles:a.array().items(n.TATArticlesRequest())})}static TATViewRequest(){return a.object({to_pincode:a.string().allow(""),source:a.string().allow(""),action:a.string().allow(""),identifier:a.string().allow(""),location_details:a.array().items(n.TATLocationDetailsRequest()),journey:a.string().allow("")})}static TATErrorSchemaResponse(){return a.object({message:a.string().allow("").allow(null),value:a.string().allow("").allow(null),type:a.string().allow("").allow(null)})}static TATTimestampResponse(){return a.object({min:a.number(),max:a.number()})}static TATFormattedResponse(){return a.object({min:a.string().allow(""),max:a.string().allow("")})}static TATPromiseResponse(){return a.object({timestamp:n.TATTimestampResponse(),formatted:n.TATFormattedResponse()})}static TATArticlesResponse(){return a.object({manufacturing_time_unit:a.string().allow(""),error:n.TATErrorSchemaResponse(),is_cod_available:a.boolean(),promise:n.TATPromiseResponse(),manufacturing_time:a.number(),category:n.TATCategoryRequest(),_manufacturing_time_seconds:a.number()})}static TATLocationDetailsResponse(){return a.object({fulfillment_id:a.number(),from_pincode:a.string().allow(""),articles:a.array().items(n.TATArticlesResponse())})}static TATViewResponse(){return a.object({to_pincode:a.string().allow(""),request_uuid:a.string().allow(""),payment_mode:a.string().allow(""),success:a.boolean(),error:n.TATErrorSchemaResponse(),is_cod_available:a.boolean(),source:a.string().allow(""),action:a.string().allow(""),stormbreaker_uuid:a.string().allow(""),to_city:a.string().allow(""),identifier:a.string().allow(""),location_details:a.array().items(n.TATLocationDetailsResponse()),journey:a.string().allow("")})}static DP(){return a.object({fm_priority:a.number().required(),lm_priority:a.number().required(),rvp_priority:a.number().required(),payment_mode:a.string().allow("").required(),operations:a.array().items(a.string().allow("")).required(),area_code:a.string().allow("").allow(null),assign_dp_from_sb:a.boolean(),internal_account_id:a.string().allow(""),external_account_id:a.string().allow("").allow(null),transport_mode:a.string().allow("")})}static LogisticsResponse(){return a.object({dp:a.object().pattern(/\S/,n.DP())})}static CountryEntityResponse(){return a.object({meta:n.CountryMetaResponse(),logistics:n.LogisticsResponse(),display_name:a.string().allow(""),type:a.string().allow(""),is_active:a.boolean(),parent_id:a.string().allow(""),sub_type:a.string().allow(""),name:a.string().allow(""),uid:a.string().allow("")})}static CountryListResponse(){return a.object({results:a.array().items(n.CountryEntityResponse())})}static GetZoneFromPincodeViewRequest(){return a.object({pincode:a.string().allow("").required(),country:a.string().allow("").required()})}static GetZoneFromPincodeViewResponse(){return a.object({serviceability_type:a.string().allow("").required(),zones:a.array().items(a.string().allow("")).required()})}static ReAssignStoreRequest(){return a.object({configuration:a.any().required(),to_pincode:a.string().allow("").required(),ignored_locations:a.array().items(a.number()).required(),identifier:a.string().allow("").required(),articles:a.array().items(a.any()).required()})}static ReAssignStoreResponse(){return a.object({to_pincode:a.string().allow("").required(),pystormbreaker_uuid:a.string().allow("").required(),success:a.boolean().required(),error:a.any().required(),assigned_stores:a.array().items(a.any())})}static CountryHierarchy(){return a.object({name:a.string().allow(""),slug:a.string().allow("")})}static CurrencyObject(){return a.object({code:a.string().allow(""),name:a.string().allow(""),symbol:a.string().allow("")})}static CountryObject(){return a.object({id:a.string().allow(""),name:a.string().allow(""),display_name:a.string().allow(""),iso2:a.string().allow(""),iso3:a.string().allow(""),timezones:a.array().items(a.string().allow("")).allow(null,""),hierarchy:a.array().items(n.CountryHierarchy()),phone_code:a.string().allow(""),latitude:a.string().allow(""),longitude:a.string().allow(""),currency:n.CurrencyObject(),type:a.string().allow("")})}static GetCountries(){return a.object({items:a.array().items(n.CountryObject()),page:n.Page()})}static GetOneOrAllPath(){return a.object({locality_type:a.string().allow(""),locality_value:a.string().allow("")})}static GetOneOrAllQuery(){return a.object({country:a.string().allow("").allow(null),state:a.string().allow("").allow(null),city:a.string().allow("").allow(null),sector:a.string().allow("").allow(null)})}static GetOneOrAllParams(){return a.object({path:n.GetOneOrAllPath(),query:n.GetOneOrAllQuery()})}static GetOneOrAll(){return a.object({operation_id:a.string().allow(""),params:n.GetOneOrAllParams()})}static LengthValidation(){return a.object({min:a.number().allow(null),max:a.number().allow(null)})}static FieldValidationRegex(){return a.object({value:a.string().allow(""),length:n.LengthValidation()})}static FieldValidation(){return a.object({type:a.string().allow(""),regex:n.FieldValidationRegex()})}static GetCountryFieldsAddressValues(){return a.object({get_one:n.GetOneOrAll(),get_all:n.GetOneOrAll()})}static GetCountryFieldsAddress(){return a.object({display_name:a.string().allow("").required(),slug:a.string().allow("").required(),required:a.boolean().required(),edit:a.boolean(),input:a.string().allow("").required(),validation:n.FieldValidation(),values:n.GetCountryFieldsAddressValues(),error_text:a.string().allow("").allow(null)})}static GetCountryFieldsAddressTemplate(){return a.object({checkout_form:a.string().allow("").required(),store_os_form:a.string().allow("").required(),default_display:a.string().allow("").required()})}static GetCountryFields(){return a.object({address:a.array().items(n.GetCountryFieldsAddress()).required(),serviceability_fields:a.array().items(a.string().allow("")).required(),address_template:n.GetCountryFieldsAddressTemplate().required()})}static GetCountry(){return a.object({id:a.string().allow(""),name:a.string().allow(""),display_name:a.string().allow(""),iso2:a.string().allow(""),iso3:a.string().allow(""),timezones:a.array().items(a.string().allow("")).allow(null,""),hierarchy:a.array().items(n.CountryHierarchy()),phone_code:a.string().allow(""),latitude:a.string().allow(""),longitude:a.string().allow(""),currency:n.CurrencyObject(),type:a.string().allow(""),fields:n.GetCountryFields()})}static Page(){return a.object({item_total:a.number(),next_id:a.string().allow(""),has_previous:a.boolean(),has_next:a.boolean(),current:a.number(),type:a.string().allow("").required(),size:a.number()})}static Localities(){return a.object({id:a.string().allow(""),name:a.string().allow(""),display_name:a.string().allow(""),parent_ids:a.array().items(a.string().allow("")),type:a.string().allow("")})}static LocalityParent(){return a.object({id:a.string().allow(""),name:a.string().allow(""),display_name:a.string().allow(""),parent_ids:a.array().items(a.string().allow("")),type:a.string().allow("")})}static GetLocalities(){return a.object({items:a.array().items(n.Localities()),page:n.Page()})}static GetLocality(){return a.object({id:a.string().allow(""),name:a.string().allow(""),display_name:a.string().allow(""),parent_ids:a.array().items(a.string().allow("")),type:a.string().allow(""),localities:a.array().items(n.LocalityParent())})}static ErrorResponse(){return a.object({error:a.string().allow(""),message:a.string().allow("")})}}e.exports=n},2230:(e,t,r)=>{const a=r(6075),n=r(8297);e.exports=class{static getAllCountries(){return a.object({})}static getCountries(){return a.object({onboarding:a.boolean(),pageNo:a.number(),pageSize:a.number(),q:a.string().allow("")})}static getCountry(){return a.object({countryIsoCode:a.string().allow("").required()}).required()}static getLocalities(){return a.object({localityType:a.string().allow("").required(),country:a.string().allow(""),state:a.string().allow(""),city:a.string().allow(""),pageNo:a.number(),pageSize:a.number(),q:a.string().allow("")}).required()}static getLocality(){return a.object({localityType:a.string().allow("").required(),localityValue:a.string().allow("").required(),country:a.string().allow(""),state:a.string().allow(""),city:a.string().allow("")}).required()}static getLocations(){return a.object({xApplicationId:a.string().allow("").required(),xApplicationData:a.string().allow("").required(),country:a.string().allow(""),state:a.string().allow(""),city:a.string().allow(""),pincode:a.number(),sector:a.string().allow(""),pageNo:a.number(),pageSize:a.number()}).required()}static getOptimalLocations(){return a.object({body:n.ReAssignStoreRequest().required()}).required()}static getPincodeCity(){return a.object({pincode:a.string().allow("").required()}).required()}static getPincodeZones(){return a.object({body:n.GetZoneFromPincodeViewRequest().required()}).required()}static getTatProduct(){return a.object({body:n.TATViewRequest().required()}).required()}static validateAddress(){return a.object({countryIsoCode:a.string().allow("").required(),templateName:a.string().allow("").required(),body:n.ValidateAddressRequest().required()}).required()}}},7611:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(4420)),l=r(4079),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={getCustomerDetailsByShipmentId:"/service/application/order/v1.0/orders/{order_id}/shipments/{shipment_id}/customer-details",getInvoiceByShipmentId:"/service/application/order/v1.0/orders/shipments/{shipment_id}/invoice",getOrderById:"/service/application/order/v1.0/orders/{order_id}",getOrders:"/service/application/order/v1.0/orders",getShipmentBagReasons:"/service/application/order/v1.0/orders/shipments/{shipment_id}/bags/{bag_id}/reasons",getShipmentById:"/service/application/order/v1.0/orders/shipments/{shipment_id}",getShipmentReasons:"/service/application/order/v1.0/orders/shipments/{shipment_id}/reasons",sendOtpToShipmentCustomer:"/service/application/order/v1.0/orders/{order_id}/shipments/{shipment_id}/otp/send/",trackShipment:"/service/application/order/v1.0/orders/shipments/{shipment_id}/track",updateShipmentStatus:"/service/application/order/v1.0/orders/shipments/{shipment_id}/status",verifyOtpShipmentCustomer:"/service/application/order/v1.0/orders/{order_id}/shipments/{shipment_id}/otp/verify/"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async getCustomerDetailsByShipmentId({orderId:e,shipmentId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getCustomerDetailsByShipmentId().validate({orderId:e,shipmentId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getCustomerDetailsByShipmentId().validate({orderId:e,shipmentId:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > getCustomerDetailsByShipmentId \n ${p}`});const g=await a.execute(this._conf,"get",s({url:this._urls.getCustomerDetailsByShipmentId,params:{orderId:e,shipmentId:t}}),{},void 0,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.CustomerDetailsResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Order > getCustomerDetailsByShipmentId \n ${f}`})}return g}async getInvoiceByShipmentId({shipmentId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getInvoiceByShipmentId().validate({shipmentId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getInvoiceByShipmentId().validate({shipmentId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > getInvoiceByShipmentId \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getInvoiceByShipmentId,params:{shipmentId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ResponseGetInvoiceShipment().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Order > getInvoiceByShipmentId \n ${m}`})}return p}async getOrderById({orderId:e,allowInactive:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getOrderById().validate({orderId:e,allowInactive:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getOrderById().validate({orderId:e,allowInactive:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > getOrderById \n ${p}`});const g={};g.allow_inactive=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getOrderById,params:{orderId:e}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.OrderById().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Order > getOrderById \n ${w}`})}return m}async getOrders({status:e,pageNo:t,pageSize:r,fromDate:u,toDate:d,startDate:p,endDate:g,customMeta:m,allowInactive:f,requestHeaders:w}={requestHeaders:{}},{responseHeaders:y}={responseHeaders:!1}){const{error:b}=i.getOrders().validate({status:e,pageNo:t,pageSize:r,fromDate:u,toDate:d,startDate:p,endDate:g,customMeta:m,allowInactive:f},{abortEarly:!1,allowUnknown:!0});if(b)return Promise.reject(new n(b));const{error:h}=i.getOrders().validate({status:e,pageNo:t,pageSize:r,fromDate:u,toDate:d,startDate:p,endDate:g,customMeta:m,allowInactive:f},{abortEarly:!1,allowUnknown:!1});h&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > getOrders \n ${h}`});const _={};_.status=e,_.page_no=t,_.page_size=r,_.from_date=u,_.to_date=d,_.start_date=p,_.end_date=g,_.custom_meta=m,_.allow_inactive=f;const v=await a.execute(this._conf,"get",s({url:this._urls.getOrders,params:{}}),_,void 0,{...w},{responseHeaders:y});let R=v;y&&(R=v[0]);const{error:k}=l.OrderList().validate(R,{abortEarly:!1,allowUnknown:!0});if(k){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(k));c({level:"WARN",message:`Response Validation Warnings for application > Order > getOrders \n ${k}`})}return v}async getShipmentBagReasons({shipmentId:e,bagId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getShipmentBagReasons().validate({shipmentId:e,bagId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getShipmentBagReasons().validate({shipmentId:e,bagId:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > getShipmentBagReasons \n ${p}`});const g=await a.execute(this._conf,"get",s({url:this._urls.getShipmentBagReasons,params:{shipmentId:e,bagId:t}}),{},void 0,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.ShipmentBagReasons().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Order > getShipmentBagReasons \n ${f}`})}return g}async getShipmentById({shipmentId:e,allowInactive:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getShipmentById().validate({shipmentId:e,allowInactive:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getShipmentById().validate({shipmentId:e,allowInactive:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > getShipmentById \n ${p}`});const g={};g.allow_inactive=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getShipmentById,params:{shipmentId:e}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.ShipmentById().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Order > getShipmentById \n ${w}`})}return m}async getShipmentReasons({shipmentId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getShipmentReasons().validate({shipmentId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getShipmentReasons().validate({shipmentId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > getShipmentReasons \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getShipmentReasons,params:{shipmentId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ShipmentReasons().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Order > getShipmentReasons \n ${m}`})}return p}async sendOtpToShipmentCustomer({orderId:e,shipmentId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendOtpToShipmentCustomer().validate({orderId:e,shipmentId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendOtpToShipmentCustomer().validate({orderId:e,shipmentId:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > sendOtpToShipmentCustomer \n ${p}`});const g=await a.execute(this._conf,"post",s({url:this._urls.sendOtpToShipmentCustomer,params:{orderId:e,shipmentId:t}}),{},void 0,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.SendOtpToCustomerResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Order > sendOtpToShipmentCustomer \n ${f}`})}return g}async trackShipment({shipmentId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.trackShipment().validate({shipmentId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.trackShipment().validate({shipmentId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > trackShipment \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.trackShipment,params:{shipmentId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ShipmentTrack().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Order > trackShipment \n ${m}`})}return p}async updateShipmentStatus({shipmentId:e,body:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.updateShipmentStatus().validate({shipmentId:e,body:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.updateShipmentStatus().validate({shipmentId:e,body:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > updateShipmentStatus \n ${p}`});const g=await a.execute(this._conf,"put",s({url:this._urls.updateShipmentStatus,params:{shipmentId:e}}),{},t,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.ShipmentApplicationStatusResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Order > updateShipmentStatus \n ${f}`})}return g}async verifyOtpShipmentCustomer({orderId:e,shipmentId:t,body:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.verifyOtpShipmentCustomer().validate({orderId:e,shipmentId:t,body:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.verifyOtpShipmentCustomer().validate({orderId:e,shipmentId:t,body:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > verifyOtpShipmentCustomer \n ${g}`});const m=await a.execute(this._conf,"post",s({url:this._urls.verifyOtpShipmentCustomer,params:{orderId:e,shipmentId:t}}),{},r,{...u},{responseHeaders:d});let f=m;d&&(f=m[0]);const{error:w}=l.VerifyOtpResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Order > verifyOtpShipmentCustomer \n ${w}`})}return m}}},4079:(e,t,r)=>{const a=r(6075);class n{static OrderPage(){return a.object({type:a.string().allow(""),item_total:a.number(),current:a.number(),size:a.number(),has_next:a.boolean()})}static UserInfo(){return a.object({first_name:a.string().allow(""),gender:a.string().allow(""),name:a.string().allow(""),last_name:a.string().allow(""),mobile:a.string().allow(""),email:a.string().allow("")})}static BreakupValues(){return a.object({value:a.number(),currency_symbol:a.string().allow(""),name:a.string().allow(""),display:a.string().allow(""),currency_code:a.string().allow("")})}static ShipmentPayment(){return a.object({mop:a.string().allow(""),payment_mode:a.string().allow(""),status:a.string().allow(""),mode:a.string().allow(""),logo:a.string().allow(""),display_name:a.string().allow("")})}static ShipmentPaymentInfo(){return a.object({mop:a.string().allow(""),payment_mode:a.string().allow(""),status:a.string().allow(""),mode:a.string().allow(""),logo:a.string().allow(""),display_name:a.string().allow(""),amount:a.number()})}static ShipmentUserInfo(){return a.object({first_name:a.string().allow(""),gender:a.string().allow(""),name:a.string().allow(""),last_name:a.string().allow(""),mobile:a.string().allow(""),email:a.string().allow("")})}static FulfillingStore(){return a.object({id:a.number(),code:a.string().allow(""),name:a.string().allow(""),company_name:a.string().allow(""),company_id:a.number()})}static ShipmentStatus(){return a.object({value:a.string().allow("").allow(null),title:a.string().allow(""),hex_code:a.string().allow("")})}static Invoice(){return a.object({invoice_url:a.string().allow(""),updated_date:a.string().allow(""),label_url:a.string().allow("")})}static NestedTrackingDetails(){return a.object({is_passed:a.boolean(),time:a.string().allow(""),is_current:a.boolean(),status:a.string().allow("")})}static TrackingDetails(){return a.object({value:a.string().allow("").allow(null),is_current:a.boolean(),is_passed:a.boolean(),status:a.string().allow(""),time:a.string().allow(""),created_ts:a.string().allow(""),tracking_details:a.array().items(n.NestedTrackingDetails())})}static TimeStampData(){return a.object({min:a.string().allow(""),max:a.string().allow("")})}static Promise(){return a.object({show_promise:a.boolean(),timestamp:n.TimeStampData()})}static ShipmentTotalDetails(){return a.object({pieces:a.number(),total_price:a.number(),sizes:a.number()})}static Prices(){return a.object({delivery_charge:a.number(),coupon_value:a.number(),brand_calculated_amount:a.number(),value_of_good:a.number(),price_marked:a.number(),coupon_effective_discount:a.number(),currency_symbol:a.string().allow(""),discount:a.number(),gst_tax_percentage:a.number(),cod_charges:a.number(),amount_paid:a.number(),added_to_fynd_cash:a.boolean(),transfer_price:a.number(),cashback_applied:a.number(),price_effective:a.number(),cashback:a.number(),refund_credit:a.number(),amount_paid_roundoff:a.number(),promotion_effective_discount:a.number(),refund_amount:a.number(),currency_code:a.string().allow(""),fynd_credits:a.number(),amount_to_be_collected:a.number()})}static ItemBrand(){return a.object({logo:a.string().allow(""),name:a.string().allow("")})}static Item(){return a.object({image:a.array().items(a.string().allow("")),l1_categories:a.array().items(a.string().allow("")),brand:n.ItemBrand(),seller_identifier:a.string().allow(""),code:a.string().allow(""),id:a.number(),name:a.string().allow(""),l3_category_name:a.string().allow(""),slug_key:a.string().allow(""),l2_categories:a.array().items(a.string().allow("")),size:a.string().allow(""),attributes:a.object().pattern(/\S/,a.any())})}static AppliedFreeArticles(){return a.object({article_id:a.string().allow(""),free_gift_item_details:a.any(),parent_item_identifier:a.string().allow(""),quantity:a.number()})}static AppliedPromos(){return a.object({mrp_promotion:a.boolean(),promotion_name:a.string().allow(""),article_quantity:a.number(),promo_id:a.string().allow(""),amount:a.number(),promotion_type:a.string().allow(""),applied_free_articles:a.array().items(n.AppliedFreeArticles())})}static Identifiers(){return a.object({ean:a.string().allow(""),sku_code:a.string().allow("")})}static FinancialBreakup(){return a.object({coupon_value:a.number(),delivery_charge:a.number(),brand_calculated_amount:a.number(),value_of_good:a.number(),price_marked:a.number(),coupon_effective_discount:a.number(),hsn_code:a.string().allow(""),discount:a.number(),gst_tax_percentage:a.number(),cod_charges:a.number(),amount_paid:a.number(),added_to_fynd_cash:a.boolean(),size:a.string().allow(""),transfer_price:a.number(),cashback_applied:a.number(),price_effective:a.number(),cashback:a.number(),refund_credit:a.number(),amount_paid_roundoff:a.number(),total_units:a.number(),identifiers:n.Identifiers(),gst_tag:a.string().allow(""),item_name:a.string().allow(""),promotion_effective_discount:a.number(),gst_fee:a.number(),refund_amount:a.number(),fynd_credits:a.number(),amount_to_be_collected:a.number()})}static CurrentStatus(){return a.object({updated_at:a.string().allow(""),name:a.string().allow(""),status:a.string().allow(""),journey_type:a.string().allow("").allow(null)})}static Bags(){return a.object({delivery_date:a.string().allow("").allow(null),line_number:a.number(),currency_symbol:a.string().allow(""),item:n.Item(),applied_promos:a.array().items(n.AppliedPromos()),quantity:a.number(),prices:n.Prices(),can_cancel:a.boolean(),can_return:a.boolean(),id:a.number(),returnable_date:a.string().allow("").allow(null),financial_breakup:a.array().items(n.FinancialBreakup()),parent_promo_bags:a.any(),meta:a.any(),currency_code:a.string().allow(""),seller_identifier:a.string().allow(""),current_status:n.CurrentStatus(),article:n.Article()})}static FulfillingCompany(){return a.object({id:a.number(),name:a.string().allow("")})}static Article(){return a.object({tags:a.array().items(a.string().allow(""))})}static Address(){return a.object({pincode:a.string().allow(""),phone:a.string().allow(""),latitude:a.number().allow(null),address2:a.string().allow(""),landmark:a.string().allow(""),area:a.string().allow(""),city:a.string().allow(""),address:a.string().allow(""),address_type:a.string().allow(""),longitude:a.number().allow(null),country_iso_code:a.string().allow(""),state:a.string().allow(""),created_at:a.string().allow(""),address1:a.string().allow(""),display_address:a.string().allow(""),name:a.string().allow(""),contact_person:a.string().allow(""),address_category:a.string().allow(""),email:a.string().allow(""),country_phone_code:a.string().allow(""),version:a.string().allow(""),updated_at:a.string().allow(""),country:a.string().allow("")})}static Shipments(){return a.object({payment:n.ShipmentPayment(),payment_info:a.array().items(n.ShipmentPaymentInfo()),order_type:a.string().allow("").allow(null),gstin_code:a.string().allow(""),show_download_invoice:a.boolean(),can_cancel:a.boolean(),user_info:n.ShipmentUserInfo(),shipment_id:a.string().allow(""),fulfilling_store:n.FulfillingStore(),custom_meta:a.array().items(a.any()),shipment_status:n.ShipmentStatus(),comment:a.string().allow(""),invoice:n.Invoice(),show_track_link:a.boolean(),refund_details:a.any(),breakup_values:a.array().items(n.BreakupValues()),can_break:a.any(),traking_no:a.string().allow(""),tracking_details:a.array().items(n.TrackingDetails()),promise:n.Promise(),total_bags:a.number(),total_details:n.ShipmentTotalDetails(),prices:n.Prices(),returnable_date:a.string().allow("").allow(null),shipment_created_at:a.string().allow(""),shipment_created_ts:a.string().allow(""),size_info:a.any(),bags:a.array().items(n.Bags()),dp_name:a.string().allow(""),awb_no:a.string().allow(""),beneficiary_details:a.boolean(),fulfilling_company:n.FulfillingCompany(),can_return:a.boolean(),delivery_address:n.Address(),billing_address:n.Address(),track_url:a.string().allow(""),order_id:a.string().allow(""),need_help_url:a.string().allow(""),return_meta:a.any(),delivery_date:a.string().allow("").allow(null),order:n.OrderRequest()})}static BagsForReorderArticleAssignment(){return a.object({strategy:a.string().allow(""),level:a.string().allow("")})}static BagsForReorder(){return a.object({item_size:a.string().allow(""),quantity:a.number(),store_id:a.number(),article_assignment:n.BagsForReorderArticleAssignment(),seller_id:a.number(),item_id:a.number()})}static OrderSchema(){return a.object({total_shipments_in_order:a.number(),gstin_code:a.string().allow(""),user_info:n.UserInfo(),breakup_values:a.array().items(n.BreakupValues()),order_created_time:a.string().allow(""),order_created_ts:a.string().allow(""),order_id:a.string().allow(""),shipments:a.array().items(n.Shipments()),bags_for_reorder:a.array().items(n.BagsForReorder()),meta:a.object().pattern(/\S/,a.any())})}static OrderStatuses(){return a.object({value:a.number(),is_selected:a.boolean(),display:a.string().allow("")})}static OrderFilters(){return a.object({statuses:a.array().items(n.OrderStatuses())})}static OrderList(){return a.object({page:n.OrderPage(),items:a.array().items(n.OrderSchema()),filters:n.OrderFilters()})}static ApefaceApiError(){return a.object({message:a.string().allow(""),success:a.boolean()})}static OrderById(){return a.object({order:n.OrderSchema()})}static ShipmentById(){return a.object({shipment:n.Shipments()})}static ResponseGetInvoiceShipment(){return a.object({presigned_type:a.string().allow("").required(),success:a.boolean().required(),shipment_id:a.string().allow("").required(),presigned_url:a.string().allow("").required()})}static Track(){return a.object({account_name:a.string().allow(""),shipment_type:a.string().allow(""),status:a.string().allow(""),last_location_recieved_at:a.string().allow(""),updated_time:a.string().allow(""),updated_at:a.string().allow(""),reason:a.string().allow(""),awb:a.string().allow("")})}static ShipmentTrack(){return a.object({results:a.array().items(n.Track())})}static CustomerDetailsResponse(){return a.object({phone:a.string().allow(""),shipment_id:a.string().allow(""),name:a.string().allow(""),order_id:a.string().allow(""),country:a.string().allow("")})}static SendOtpToCustomerResponse(){return a.object({request_id:a.string().allow(""),message:a.string().allow(""),success:a.boolean(),resend_timer:a.number()})}static VerifyOtp(){return a.object({otp_code:a.string().allow(""),request_id:a.string().allow("")})}static VerifyOtpResponse(){return a.object({success:a.boolean()})}static BagReasonMeta(){return a.object({show_text_area:a.boolean()})}static QuestionSet(){return a.object({id:a.number(),display_name:a.string().allow("")})}static BagReasons(){return a.object({qc_type:a.array().items(a.string().allow("")),id:a.number(),display_name:a.string().allow(""),meta:n.BagReasonMeta(),question_set:a.array().items(n.QuestionSet()),reasons:a.array().items(a.link("#BagReasons"))}).id("BagReasons")}static ShipmentBagReasons(){return a.object({reasons:a.array().items(n.BagReasons()),success:a.boolean()})}static ShipmentReason(){return a.object({priority:a.number(),show_text_area:a.boolean(),reason_id:a.number(),feedback_type:a.string().allow(""),reason_text:a.string().allow(""),flow:a.string().allow("")})}static ShipmentReasons(){return a.object({reasons:a.array().items(n.ShipmentReason())})}static ProductsReasonsData(){return a.object({reason_id:a.number(),reason_text:a.string().allow("")})}static ProductsReasonsFilters(){return a.object({line_number:a.number(),quantity:a.number(),identifier:a.string().allow("")})}static ProductsReasons(){return a.object({data:n.ProductsReasonsData(),filters:a.array().items(n.ProductsReasonsFilters())})}static EntityReasonData(){return a.object({reason_id:a.number(),reason_text:a.string().allow("")})}static EntitiesReasons(){return a.object({data:n.EntityReasonData(),filters:a.array().items(a.any())})}static ReasonsData(){return a.object({products:a.array().items(n.ProductsReasons()),entities:a.array().items(n.EntitiesReasons())})}static Products(){return a.object({line_number:a.number(),quantity:a.number(),identifier:a.string().allow("")})}static ProductsDataUpdatesFilters(){return a.object({line_number:a.number(),identifier:a.string().allow("")})}static ProductsDataUpdates(){return a.object({data:a.any(),filters:a.array().items(n.ProductsDataUpdatesFilters())})}static EntitiesDataUpdates(){return a.object({data:a.any(),filters:a.array().items(a.any())})}static DataUpdates(){return a.object({products:a.array().items(n.ProductsDataUpdates()),entities:a.array().items(n.EntitiesDataUpdates())})}static ShipmentsRequest(){return a.object({reasons:n.ReasonsData(),products:a.array().items(n.Products()),data_updates:n.DataUpdates(),identifier:a.string().allow("").required()})}static StatuesRequest(){return a.object({shipments:a.array().items(n.ShipmentsRequest()),exclude_bags_next_state:a.string().allow(""),status:a.string().allow("")})}static OrderRequest(){return a.object({meta:a.any()})}static UpdateShipmentStatusRequest(){return a.object({statuses:a.array().items(n.StatuesRequest()),task:a.boolean(),lock_after_transition:a.boolean(),force_transition:a.boolean(),unlock_before_transition:a.boolean()})}static StatusesBodyResponse(){return a.object({shipments:a.array().items(a.any())})}static ShipmentApplicationStatusResponse(){return a.object({statuses:a.array().items(n.StatusesBodyResponse())})}static ErrorResponse(){return a.object({code:a.string().allow("").allow(null),message:a.string().allow("").allow(null),status:a.number(),exception:a.string().allow("").allow(null),stack_trace:a.string().allow("").allow(null)})}}e.exports=n},4420:(e,t,r)=>{const a=r(6075),n=r(4079);e.exports=class{static getCustomerDetailsByShipmentId(){return a.object({orderId:a.string().allow("").required(),shipmentId:a.string().allow("").required()}).required()}static getInvoiceByShipmentId(){return a.object({shipmentId:a.string().allow("").required()}).required()}static getOrderById(){return a.object({orderId:a.string().allow("").required(),allowInactive:a.boolean()}).required()}static getOrders(){return a.object({status:a.number(),pageNo:a.number(),pageSize:a.number(),fromDate:a.string().allow(""),toDate:a.string().allow(""),startDate:a.string().allow(""),endDate:a.string().allow(""),customMeta:a.string().allow(""),allowInactive:a.boolean()})}static getShipmentBagReasons(){return a.object({shipmentId:a.string().allow("").required(),bagId:a.string().allow("").required()}).required()}static getShipmentById(){return a.object({shipmentId:a.string().allow("").required(),allowInactive:a.boolean()}).required()}static getShipmentReasons(){return a.object({shipmentId:a.string().allow("").required()}).required()}static sendOtpToShipmentCustomer(){return a.object({orderId:a.string().allow("").required(),shipmentId:a.string().allow("").required()}).required()}static trackShipment(){return a.object({shipmentId:a.string().allow("").required()}).required()}static updateShipmentStatus(){return a.object({shipmentId:a.string().allow("").required(),body:n.UpdateShipmentStatusRequest().required()}).required()}static verifyOtpShipmentCustomer(){return a.object({orderId:a.string().allow("").required(),shipmentId:a.string().allow("").required(),body:n.VerifyOtp().required()}).required()}}},603:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(292)),l=r(9887),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={addBeneficiaryDetails:"/service/application/payment/v1.0/refund/account",addRefundBankAccountUsingOTP:"/service/application/payment/v1.0/refund/account/otp",attachCardToCustomer:"/service/application/payment/v1.0/card/attach",cancelPaymentLink:"/service/application/payment/v1.0/cancel-payment-link/",cardDetails:"/service/application/payment/v1.0/cards/info/{card_info}",checkAndUpdatePaymentStatus:"/service/application/payment/v1.0/payment/confirm/polling",checkAndUpdatePaymentStatusPaymentLink:"/service/application/payment/v1.0/payment/confirm/polling/link/",checkCredit:"/service/application/payment/v1.0/check-credits/",createOrderHandlerPaymentLink:"/service/application/payment/v1.0/create-order/link/",createPaymentLink:"/service/application/payment/v1.0/create-payment-link/",createPaymentOrder:"/service/application/payment/v1.0/payment-orders/",customerCreditSummary:"/service/application/payment/v1.0/payment/credit-summary/",customerOnboard:"/service/application/payment/v1.0/credit-onboard/",deleteUserCard:"/service/application/payment/v1.0/card/remove",delinkWallet:"/service/application/payment/v1.0/payment/options/wallet/delink",enableOrDisableRefundTransferMode:"/service/application/payment/v1.0/refund/transfer-mode",getActiveCardAggregator:"/service/application/payment/v1.0/card/aggregator",getActiveRefundTransferModes:"/service/application/payment/v1.0/refund/transfer-mode",getActiveUserCards:"/service/application/payment/v1.0/cards",getAggregatorsConfig:"/service/application/payment/v1.0/config/aggregators/key",getEpaylaterBannerDetails:"/service/application/payment/v1.0/epaylater/banner",getOrderBeneficiariesDetail:"/service/application/payment/v1.0/refund/order/beneficiaries",getPaymentLink:"/service/application/payment/v1.0/create-payment-link/",getPaymentModeRoutes:"/service/application/payment/v1.0/payment/options",getPaymentModeRoutesPaymentLink:"/service/application/payment/v1.0/payment/options/link/",getPosPaymentModeRoutes:"/service/application/payment/v1.0/payment/options/pos",getRupifiBannerDetails:"/service/application/payment/v1.0/rupifi/banner",getUserBeneficiariesDetail:"/service/application/payment/v1.0/refund/user/beneficiary",initialisePayment:"/service/application/payment/v1.0/payment/request",initialisePaymentPaymentLink:"/service/application/payment/v1.0/payment/request/link/",linkWallet:"/service/application/payment/v1.0/payment/options/wallet/verify",outstandingOrderDetails:"/service/application/payment/v1.0/payment/outstanding-orders/",paidOrderDetails:"/service/application/payment/v1.0/payment/paid-orders/",pollingPaymentLink:"/service/application/payment/v1.0/polling-payment-link/",redirectToAggregator:"/service/application/payment/v1.0/payment/redirect-to-aggregator/",renderHTML:"/service/application/payment/v1.0/payment/html/render/",resendOrCancelPayment:"/service/application/payment/v1.0/payment/resend_or_cancel",resendPaymentLink:"/service/application/payment/v1.0/resend-payment-link/",updateDefaultBeneficiary:"/service/application/payment/v1.0/refund/beneficiary/default",validateVPA:"/service/application/payment/v1.0/validate-vpa",verifyAndChargePayment:"/service/application/payment/v1.0/payment/confirm/charge",verifyCustomerForPayment:"/service/application/payment/v1.0/payment/customer/validation",verifyIfscCode:"/service/application/payment/v1.0/ifsc-code/verify",verifyOtpAndAddBeneficiaryForBank:"/service/application/payment/v1.0/refund/verification/bank",verifyOtpAndAddBeneficiaryForWallet:"/service/application/payment/v1.0/refund/verification/wallet",walletLinkInitiate:"/service/application/payment/v1.0/payment/options/wallet/link"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async addBeneficiaryDetails({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.addBeneficiaryDetails().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.addBeneficiaryDetails().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > addBeneficiaryDetails \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.addBeneficiaryDetails,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.RefundAccountResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > addBeneficiaryDetails \n ${m}`})}return p}async addRefundBankAccountUsingOTP({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.addRefundBankAccountUsingOTP().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.addRefundBankAccountUsingOTP().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > addRefundBankAccountUsingOTP \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.addRefundBankAccountUsingOTP,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.RefundAccountResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > addRefundBankAccountUsingOTP \n ${m}`})}return p}async attachCardToCustomer({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.attachCardToCustomer().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.attachCardToCustomer().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > attachCardToCustomer \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.attachCardToCustomer,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.AttachCardsResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > attachCardToCustomer \n ${m}`})}return p}async cancelPaymentLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.cancelPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.cancelPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > cancelPaymentLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.cancelPaymentLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.CancelPaymentLinkResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > cancelPaymentLink \n ${m}`})}return p}async cardDetails({cardInfo:e,aggregator:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.cardDetails().validate({cardInfo:e,aggregator:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.cardDetails().validate({cardInfo:e,aggregator:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > cardDetails \n ${p}`});const g={};g.aggregator=t;const m=await a.execute(this._conf,"get",s({url:this._urls.cardDetails,params:{cardInfo:e}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.CardDetailsResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Payment > cardDetails \n ${w}`})}return m}async checkAndUpdatePaymentStatus({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.checkAndUpdatePaymentStatus().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.checkAndUpdatePaymentStatus().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > checkAndUpdatePaymentStatus \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.checkAndUpdatePaymentStatus,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.PaymentStatusUpdateResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > checkAndUpdatePaymentStatus \n ${m}`})}return p}async checkAndUpdatePaymentStatusPaymentLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.checkAndUpdatePaymentStatusPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.checkAndUpdatePaymentStatusPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > checkAndUpdatePaymentStatusPaymentLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.checkAndUpdatePaymentStatusPaymentLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.PaymentStatusUpdateResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > checkAndUpdatePaymentStatusPaymentLink \n ${m}`})}return p}async checkCredit({aggregator:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.checkCredit().validate({aggregator:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.checkCredit().validate({aggregator:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > checkCredit \n ${d}`});const p={};p.aggregator=e;const g=await a.execute(this._conf,"get",s({url:this._urls.checkCredit,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.CheckCreditResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > checkCredit \n ${f}`})}return g}async createOrderHandlerPaymentLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.createOrderHandlerPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.createOrderHandlerPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > createOrderHandlerPaymentLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.createOrderHandlerPaymentLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.CreateOrderUserResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > createOrderHandlerPaymentLink \n ${m}`})}return p}async createPaymentLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.createPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.createPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > createPaymentLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.createPaymentLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.CreatePaymentLinkResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > createPaymentLink \n ${m}`})}return p}async createPaymentOrder({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.createPaymentOrder().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.createPaymentOrder().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > createPaymentOrder \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.createPaymentOrder,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.PaymentOrderResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > createPaymentOrder \n ${m}`})}return p}async customerCreditSummary({aggregator:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.customerCreditSummary().validate({aggregator:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.customerCreditSummary().validate({aggregator:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > customerCreditSummary \n ${d}`});const p={};p.aggregator=e;const g=await a.execute(this._conf,"get",s({url:this._urls.customerCreditSummary,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.CustomerCreditSummaryResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > customerCreditSummary \n ${f}`})}return g}async customerOnboard({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.customerOnboard().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.customerOnboard().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > customerOnboard \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.customerOnboard,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.CustomerOnboardingResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > customerOnboard \n ${m}`})}return p}async deleteUserCard({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.deleteUserCard().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.deleteUserCard().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > deleteUserCard \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.deleteUserCard,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.DeleteCardsResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > deleteUserCard \n ${m}`})}return p}async delinkWallet({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.delinkWallet().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.delinkWallet().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > delinkWallet \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.delinkWallet,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.WalletResponseSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > delinkWallet \n ${m}`})}return p}async enableOrDisableRefundTransferMode({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.enableOrDisableRefundTransferMode().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.enableOrDisableRefundTransferMode().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > enableOrDisableRefundTransferMode \n ${d}`});const p=await a.execute(this._conf,"put",s({url:this._urls.enableOrDisableRefundTransferMode,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.UpdateRefundTransferModeResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > enableOrDisableRefundTransferMode \n ${m}`})}return p}async getActiveCardAggregator({refresh:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getActiveCardAggregator().validate({refresh:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getActiveCardAggregator().validate({refresh:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getActiveCardAggregator \n ${d}`});const p={};p.refresh=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getActiveCardAggregator,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.ActiveCardPaymentGatewayResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getActiveCardAggregator \n ${f}`})}return g}async getActiveRefundTransferModes({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getActiveRefundTransferModes().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getActiveRefundTransferModes().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getActiveRefundTransferModes \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getActiveRefundTransferModes,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.TransferModeResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getActiveRefundTransferModes \n ${g}`})}return d}async getActiveUserCards({forceRefresh:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getActiveUserCards().validate({forceRefresh:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getActiveUserCards().validate({forceRefresh:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getActiveUserCards \n ${d}`});const p={};p.force_refresh=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getActiveUserCards,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.ListCardsResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getActiveUserCards \n ${f}`})}return g}async getAggregatorsConfig({xApiToken:e,refresh:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getAggregatorsConfig().validate({xApiToken:e,refresh:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getAggregatorsConfig().validate({xApiToken:e,refresh:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getAggregatorsConfig \n ${p}`});const g={};g.refresh=t;const m={};m["x-api-token"]=e;const f=await a.execute(this._conf,"get",s({url:this._urls.getAggregatorsConfig,params:{}}),g,void 0,{...m,...r},{responseHeaders:u});let w=f;u&&(w=f[0]);const{error:y}=l.AggregatorsConfigDetailResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getAggregatorsConfig \n ${y}`})}return f}async getEpaylaterBannerDetails({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getEpaylaterBannerDetails().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getEpaylaterBannerDetails().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getEpaylaterBannerDetails \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getEpaylaterBannerDetails,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.EpaylaterBannerResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getEpaylaterBannerDetails \n ${g}`})}return d}async getOrderBeneficiariesDetail({orderId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getOrderBeneficiariesDetail().validate({orderId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getOrderBeneficiariesDetail().validate({orderId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getOrderBeneficiariesDetail \n ${d}`});const p={};p.order_id=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getOrderBeneficiariesDetail,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.OrderBeneficiaryResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getOrderBeneficiariesDetail \n ${f}`})}return g}async getPaymentLink({paymentLinkId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getPaymentLink().validate({paymentLinkId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getPaymentLink().validate({paymentLinkId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getPaymentLink \n ${d}`});const p={};p.payment_link_id=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getPaymentLink,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.GetPaymentLinkResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getPaymentLink \n ${f}`})}return g}async getPaymentModeRoutes({amount:e,cartId:t,checkoutMode:r,refresh:u,orderId:d,cardReference:p,userDetails:g,displaySplit:m,advancePayment:f,shipmentId:w,requestHeaders:y}={requestHeaders:{}},{responseHeaders:b}={responseHeaders:!1}){const{error:h}=i.getPaymentModeRoutes().validate({amount:e,cartId:t,checkoutMode:r,refresh:u,orderId:d,cardReference:p,userDetails:g,displaySplit:m,advancePayment:f,shipmentId:w},{abortEarly:!1,allowUnknown:!0});if(h)return Promise.reject(new n(h));const{error:_}=i.getPaymentModeRoutes().validate({amount:e,cartId:t,checkoutMode:r,refresh:u,orderId:d,cardReference:p,userDetails:g,displaySplit:m,advancePayment:f,shipmentId:w},{abortEarly:!1,allowUnknown:!1});_&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getPaymentModeRoutes \n ${_}`});const v={};v.amount=e,v.cart_id=t,v.checkout_mode=r,v.refresh=u,v.order_id=d,v.card_reference=p,v.user_details=g,v.display_split=m,v.advance_payment=f,v.shipment_id=w;const R=await a.execute(this._conf,"get",s({url:this._urls.getPaymentModeRoutes,params:{}}),v,void 0,{...y},{responseHeaders:b});let k=R;b&&(k=R[0]);const{error:P}=l.PaymentModeRouteResponse().validate(k,{abortEarly:!1,allowUnknown:!0});if(P){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(P));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getPaymentModeRoutes \n ${P}`})}return R}async getPaymentModeRoutesPaymentLink({paymentLinkId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getPaymentModeRoutesPaymentLink().validate({paymentLinkId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getPaymentModeRoutesPaymentLink().validate({paymentLinkId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getPaymentModeRoutesPaymentLink \n ${d}`});const p={};p.payment_link_id=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getPaymentModeRoutesPaymentLink,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.PaymentModeRouteResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getPaymentModeRoutesPaymentLink \n ${f}`})}return g}async getPosPaymentModeRoutes({amount:e,pincode:t,orderType:r,cartId:u,checkoutMode:d,refresh:p,cardReference:g,userDetails:m,requestHeaders:f}={requestHeaders:{}},{responseHeaders:w}={responseHeaders:!1}){const{error:y}=i.getPosPaymentModeRoutes().validate({amount:e,pincode:t,orderType:r,cartId:u,checkoutMode:d,refresh:p,cardReference:g,userDetails:m},{abortEarly:!1,allowUnknown:!0});if(y)return Promise.reject(new n(y));const{error:b}=i.getPosPaymentModeRoutes().validate({amount:e,pincode:t,orderType:r,cartId:u,checkoutMode:d,refresh:p,cardReference:g,userDetails:m},{abortEarly:!1,allowUnknown:!1});b&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getPosPaymentModeRoutes \n ${b}`});const h={};h.amount=e,h.cart_id=u,h.pincode=t,h.checkout_mode=d,h.refresh=p,h.card_reference=g,h.order_type=r,h.user_details=m;const _=await a.execute(this._conf,"get",s({url:this._urls.getPosPaymentModeRoutes,params:{}}),h,void 0,{...f},{responseHeaders:w});let v=_;w&&(v=_[0]);const{error:R}=l.PaymentModeRouteResponse().validate(v,{abortEarly:!1,allowUnknown:!0});if(R){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(R));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getPosPaymentModeRoutes \n ${R}`})}return _}async getRupifiBannerDetails({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getRupifiBannerDetails().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getRupifiBannerDetails().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getRupifiBannerDetails \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getRupifiBannerDetails,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.RupifiBannerResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getRupifiBannerDetails \n ${g}`})}return d}async getUserBeneficiariesDetail({orderId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getUserBeneficiariesDetail().validate({orderId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getUserBeneficiariesDetail().validate({orderId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getUserBeneficiariesDetail \n ${d}`});const p={};p.order_id=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getUserBeneficiariesDetail,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.OrderBeneficiaryResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getUserBeneficiariesDetail \n ${f}`})}return g}async initialisePayment({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.initialisePayment().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.initialisePayment().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > initialisePayment \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.initialisePayment,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.PaymentInitializationResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > initialisePayment \n ${m}`})}return p}async initialisePaymentPaymentLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.initialisePaymentPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.initialisePaymentPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > initialisePaymentPaymentLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.initialisePaymentPaymentLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.PaymentInitializationResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > initialisePaymentPaymentLink \n ${m}`})}return p}async linkWallet({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.linkWallet().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.linkWallet().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > linkWallet \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.linkWallet,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.WalletResponseSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > linkWallet \n ${m}`})}return p}async outstandingOrderDetails({aggregator:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.outstandingOrderDetails().validate({aggregator:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.outstandingOrderDetails().validate({aggregator:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > outstandingOrderDetails \n ${d}`});const p={};p.aggregator=e;const g=await a.execute(this._conf,"get",s({url:this._urls.outstandingOrderDetails,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.OutstandingOrderDetailsResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > outstandingOrderDetails \n ${f}`})}return g}async paidOrderDetails({aggregator:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.paidOrderDetails().validate({aggregator:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.paidOrderDetails().validate({aggregator:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > paidOrderDetails \n ${d}`});const p={};p.aggregator=e;const g=await a.execute(this._conf,"get",s({url:this._urls.paidOrderDetails,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.PaidOrderDetailsResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > paidOrderDetails \n ${f}`})}return g}async pollingPaymentLink({paymentLinkId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.pollingPaymentLink().validate({paymentLinkId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.pollingPaymentLink().validate({paymentLinkId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > pollingPaymentLink \n ${d}`});const p={};p.payment_link_id=e;const g=await a.execute(this._conf,"get",s({url:this._urls.pollingPaymentLink,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.PollingPaymentLinkResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > pollingPaymentLink \n ${f}`})}return g}async redirectToAggregator({source:e,aggregator:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.redirectToAggregator().validate({source:e,aggregator:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.redirectToAggregator().validate({source:e,aggregator:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > redirectToAggregator \n ${p}`});const g={};g.source=e,g.aggregator=t;const m=await a.execute(this._conf,"get",s({url:this._urls.redirectToAggregator,params:{}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.RedirectToAggregatorResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Payment > redirectToAggregator \n ${w}`})}return m}async renderHTML({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.renderHTML().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.renderHTML().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > renderHTML \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.renderHTML,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.renderHTMLResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > renderHTML \n ${m}`})}return p}async resendOrCancelPayment({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.resendOrCancelPayment().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.resendOrCancelPayment().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > resendOrCancelPayment \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.resendOrCancelPayment,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ResendOrCancelPaymentResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > resendOrCancelPayment \n ${m}`})}return p}async resendPaymentLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.resendPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.resendPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > resendPaymentLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.resendPaymentLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ResendPaymentLinkResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > resendPaymentLink \n ${m}`})}return p}async updateDefaultBeneficiary({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.updateDefaultBeneficiary().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.updateDefaultBeneficiary().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > updateDefaultBeneficiary \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.updateDefaultBeneficiary,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.SetDefaultBeneficiaryResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > updateDefaultBeneficiary \n ${m}`})}return p}async validateVPA({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.validateVPA().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.validateVPA().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > validateVPA \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.validateVPA,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ValidateVPAResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > validateVPA \n ${m}`})}return p}async verifyAndChargePayment({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.verifyAndChargePayment().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.verifyAndChargePayment().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > verifyAndChargePayment \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.verifyAndChargePayment,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ChargeCustomerResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > verifyAndChargePayment \n ${m}`})}return p}async verifyCustomerForPayment({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.verifyCustomerForPayment().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.verifyCustomerForPayment().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > verifyCustomerForPayment \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.verifyCustomerForPayment,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ValidateCustomerResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > verifyCustomerForPayment \n ${m}`})}return p}async verifyIfscCode({ifscCode:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.verifyIfscCode().validate({ifscCode:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.verifyIfscCode().validate({ifscCode:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > verifyIfscCode \n ${d}`});const p={};p.ifsc_code=e;const g=await a.execute(this._conf,"get",s({url:this._urls.verifyIfscCode,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.IfscCodeResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > verifyIfscCode \n ${f}`})}return g}async verifyOtpAndAddBeneficiaryForBank({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.verifyOtpAndAddBeneficiaryForBank().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.verifyOtpAndAddBeneficiaryForBank().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > verifyOtpAndAddBeneficiaryForBank \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.verifyOtpAndAddBeneficiaryForBank,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.AddBeneficiaryViaOtpVerificationResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > verifyOtpAndAddBeneficiaryForBank \n ${m}`})}return p}async verifyOtpAndAddBeneficiaryForWallet({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.verifyOtpAndAddBeneficiaryForWallet().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.verifyOtpAndAddBeneficiaryForWallet().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > verifyOtpAndAddBeneficiaryForWallet \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.verifyOtpAndAddBeneficiaryForWallet,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.WalletOtpResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > verifyOtpAndAddBeneficiaryForWallet \n ${m}`})}return p}async walletLinkInitiate({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.walletLinkInitiate().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.walletLinkInitiate().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > walletLinkInitiate \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.walletLinkInitiate,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.WalletResponseSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > walletLinkInitiate \n ${m}`})}return p}}},9887:(e,t,r)=>{const a=r(6075);class n{static AggregatorConfigDetail(){return a.object({sdk:a.boolean().allow(null),secret:a.string().allow("").required(),api:a.string().allow("").allow(null),pin:a.string().allow("").allow(null),config_type:a.string().allow("").required(),merchant_key:a.string().allow("").allow(null),verify_api:a.string().allow("").allow(null),key:a.string().allow("").required(),user_id:a.string().allow("").allow(null),merchant_id:a.string().allow("").allow(null)})}static AggregatorsConfigDetailResponse(){return a.object({success:a.boolean().required(),razorpay:n.AggregatorConfigDetail(),juspay:n.AggregatorConfigDetail(),simpl:n.AggregatorConfigDetail(),payumoney:n.AggregatorConfigDetail(),rupifi:n.AggregatorConfigDetail(),mswipe:n.AggregatorConfigDetail(),stripe:n.AggregatorConfigDetail(),ccavenue:n.AggregatorConfigDetail(),env:a.string().allow("").required()})}static ErrorCodeAndDescription(){return a.object({code:a.string().allow("").required(),description:a.string().allow("").required()})}static HttpErrorCodeAndResponse(){return a.object({error:n.ErrorCodeAndDescription(),success:a.boolean().required()})}static AttachCardRequest(){return a.object({nickname:a.string().allow(""),refresh:a.boolean().allow(null),card_id:a.string().allow("").allow(null).required(),name_on_card:a.string().allow("")})}static AttachCardsResponse(){return a.object({data:a.any().required(),success:a.boolean().required(),message:a.string().allow("")})}static CardPaymentGateway(){return a.object({api:a.string().allow("").allow(null),aggregator:a.string().allow("").required(),customer_id:a.string().allow("").allow(null)})}static ActiveCardPaymentGatewayResponse(){return a.object({cards:n.CardPaymentGateway().required(),success:a.boolean().required(),message:a.string().allow("").required()})}static Card(){return a.object({card_number:a.string().allow("").allow(null),card_name:a.string().allow("").allow(null),card_type:a.string().allow("").allow(null),card_brand_image:a.string().allow("").allow(null),card_reference:a.string().allow("").allow(null),card_issuer:a.string().allow("").allow(null),card_brand:a.string().allow("").allow(null),expired:a.boolean().allow(null),compliant_with_tokenisation_guidelines:a.boolean().allow(null),card_isin:a.string().allow("").allow(null),exp_year:a.number().allow(null),nickname:a.string().allow("").allow(null),aggregator_name:a.string().allow("").required(),card_fingerprint:a.string().allow("").allow(null),card_token:a.string().allow("").allow(null),exp_month:a.number().allow(null),card_id:a.string().allow("").allow(null)})}static ListCardsResponse(){return a.object({data:a.array().items(n.Card()),success:a.boolean().required(),message:a.string().allow("").required()})}static DeletehCardRequest(){return a.object({card_id:a.string().allow("").allow(null).required()})}static DeleteCardsResponse(){return a.object({success:a.boolean().required(),message:a.string().allow("").allow(null)})}static ValidateCustomerRequest(){return a.object({aggregator:a.string().allow("").required(),transaction_amount_in_paise:a.number().required(),phone_number:a.string().allow("").required(),billing_address:a.any(),order_items:a.array().items(a.any()),payload:a.string().allow("").allow(null),merchant_params:a.any(),delivery_address:a.any()})}static ValidateCustomerResponse(){return a.object({data:a.any().required(),success:a.boolean().required(),message:a.string().allow("").required()})}static ChargeCustomerRequest(){return a.object({verified:a.boolean().allow(null),aggregator:a.string().allow("").required(),order_id:a.string().allow("").required(),transaction_token:a.string().allow("").allow(null),amount:a.number().allow(null).required()})}static ChargeCustomerResponse(){return a.object({status:a.string().allow("").required(),cart_id:a.string().allow("").allow(null),success:a.boolean().required(),aggregator:a.string().allow("").required(),message:a.string().allow("").required(),order_id:a.string().allow("").required(),delivery_address_id:a.string().allow("").allow(null)})}static PaymentInitializationRequest(){return a.object({razorpay_payment_id:a.string().allow("").allow(null),method:a.string().allow("").required(),device_id:a.string().allow("").allow(null),aggregator:a.string().allow("").required(),customer_id:a.string().allow("").required(),contact:a.string().allow("").required(),merchant_order_id:a.string().allow("").required(),vpa:a.string().allow("").allow(null),order_id:a.string().allow("").required(),currency:a.string().allow("").required(),timeout:a.number().allow(null),amount:a.number().allow(null).required(),email:a.string().allow("").required()})}static PaymentInitializationResponse(){return a.object({status:a.string().allow(""),razorpay_payment_id:a.string().allow("").allow(null),aggregator_order_id:a.string().allow(""),method:a.string().allow("").required(),success:a.boolean().required(),upi_poll_url:a.string().allow("").allow(null),virtual_id:a.string().allow("").allow(null),device_id:a.string().allow("").allow(null),polling_url:a.string().allow("").required(),aggregator:a.string().allow("").required(),merchant_order_id:a.string().allow("").required(),customer_id:a.string().allow("").allow(null),vpa:a.string().allow("").allow(null),currency:a.string().allow("").allow(null),timeout:a.number().allow(null),amount:a.number().allow(null),bqr_image:a.string().allow("").allow(null)})}static PaymentStatusUpdateRequest(){return a.object({status:a.string().allow(""),merchant_transaction_id:a.string().allow(""),method:a.string().allow("").required(),device_id:a.string().allow("").allow(null),aggregator:a.string().allow("").required(),customer_id:a.string().allow(""),contact:a.string().allow(""),merchant_order_id:a.string().allow("").required(),vpa:a.string().allow(""),order_id:a.string().allow(""),currency:a.string().allow(""),amount:a.number().allow(null),email:a.string().allow("")})}static PaymentStatusUpdateResponse(){return a.object({status:a.string().allow("").required(),success:a.boolean().allow(null),retry:a.boolean().required(),redirect_url:a.string().allow("").allow(null),aggregator_name:a.string().allow("").required()})}static IntentAppErrorList(){return a.object({code:a.string().allow("").allow(null),package_name:a.string().allow("").allow(null)})}static PaymentModeLogo(){return a.object({large:a.string().allow("").required(),small:a.string().allow("").required()})}static IntentApp(){return a.object({code:a.string().allow("").allow(null),package_name:a.string().allow("").allow(null),logos:n.PaymentModeLogo(),display_name:a.string().allow("").allow(null)})}static PaymentModeList(){return a.object({card_number:a.string().allow("").allow(null),merchant_code:a.string().allow("").allow(null),card_reference:a.string().allow("").allow(null),card_issuer:a.string().allow("").allow(null),compliant_with_tokenisation_guidelines:a.boolean().allow(null),code:a.string().allow("").allow(null),cod_limit:a.number().allow(null),intent_flow:a.boolean().allow(null),fynd_vpa:a.string().allow("").allow(null),intent_app_error_dict_list:a.array().items(n.IntentAppErrorList()).allow(null,""),aggregator_name:a.string().allow("").required(),card_fingerprint:a.string().allow("").allow(null),intent_app_error_list:a.array().items(a.string().allow("")).allow(null,""),intent_app:a.array().items(n.IntentApp()).allow(null,""),expired:a.boolean().allow(null),retry_count:a.number().allow(null),exp_year:a.number().allow(null),exp_month:a.number().allow(null),card_id:a.string().allow("").allow(null),remaining_limit:a.number().allow(null),display_priority:a.number().allow(null),card_brand:a.string().allow("").allow(null),cod_limit_per_order:a.number().allow(null),logo_url:n.PaymentModeLogo(),nickname:a.string().allow("").allow(null),card_name:a.string().allow("").allow(null),card_type:a.string().allow("").allow(null),card_brand_image:a.string().allow("").allow(null),display_name:a.string().allow("").allow(null),card_isin:a.string().allow("").allow(null),timeout:a.number().allow(null),card_token:a.string().allow("").allow(null),name:a.string().allow("").allow(null),meta:a.any().allow(null)})}static RootPaymentMode(){return a.object({is_pay_by_card_pl:a.boolean().allow(null),add_card_enabled:a.boolean().allow(null),display_priority:a.number().required(),display_name:a.string().allow("").required(),list:a.array().items(n.PaymentModeList()),save_card:a.boolean().allow(null),aggregator_name:a.string().allow("").allow(null),name:a.string().allow("").required(),anonymous_enable:a.boolean().allow(null)})}static AggregatorRoute(){return a.object({data:a.any().allow(null),payment_flow_data:a.any().allow(null),payment_flow:a.string().allow("").allow(null),api_link:a.string().allow("").allow(null)})}static PaymentDefaultSelection(){return a.object({mode:a.string().allow("").allow(null),identifier:a.string().allow("").allow(null),skip:a.boolean().allow(null)})}static PaymentFlow(){return a.object({bqr_razorpay:n.AggregatorRoute(),fynd:n.AggregatorRoute(),epaylater:n.AggregatorRoute(),razorpay:n.AggregatorRoute(),juspay:n.AggregatorRoute(),ajiodhan:n.AggregatorRoute(),simpl:n.AggregatorRoute(),rupifi:n.AggregatorRoute(),mswipe:n.AggregatorRoute(),stripe:n.AggregatorRoute(),ccavenue:n.AggregatorRoute(),payubiz:n.AggregatorRoute(),jiopay:n.AggregatorRoute(),upi_razorpay:n.AggregatorRoute()})}static PaymentOptionAndFlow(){return a.object({payment_option:a.array().items(n.RootPaymentMode()).required(),payment_flows:n.PaymentFlow().required(),payment_default_selection:n.PaymentDefaultSelection()})}static AdvanceObject(){return a.object({is_active:a.boolean().allow(null),amount:a.number(),time_unit:a.string().allow("").allow(null),description:a.string().allow("").allow(null),display_name:a.string().allow("").allow(null),prepayment_type:a.string().allow("").allow(null),prepayment_value:a.number().allow(null),cancellation_type:a.string().allow("").allow(null),refund_time_limit:a.number().allow(null),all_prepayment_type:a.array().items(a.string().allow("").allow(null)).allow(null,""),allow_custom_advance_amount:a.boolean().allow(null)})}static SplitObject(){return a.object({total_number_of_splits:a.number().allow(null),splits_remaining:a.number().allow(null),amount_remaining:a.number().allow(null)})}static AdvancePaymentObject(){return a.object({name:a.string().allow("").allow(null),display_priority:a.number().allow(null),payment_mode_id:a.number().allow(null),display_name:a.string().allow("").allow(null),list:a.array().items(n.PaymentModeList()).allow(null,""),split:n.SplitObject(),advance:n.AdvanceObject()})}static PaymentModeRouteResponse(){return a.object({payment_options:n.PaymentOptionAndFlow().required(),success:a.boolean().required(),payment_breakup:a.any(),advance_payment:a.array().items(n.AdvancePaymentObject()).allow(null,"")})}static WalletLinkRequestSchema(){return a.object({aggregator:a.string().allow("").required(),mobile:a.string().allow("").required(),wallet_code:a.string().allow("").required()})}static WalletVerifyRequestSchema(){return a.object({aggregator:a.string().allow("").required(),link_token:a.string().allow("").required(),otp:a.number().required()})}static WalletDelinkRequestSchema(){return a.object({aggregator:a.string().allow("").required(),wallet_code:a.string().allow("").required()})}static WalletResponseSchema(){return a.object({data:a.any().required(),success:a.boolean().required()})}static RupifiBannerData(){return a.object({status:a.string().allow(""),kyc_url:a.string().allow("")})}static RupifiBannerResponse(){return a.object({data:n.RupifiBannerData().required(),success:a.boolean().required()})}static EpaylaterBannerData(){return a.object({status:a.string().allow(""),message:a.string().allow(""),display:a.boolean().required()})}static EpaylaterBannerResponse(){return a.object({data:n.EpaylaterBannerData().required(),success:a.boolean().required()})}static ResendOrCancelPaymentRequest(){return a.object({order_id:a.string().allow("").required(),device_id:a.string().allow("").allow(null),request_type:a.string().allow("").required()})}static LinkStatus(){return a.object({status:a.string().allow("").required(),message:a.string().allow("").required(),is_payment_done:a.boolean()})}static ResendOrCancelPaymentResponse(){return a.object({data:n.LinkStatus().required(),success:a.boolean().required()})}static renderHTMLRequest(){return a.object({returntype:a.string().allow("").allow(null),base64_html:a.string().allow("").required()})}static renderHTMLResponse(){return a.object({html:a.string().allow("").required()})}static ValidateVPARequest(){return a.object({upi_vpa:a.string().allow("").required(),aggregator:a.string().allow("")})}static ValidateUPI(){return a.object({status:a.string().allow("").required(),customer_name:a.string().allow("").required(),is_valid:a.boolean().required(),upi_vpa:a.string().allow("").required()})}static ValidateVPAResponse(){return a.object({data:n.ValidateUPI().required(),success:a.boolean().required()})}static CardDetails(){return a.object({status:a.boolean().required(),country:a.string().allow("").required(),bank_code:a.string().allow("").allow(null).required(),id:a.string().allow("").required(),card_exp_year:a.string().allow(""),card_brand:a.string().allow("").required(),type:a.string().allow("").required(),card_sub_type:a.string().allow("").allow(null).required(),is_domestic_card:a.boolean().required(),name_on_card:a.string().allow(""),card_exp_month:a.string().allow(""),extended_card_type:a.string().allow("").required(),card_object:a.string().allow("").required(),card_token:a.string().allow(""),user:a.string().allow(""),bank:a.string().allow("").required()})}static CardDetailsResponse(){return a.object({data:n.CardDetails().required(),success:a.boolean().required()})}static TransferItemsDetails(){return a.object({id:a.number().required(),display_name:a.string().allow(""),logo_large:a.string().allow("").required(),logo_small:a.string().allow("").required(),name:a.string().allow("").required()})}static TransferModeDetails(){return a.object({items:a.array().items(n.TransferItemsDetails()),display_name:a.string().allow("").required()})}static TransferModeResponse(){return a.object({data:a.array().items(n.TransferModeDetails()).required()})}static UpdateRefundTransferModeRequest(){return a.object({enable:a.boolean().required(),transfer_mode:a.string().allow("").required()})}static UpdateRefundTransferModeResponse(){return a.object({success:a.boolean()})}static OrderBeneficiaryDetails(){return a.object({modified_on:a.string().allow("").required(),account_no:a.string().allow("").required(),mobile:a.string().allow(""),bank_name:a.string().allow("").required(),ifsc_code:a.string().allow("").required(),is_active:a.boolean().required(),beneficiary_id:a.string().allow("").required(),account_holder:a.string().allow("").required(),email:a.string().allow("").required(),delights_user_name:a.string().allow("").allow(null),id:a.number().required(),transfer_mode:a.string().allow("").required(),branch_name:a.string().allow(""),created_on:a.string().allow("").required(),subtitle:a.string().allow("").required(),comment:a.string().allow(""),address:a.string().allow("").required(),title:a.string().allow("").required(),display_name:a.string().allow("").required()})}static OrderBeneficiaryResponse(){return a.object({show_beneficiary_details:a.boolean(),beneficiaries:a.array().items(n.OrderBeneficiaryDetails()).allow(null,"")})}static NotFoundResourceError(){return a.object({code:a.string().allow("").required(),description:a.string().allow("").required(),success:a.boolean().required()})}static IfscCodeResponse(){return a.object({branch_name:a.string().allow("").required(),success:a.boolean(),bank_name:a.string().allow("").required()})}static ErrorCodeDescription(){return a.object({code:a.string().allow("").required(),description:a.string().allow("").required(),success:a.boolean().required()})}static AddBeneficiaryViaOtpVerificationRequest(){return a.object({request_id:a.string().allow("").required(),hash_key:a.string().allow("").required(),otp:a.string().allow("").required()})}static AddBeneficiaryViaOtpVerificationResponse(){return a.object({success:a.boolean(),message:a.string().allow("").required()})}static WrongOtpError(){return a.object({is_verified_flag:a.boolean().required(),description:a.string().allow("").required(),success:a.string().allow("").required()})}static BeneficiaryModeDetails(){return a.object({account_no:a.string().allow("").required(),address:a.string().allow(""),mobile:a.string().allow("").required(),bank_name:a.string().allow("").required(),comment:a.string().allow(""),ifsc_code:a.string().allow("").required(),vpa:a.string().allow("").allow(null),branch_name:a.string().allow("").required(),account_holder:a.string().allow("").required(),wallet:a.string().allow("").allow(null),email:a.string().allow("").required()})}static AddBeneficiaryDetailsRequest(){return a.object({delights:a.boolean().required(),shipment_id:a.string().allow("").required(),details:n.BeneficiaryModeDetails().required(),otp:a.string().allow(""),order_id:a.string().allow("").required(),transfer_mode:a.string().allow("").required(),request_id:a.string().allow("")})}static RefundAccountResponse(){return a.object({is_verified_flag:a.boolean(),data:a.any(),success:a.boolean().required(),message:a.string().allow("").required()})}static BankDetailsForOTP(){return a.object({account_no:a.string().allow("").required(),bank_name:a.string().allow("").required(),ifsc_code:a.string().allow("").required(),branch_name:a.string().allow("").required(),account_holder:a.string().allow("").required()})}static AddBeneficiaryDetailsOTPRequest(){return a.object({order_id:a.string().allow("").required(),details:n.BankDetailsForOTP().required()})}static WalletOtpRequest(){return a.object({country_code:a.string().allow("").required(),mobile:a.string().allow("").required()})}static WalletOtpResponse(){return a.object({request_id:a.string().allow("").required(),is_verified_flag:a.string().allow("").required(),success:a.boolean()})}static SetDefaultBeneficiaryRequest(){return a.object({order_id:a.string().allow("").required(),beneficiary_id:a.string().allow("").required()})}static SetDefaultBeneficiaryResponse(){return a.object({is_beneficiary_set:a.boolean().required(),success:a.boolean()})}static GetPaymentLinkResponse(){return a.object({status_code:a.number().required(),payment_link_current_status:a.string().allow("").allow(null),success:a.boolean().required(),polling_timeout:a.number().allow(null),payment_link_url:a.string().allow("").allow(null),external_order_id:a.string().allow("").allow(null),message:a.string().allow("").required(),merchant_name:a.string().allow("").allow(null),amount:a.number().allow(null)})}static ErrorDescription(){return a.object({payment_transaction_id:a.string().allow("").allow(null),expired:a.boolean().allow(null),merchant_order_id:a.string().allow("").allow(null),merchant_name:a.string().allow("").allow(null),msg:a.string().allow("").allow(null),cancelled:a.boolean().allow(null),amount:a.number().allow(null),invalid_id:a.boolean().allow(null)})}static ErrorResponse(){return a.object({status_code:a.number().required(),error:n.ErrorDescription(),message:a.string().allow("").required(),success:a.boolean().required()})}static CreatePaymentLinkMeta(){return a.object({cart_id:a.string().allow("").required(),checkout_mode:a.string().allow("").required(),assign_card_id:a.string().allow("").allow(null),amount:a.string().allow("").required()})}static CreatePaymentLinkRequest(){return a.object({description:a.string().allow("").allow(null),external_order_id:a.string().allow("").required(),mobile_number:a.string().allow("").required(),amount:a.number().required(),meta:n.CreatePaymentLinkMeta().required(),email:a.string().allow("").required()})}static CreatePaymentLinkResponse(){return a.object({status_code:a.number().required(),success:a.boolean().required(),polling_timeout:a.number().allow(null),payment_link_url:a.string().allow("").allow(null),message:a.string().allow("").required(),payment_link_id:a.string().allow("").allow(null)})}static CancelOrResendPaymentLinkRequest(){return a.object({payment_link_id:a.string().allow("").required()})}static ResendPaymentLinkResponse(){return a.object({status_code:a.number().required(),polling_timeout:a.number().allow(null),success:a.boolean().required(),message:a.string().allow("").required()})}static CancelPaymentLinkResponse(){return a.object({status_code:a.number().required(),success:a.boolean().required(),message:a.string().allow("").required()})}static PollingPaymentLinkResponse(){return a.object({status:a.string().allow("").allow(null),status_code:a.number().allow(null),success:a.boolean().allow(null),http_status:a.number().allow(null),message:a.string().allow("").allow(null),order_id:a.string().allow("").allow(null),redirect_url:a.string().allow("").allow(null),payment_link_id:a.string().allow("").allow(null),aggregator_name:a.string().allow("").allow(null),amount:a.number().allow(null)})}static PaymentMethodsMeta(){return a.object({merchant_code:a.string().allow("").required(),payment_gateway:a.string().allow("").required(),payment_identifier:a.string().allow("").required()})}static CreateOrderUserPaymentMethods(){return a.object({name:a.string().allow("").required(),mode:a.string().allow("").required(),meta:n.PaymentMethodsMeta().required()})}static CreateOrderUserRequest(){return a.object({failure_callback_url:a.string().allow("").required(),currency:a.string().allow("").required(),payment_link_id:a.string().allow("").required(),payment_methods:n.CreateOrderUserPaymentMethods().required(),success_callback_url:a.string().allow("").required(),meta:a.any().allow(null)})}static CreateOrderUserData(){return a.object({method:a.string().allow("").allow(null),aggregator:a.string().allow("").allow(null),customer_id:a.string().allow("").allow(null),contact:a.string().allow("").allow(null),merchant_order_id:a.string().allow("").allow(null),order_id:a.string().allow("").allow(null),currency:a.string().allow("").allow(null),callback_url:a.string().allow("").allow(null),amount:a.number().allow(null),email:a.string().allow("").allow(null)})}static CreateOrderUserResponse(){return a.object({status_code:a.number().required(),success:a.boolean().required(),data:n.CreateOrderUserData(),message:a.string().allow("").required(),order_id:a.string().allow("").allow(null),callback_url:a.string().allow("").allow(null),payment_confirm_url:a.string().allow("").allow(null)})}static BalanceDetails(){return a.object({formatted_value:a.string().allow("").allow(null),currency:a.string().allow("").allow(null),value:a.number().allow(null)})}static CreditSummary(){return a.object({total_due_amount:n.BalanceDetails(),status:a.string().allow("").allow(null),limit:n.BalanceDetails(),credit_line_id:a.string().allow("").allow(null),amount_available:n.BalanceDetails(),due_amount:n.BalanceDetails(),due_date:a.string().allow("").allow(null),balance:n.BalanceDetails(),status_message:a.string().allow("").allow(null),repayment_url:a.string().allow("").allow(null),soa_url:a.string().allow("").allow(null),is_eligible_for_txn:a.boolean().allow(null),merchant_customer_ref_id:a.string().allow("").allow(null),buyer_status:a.string().allow("").allow(null),activation_url:a.string().allow("").allow(null)})}static CustomerCreditSummaryResponse(){return a.object({data:n.CreditSummary(),success:a.boolean().required()})}static RedirectURL(){return a.object({status:a.boolean().required(),signup_url:a.string().allow("").required()})}static RedirectToAggregatorResponse(){return a.object({data:n.RedirectURL().required(),success:a.boolean().required()})}static CreditDetail(){return a.object({status:a.boolean().required(),is_registered:a.boolean().required(),signup_url:a.string().allow("").required()})}static CheckCreditResponse(){return a.object({data:n.CreditDetail().required(),success:a.boolean().required()})}static KYCAddress(){return a.object({city:a.string().allow("").required(),addressline2:a.string().allow("").allow(null),state:a.string().allow("").required(),ownership_type:a.string().allow("").allow(null),pincode:a.string().allow("").required(),land_mark:a.string().allow("").allow(null),addressline1:a.string().allow("").required()})}static UserPersonalInfoInDetails(){return a.object({first_name:a.string().allow("").required(),voter_id:a.string().allow("").allow(null),gender:a.string().allow("").allow(null),dob:a.string().allow("").allow(null).required(),passport:a.string().allow("").allow(null),fathers_name:a.string().allow("").allow(null),mothers_name:a.string().allow("").allow(null),middle_name:a.string().allow("").allow(null),last_name:a.string().allow("").allow(null),pan:a.string().allow("").allow(null),driving_license:a.string().allow("").allow(null),email_verified:a.boolean().required(),address_as_per_id:n.KYCAddress().required(),mobile_verified:a.boolean().required(),phone:a.string().allow("").required(),email:a.string().allow("").allow(null)})}static MarketplaceInfo(){return a.object({date_of_joining:a.string().allow("").allow(null),name:a.string().allow("").required(),membership_id:a.string().allow("").required()})}static BusinessDetails(){return a.object({business_ownership_type:a.string().allow("").allow(null),vintage:a.string().allow("").allow(null),gstin:a.string().allow("").allow(null),pan:a.string().allow("").allow(null),entity_type:a.string().allow("").allow(null),shop_and_establishment:a.any(),fssai:a.string().allow("").allow(null),fda:a.string().allow("").allow(null),business_type:a.string().allow("").allow(null),name:a.string().allow("").allow(null),address:n.KYCAddress()})}static DeviceDetails(){return a.object({identification_number:a.string().allow("").allow(null),identifier_type:a.string().allow("").allow(null),device_model:a.string().allow("").allow(null),device_make:a.string().allow("").allow(null),device_type:a.string().allow("").allow(null),os:a.string().allow("").allow(null),os_version:a.string().allow("").allow(null)})}static CustomerOnboardingRequest(){return a.object({personal_info:n.UserPersonalInfoInDetails(),mcc:a.string().allow("").allow(null),aggregator:a.string().allow("").required(),marketplace_info:n.MarketplaceInfo(),source:a.string().allow("").required(),business_info:n.BusinessDetails(),device:n.DeviceDetails()})}static OnboardSummary(){return a.object({redirect_url:a.string().allow(""),session:a.any(),status:a.boolean().required(),status_remark:a.string().allow(""),is_eligible_for_txn:a.boolean(),merchant_customer_ref_id:a.string().allow(""),activation_url:a.string().allow("")})}static CustomerOnboardingResponse(){return a.object({data:n.OnboardSummary().required(),success:a.boolean().required()})}static OutstandingOrderDetailsResponse(){return a.object({status_code:a.number().required(),data:a.array().items(a.any()).allow(null,""),success:a.boolean().required(),message:a.string().allow("").allow(null)})}static PaidOrderDetailsResponse(){return a.object({status_code:a.number().required(),data:a.array().items(a.any()).allow(null,""),success:a.boolean().required(),message:a.string().allow("").allow(null)})}static DeleteRefundAccountResponse(){return a.object({success:a.boolean().required(),message:a.string().allow("").allow(null).required()})}static RefundOptionsDetails(){return a.object({display_name:a.string().allow("").required(),id:a.number().required(),is_active:a.boolean().allow(null),name:a.string().allow("").required()})}static RefundOptions(){return a.object({items:n.RefundOptionsDetails().required()})}static OfflineRefundOptions(){return a.object({items:n.RefundOptionsDetails().required(),payment_modes:a.array().items(a.string().allow("")).required()})}static RefundOptionResponse(){return a.object({offline_refund_options:n.OfflineRefundOptions().required(),success:a.boolean().required(),refund_options:n.RefundOptions().required()})}static SelectedRefundOptionResponse(){return a.object({transfer_mode:a.any().required(),shipment_id:a.string().allow("").allow(null).required(),message:a.string().allow("").allow(null).required(),success:a.boolean().required()})}static WalletBeneficiaryDetails(){return a.object({beneficiary_id:a.string().allow("").required(),modified_on:a.string().allow("").required(),display_name:a.string().allow("").required(),id:a.number().required(),subtitle:a.string().allow("").required(),transfer_mode:a.string().allow("").required(),mobile:a.string().allow(""),is_active:a.boolean().required(),created_on:a.string().allow("").required(),address:a.string().allow("").required(),title:a.string().allow("").required(),wallet_address:a.string().allow("").required(),comment:a.string().allow(""),wallet:a.string().allow(""),email:a.string().allow("").required(),delights_user_name:a.string().allow("").allow(null)})}static UpiBeneficiaryDetails(){return a.object({beneficiary_id:a.string().allow("").required(),modified_on:a.string().allow("").required(),display_name:a.string().allow("").required(),id:a.number().required(),subtitle:a.string().allow("").required(),transfer_mode:a.string().allow("").required(),vpa:a.string().allow(""),mobile:a.string().allow(""),vpa_address:a.string().allow("").required(),created_on:a.string().allow("").required(),address:a.string().allow("").required(),title:a.string().allow("").required(),comment:a.string().allow(""),is_active:a.boolean().required(),email:a.string().allow("").required(),delights_user_name:a.string().allow("").allow(null)})}static BeneficiaryRefundOptions(){return a.object({bank:n.OrderBeneficiaryDetails(),wallet:n.WalletBeneficiaryDetails(),upi:n.UpiBeneficiaryDetails()})}static OrderBeneficiaryResponseSchemaV2(){return a.object({show_beneficiary_details:a.boolean().required(),data:n.BeneficiaryRefundOptions().required(),limit:a.any().required()})}static ValidateValidateAddressRequest(){return a.object({ifsc_code:a.string().allow("").allow(null),upi_vpa:a.string().allow("").allow(null),aggregator:a.string().allow("").allow(null)})}static VPADetails(){return a.object({is_valid:a.boolean().required(),upi_vpa:a.string().allow("").required(),status:a.string().allow("").required(),customer_name:a.string().allow("").required()})}static ValidateValidateAddressResponse(){return a.object({upi:n.VPADetails(),success:a.boolean().required(),ifsc:a.any()})}static PaymentMethodsMetaOrder(){return a.object({merchant_code:a.string().allow("").required(),payment_gateway:a.string().allow("").required(),payment_identifier:a.string().allow("").required()})}static PaymentOrderMethods(){return a.object({amount:a.number().required(),payment:a.string().allow(""),mode:a.string().allow("").required(),meta:n.PaymentMethodsMetaOrder().required(),name:a.string().allow("").required()})}static PaymentOrderRequest(){return a.object({payment_methods:a.array().items(n.PaymentOrderMethods()),order_id:a.string().allow("").required(),shipment_id:a.string().allow("")})}static PaymentOrderData(){return a.object({amount:a.number().allow(null),aggregator:a.string().allow("").allow(null),callback_url:a.string().allow("").allow(null),order_id:a.string().allow("").allow(null),customer_id:a.string().allow("").allow(null),merchant_order_id:a.string().allow("").allow(null),currency:a.string().allow("").allow(null),email:a.string().allow("").allow(null),contact:a.string().allow("").allow(null),method:a.string().allow("").allow(null)})}static PaymentOrderResponse(){return a.object({payment_confirm_url:a.string().allow("").allow(null),callback_url:a.string().allow("").allow(null),order_id:a.string().allow("").allow(null),success:a.boolean(),status_code:a.number().required(),data:n.PaymentOrderData(),message:a.string().allow("").required()})}static ShipmentRefundRequest(){return a.object({shipment_id:a.string().allow("").required(),order_id:a.string().allow("").required(),transfer_mode:a.string().allow("").required(),beneficiary_id:a.string().allow("").allow(null)})}static ShipmentRefundDetail(){return a.object({shipment_id:a.string().allow("").required(),order_id:a.string().allow("").required(),transfer_mode:a.string().allow("").required(),beneficiary_id:a.string().allow("").required()})}static ShipmentRefundResponse(){return a.object({data:n.ShipmentRefundDetail().required(),success:a.boolean().required(),message:a.string().allow("").allow(null).required()})}}e.exports=n},292:(e,t,r)=>{const a=r(6075),n=r(9887);e.exports=class{static addBeneficiaryDetails(){return a.object({body:n.AddBeneficiaryDetailsRequest().required()}).required()}static addRefundBankAccountUsingOTP(){return a.object({body:n.AddBeneficiaryDetailsOTPRequest().required()}).required()}static attachCardToCustomer(){return a.object({body:n.AttachCardRequest().required()}).required()}static cancelPaymentLink(){return a.object({body:n.CancelOrResendPaymentLinkRequest().required()}).required()}static cardDetails(){return a.object({cardInfo:a.string().allow("").required(),aggregator:a.string().allow("")}).required()}static checkAndUpdatePaymentStatus(){return a.object({body:n.PaymentStatusUpdateRequest().required()}).required()}static checkAndUpdatePaymentStatusPaymentLink(){return a.object({body:n.PaymentStatusUpdateRequest().required()}).required()}static checkCredit(){return a.object({aggregator:a.string().allow("")})}static createOrderHandlerPaymentLink(){return a.object({body:n.CreateOrderUserRequest().required()}).required()}static createPaymentLink(){return a.object({body:n.CreatePaymentLinkRequest().required()}).required()}static createPaymentOrder(){return a.object({body:n.PaymentOrderRequest().required()}).required()}static customerCreditSummary(){return a.object({aggregator:a.string().allow("")})}static customerOnboard(){return a.object({body:n.CustomerOnboardingRequest().required()}).required()}static deleteUserCard(){return a.object({body:n.DeletehCardRequest().required()}).required()}static delinkWallet(){return a.object({body:n.WalletDelinkRequestSchema().required()}).required()}static enableOrDisableRefundTransferMode(){return a.object({body:n.UpdateRefundTransferModeRequest().required()}).required()}static getActiveCardAggregator(){return a.object({refresh:a.boolean()})}static getActiveRefundTransferModes(){return a.object({})}static getActiveUserCards(){return a.object({forceRefresh:a.boolean()})}static getAggregatorsConfig(){return a.object({xApiToken:a.string().allow(""),refresh:a.boolean()})}static getEpaylaterBannerDetails(){return a.object({})}static getOrderBeneficiariesDetail(){return a.object({orderId:a.string().allow("").required()}).required()}static getPaymentLink(){return a.object({paymentLinkId:a.string().allow("")})}static getPaymentModeRoutes(){return a.object({amount:a.number().required(),cartId:a.string().allow(""),checkoutMode:a.string().allow(""),refresh:a.boolean(),orderId:a.string().allow(""),cardReference:a.string().allow(""),userDetails:a.string().allow(""),displaySplit:a.boolean(),advancePayment:a.boolean(),shipmentId:a.string().allow("")}).required()}static getPaymentModeRoutesPaymentLink(){return a.object({paymentLinkId:a.string().allow("").required()}).required()}static getPosPaymentModeRoutes(){return a.object({amount:a.number().required(),cartId:a.string().allow(""),pincode:a.string().allow("").required(),checkoutMode:a.string().allow(""),refresh:a.boolean(),cardReference:a.string().allow(""),orderType:a.string().allow("").required(),userDetails:a.string().allow("")}).required()}static getRupifiBannerDetails(){return a.object({})}static getUserBeneficiariesDetail(){return a.object({orderId:a.string().allow("").required()}).required()}static initialisePayment(){return a.object({body:n.PaymentInitializationRequest().required()}).required()}static initialisePaymentPaymentLink(){return a.object({body:n.PaymentInitializationRequest().required()}).required()}static linkWallet(){return a.object({body:n.WalletVerifyRequestSchema().required()}).required()}static outstandingOrderDetails(){return a.object({aggregator:a.string().allow("")})}static paidOrderDetails(){return a.object({aggregator:a.string().allow("")})}static pollingPaymentLink(){return a.object({paymentLinkId:a.string().allow("")})}static redirectToAggregator(){return a.object({source:a.string().allow(""),aggregator:a.string().allow("")})}static renderHTML(){return a.object({body:n.renderHTMLRequest().required()}).required()}static resendOrCancelPayment(){return a.object({body:n.ResendOrCancelPaymentRequest().required()}).required()}static resendPaymentLink(){return a.object({body:n.CancelOrResendPaymentLinkRequest().required()}).required()}static updateDefaultBeneficiary(){return a.object({body:n.SetDefaultBeneficiaryRequest().required()}).required()}static validateVPA(){return a.object({body:n.ValidateVPARequest().required()}).required()}static verifyAndChargePayment(){return a.object({body:n.ChargeCustomerRequest().required()}).required()}static verifyCustomerForPayment(){return a.object({body:n.ValidateCustomerRequest().required()}).required()}static verifyIfscCode(){return a.object({ifscCode:a.string().allow("")})}static verifyOtpAndAddBeneficiaryForBank(){return a.object({body:n.AddBeneficiaryViaOtpVerificationRequest().required()}).required()}static verifyOtpAndAddBeneficiaryForWallet(){return a.object({body:n.WalletOtpRequest().required()}).required()}static walletLinkInitiate(){return a.object({body:n.WalletLinkRequestSchema().required()}).required()}}},3715:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(876)),l=r(231),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={catalogueOrder:"/service/application/rewards/v1.0/catalogue/offer/order/",getOfferByName:"/service/application/rewards/v1.0/offers/{name}/",getOrderDiscount:"/service/application/rewards/v1.0/user/offer/order-discount/",getUserPoints:"/service/application/rewards/v1.0/user/points/",getUserPointsHistory:"/service/application/rewards/v1.0/user/points/history/",getUserReferralDetails:"/service/application/rewards/v1.0/user/referral/",redeemReferralCode:"/service/application/rewards/v1.0/user/referral/redeem/"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async catalogueOrder({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.catalogueOrder().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.catalogueOrder().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Rewards > catalogueOrder \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.catalogueOrder,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.CatalogueOrderResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Rewards > catalogueOrder \n ${m}`})}return p}async getOfferByName({name:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getOfferByName().validate({name:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getOfferByName().validate({name:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Rewards > getOfferByName \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getOfferByName,params:{name:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.Offer().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Rewards > getOfferByName \n ${m}`})}return p}async getOrderDiscount({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getOrderDiscount().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getOrderDiscount().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Rewards > getOrderDiscount \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getOrderDiscount,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.OrderDiscountResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Rewards > getOrderDiscount \n ${m}`})}return p}async getUserPoints({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getUserPoints().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getUserPoints().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Rewards > getUserPoints \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getUserPoints,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.PointsResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Rewards > getUserPoints \n ${g}`})}return d}async getUserPointsHistory({pageId:e,pageSize:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getUserPointsHistory().validate({pageId:e,pageSize:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getUserPointsHistory().validate({pageId:e,pageSize:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Rewards > getUserPointsHistory \n ${p}`});const g={};g.page_id=e,g.page_size=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getUserPointsHistory,params:{}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.PointsHistoryResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Rewards > getUserPointsHistory \n ${w}`})}return m}async getUserReferralDetails({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getUserReferralDetails().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getUserReferralDetails().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Rewards > getUserReferralDetails \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getUserReferralDetails,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.ReferralDetailsResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Rewards > getUserReferralDetails \n ${g}`})}return d}async redeemReferralCode({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.redeemReferralCode().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.redeemReferralCode().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Rewards > redeemReferralCode \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.redeemReferralCode,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.RedeemReferralCodeResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Rewards > redeemReferralCode \n ${m}`})}return p}}},231:(e,t,r)=>{const a=r(6075);class n{static RewardsArticle(){return a.object({id:a.string().allow(""),points:a.number(),price:a.number()})}static CatalogueOrderResponse(){return a.object({articles:a.array().items(n.RewardsArticle())})}static CatalogueOrderRequest(){return a.object({articles:a.array().items(n.RewardsArticle())})}static PointsResponse(){return a.object({points:a.number()})}static ReferralDetailsUser(){return a.object({blocked:a.boolean(),points:a.number(),redeemed:a.boolean(),referral_code:a.string().allow("")})}static Offer(){return a.object({_schedule:n.Schedule(),active:a.boolean(),application_id:a.string().allow(""),banner_image:n.Asset(),created_at:a.string().allow(""),name:a.string().allow(""),rule:a.any(),share:n.ShareMessages(),sub_text:a.string().allow(""),text:a.string().allow(""),type:a.string().allow(""),updated_at:a.string().allow(""),updated_by:a.string().allow(""),url:a.string().allow("")})}static Schedule(){return a.object({duration:a.number(),end:a.string().allow(""),start:a.string().allow(""),cron:a.string().allow("")})}static Error(){return a.object({code:a.number(),exception:a.string().allow(""),info:a.string().allow(""),message:a.string().allow("")})}static Asset(){return a.object({aspect_ratio:a.string().allow(""),id:a.string().allow(""),secure_url:a.string().allow("")})}static ShareMessages(){return a.object({email:a.number(),facebook:a.string().allow(""),fallback:a.string().allow(""),message:a.string().allow(""),messenger:a.string().allow(""),sms:a.string().allow(""),text:a.string().allow(""),twitter:a.string().allow(""),whatsapp:a.string().allow("")})}static ReferralDetailsResponse(){return a.object({referral:n.Offer(),share:n.ShareMessages(),user:n.ReferralDetailsUser(),referrer_info:a.string().allow(""),terms_conditions_link:a.string().allow("")})}static OrderDiscountRequest(){return a.object({order_amount:a.number().required(),currency:a.string().allow("")})}static OrderDiscountRuleBucket(){return a.object({high:a.number(),low:a.number(),max:a.number(),value:a.number(),value_type:a.string().allow("")})}static DiscountProperties(){return a.object({absolute:a.number(),currency:a.string().allow(""),display_absolute:a.string().allow(""),display_percent:a.string().allow(""),percent:a.number()})}static OrderDiscountResponse(){return a.object({order_amount:a.number(),points:a.number(),discount:n.DiscountProperties(),base_discount:n.DiscountProperties(),applied_rule_bucket:n.OrderDiscountRuleBucket()})}static RedeemReferralCodeRequest(){return a.object({device_id:a.string().allow(""),referral_code:a.string().allow("")})}static RedeemReferralCodeResponse(){return a.object({redeemed:a.boolean(),message:a.string().allow(""),referrer_info:a.string().allow(""),referrer_id:a.string().allow(""),points:a.number()})}static PointsHistoryResponse(){return a.object({items:a.array().items(n.PointsHistory()),page:n.Page()})}static PointsHistory(){return a.object({_id:a.string().allow(""),application_id:a.string().allow(""),claimed:a.boolean(),created_at:a.string().allow(""),expires_on:a.string().allow(""),meta:a.any(),points:a.number(),remaining_points:a.number(),text_1:a.string().allow(""),text_2:a.string().allow(""),text_3:a.string().allow(""),txn_name:a.string().allow(""),updated_at:a.string().allow(""),user_id:a.string().allow("")})}static Page(){return a.object({item_total:a.number(),next_id:a.string().allow(""),has_previous:a.boolean(),has_next:a.boolean(),current:a.number(),type:a.string().allow("").required(),size:a.number()})}}e.exports=n},876:(e,t,r)=>{const a=r(6075),n=r(231);e.exports=class{static catalogueOrder(){return a.object({body:n.CatalogueOrderRequest().required()}).required()}static getOfferByName(){return a.object({name:a.string().allow("").required()}).required()}static getOrderDiscount(){return a.object({body:n.OrderDiscountRequest().required()}).required()}static getUserPoints(){return a.object({})}static getUserPointsHistory(){return a.object({pageId:a.string().allow(""),pageSize:a.number()})}static getUserReferralDetails(){return a.object({})}static redeemReferralCode(){return a.object({body:n.RedeemReferralCodeRequest().required()}).required()}}},8651:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(4708)),l=r(7167),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={createShortLink:"/service/application/share/v1.0/links/short-link/",getApplicationQRCode:"/service/application/share/v1.0/qr/",getCollectionQRCodeBySlug:"/service/application/share/v1.0/qr/collection/{slug}/",getOriginalShortLinkByHash:"/service/application/share/v1.0/links/short-link/{hash}/original/",getProductQRCodeBySlug:"/service/application/share/v1.0/qr/products/{slug}/",getShortLinkByHash:"/service/application/share/v1.0/links/short-link/{hash}/",getUrlQRCode:"/service/application/share/v1.0/qr/url/"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async createShortLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.createShortLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.createShortLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Share > createShortLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.createShortLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ShortLinkRes().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Share > createShortLink \n ${m}`})}return p}async getApplicationQRCode({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getApplicationQRCode().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getApplicationQRCode().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Share > getApplicationQRCode \n ${u}`});const d=await a.execute(this._conf,"post",s({url:this._urls.getApplicationQRCode,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.QRCodeResp().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Share > getApplicationQRCode \n ${g}`})}return d}async getCollectionQRCodeBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getCollectionQRCodeBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getCollectionQRCodeBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Share > getCollectionQRCodeBySlug \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getCollectionQRCodeBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.QRCodeResp().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Share > getCollectionQRCodeBySlug \n ${m}`})}return p}async getOriginalShortLinkByHash({hash:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getOriginalShortLinkByHash().validate({hash:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getOriginalShortLinkByHash().validate({hash:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Share > getOriginalShortLinkByHash \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getOriginalShortLinkByHash,params:{hash:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ShortLinkRes().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Share > getOriginalShortLinkByHash \n ${m}`})}return p}async getProductQRCodeBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getProductQRCodeBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getProductQRCodeBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Share > getProductQRCodeBySlug \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getProductQRCodeBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.QRCodeResp().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Share > getProductQRCodeBySlug \n ${m}`})}return p}async getShortLinkByHash({hash:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getShortLinkByHash().validate({hash:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getShortLinkByHash().validate({hash:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Share > getShortLinkByHash \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getShortLinkByHash,params:{hash:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ShortLinkRes().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Share > getShortLinkByHash \n ${m}`})}return p}async getUrlQRCode({url:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getUrlQRCode().validate({url:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getUrlQRCode().validate({url:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Share > getUrlQRCode \n ${d}`});const p={};p.url=e;const g=await a.execute(this._conf,"post",s({url:this._urls.getUrlQRCode,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.QRCodeResp().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Share > getUrlQRCode \n ${f}`})}return g}}},7167:(e,t,r)=>{const a=r(6075);class n{static QRCodeResp(){return a.object({link:a.string().allow(""),svg:a.string().allow("")})}static RedirectDevice(){return a.object({link:a.string().allow(""),type:a.string().allow("")})}static WebRedirect(){return a.object({link:a.string().allow(""),type:a.string().allow("")})}static Redirects(){return a.object({ios:n.RedirectDevice(),android:n.RedirectDevice(),web:n.WebRedirect(),force_web:a.boolean()})}static CampaignShortLink(){return a.object({source:a.string().allow(""),medium:a.string().allow("")})}static Attribution(){return a.object({campaign_cookie_expiry:a.string().allow("")})}static SocialMediaTags(){return a.object({title:a.string().allow(""),description:a.string().allow(""),image:a.string().allow("")})}static ShortLinkReq(){return a.object({title:a.string().allow("").required(),url:a.string().allow("").required(),hash:a.string().allow(""),active:a.boolean(),expire_at:a.string().allow(""),enable_tracking:a.boolean(),personalized:a.boolean(),campaign:n.CampaignShortLink(),redirects:n.Redirects(),attribution:n.Attribution(),social_media_tags:n.SocialMediaTags(),count:a.number()})}static UrlInfo(){return a.object({original:a.string().allow(""),hash:a.string().allow(""),short_url:a.string().allow("")})}static ShortLinkRes(){return a.object({title:a.string().allow(""),url:n.UrlInfo(),created_by:a.string().allow(""),app_redirect:a.boolean(),fallback:a.string().allow(""),active:a.boolean(),_id:a.string().allow(""),enable_tracking:a.boolean(),expire_at:a.string().allow(""),application:a.string().allow(""),user_id:a.string().allow(""),created_at:a.string().allow(""),meta:a.any(),updated_at:a.string().allow(""),personalized:a.boolean(),campaign:n.CampaignShortLink(),redirects:n.Redirects(),attribution:n.Attribution(),social_media_tags:n.SocialMediaTags(),count:a.number()})}static ErrorRes(){return a.object({message:a.string().allow("")})}}e.exports=n},4708:(e,t,r)=>{const a=r(6075),n=r(7167);e.exports=class{static createShortLink(){return a.object({body:n.ShortLinkReq().required()}).required()}static getApplicationQRCode(){return a.object({})}static getCollectionQRCodeBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getOriginalShortLinkByHash(){return a.object({hash:a.string().allow("").required()}).required()}static getProductQRCodeBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getShortLinkByHash(){return a.object({hash:a.string().allow("").required()}).required()}static getUrlQRCode(){return a.object({url:a.string().allow("").required()}).required()}}},7803:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(7620)),l=r(5423),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={getAllPages:"/service/application/theme/v1.0/{theme_id}/page",getAppliedTheme:"/service/application/theme/v2.0/applied-theme",getPage:"/service/application/theme/v1.0/{theme_id}/{page_value}",getThemeForPreview:"/service/application/theme/v2.0/{theme_id}/preview"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async getAllPages({themeId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getAllPages().validate({themeId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getAllPages().validate({themeId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Theme > getAllPages \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getAllPages,params:{themeId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.AllAvailablePageSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Theme > getAllPages \n ${m}`})}return p}async getAppliedTheme({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getAppliedTheme().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getAppliedTheme().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Theme > getAppliedTheme \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getAppliedTheme,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.ThemesSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Theme > getAppliedTheme \n ${g}`})}return d}async getPage({themeId:e,pageValue:t,filters:r,company:u,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=i.getPage().validate({themeId:e,pageValue:t,filters:r,company:u},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=i.getPage().validate({themeId:e,pageValue:t,filters:r,company:u},{abortEarly:!1,allowUnknown:!1});m&&c({level:"WARN",message:`Parameter Validation warrnings for application > Theme > getPage \n ${m}`});const f={};f.filters=r,f.company=u;const w=await a.execute(this._conf,"get",s({url:this._urls.getPage,params:{themeId:e,pageValue:t}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=l.AvailablePageSchema().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));c({level:"WARN",message:`Response Validation Warnings for application > Theme > getPage \n ${b}`})}return w}async getThemeForPreview({themeId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getThemeForPreview().validate({themeId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getThemeForPreview().validate({themeId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Theme > getThemeForPreview \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getThemeForPreview,params:{themeId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ThemesSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Theme > getThemeForPreview \n ${m}`})}return p}}},5423:(e,t,r)=>{const a=r(6075);class n{static AllAvailablePageSchema(){return a.object({pages:a.array().items(n.AvailablePageSchema())})}static AvailablePageSchema(){return a.object({value:a.string().allow(""),text:a.string().allow(""),path:a.string().allow(""),type:a.string().allow(""),sections:a.array().items(n.AvailablePageSchemaSections()),sections_meta:a.array().items(n.AvailablePageSectionMetaAttributes()),theme:a.string().allow(""),seo:n.AvailablePageSeo(),props:a.array().items(a.any()),_id:a.string().allow("")})}static AvailablePageSectionMetaAttributes(){return a.object({attributes:a.any()})}static SEOMetaItem(){return a.object({title:a.string().allow(""),items:a.array().items(n.SEOMetaItems())})}static SEOMetaItems(){return a.object({key:a.string().allow(""),value:a.string().allow("")})}static SEOSitemap(){return a.object({priority:a.number(),frequency:a.string().allow("")})}static SEObreadcrumb(){return a.object({url:a.string().allow(""),action:n.Action()})}static Action(){return a.object({type:a.string().allow(""),page:n.ActionPage(),popup:n.ActionPage()})}static AvailablePageSeo(){return a.object({title:a.string().allow(""),description:a.string().allow(""),canonical_url:a.string().allow(""),meta_tags:a.array().items(n.SEOMetaItem()),sitemap:n.SEOSitemap(),breadcrumb:a.array().items(n.SEObreadcrumb()),_id:a.string().allow("")})}static AvailablePageSchemaSections(){return a.object({name:a.string().allow(""),label:a.string().allow(""),source:a.string().allow(""),props:a.any(),blocks:a.array().items(a.any()),preset:a.any(),predicate:n.AvailablePagePredicate()})}static AvailablePagePredicate(){return a.object({screen:n.AvailablePageScreenPredicate(),user:n.AvailablePageUserPredicate(),route:n.AvailablePageRoutePredicate(),schedule:n.AvailablePageSchedulePredicate(),platform:n.AvailablePagePlatformPredicate(),zones:a.array().items(a.string().allow(""))})}static AvailablePageScreenPredicate(){return a.object({mobile:a.boolean(),desktop:a.boolean(),tablet:a.boolean()})}static AvailablePageUserPredicate(){return a.object({authenticated:a.boolean(),anonymous:a.boolean()})}static AvailablePageRoutePredicate(){return a.object({selected:a.string().allow(""),exact_url:a.string().allow(""),query:a.any()})}static AvailablePageSchedulePredicate(){return a.object({cron:a.string().allow(""),start:a.string().allow(""),end:a.string().allow("")})}static ThemesSchema(){return a.object({font:n.Font(),config:n.Config(),applied:a.boolean(),is_private:a.boolean(),tags:a.array().items(a.string().allow("")),_id:a.string().allow(""),application_id:a.string().allow(""),marketplace_theme_id:a.string().allow(""),meta:n.ThemeMeta(),name:a.string().allow(""),template_theme_id:a.string().allow(""),version:a.string().allow(""),styles:a.any(),created_at:a.string().allow(""),updated_at:a.string().allow(""),assets:n.Assets(),available_sections:a.array().items(n.SectionItem()),theme_type:a.string().allow(""),company_id:a.number()})}static Font(){return a.object({variants:n.FontVariants().required(),family:a.string().allow("").required()})}static FontVariants(){return a.object({light:n.FontVariant(),regular:n.FontVariant(),medium:n.FontVariant(),semi_bold:n.FontVariant(),bold:n.FontVariant()})}static FontVariant(){return a.object({name:a.string().allow("").required(),file:a.string().allow("").required()})}static Config(){return a.object({current:a.string().allow("").required(),list:a.array().items(n.ThemeConfiguration()).required(),global_schema:n.GlobalSchema(),preset:n.Preset()})}static ThemeConfiguration(){return a.object({name:a.string().allow(""),global_config:a.any(),page:a.array().items(a.string().allow(""))})}static CustomConfig(){return a.object({props:n.CustomProps()})}static CustomProps(){return a.object({header_bg_color:a.string().allow(""),header_text_color:a.string().allow(""),header_border_color:a.string().allow(""),header_icon_color:a.string().allow(""),header_cart_notification_bg_color:a.string().allow(""),header_cart_notification_text_color:a.string().allow(""),header_nav_hover_color:a.string().allow(""),button_primary_color:a.string().allow(""),button_primary_label_color:a.string().allow(""),button_add_to_cart_color:a.string().allow(""),button_add_to_cart_label_color:a.string().allow(""),button_secondary_color:a.string().allow(""),button_secondary_label_color:a.string().allow(""),button_tertiary_color:a.string().allow(""),button_tertiary_label_color:a.string().allow(""),button_tertiary_hover_color:a.string().allow(""),button_tertiary_hover_text_color:a.string().allow(""),text_heading_link_color:a.string().allow(""),text_body_color:a.string().allow(""),text_price_color:a.string().allow(""),text_sale_price_color:a.string().allow(""),text_strikethrough_price_color:a.string().allow(""),text_discount_color:a.string().allow(""),footer_bg_color:a.string().allow(""),footer_text_color:a.string().allow(""),footer_border_color:a.string().allow(""),footer_nav_hover_color:a.string().allow(""),disable_cart:a.boolean(),is_menu_below_logo:a.boolean(),menu_position:a.string().allow("")})}static GlobalConfig(){return a.object({statics:n.StaticConfig(),custom:n.CustomConfig()})}static GeneralSetting(){return a.object({theme:n.ThemeSetting(),text:n.TextSetting(),button:n.ButtonSetting(),sale_discount:n.SaleDiscountSetting(),header:n.HeaderSetting(),footer:n.FooterSetting()})}static AdvanceSetting(){return a.object({overlay_popup:n.OverlayPopupSetting(),divider_stroke_highlight:n.DividerStrokeHighlightSetting(),user_alerts:n.UserAlertsSetting()})}static UserAlertsSetting(){return a.object({success_background:a.string().allow(""),success_text:a.string().allow(""),error_background:a.string().allow(""),error_text:a.string().allow(""),info_background:a.string().allow(""),info_text:a.string().allow("")})}static ThemeSetting(){return a.object({page_background:a.string().allow(""),theme_accent:a.string().allow("")})}static TextSetting(){return a.object({text_heading:a.string().allow(""),text_body:a.string().allow(""),text_label:a.string().allow(""),text_secondary:a.string().allow("")})}static ButtonSetting(){return a.object({button_primary:a.string().allow(""),button_secondary:a.string().allow(""),button_link:a.string().allow("")})}static SaleDiscountSetting(){return a.object({sale_badge_background:a.string().allow(""),sale_badge_text:a.string().allow(""),sale_discount_text:a.string().allow(""),sale_timer:a.string().allow("")})}static HeaderSetting(){return a.object({header_background:a.string().allow(""),header_nav:a.string().allow(""),header_icon:a.string().allow("")})}static FooterSetting(){return a.object({footer_background:a.string().allow(""),footer_bottom_background:a.string().allow(""),footer_heading_text:a.string().allow(""),footer_body_text:a.string().allow(""),footer_icon:a.string().allow("")})}static OverlayPopupSetting(){return a.object({dialog_backgroung:a.string().allow(""),overlay:a.string().allow("")})}static DividerStrokeHighlightSetting(){return a.object({divider_strokes:a.string().allow(""),highlight:a.string().allow("")})}static StaticConfig(){return a.object({props:n.StaticProps()})}static StaticProps(){return a.object({colors:n.Colors(),auth:n.AuthConfig(),palette:n.PaletteConfig()})}static Colors(){return a.object({primary_color:a.string().allow(""),secondary_color:a.string().allow(""),accent_color:a.string().allow(""),link_color:a.string().allow(""),button_secondary_color:a.string().allow(""),bg_color:a.string().allow("")})}static AuthConfig(){return a.object({show_header_auth:a.boolean(),show_footer_auth:a.boolean()})}static PaletteConfig(){return a.object({general_setting:n.GeneralSetting(),advance_setting:n.AdvanceSetting()})}static ThemeMeta(){return a.object({payment:n.ThemePayment(),description:a.string().allow(""),industry:a.array().items(a.string().allow("")),release:n.Release(),images:n.Images(),slug:a.string().allow(""),name:a.string().allow("")})}static ThemePayment(){return a.object({is_paid:a.boolean(),amount:a.number()})}static Release(){return a.object({notes:a.string().allow(""),version:a.string().allow("")})}static Images(){return a.object({desktop:a.string().allow(""),mobile:a.string().allow("")})}static Assets(){return a.object({umd_js:n.UMDJs(),common_js:n.CommonJS(),css:n.CSS()})}static UMDJs(){return a.object({links:a.array().items(a.string().allow(""))})}static CommonJS(){return a.object({link:a.string().allow("")})}static CSS(){return a.object({links:a.array().items(a.string().allow(""))})}static SectionItem(){return a.object({props:a.array().items(a.any()),blocks:a.array().items(a.any()),name:a.string().allow(""),label:a.string().allow("")})}static GlobalSchema(){return a.object({props:a.array().items(n.Prop())})}static Prop(){return a.object({type:a.string().allow(""),category:a.string().allow(""),id:a.string().allow(""),label:a.string().allow(""),info:a.string().allow("")})}static Preset(){return a.object({pages:a.array().items(n.Page())})}static Page(){return a.object({sections:a.array().items(n.Section()),value:a.string().allow("")})}static SectionProps(){return a.object({title:n.TextProp(),item_margin:n.TextProp(),autoplay:n.CheckboxProp(),slide_interval:n.RangeProp()})}static SectionPreset(){return a.object({blocks:a.array().items(n.Block())})}static ImagePickerProp(){return a.object({type:a.string().allow(""),value:a.string().allow("")})}static UrlProp(){return a.object({type:a.string().allow(""),value:a.string().allow("")})}static BlockProps(){return a.object({image:n.ImagePickerProp(),slide_link:n.UrlProp()})}static TextProp(){return a.object({value:a.string().allow(""),type:a.string().allow("")})}static CheckboxProp(){return a.object({value:a.boolean(),type:a.string().allow("")})}static RangeProp(){return a.object({value:a.number(),type:a.string().allow("")})}static Section(){return a.object({blocks:a.array().items(n.Block()),predicate:n.Predicate(),name:a.string().allow(""),props:n.SectionProps(),preset:n.SectionPreset()})}static Block(){return a.object({type:a.string().allow(""),name:a.string().allow(""),props:n.BlockProps()})}static Predicate(){return a.object({screen:n.Screen(),user:n.ThemeUserSchema(),route:n.Route()})}static Screen(){return a.object({mobile:a.boolean(),desktop:a.boolean(),tablet:a.boolean()})}static ThemeUserSchema(){return a.object({authenticated:a.boolean(),anonymous:a.boolean()})}static Route(){return a.object({selected:a.string().allow(""),exact_url:a.string().allow("")})}static AvailablePagePlatformPredicate(){return a.object({ios:a.boolean(),android:a.boolean(),web:a.boolean()})}static BlitzkriegInternalServerErrorSchema(){return a.object({message:a.string().allow("")})}static BlitzkriegApiErrorSchema(){return a.object({message:a.string().allow("")})}static ActionPage(){return a.object({params:a.object().pattern(/\S/,a.array().items(a.string().allow(""))),query:a.object().pattern(/\S/,a.array().items(a.string().allow(""))),url:a.string().allow(""),type:n.PageType().required()})}static PageType(){return a.string().valid("about-us","addresses","blog","brands","cards","cart","categories","brand","category","collection","collections","contact-us","external","faq","freshchat","home","notification-settings","orders","page","policy","product","product-request","products","profile","profile-order-shipment","profile-basic","profile-company","profile-emails","profile-phones","rate-us","refer-earn","settings","shared-cart","tnc","track-order","wishlist","sections","form","cart-delivery","cart-payment","cart-review","login","register","shipping-policy","return-policy","order-status")}}e.exports=n},7620:(e,t,r)=>{const a=r(6075);r(5423),e.exports=class{static getAllPages(){return a.object({themeId:a.string().allow("").required()}).required()}static getAppliedTheme(){return a.object({})}static getPage(){return a.object({themeId:a.string().allow("").required(),pageValue:a.string().allow("").required(),filters:a.string().allow(""),company:a.number()}).required()}static getThemeForPreview(){return a.object({themeId:a.string().allow("").required()}).required()}}},8363:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(1092)),l=r(9231),{Logger:c}=r(8572),u=r(6075);e.exports=class{constructor(e){this._conf=e,this._relativeUrls={addEmail:"/service/application/user/profile/v1.0/email",addMobileNumber:"/service/application/user/profile/v1.0/mobile",deleteEmail:"/service/application/user/profile/v1.0/email",deleteMobileNumber:"/service/application/user/profile/v1.0/mobile",deleteUser:"/service/application/user/authentication/v1.0/delete",forgotPassword:"/service/application/user/authentication/v1.0/login/password/reset/forgot",getListOfActiveSessions:"/service/application/user/authentication/v1.0/sessions",getLoggedInUser:"/service/application/user/authentication/v1.0/session",getPlatformConfig:"/service/application/user/platform/v1.0/config",getUserAttributes:"/service/application/user/profile/v1.0/user-attributes",hasPassword:"/service/application/user/authentication/v1.0/has-password",loginWithAppleIOS:"/service/application/user/authentication/v1.0/login/apple-ios",loginWithEmailAndPassword:"/service/application/user/authentication/v1.0/login/password",loginWithFacebook:"/service/application/user/authentication/v1.0/login/facebook-token",loginWithGoogle:"/service/application/user/authentication/v1.0/login/google-token",loginWithGoogleAndroid:"/service/application/user/authentication/v1.0/login/google-android",loginWithGoogleIOS:"/service/application/user/authentication/v1.0/login/google-ios",loginWithOTP:"/service/application/user/authentication/v1.0/login/otp",loginWithToken:"/service/application/user/authentication/v1.0/login/token",logout:"/service/application/user/authentication/v1.0/logout",registerWithForm:"/service/application/user/authentication/v1.0/register/form",resetForgotPassword:"/service/application/user/authentication/v1.0/login/password/forgot",sendForgotOTPOnEmail:"/service/application/user/authentication/v1.0/otp/forgot/email/send",sendForgotOTPOnMobile:"/service/application/user/authentication/v1.0/otp/forgot/mobile/send",sendOTPOnEmail:"/service/application/user/authentication/v1.0/otp/email/send",sendOTPOnMobile:"/service/application/user/authentication/v1.0/otp/mobile/send",sendResetPasswordEmail:"/service/application/user/authentication/v1.0/login/password/reset",sendResetPasswordMobile:"/service/application/user/authentication/v1.0/login/password/mobile/reset",sendResetToken:"/service/application/user/authentication/v1.0/login/password/reset/token",sendVerificationLinkToEmail:"/service/application/user/profile/v1.0/email/link/send",sendVerificationLinkToMobile:"/service/application/user/profile/v1.0/mobile/link/send",setEmailAsPrimary:"/service/application/user/profile/v1.0/email/primary",setMobileNumberAsPrimary:"/service/application/user/profile/v1.0/mobile/primary",updatePassword:"/service/application/user/authentication/v1.0/password",updateProfile:"/service/application/user/profile/v1.0/detail",updateUserAttributes:"/service/application/user/profile/v1.0/user-attributes",userExists:"/service/application/user/authentication/v1.0/user-exists",verifyEmail:"/service/application/user/authentication/v1.0/verify/email",verifyEmailForgotOTP:"/service/application/user/authentication/v1.0/otp/forgot/email/verify",verifyEmailOTP:"/service/application/user/authentication/v1.0/otp/email/verify",verifyMobile:"/service/application/user/authentication/v1.0/verify/mobile",verifyMobileForgotOTP:"/service/application/user/authentication/v1.0/otp/forgot/mobile/verify",verifyMobileOTP:"/service/application/user/authentication/v1.0/otp/mobile/verify"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async addEmail({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.addEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.addEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > addEmail \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"put",s({url:this._urls.addEmail,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.VerifyEmailOTPSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > addEmail \n ${w}`})}return m}async addMobileNumber({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.addMobileNumber().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.addMobileNumber().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > addMobileNumber \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"put",s({url:this._urls.addMobileNumber,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.VerifyMobileOTPSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > addMobileNumber \n ${w}`})}return m}async deleteEmail({active:e,primary:t,verified:r,email:u,platform:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=i.deleteEmail().validate({active:e,primary:t,verified:r,email:u,platform:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=i.deleteEmail().validate({active:e,primary:t,verified:r,email:u,platform:d},{abortEarly:!1,allowUnknown:!1});f&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > deleteEmail \n ${f}`});const w={};w.platform=d,w.active=e,w.primary=t,w.verified=r,w.email=u;const y=await a.execute(this._conf,"delete",s({url:this._urls.deleteEmail,params:{}}),w,void 0,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=l.LoginSuccess().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));c({level:"WARN",message:`Response Validation Warnings for application > User > deleteEmail \n ${h}`})}return y}async deleteMobileNumber({active:e,primary:t,verified:r,countryCode:u,phone:d,platform:p,requestHeaders:g}={requestHeaders:{}},{responseHeaders:m}={responseHeaders:!1}){const{error:f}=i.deleteMobileNumber().validate({active:e,primary:t,verified:r,countryCode:u,phone:d,platform:p},{abortEarly:!1,allowUnknown:!0});if(f)return Promise.reject(new n(f));const{error:w}=i.deleteMobileNumber().validate({active:e,primary:t,verified:r,countryCode:u,phone:d,platform:p},{abortEarly:!1,allowUnknown:!1});w&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > deleteMobileNumber \n ${w}`});const y={};y.platform=p,y.active=e,y.primary=t,y.verified=r,y.country_code=u,y.phone=d;const b=await a.execute(this._conf,"delete",s({url:this._urls.deleteMobileNumber,params:{}}),y,void 0,{...g},{responseHeaders:m});let h=b;m&&(h=b[0]);const{error:_}=l.LoginSuccess().validate(h,{abortEarly:!1,allowUnknown:!0});if(_){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(_));c({level:"WARN",message:`Response Validation Warnings for application > User > deleteMobileNumber \n ${_}`})}return b}async deleteUser({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.deleteUser().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.deleteUser().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > deleteUser \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.deleteUser,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.DeleteUserSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > deleteUser \n ${m}`})}return p}async forgotPassword({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.forgotPassword().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.forgotPassword().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > forgotPassword \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.forgotPassword,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.LoginSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > forgotPassword \n ${m}`})}return p}async getListOfActiveSessions({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getListOfActiveSessions().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getListOfActiveSessions().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > getListOfActiveSessions \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getListOfActiveSessions,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.SessionListSuccess().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > User > getListOfActiveSessions \n ${g}`})}return d}async getLoggedInUser({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getLoggedInUser().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getLoggedInUser().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > getLoggedInUser \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getLoggedInUser,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.UserObjectSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > User > getLoggedInUser \n ${g}`})}return d}async getPlatformConfig({name:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getPlatformConfig().validate({name:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getPlatformConfig().validate({name:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > getPlatformConfig \n ${d}`});const p={};p.name=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getPlatformConfig,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.PlatformSchema().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > User > getPlatformConfig \n ${f}`})}return g}async getUserAttributes({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getUserAttributes().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getUserAttributes().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > getUserAttributes \n ${d}`});const p={};p.slug=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getUserAttributes,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.UserAttributes().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > User > getUserAttributes \n ${f}`})}return g}async hasPassword({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.hasPassword().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.hasPassword().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > hasPassword \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.hasPassword,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.HasPasswordSuccess().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > User > hasPassword \n ${g}`})}return d}async loginWithAppleIOS({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.loginWithAppleIOS().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.loginWithAppleIOS().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithAppleIOS \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.loginWithAppleIOS,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.AuthSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithAppleIOS \n ${w}`})}return m}async loginWithEmailAndPassword({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.loginWithEmailAndPassword().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.loginWithEmailAndPassword().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithEmailAndPassword \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.loginWithEmailAndPassword,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.LoginSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithEmailAndPassword \n ${m}`})}return p}async loginWithFacebook({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.loginWithFacebook().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.loginWithFacebook().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithFacebook \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.loginWithFacebook,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.AuthSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithFacebook \n ${w}`})}return m}async loginWithGoogle({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.loginWithGoogle().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.loginWithGoogle().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithGoogle \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.loginWithGoogle,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.AuthSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithGoogle \n ${w}`})}return m}async loginWithGoogleAndroid({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.loginWithGoogleAndroid().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.loginWithGoogleAndroid().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithGoogleAndroid \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.loginWithGoogleAndroid,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.AuthSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithGoogleAndroid \n ${w}`})}return m}async loginWithGoogleIOS({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.loginWithGoogleIOS().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.loginWithGoogleIOS().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithGoogleIOS \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.loginWithGoogleIOS,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.AuthSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithGoogleIOS \n ${w}`})}return m}async loginWithOTP({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.loginWithOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.loginWithOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithOTP \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.loginWithOTP,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.SendOtpResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithOTP \n ${w}`})}return m}async loginWithToken({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.loginWithToken().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.loginWithToken().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithToken \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.loginWithToken,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.LoginSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithToken \n ${m}`})}return p}async logout({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.logout().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.logout().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > logout \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.logout,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.LogoutSuccess().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > User > logout \n ${g}`})}return d}async registerWithForm({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.registerWithForm().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.registerWithForm().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > registerWithForm \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.registerWithForm,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.RegisterFormSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > registerWithForm \n ${w}`})}return m}async resetForgotPassword({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.resetForgotPassword().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.resetForgotPassword().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > resetForgotPassword \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.resetForgotPassword,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ResetForgotPasswordSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > resetForgotPassword \n ${m}`})}return p}async sendForgotOTPOnEmail({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendForgotOTPOnEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendForgotOTPOnEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendForgotOTPOnEmail \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendForgotOTPOnEmail,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.EmailOtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendForgotOTPOnEmail \n ${w}`})}return m}async sendForgotOTPOnMobile({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendForgotOTPOnMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendForgotOTPOnMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendForgotOTPOnMobile \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendForgotOTPOnMobile,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.OtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendForgotOTPOnMobile \n ${w}`})}return m}async sendOTPOnEmail({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendOTPOnEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendOTPOnEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendOTPOnEmail \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendOTPOnEmail,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.EmailOtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendOTPOnEmail \n ${w}`})}return m}async sendOTPOnMobile({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendOTPOnMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendOTPOnMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendOTPOnMobile \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendOTPOnMobile,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.OtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendOTPOnMobile \n ${w}`})}return m}async sendResetPasswordEmail({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendResetPasswordEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendResetPasswordEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendResetPasswordEmail \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendResetPasswordEmail,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.ResetPasswordSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendResetPasswordEmail \n ${w}`})}return m}async sendResetPasswordMobile({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:l}={responseHeaders:!1}){const{error:d}=i.sendResetPasswordMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendResetPasswordMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendResetPasswordMobile \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendResetPasswordMobile,params:{}}),g,e,{...r},{responseHeaders:l});let f=m;l&&(f=m[0]);const{error:w}=u.string().allow("").validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendResetPasswordMobile \n ${w}`})}return m}async sendResetToken({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.sendResetToken().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.sendResetToken().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendResetToken \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.sendResetToken,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ResetPasswordSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > sendResetToken \n ${m}`})}return p}async sendVerificationLinkToEmail({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendVerificationLinkToEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendVerificationLinkToEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendVerificationLinkToEmail \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendVerificationLinkToEmail,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.SendEmailVerifyLinkSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendVerificationLinkToEmail \n ${w}`})}return m}async sendVerificationLinkToMobile({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendVerificationLinkToMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendVerificationLinkToMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendVerificationLinkToMobile \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendVerificationLinkToMobile,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.SendMobileVerifyLinkSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendVerificationLinkToMobile \n ${w}`})}return m}async setEmailAsPrimary({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.setEmailAsPrimary().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.setEmailAsPrimary().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > setEmailAsPrimary \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.setEmailAsPrimary,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.LoginSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > setEmailAsPrimary \n ${m}`})}return p}async setMobileNumberAsPrimary({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.setMobileNumberAsPrimary().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.setMobileNumberAsPrimary().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > setMobileNumberAsPrimary \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.setMobileNumberAsPrimary,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.LoginSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > setMobileNumberAsPrimary \n ${m}`})}return p}async updatePassword({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.updatePassword().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.updatePassword().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > updatePassword \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.updatePassword,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.VerifyEmailSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > updatePassword \n ${m}`})}return p}async updateProfile({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.updateProfile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.updateProfile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > updateProfile \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.updateProfile,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.ProfileEditSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > updateProfile \n ${w}`})}return m}async updateUserAttributes({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.updateUserAttributes().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.updateUserAttributes().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > updateUserAttributes \n ${d}`});const p=await a.execute(this._conf,"patch",s({url:this._urls.updateUserAttributes,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.UserAttributes().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > updateUserAttributes \n ${m}`})}return p}async userExists({q:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.userExists().validate({q:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.userExists().validate({q:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > userExists \n ${d}`});const p={};p.q=e;const g=await a.execute(this._conf,"get",s({url:this._urls.userExists,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.UserExistsResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > User > userExists \n ${f}`})}return g}async verifyEmail({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.verifyEmail().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.verifyEmail().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > verifyEmail \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.verifyEmail,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.VerifyEmailSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > verifyEmail \n ${m}`})}return p}async verifyEmailForgotOTP({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.verifyEmailForgotOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.verifyEmailForgotOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > verifyEmailForgotOTP \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.verifyEmailForgotOTP,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.VerifyForgotOtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > verifyEmailForgotOTP \n ${w}`})}return m}async verifyEmailOTP({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.verifyEmailOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.verifyEmailOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > verifyEmailOTP \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.verifyEmailOTP,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.VerifyOtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > verifyEmailOTP \n ${w}`})}return m}async verifyMobile({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.verifyMobile().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.verifyMobile().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > verifyMobile \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.verifyMobile,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.VerifyEmailSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > verifyMobile \n ${m}`})}return p}async verifyMobileForgotOTP({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.verifyMobileForgotOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.verifyMobileForgotOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > verifyMobileForgotOTP \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.verifyMobileForgotOTP,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.VerifyForgotOtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > verifyMobileForgotOTP \n ${w}`})}return m}async verifyMobileOTP({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.verifyMobileOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.verifyMobileOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > verifyMobileOTP \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.verifyMobileOTP,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.VerifyOtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > verifyMobileOTP \n ${w}`})}return m}}},9231:(e,t,r)=>{const a=r(6075);class n{static UpdateUserAttributesRequest(){return a.object({attributes:a.any()})}static UserAttributes(){return a.object({attributes:a.any()})}static DeleteApplicationUserRequestSchema(){return a.object({user_id:a.string().allow(""),reason:a.string().allow(""),reason_id:a.string().allow(""),request_id:a.string().allow(""),otp:a.string().allow("")})}static EditEmailRequestSchema(){return a.object({email:a.string().allow("")})}static SendVerificationLinkMobileRequestSchema(){return a.object({verified:a.boolean(),active:a.boolean(),country_code:a.string().allow(""),phone:a.string().allow(""),primary:a.boolean()})}static EditMobileRequestSchema(){return a.object({country_code:a.string().allow(""),phone:a.string().allow("")})}static EditProfileRequestSchema(){return a.object({encrypt_otp:a.boolean(),first_name:a.string().allow(""),last_name:a.string().allow(""),mobile:n.EditProfileMobileSchema(),country_code:a.string().allow(""),email:a.string().allow(""),gender:a.string().allow(""),dob:a.string().allow(""),profile_pic_url:a.string().allow(""),android_hash:a.string().allow(""),sender:a.string().allow(""),register_token:a.string().allow("")})}static EditProfileMobileSchema(){return a.object({phone:a.string().allow(""),country_code:a.string().allow("")})}static SendEmailOtpRequestSchema(){return a.object({email:a.string().allow(""),action:a.string().allow(""),token:a.string().allow(""),register_token:a.string().allow("")})}static SendEmailForgotOtpRequestSchema(){return a.object({email:a.string().allow(""),action:a.string().allow(""),token:a.string().allow("")})}static VerifyEmailOtpRequestSchema(){return a.object({email:a.string().allow(""),action:a.string().allow(""),register_token:a.string().allow(""),otp:a.string().allow("")})}static VerifyEmailForgotOtpRequestSchema(){return a.object({email:a.string().allow(""),otp:a.string().allow("")})}static VerifyOtpRequestSchema(){return a.object({request_id:a.string().allow(""),register_token:a.string().allow(""),otp:a.string().allow("")})}static VerifyMobileForgotOtpRequestSchema(){return a.object({request_id:a.string().allow(""),otp:a.string().allow("")})}static SendMobileOtpRequestSchema(){return a.object({encrypt_otp:a.boolean(),mobile:a.string().allow(""),country_code:a.string().allow(""),action:a.string().allow(""),token:a.string().allow(""),android_hash:a.string().allow(""),force:a.string().allow("")})}static SendMobileForgotOtpRequestSchema(){return a.object({mobile:a.string().allow(""),country_code:a.string().allow(""),action:a.string().allow(""),token:a.string().allow(""),android_hash:a.string().allow("")})}static UpdatePasswordRequestSchema(){return a.object({old_password:a.string().allow(""),new_password:a.string().allow("")})}static FormRegisterRequestSchema(){return a.object({first_name:a.string().allow(""),last_name:a.string().allow(""),gender:a.string().allow(""),email:a.string().allow(""),password:a.string().allow(""),phone:n.FormRegisterRequestSchemaPhone(),register_token:a.string().allow("")})}static TokenRequestBodySchema(){return a.object({token:a.string().allow("")})}static ForgotPasswordRequestSchema(){return a.object({code:a.string().allow(""),password:a.string().allow("")})}static CodeRequestBodySchema(){return a.object({code:a.string().allow("")})}static SendResetPasswordEmailRequestSchema(){return a.object({email:a.string().allow("")})}static SendResetPasswordMobileRequestSchema(){return a.object({country_code:a.string().allow(""),mobile:a.string().allow("")})}static PasswordLoginRequestSchema(){return a.object({password:a.string().allow(""),username:a.string().allow("")})}static SendOtpRequestSchema(){return a.object({encrypt_otp:a.boolean(),country_code:a.string().allow(""),mobile:a.string().allow(""),android_hash:a.string().allow("")})}static OAuthRequestSchema(){return a.object({is_signed_in:a.boolean(),oauth2:n.OAuthRequestSchemaOauth2(),profile:n.OAuthRequestSchemaProfile()})}static OAuthRequestAppleSchema(){return a.object({user_identifier:a.string().allow(""),oauth:n.OAuthRequestAppleSchemaOauth(),profile:n.OAuthRequestAppleSchemaProfile()})}static UserObjectSchema(){return a.object({user:n.UserSchema()})}static AuthSuccess(){return a.object({register_token:a.string().allow(""),user_exists:a.boolean(),user:n.UserSchema()})}static UserExistsResponse(){return a.object({user_exists:a.boolean()})}static SendOtpResponse(){return a.object({resend_timer:a.number(),resend_token:a.string().allow(""),success:a.boolean(),request_id:a.string().allow(""),message:a.string().allow(""),mobile:a.string().allow(""),country_code:a.string().allow(""),email:a.string().allow(""),resend_email_token:a.string().allow(""),register_token:a.string().allow(""),verify_email_otp:a.boolean(),verify_mobile_otp:a.boolean(),user_exists:a.boolean()})}static ProfileEditSuccess(){return a.object({user:n.UserSchema(),register_token:a.string().allow(""),resend_email_token:a.string().allow(""),user_exists:a.boolean(),verify_email_link:a.boolean(),verify_email_otp:a.boolean(),verify_mobile_otp:a.boolean(),email:a.string().allow(""),request_id:a.string().allow(""),country_code:a.string().allow(""),mobile:a.string().allow(""),success:a.boolean(),message:a.string().allow(""),resend_timer:a.number(),resend_token:a.string().allow("")})}static LoginSuccess(){return a.object({user:n.UserSchema(),request_id:a.string().allow(""),register_token:a.string().allow("")})}static ResetForgotPasswordSuccess(){return a.object({success:a.boolean()})}static VerifyOtpSuccess(){return a.object({user:n.UserSchema(),user_exists:a.boolean(),register_token:a.string().allow("")})}static VerifyForgotOtpSuccess(){return a.object({success:a.boolean(),forgot_token:a.string().allow("")})}static ResetPasswordSuccess(){return a.object({status:a.string().allow("")})}static RegisterFormSuccess(){return a.object({email:a.string().allow(""),resend_timer:a.number(),resend_token:a.string().allow(""),resend_email_token:a.string().allow(""),register_token:a.string().allow(""),success:a.boolean(),request_id:a.string().allow(""),message:a.string().allow(""),mobile:a.string().allow(""),country_code:a.string().allow(""),verify_email_otp:a.boolean(),verify_mobile_otp:a.boolean(),user_exists:a.boolean()})}static VerifyEmailSuccess(){return a.object({message:a.string().allow("")})}static HasPasswordSuccess(){return a.object({result:a.number()})}static LogoutSuccess(){return a.object({logout:a.boolean()})}static DeleteUserSuccess(){return a.object({success:a.boolean()})}static OtpSuccess(){return a.object({resend_timer:a.number(),resend_token:a.string().allow(""),register_token:a.string().allow(""),success:a.boolean(),request_id:a.string().allow(""),message:a.string().allow(""),mobile:a.string().allow(""),country_code:a.string().allow("")})}static EmailOtpSuccess(){return a.object({success:a.boolean(),resend_email_token:a.string().allow("")})}static SessionListSuccess(){return a.object({sessions:a.array().items(a.string().allow(""))})}static VerifyMobileOTPSuccess(){return a.object({user:n.UserSchema(),verify_mobile_link:a.boolean()})}static VerifyEmailOTPSuccess(){return a.object({user:n.UserSchema(),verify_email_link:a.boolean()})}static SendMobileVerifyLinkSuccess(){return a.object({verify_mobile_link:a.boolean()})}static SendEmailVerifyLinkSuccess(){return a.object({verify_email_link:a.boolean()})}static APIError(){return a.object({code:a.string().allow(""),message:a.string().allow(""),info:a.string().allow(""),request_id:a.string().allow(""),error:a.string().allow(""),meta:a.any(),authenticated:a.boolean()})}static FormRegisterRequestSchemaPhone(){return a.object({country_code:a.string().allow(""),mobile:a.string().allow("")})}static OAuthRequestSchemaOauth2(){return a.object({access_token:a.string().allow(""),expiry:a.number(),refresh_token:a.string().allow("")})}static OAuthRequestSchemaProfile(){return a.object({last_name:a.string().allow(""),image:a.string().allow(""),id:a.string().allow(""),email:a.string().allow(""),full_name:a.string().allow(""),first_name:a.string().allow("")})}static OAuthRequestAppleSchemaOauth(){return a.object({identity_token:a.string().allow("")})}static OAuthRequestAppleSchemaProfile(){return a.object({last_name:a.string().allow(""),full_name:a.string().allow(""),first_name:a.string().allow("")})}static PlatformSchema(){return a.object({display:a.string().allow(""),look_and_feel:n.LookAndFeel(),updated_at:a.string().allow(""),active:a.boolean(),forgot_password:a.boolean(),login:n.Login(),skip_captcha:a.boolean(),name:a.string().allow(""),meta:n.MetaSchema(),_id:a.string().allow(""),social:n.Social(),required_fields:n.RequiredFields(),register_required_fields:n.RegisterRequiredFields(),skip_login:a.boolean(),flash_card:n.FlashCard(),subtext:a.string().allow(""),social_tokens:n.SocialTokens(),created_at:a.string().allow(""),register:a.boolean(),mobile_image:a.string().allow(""),desktop_image:a.string().allow(""),delete_account_day:a.number(),delete_account_reasons:a.array().items(n.DeleteAccountReasons()),delete_account_consent:n.DeleteAccountConsent(),session_config:n.SessionExpiry(),__v:a.number()})}static LookAndFeel(){return a.object({card_position:a.string().allow(""),background_color:a.string().allow("")})}static Login(){return a.object({password:a.boolean(),otp:a.boolean()})}static MetaSchema(){return a.object({fynd_default:a.boolean()})}static Social(){return a.object({account_kit:a.boolean(),facebook:a.boolean(),google:a.boolean(),apple:a.boolean()})}static RequiredFields(){return a.object({email:n.PlatformEmail(),mobile:n.PlatformMobile()})}static PlatformEmail(){return a.object({is_required:a.boolean(),level:a.string().allow("")})}static PlatformMobile(){return a.object({is_required:a.boolean(),level:a.string().allow("")})}static RegisterRequiredFields(){return a.object({email:n.RegisterRequiredFieldsEmail(),mobile:n.RegisterRequiredFieldsMobile()})}static RegisterRequiredFieldsEmail(){return a.object({is_required:a.boolean(),level:a.string().allow("")})}static RegisterRequiredFieldsMobile(){return a.object({is_required:a.boolean(),level:a.string().allow("")})}static FlashCard(){return a.object({text:a.string().allow(""),text_color:a.string().allow(""),background_color:a.string().allow("")})}static SocialTokens(){return a.object({facebook:n.Facebook(),accountkit:n.Accountkit(),google:n.Google()})}static DeleteAccountReasons(){return a.object({reason_text:a.string().allow(""),reason_id:a.string().allow(""),show_text_area:a.boolean()})}static DeleteAccountConsent(){return a.object({consent_text:a.string().allow("")})}static Facebook(){return a.object({app_id:a.string().allow("")})}static Accountkit(){return a.object({app_id:a.string().allow("")})}static Google(){return a.object({app_id:a.string().allow("")})}static SessionExpiry(){return a.object({duration:a.number(),type:a.string().allow(""),is_rolling:a.boolean()})}static UserSchema(){return a.object({application_id:a.string().allow(""),user_id:a.string().allow(""),first_name:a.string().allow(""),meta:a.any(),last_name:a.string().allow(""),phone_numbers:a.array().items(n.PhoneNumber()),emails:a.array().items(n.Email()),gender:a.string().allow(""),dob:a.string().allow(""),active:a.boolean(),profile_pic_url:a.string().allow(""),username:a.string().allow(""),account_type:a.string().allow(""),_id:a.string().allow(""),created_at:a.string().allow(""),updated_at:a.string().allow(""),external_id:a.string().allow(""),rr_id:a.string().allow("")})}static PhoneNumber(){return a.object({phone:a.string().allow(""),country_code:a.number(),active:a.boolean(),primary:a.boolean(),verified:a.boolean()})}static Email(){return a.object({email:a.string().allow(""),active:a.boolean(),primary:a.boolean(),verified:a.boolean()})}}e.exports=n},1092:(e,t,r)=>{const a=r(6075),n=r(9231);e.exports=class{static addEmail(){return a.object({platform:a.string().allow(""),body:n.EditEmailRequestSchema().required()}).required()}static addMobileNumber(){return a.object({platform:a.string().allow(""),body:n.EditMobileRequestSchema().required()}).required()}static deleteEmail(){return a.object({platform:a.string().allow(""),active:a.boolean().required(),primary:a.boolean().required(),verified:a.boolean().required(),email:a.string().allow("").required()}).required()}static deleteMobileNumber(){return a.object({platform:a.string().allow(""),active:a.boolean().required(),primary:a.boolean().required(),verified:a.boolean().required(),countryCode:a.string().allow("").required(),phone:a.string().allow("").required()}).required()}static deleteUser(){return a.object({body:n.DeleteApplicationUserRequestSchema().required()}).required()}static forgotPassword(){return a.object({body:n.ForgotPasswordRequestSchema().required()}).required()}static getListOfActiveSessions(){return a.object({})}static getLoggedInUser(){return a.object({})}static getPlatformConfig(){return a.object({name:a.string().allow("")})}static getUserAttributes(){return a.object({slug:a.string().allow("")})}static hasPassword(){return a.object({})}static loginWithAppleIOS(){return a.object({platform:a.string().allow(""),body:n.OAuthRequestAppleSchema().required()}).required()}static loginWithEmailAndPassword(){return a.object({body:n.PasswordLoginRequestSchema().required()}).required()}static loginWithFacebook(){return a.object({platform:a.string().allow(""),body:n.OAuthRequestSchema().required()}).required()}static loginWithGoogle(){return a.object({platform:a.string().allow(""),body:n.OAuthRequestSchema().required()}).required()}static loginWithGoogleAndroid(){return a.object({platform:a.string().allow(""),body:n.OAuthRequestSchema().required()}).required()}static loginWithGoogleIOS(){return a.object({platform:a.string().allow(""),body:n.OAuthRequestSchema().required()}).required()}static loginWithOTP(){return a.object({platform:a.string().allow(""),body:n.SendOtpRequestSchema().required()}).required()}static loginWithToken(){return a.object({body:n.TokenRequestBodySchema().required()}).required()}static logout(){return a.object({})}static registerWithForm(){return a.object({platform:a.string().allow(""),body:n.FormRegisterRequestSchema().required()}).required()}static resetForgotPassword(){return a.object({body:n.ForgotPasswordRequestSchema().required()}).required()}static sendForgotOTPOnEmail(){return a.object({platform:a.string().allow(""),body:n.SendEmailForgotOtpRequestSchema().required()}).required()}static sendForgotOTPOnMobile(){return a.object({platform:a.string().allow(""),body:n.SendMobileForgotOtpRequestSchema().required()}).required()}static sendOTPOnEmail(){return a.object({platform:a.string().allow(""),body:n.SendEmailOtpRequestSchema().required()}).required()}static sendOTPOnMobile(){return a.object({platform:a.string().allow(""),body:n.SendMobileOtpRequestSchema().required()}).required()}static sendResetPasswordEmail(){return a.object({platform:a.string().allow(""),body:n.SendResetPasswordEmailRequestSchema().required()}).required()}static sendResetPasswordMobile(){return a.object({platform:a.string().allow(""),body:n.SendResetPasswordMobileRequestSchema().required()}).required()}static sendResetToken(){return a.object({body:n.CodeRequestBodySchema().required()}).required()}static sendVerificationLinkToEmail(){return a.object({platform:a.string().allow(""),body:n.EditEmailRequestSchema().required()}).required()}static sendVerificationLinkToMobile(){return a.object({platform:a.string().allow(""),body:n.SendVerificationLinkMobileRequestSchema().required()}).required()}static setEmailAsPrimary(){return a.object({body:n.EditEmailRequestSchema().required()}).required()}static setMobileNumberAsPrimary(){return a.object({body:n.SendVerificationLinkMobileRequestSchema().required()}).required()}static updatePassword(){return a.object({body:n.UpdatePasswordRequestSchema().required()}).required()}static updateProfile(){return a.object({platform:a.string().allow(""),body:n.EditProfileRequestSchema().required()}).required()}static updateUserAttributes(){return a.object({body:n.UpdateUserAttributesRequest().required()}).required()}static userExists(){return a.object({q:a.string().allow("").required()}).required()}static verifyEmail(){return a.object({body:n.CodeRequestBodySchema().required()}).required()}static verifyEmailForgotOTP(){return a.object({platform:a.string().allow(""),body:n.VerifyEmailForgotOtpRequestSchema().required()}).required()}static verifyEmailOTP(){return a.object({platform:a.string().allow(""),body:n.VerifyEmailOtpRequestSchema().required()}).required()}static verifyMobile(){return a.object({body:n.CodeRequestBodySchema().required()}).required()}static verifyMobileForgotOTP(){return a.object({platform:a.string().allow(""),body:n.VerifyMobileForgotOtpRequestSchema().required()}).required()}static verifyMobileOTP(){return a.object({platform:a.string().allow(""),body:n.VerifyOtpRequestSchema().required()}).required()}}},3567:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(7496)),l=r(7379),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={saveClickEvent:"/service/application/webhook/v1.0/click-analytics/events"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async saveClickEvent({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.saveClickEvent().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.saveClickEvent().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Webhook > saveClickEvent \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.saveClickEvent,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ClickEventResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Webhook > saveClickEvent \n ${m}`})}return p}}},7379:(e,t,r)=>{const a=r(6075);class n{static ClickEventBatch(){return a.object({event_name:a.string().allow("")})}static ClickEventRequest(){return a.object({batch:a.array().items(n.ClickEventBatch())})}static ClickEventResponse(){return a.object({success_count:a.number(),failed_count:a.number(),failed_events:a.array().items(n.ClickEventBatch())})}}e.exports=n},7496:(e,t,r)=>{const a=r(6075),n=r(7379);e.exports=class{static saveClickEvent(){return a.object({body:n.ClickEventRequest().required()}).required()}}},1205:(e,t,r)=>{const a=r(2729);e.exports=({url:e,params:t})=>e.split("/").map((e=>("{"===e[0]&&"}"===e[e.length-1]&&(e=t[a(e.slice(1,e.length-1))]),e))).join("/")},3775:(e,t,r)=>{e.exports={ApplicationConfig:r(8163),ApplicationClient:r(9418),ApplicationModel:{CartApplicationModel:r(7785),CatalogApplicationModel:r(103),CommonApplicationModel:r(5443),CommunicationApplicationModel:r(8007),ConfigurationApplicationModel:r(1775),ContentApplicationModel:r(9079),FileStorageApplicationModel:r(6751),LeadApplicationModel:r(2201),LogisticApplicationModel:r(8297),OrderApplicationModel:r(4079),PaymentApplicationModel:r(9887),RewardsApplicationModel:r(231),ShareApplicationModel:r(7167),ThemeApplicationModel:r(5423),UserApplicationModel:r(9231),WebhookApplicationModel:r(7379)}}},128:(e,t,r)=>{const{isAbsoluteURL:a,combineURLs:n}=r(8879),o=r(6425).default,s=r(6663),{sign:i}=r(1331),{FDKServerResponseError:l}=r(1235),{log:c,Logger:u,getLoggerLevel:d}=r(8572),p=r(4790),{version:g}=r(8330),m=o.create({withCredentials:!0,paramsSerializer:e=>s.stringify(e)});m.interceptors.request.use((function(e){try{if(d()<=c.levels.DEBUG){const t=p(e);c.debug(t)}}catch(e){u({level:"ERROR",message:`Error Generating Curl: ${e}`})}finally{return e}}),(function(e){u({level:"ERROR",message:e.data||e.message,stack:e.data.stack||e.stack})})),m.interceptors.request.use((e=>{if(!e.url)throw new Error("No URL present in request config, unable to sign request");let t=e.url;e.baseURL&&!a(e.url)&&(t=n(e.baseURL,e.url));const{host:r,pathname:o,search:l}=new URL(t),{data:c,headers:u,method:d,params:p}=e;u["x-fp-sdk-version"]=g;let m=s.parse(l);m={...m,...p};let f,w="";if(m&&Object.keys(m).length&&""!==s.stringify(m).trim()&&(w=`?${s.stringify(m)}`),"get"!=d){const t=function(e){const{transformRequest:t}=e;if(t){if("function"==typeof t)return t;if(t.length)return t[0]}throw new Error("Could not get default transformRequest function from Axios defaults")}(e);f=t(c,u)}const{common:y,delete:b,get:h,head:_,post:v,put:R,patch:k,...P}=u,j={method:d&&d.toUpperCase(),host:r,path:o+l+w,body:f,headers:P},C=i(j);return e.headers["x-fp-date"]=C["x-fp-date"],e.headers["x-fp-signature"]=C["x-fp-signature"],e})),m.interceptors.response.use((function(e){return"head"==e.config.method?e.headers:(u({level:"DEBUG",type:"RESPONSE",message:e.data,url:e.config.url}),e.config.responseHeaders?[e.data,e.headers]:e.data)}),(function(e){if(e.response){const t=e.response.data;throw u({level:"ERROR",message:t&&t.message?t.message:e.message,stack:t&&t.stack?t.stack:e.stack,request:{method:e.config&&e.config.url?e.config.url:void 0,url:e.config&&e.config.method?e.config.method:void 0,headers:e.config&&e.config.headers?e.config.headers:void 0}}),new l(t&&t.message?t.message:e.message,"",e.response.statusText,e.response.status,t)}throw e.request?(u({level:"ERROR",message:e.message,stack:e.stack,request:{method:e.config&&e.config.url?e.config.url:void 0,url:e.config&&e.config.method?e.config.method:void 0,headers:e.config&&e.config.headers?e.config.headers:void 0}}),new l(e.message,e.stack,e.code,e.code)):(u({level:"ERROR",message:e.message}),new l(e.message,e.stack))})),e.exports={fdkAxios:m}},3010:(e,t,r)=>{const a=r(5379),{Logger:n}=r(8572),o=function(e,t=null){try{return e()}catch(e){return t}};"undefined"!=typeof window&&(window.FPI.event.on("user.login",(e=>{n({level:"DEBUG",message:e}),a.identify(e.user_id,{event_type:"identity",email:o((()=>e.email)),phone:o((()=>e.phone_number)),login_value:o((()=>e.login_value)),method:o((()=>e.method))}).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("user.update",(e=>{n({level:"DEBUG",message:e}),a.identify(e.used_id,{event_type:"identity",email:o((()=>e.email)),phone:o((()=>e.phone_number)),method:o((()=>e.method))}).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("user.logout",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("user_logout",{event_type:"identity"}).catch((e=>{n({level:"ERROR",message:e})})),a.reset().catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("wishlist.add",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("product_wishlist_add",{wishlist_name:"TODO",wishlist_id:"TODO",event_type:"engagement",product_id:o((()=>e.item.uid)),brand:o((()=>e.item.brand.name)),l3_category:o((()=>e.item.categories[0].name)),mrp:o((()=>e.item.price.marked.max)),quantity:"TODO",esp:o((()=>e.item.price.effective.min)),currency:o((()=>e.item.price.effective.currency_code)),value:"TODO",source_url:"TODO"}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("wishlist.remove",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("product_wishlist_remove",{wishlist_name:"TODO",wishlist_id:"TODO",event_type:"engagement",product_id:o((()=>e.item.uid)),brand:o((()=>e.item.brand.name)),l3_category:o((()=>e.item.categories[0].name)),mrp:o((()=>e.item.price.marked.max)),quantity:"TODO",esp:o((()=>e.item.price.effective.min)),currency:o((()=>e.item.price.effective.currency_code)),value:"TODO",source_url:"TODO"}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("cart.newProduct",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("add_to_cart",{cart_id:e.cart_id,event_type:"engagement",product_id:o((()=>e.products[0].uid)),article_id:o((()=>e.products[0].article.uid)),brand:o((()=>e.products[0].brand.name)),l3_category:o((()=>e.products[0].category.name)),l1_category:"TODO",currency:o((()=>e.products[0].price.currency_code)),price:o((()=>e.products[0].price.selling)),quantity:o((()=>e.products[0].quantity.current)),source_url:"TODO",position:"TODO",value:"TODO"}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("cart.remove",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("remove_from_cart",{cart_id:e.cart_id,event_type:"engagement",product_id:o((()=>e.products[0].uid)),brand:o((()=>e.products[0].brand.name)),l3_category:o((()=>e.products[0].category.name)),l1_category:"TODO",currency:o((()=>e.products[0].price.currency_code)),price:o((()=>e.products[0].price.selling)),quantity:o((()=>e.products[0].quantity.current)),source_url:"TODO",position:"TODO",value:"TODO"}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("order.processed",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("order_complete",{event_type:"conversion",...e}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("refund.success",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("order_refunded",{event_type:"conversion",...e}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("order.checkout",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("order_checkout",{event_type:"conversion",cart_id:e.cart_id,cart_total:o((()=>e.breakup_values_raw.mrp_total)),items:o((()=>e.products.lenght)),shipping:o((()=>e.breakup_values_raw.delivery_charge)),tax:o((()=>e.breakup_values_raw.gst_charges)),order_total:o((()=>e.breakup_values_raw.total)),currency:o((()=>e.products[0].price.currency_code)),products:e.products.map((e=>({product_id:e.uid,l3_category:o((()=>e.category.name)),l1_category:"TODO",quantity:o((()=>e.quantity.current)),price:o((()=>e.price.marked)),value:o((()=>e.price.effective)),currency:o((()=>e.price.currency_code)),article_id:o((()=>e.article.uid))})))}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("product.view",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("product_view",{event_type:"click",product_id:o((()=>e.product.uid)),currency:o((()=>e.product.price.currency_code)),brand:o((()=>e.product.brand.name)),l3_category:o((()=>e.product.l3_category)),mrp:o((()=>e.product.price.max)),esp:o((()=>e.product.price.min)),l1_category:o((()=>e.product.l1_category)),source_url:o((()=>e.product.source_url)),quantity:o((()=>e.product.sizes[0].quantity)),position:"TODO"}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("search.products",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("product_search",{event_type:"search",query:e.search_text}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("product_list.filter",(e=>{n({level:"DEBUG",message:e})})))},1235:e=>{class t extends Error{constructor(e,t,r=null,a=null,n=null){super(e),this.name="FDKServerResponseError",this.stackTrace=t,this.status=r,this.code=a,this.details=n}}class r extends Error{constructor(e){super(e.message),this.name="FDKClientValidationError",this.details=e.details}}class a extends Error{constructor(e){super(e.message),this.name="FDKResponseValidationError",this.details=JSON.parse(JSON.stringify(e.details))}}class n extends Error{constructor(e){super(e),this.name="FDKInvalidCredentialError"}}class o extends Error{constructor(e){super(e),this.name="FDKTokenIssueError"}}class s extends Error{constructor(e){super(e),this.name="FDKOAuthCodeError"}}class i extends Error{constructor(e){super(e),this.name="FDKException"}}e.exports={FDKServerResponseError:t,FDKClientValidationError:r,FDKResponseValidationError:a,FDKInvalidCredentialError:n,FDKTokenIssueError:o,FDKOAuthCodeError:s,FDKException:i}},8572:(e,t,r)=>{const a=r(3065),n=r(8330).version;function o(){return(new Date).toString()}e.exports={log:a,Logger:function(e){const{level:t,message:r,...s}=e;"TRACE"===t&&a.trace(JSON.stringify({level:t,detail:r,...s,time:o(),version:n})),"DEBUG"===t&&a.debug(JSON.stringify({level:t,detail:r,...s,time:o(),version:n})),"INFO"===t&&a.info(JSON.stringify({level:t,detail:r,...s,time:o(),version:n})),"WARN"===t&&a.warn(JSON.stringify({level:t,detail:r,...s,time:o(),version:n})),"ERROR"===t&&a.error(JSON.stringify({level:t,detail:r,...s,time:o(),version:n}))},setLoggerLevel:function(e){a.setLevel(e)},getLoggerLevel:function(){return a.getLevel()}}},1121:e=>{e.exports=class{constructor(e){this.pageNo=e,this.callback=void 0}setCallback(e){this.callback=e}hasNext(){return this.isNext}setPaginator({hasNext:e,nextId:t,pageNo:r=1}){this.isNext=e,this.nextId=t,this.pageNo=r}next(){return this.callback()}}},4790:(e,t,r)=>{const a=r(6663),{combineURLs:n,isAbsoluteURL:o}=r(8879);let s;e.exports=function(e){return s=e,`curl ${`--request ${s.method.toUpperCase()}`.trim()} "${function(){let e=s.url;s.baseURL&&!o(e)&&(e=n(s.baseURL,e).trim());let{search:t}=new URL(e);queryParamObject={...a.parse(t),...s.params};let r="";return queryParamObject&&Object.keys(queryParamObject).length&&""!==a.stringify(queryParamObject).trim()&&(r=`?${a.stringify(queryParamObject).trim()}`),`${e}${t.trim()}${r}`}()}" ${function(){let e=["common","delete","get","head","post","put","patch"],t={};s.headers[s.method]&&(t=s.headers[s.method]),t=Object.keys(t).reduce(((e,r)=>(e[r.toLowerCase()]=t[r],e)),{});for(let r in s.headers)e.includes(r)||(s.headers[r]instanceof Object?t[r.toLowerCase()]=JSON.stringify(s.headers[r]):t[r.toLowerCase()]=s.headers[r]);let r="";for(let e in t)r+=` --header '${e}: ${t[e]}'`;return r.trim()}()} ${"GET"!==s.method.toUpperCase()&&null!==s.data&&""!==s.data&&s.data?`--data-raw '${JSON.stringify(s.data)}'`.trim():""}`.trim()}},8879:(e,t,r)=>{const{FDKException:a}=r(1235),n=":::",o=e=>{let t="";for(const r in e)if("object"!=typeof e[r]&&e[r]){const a=encodeURIComponent(e[r]);t+=`${r}=${a}&`}else Array.isArray(e[r])?e[r].forEach((e=>{const a=encodeURIComponent(e);t+=`${r}=${a}&`})):"object"==typeof e[r]&&e[r]&&(t+=o(e[r]));return t?t.slice(0,-1):t},s=(e="",t="/")=>{for(;e.charAt(0)==t;)e=e.substring(1);for(;e.charAt(e.length-1)==t;)e=e.substring(0,e.length-1);return e},i=()=>"undefined"!=typeof window&&void 0!==window.document,l=()=>"undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node;e.exports={transformRequestOptions:o,getParamsFromItem:e=>{let t="";for(let r in e)if(Array.isArray(e[r])){for(let a=0;a{let t=e.split("?");if(t.length>1){const e=new URLSearchParams(t[1]);let r={};for(let t of e){let e=t[0],a=t[1];r[e]=r[e]?[...r[e],a]:[a]}return r}return{}},trimChar:s,generateUrlWithParams:(e={},t)=>{if(!e||!e.link)return"";if(!t)return`/${s(e.link.split(":")[0])}`;const r={};for(let e in t)if(Array.isArray(t[e])){let a="";for(let r=0;r{let r={value:"",params:{}};t=s(t);for(let a=0;a{if(l())return Buffer.from(e,"utf-8").toString("base64");if(i())return window.btoa(e);throw new a("Base64 conversion error: Unsupported environment")},isBrowser:i,isNode:l,NAV_TYPE:{PAGE:"page",POPUP:"popup"},combineURLs:function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e},isAbsoluteURL:function(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}}},6425:(e,t,r)=>{"use strict";function a(e,t){return function(){return e.apply(t,arguments)}}const{toString:n}=Object.prototype,{getPrototypeOf:o}=Object,s=(i=Object.create(null),e=>{const t=n.call(e);return i[t]||(i[t]=t.slice(8,-1).toLowerCase())});var i;const l=e=>(e=e.toLowerCase(),t=>s(t)===e),c=e=>t=>typeof t===e,{isArray:u}=Array,d=c("undefined"),p=l("ArrayBuffer"),g=c("string"),m=c("function"),f=c("number"),w=e=>null!==e&&"object"==typeof e,y=e=>{if("object"!==s(e))return!1;const t=o(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},b=l("Date"),h=l("File"),_=l("Blob"),v=l("FileList"),R=l("URLSearchParams"),[k,P,j,C]=["ReadableStream","Request","Response","Headers"].map(l);function q(e,t,{allOwnKeys:r=!1}={}){if(null==e)return;let a,n;if("object"!=typeof e&&(e=[e]),u(e))for(a=0,n=e.length;a0;)if(a=r[n],t===a.toLowerCase())return a;return null}const A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:r.g,E=e=>!d(e)&&e!==A,U=(H="undefined"!=typeof Uint8Array&&o(Uint8Array),e=>H&&e instanceof H);var H;const x=l("HTMLFormElement"),O=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),$=l("RegExp"),I=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),a={};q(r,((r,n)=>{let o;!1!==(o=t(r,n,e))&&(a[n]=o||r)})),Object.defineProperties(e,a)},N="abcdefghijklmnopqrstuvwxyz",D="0123456789",W={DIGIT:D,ALPHA:N,ALPHA_DIGIT:N+N.toUpperCase()+D},L=l("AsyncFunction");var T={isArray:u,isArrayBuffer:p,isBuffer:function(e){return null!==e&&!d(e)&&null!==e.constructor&&!d(e.constructor)&&m(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||m(e.append)&&("formdata"===(t=s(e))||"object"===t&&m(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&p(e.buffer),t},isString:g,isNumber:f,isBoolean:e=>!0===e||!1===e,isObject:w,isPlainObject:y,isReadableStream:k,isRequest:P,isResponse:j,isHeaders:C,isUndefined:d,isDate:b,isFile:h,isBlob:_,isRegExp:$,isFunction:m,isStream:e=>w(e)&&m(e.pipe),isURLSearchParams:R,isTypedArray:U,isFileList:v,forEach:q,merge:function e(){const{caseless:t}=E(this)&&this||{},r={},a=(a,n)=>{const o=t&&S(r,n)||n;y(r[o])&&y(a)?r[o]=e(r[o],a):y(a)?r[o]=e({},a):u(a)?r[o]=a.slice():r[o]=a};for(let e=0,t=arguments.length;e(q(t,((t,n)=>{r&&m(t)?e[n]=a(t,r):e[n]=t}),{allOwnKeys:n}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,r,a)=>{e.prototype=Object.create(t.prototype,a),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},toFlatObject:(e,t,r,a)=>{let n,s,i;const l={};if(t=t||{},null==e)return t;do{for(n=Object.getOwnPropertyNames(e),s=n.length;s-- >0;)i=n[s],a&&!a(i,e,t)||l[i]||(t[i]=e[i],l[i]=!0);e=!1!==r&&o(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:s,kindOfTest:l,endsWith:(e,t,r)=>{e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;const a=e.indexOf(t,r);return-1!==a&&a===r},toArray:e=>{if(!e)return null;if(u(e))return e;let t=e.length;if(!f(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},forEachEntry:(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let a;for(;(a=r.next())&&!a.done;){const r=a.value;t.call(e,r[0],r[1])}},matchAll:(e,t)=>{let r;const a=[];for(;null!==(r=e.exec(t));)a.push(r);return a},isHTMLForm:x,hasOwnProperty:O,hasOwnProp:O,reduceDescriptors:I,freezeMethods:e=>{I(e,((t,r)=>{if(m(e)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;const a=e[r];m(a)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:(e,t)=>{const r={},a=e=>{e.forEach((e=>{r[e]=!0}))};return u(e)?a(e):a(String(e).split(t)),r},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:S,global:A,isContextDefined:E,ALPHABET:W,generateString:(e=16,t=W.ALPHA_DIGIT)=>{let r="";const{length:a}=t;for(;e--;)r+=t[Math.random()*a|0];return r},isSpecCompliantForm:function(e){return!!(e&&m(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),r=(e,a)=>{if(w(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[a]=e;const n=u(e)?[]:{};return q(e,((e,t)=>{const o=r(e,a+1);!d(o)&&(n[t]=o)})),t[a]=void 0,n}}return e};return r(e,0)},isAsyncFn:L,isThenable:e=>e&&(w(e)||m(e))&&m(e.then)&&m(e.catch)};function V(e,t,r,a,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),a&&(this.request=a),n&&(this.response=n)}T.inherits(V,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:T.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const B=V.prototype,F={};function M(e){return T.isPlainObject(e)||T.isArray(e)}function z(e){return T.endsWith(e,"[]")?e.slice(0,-2):e}function G(e,t,r){return e?e.concat(t).map((function(e,t){return e=z(e),!r&&t?"["+e+"]":e})).join(r?".":""):t}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{F[e]={value:e}})),Object.defineProperties(V,F),Object.defineProperty(B,"isAxiosError",{value:!0}),V.from=(e,t,r,a,n,o)=>{const s=Object.create(B);return T.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),V.call(s,e.message,t,r,a,n),s.cause=e,s.name=e.name,o&&Object.assign(s,o),s};const K=T.toFlatObject(T,{},null,(function(e){return/^is[A-Z]/.test(e)}));function Q(e,t,r){if(!T.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const a=(r=T.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!T.isUndefined(t[e])}))).metaTokens,n=r.visitor||c,o=r.dots,s=r.indexes,i=(r.Blob||"undefined"!=typeof Blob&&Blob)&&T.isSpecCompliantForm(t);if(!T.isFunction(n))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(T.isDate(e))return e.toISOString();if(!i&&T.isBlob(e))throw new V("Blob is not supported. Use a Buffer instead.");return T.isArrayBuffer(e)||T.isTypedArray(e)?i&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,r,n){let i=e;if(e&&!n&&"object"==typeof e)if(T.endsWith(r,"{}"))r=a?r:r.slice(0,-2),e=JSON.stringify(e);else if(T.isArray(e)&&function(e){return T.isArray(e)&&!e.some(M)}(e)||(T.isFileList(e)||T.endsWith(r,"[]"))&&(i=T.toArray(e)))return r=z(r),i.forEach((function(e,a){!T.isUndefined(e)&&null!==e&&t.append(!0===s?G([r],a,o):null===s?r:r+"[]",l(e))})),!1;return!!M(e)||(t.append(G(n,r,o),l(e)),!1)}const u=[],d=Object.assign(K,{defaultVisitor:c,convertValue:l,isVisitable:M});if(!T.isObject(e))throw new TypeError("data must be an object");return function e(r,a){if(!T.isUndefined(r)){if(-1!==u.indexOf(r))throw Error("Circular reference detected in "+a.join("."));u.push(r),T.forEach(r,(function(r,o){!0===(!(T.isUndefined(r)||null===r)&&n.call(t,r,T.isString(o)?o.trim():o,a,d))&&e(r,a?a.concat(o):[o])})),u.pop()}}(e),t}function J(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function Z(e,t){this._pairs=[],e&&Q(e,this,t)}const Y=Z.prototype;function X(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ee(e,t,r){if(!t)return e;const a=r&&r.encode||X,n=r&&r.serialize;let o;if(o=n?n(t,r):T.isURLSearchParams(t)?t.toString():new Z(t,r).toString(a),o){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}Y.append=function(e,t){this._pairs.push([e,t])},Y.toString=function(e){const t=e?function(t){return e.call(this,t,J)}:J;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var te=class{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){T.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},re={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},ae={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Z,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]};const ne="undefined"!=typeof window&&"undefined"!=typeof document,oe=(se="undefined"!=typeof navigator&&navigator.product,ne&&["ReactNative","NativeScript","NS"].indexOf(se)<0);var se;const ie="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,le=ne&&window.location.href||"http://localhost";var ce={...Object.freeze({__proto__:null,hasBrowserEnv:ne,hasStandardBrowserWebWorkerEnv:ie,hasStandardBrowserEnv:oe,origin:le}),...ae};function ue(e){function t(e,r,a,n){let o=e[n++];if("__proto__"===o)return!0;const s=Number.isFinite(+o),i=n>=e.length;return o=!o&&T.isArray(a)?a.length:o,i?(T.hasOwnProp(a,o)?a[o]=[a[o],r]:a[o]=r,!s):(a[o]&&T.isObject(a[o])||(a[o]=[]),t(e,r,a[o],n)&&T.isArray(a[o])&&(a[o]=function(e){const t={},r=Object.keys(e);let a;const n=r.length;let o;for(a=0;a{t(function(e){return T.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),a,r,0)})),r}return null}const de={transitional:re,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const r=t.getContentType()||"",a=r.indexOf("application/json")>-1,n=T.isObject(e);if(n&&T.isHTMLForm(e)&&(e=new FormData(e)),T.isFormData(e))return a?JSON.stringify(ue(e)):e;if(T.isArrayBuffer(e)||T.isBuffer(e)||T.isStream(e)||T.isFile(e)||T.isBlob(e)||T.isReadableStream(e))return e;if(T.isArrayBufferView(e))return e.buffer;if(T.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(n){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return Q(e,new ce.classes.URLSearchParams,Object.assign({visitor:function(e,t,r,a){return ce.isNode&&T.isBuffer(e)?(this.append(t,e.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((o=T.isFileList(e))||r.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return Q(o?{"files[]":e}:e,t&&new t,this.formSerializer)}}return n||a?(t.setContentType("application/json",!1),function(e,t,r){if(T.isString(e))try{return(0,JSON.parse)(e),T.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||de.transitional,r=t&&t.forcedJSONParsing,a="json"===this.responseType;if(T.isResponse(e)||T.isReadableStream(e))return e;if(e&&T.isString(e)&&(r&&!this.responseType||a)){const r=!(t&&t.silentJSONParsing)&&a;try{return JSON.parse(e)}catch(e){if(r){if("SyntaxError"===e.name)throw V.from(e,V.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ce.classes.FormData,Blob:ce.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};T.forEach(["delete","get","head","post","put","patch"],(e=>{de.headers[e]={}}));var pe=de;const ge=T.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),me=Symbol("internals");function fe(e){return e&&String(e).trim().toLowerCase()}function we(e){return!1===e||null==e?e:T.isArray(e)?e.map(we):String(e)}function ye(e,t,r,a,n){return T.isFunction(a)?a.call(this,t,r):(n&&(t=r),T.isString(t)?T.isString(a)?-1!==t.indexOf(a):T.isRegExp(a)?a.test(t):void 0:void 0)}class be{constructor(e){e&&this.set(e)}set(e,t,r){const a=this;function n(e,t,r){const n=fe(t);if(!n)throw new Error("header name must be a non-empty string");const o=T.findKey(a,n);(!o||void 0===a[o]||!0===r||void 0===r&&!1!==a[o])&&(a[o||t]=we(e))}const o=(e,t)=>T.forEach(e,((e,r)=>n(e,r,t)));if(T.isPlainObject(e)||e instanceof this.constructor)o(e,t);else if(T.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))o((e=>{const t={};let r,a,n;return e&&e.split("\n").forEach((function(e){n=e.indexOf(":"),r=e.substring(0,n).trim().toLowerCase(),a=e.substring(n+1).trim(),!r||t[r]&&ge[r]||("set-cookie"===r?t[r]?t[r].push(a):t[r]=[a]:t[r]=t[r]?t[r]+", "+a:a)})),t})(e),t);else if(T.isHeaders(e))for(const[t,a]of e.entries())n(a,t,r);else null!=e&&n(t,e,r);return this}get(e,t){if(e=fe(e)){const r=T.findKey(this,e);if(r){const e=this[r];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let a;for(;a=r.exec(e);)t[a[1]]=a[2];return t}(e);if(T.isFunction(t))return t.call(this,e,r);if(T.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=fe(e)){const r=T.findKey(this,e);return!(!r||void 0===this[r]||t&&!ye(0,this[r],r,t))}return!1}delete(e,t){const r=this;let a=!1;function n(e){if(e=fe(e)){const n=T.findKey(r,e);!n||t&&!ye(0,r[n],n,t)||(delete r[n],a=!0)}}return T.isArray(e)?e.forEach(n):n(e),a}clear(e){const t=Object.keys(this);let r=t.length,a=!1;for(;r--;){const n=t[r];e&&!ye(0,this[n],n,e,!0)||(delete this[n],a=!0)}return a}normalize(e){const t=this,r={};return T.forEach(this,((a,n)=>{const o=T.findKey(r,n);if(o)return t[o]=we(a),void delete t[n];const s=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,r)=>t.toUpperCase()+r))}(n):String(n).trim();s!==n&&delete t[n],t[s]=we(a),r[s]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return T.forEach(this,((r,a)=>{null!=r&&!1!==r&&(t[a]=e&&T.isArray(r)?r.join(", "):r)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);return t.forEach((e=>r.set(e))),r}static accessor(e){const t=(this[me]=this[me]={accessors:{}}).accessors,r=this.prototype;function a(e){const a=fe(e);t[a]||(function(e,t){const r=T.toCamelCase(" "+t);["get","set","has"].forEach((a=>{Object.defineProperty(e,a+r,{value:function(e,r,n){return this[a].call(this,t,e,r,n)},configurable:!0})}))}(r,e),t[a]=!0)}return T.isArray(e)?e.forEach(a):a(e),this}}be.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),T.reduceDescriptors(be.prototype,(({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[r]=e}}})),T.freezeMethods(be);var he=be;function _e(e,t){const r=this||pe,a=t||r,n=he.from(a.headers);let o=a.data;return T.forEach(e,(function(e){o=e.call(r,o,n.normalize(),t?t.status:void 0)})),n.normalize(),o}function ve(e){return!(!e||!e.__CANCEL__)}function Re(e,t,r){V.call(this,null==e?"canceled":e,V.ERR_CANCELED,t,r),this.name="CanceledError"}function ke(e,t,r){const a=r.config.validateStatus;r.status&&a&&!a(r.status)?t(new V("Request failed with status code "+r.status,[V.ERR_BAD_REQUEST,V.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):e(r)}T.inherits(Re,V,{__CANCEL__:!0});var Pe=(e,t,r=3)=>{let a=0;const n=function(e,t){e=e||10;const r=new Array(e),a=new Array(e);let n,o=0,s=0;return t=void 0!==t?t:1e3,function(i){const l=Date.now(),c=a[s];n||(n=l),r[o]=i,a[o]=l;let u=s,d=0;for(;u!==o;)d+=r[u++],u%=e;if(o=(o+1)%e,o===s&&(s=(s+1)%e),l-na)return n&&(clearTimeout(n),n=null),r=o,e.apply(null,arguments);n||(n=setTimeout((()=>(n=null,r=Date.now(),e.apply(null,arguments))),a-(o-r)))}}((r=>{const o=r.loaded,s=r.lengthComputable?r.total:void 0,i=o-a,l=n(i);a=o;const c={loaded:o,total:s,progress:s?o/s:void 0,bytes:i,rate:l||void 0,estimated:l&&s&&o<=s?(s-o)/l:void 0,event:r,lengthComputable:null!=s};c[t?"download":"upload"]=!0,e(c)}),r)},je=ce.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let r;function a(r){let a=r;return e&&(t.setAttribute("href",a),a=t.href),t.setAttribute("href",a),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return r=a(window.location.href),function(e){const t=T.isString(e)?a(e):e;return t.protocol===r.protocol&&t.host===r.host}}():function(){return!0},Ce=ce.hasStandardBrowserEnv?{write(e,t,r,a,n,o){const s=[e+"="+encodeURIComponent(t)];T.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),T.isString(a)&&s.push("path="+a),T.isString(n)&&s.push("domain="+n),!0===o&&s.push("secure"),document.cookie=s.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function qe(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const Se=e=>e instanceof he?{...e}:e;function Ae(e,t){t=t||{};const r={};function a(e,t,r){return T.isPlainObject(e)&&T.isPlainObject(t)?T.merge.call({caseless:r},e,t):T.isPlainObject(t)?T.merge({},t):T.isArray(t)?t.slice():t}function n(e,t,r){return T.isUndefined(t)?T.isUndefined(e)?void 0:a(void 0,e,r):a(e,t,r)}function o(e,t){if(!T.isUndefined(t))return a(void 0,t)}function s(e,t){return T.isUndefined(t)?T.isUndefined(e)?void 0:a(void 0,e):a(void 0,t)}function i(r,n,o){return o in t?a(r,n):o in e?a(void 0,r):void 0}const l={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:i,headers:(e,t)=>n(Se(e),Se(t),!0)};return T.forEach(Object.keys(Object.assign({},e,t)),(function(a){const o=l[a]||n,s=o(e[a],t[a],a);T.isUndefined(s)&&o!==i||(r[a]=s)})),r}var Ee=e=>{const t=Ae({},e);let r,{data:a,withXSRFToken:n,xsrfHeaderName:o,xsrfCookieName:s,headers:i,auth:l}=t;if(t.headers=i=he.from(i),t.url=ee(qe(t.baseURL,t.url),e.params,e.paramsSerializer),l&&i.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):""))),T.isFormData(a))if(ce.hasStandardBrowserEnv||ce.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(!1!==(r=i.getContentType())){const[e,...t]=r?r.split(";").map((e=>e.trim())).filter(Boolean):[];i.setContentType([e||"multipart/form-data",...t].join("; "))}if(ce.hasStandardBrowserEnv&&(n&&T.isFunction(n)&&(n=n(t)),n||!1!==n&&je(t.url))){const e=o&&s&&Ce.read(s);e&&i.set(o,e)}return t},Ue="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,r){const a=Ee(e);let n=a.data;const o=he.from(a.headers).normalize();let s,{responseType:i}=a;function l(){a.cancelToken&&a.cancelToken.unsubscribe(s),a.signal&&a.signal.removeEventListener("abort",s)}let c=new XMLHttpRequest;function u(){if(!c)return;const a=he.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());ke((function(e){t(e),l()}),(function(e){r(e),l()}),{data:i&&"text"!==i&&"json"!==i?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:a,config:e,request:c}),c=null}c.open(a.method.toUpperCase(),a.url,!0),c.timeout=a.timeout,"onloadend"in c?c.onloadend=u:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(u)},c.onabort=function(){c&&(r(new V("Request aborted",V.ECONNABORTED,a,c)),c=null)},c.onerror=function(){r(new V("Network Error",V.ERR_NETWORK,a,c)),c=null},c.ontimeout=function(){let e=a.timeout?"timeout of "+a.timeout+"ms exceeded":"timeout exceeded";const t=a.transitional||re;a.timeoutErrorMessage&&(e=a.timeoutErrorMessage),r(new V(e,t.clarifyTimeoutError?V.ETIMEDOUT:V.ECONNABORTED,a,c)),c=null},void 0===n&&o.setContentType(null),"setRequestHeader"in c&&T.forEach(o.toJSON(),(function(e,t){c.setRequestHeader(t,e)})),T.isUndefined(a.withCredentials)||(c.withCredentials=!!a.withCredentials),i&&"json"!==i&&(c.responseType=a.responseType),"function"==typeof a.onDownloadProgress&&c.addEventListener("progress",Pe(a.onDownloadProgress,!0)),"function"==typeof a.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",Pe(a.onUploadProgress)),(a.cancelToken||a.signal)&&(s=t=>{c&&(r(!t||t.type?new Re(null,e,c):t),c.abort(),c=null)},a.cancelToken&&a.cancelToken.subscribe(s),a.signal&&(a.signal.aborted?s():a.signal.addEventListener("abort",s)));const d=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(a.url);d&&-1===ce.protocols.indexOf(d)?r(new V("Unsupported protocol "+d+":",V.ERR_BAD_REQUEST,e)):c.send(n||null)}))},He=(e,t)=>{let r,a=new AbortController;const n=function(e){if(!r){r=!0,s();const t=e instanceof Error?e:this.reason;a.abort(t instanceof V?t:new Re(t instanceof Error?t.message:t))}};let o=t&&setTimeout((()=>{n(new V(`timeout ${t} of ms exceeded`,V.ETIMEDOUT))}),t);const s=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach((e=>{e&&(e.removeEventListener?e.removeEventListener("abort",n):e.unsubscribe(n))})),e=null)};e.forEach((e=>e&&e.addEventListener&&e.addEventListener("abort",n)));const{signal:i}=a;return i.unsubscribe=s,[i,()=>{o&&clearTimeout(o),o=null}]};const xe=function*(e,t){let r=e.byteLength;if(!t||r{const o=async function*(e,t,r){for await(const a of e)yield*xe(ArrayBuffer.isView(a)?a:await r(String(a)),t)}(e,t,n);let s=0;return new ReadableStream({type:"bytes",async pull(e){const{done:t,value:n}=await o.next();if(t)return e.close(),void a();let i=n.byteLength;r&&r(s+=i),e.enqueue(new Uint8Array(n))},cancel:e=>(a(e),o.return())},{highWaterMark:2})},$e=(e,t)=>{const r=null!=e;return a=>setTimeout((()=>t({lengthComputable:r,total:e,loaded:a})))},Ie="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,Ne=Ie&&"function"==typeof ReadableStream,De=Ie&&("function"==typeof TextEncoder?(We=new TextEncoder,e=>We.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var We;const Le=Ne&&(()=>{let e=!1;const t=new Request(ce.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})(),Te=Ne&&!!(()=>{try{return T.isReadableStream(new Response("").body)}catch(e){}})(),Ve={stream:Te&&(e=>e.body)};var Be;Ie&&(Be=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!Ve[e]&&(Ve[e]=T.isFunction(Be[e])?t=>t[e]():(t,r)=>{throw new V(`Response type '${e}' is not supported`,V.ERR_NOT_SUPPORT,r)})})));const Fe={http:null,xhr:Ue,fetch:Ie&&(async e=>{let{url:t,method:r,data:a,signal:n,cancelToken:o,timeout:s,onDownloadProgress:i,onUploadProgress:l,responseType:c,headers:u,withCredentials:d="same-origin",fetchOptions:p}=Ee(e);c=c?(c+"").toLowerCase():"text";let g,m,[f,w]=n||o||s?He([n,o],s):[];const y=()=>{!g&&setTimeout((()=>{f&&f.unsubscribe()})),g=!0};let b;try{if(l&&Le&&"get"!==r&&"head"!==r&&0!==(b=await(async(e,t)=>{const r=T.toFiniteNumber(e.getContentLength());return null==r?(async e=>null==e?0:T.isBlob(e)?e.size:T.isSpecCompliantForm(e)?(await new Request(e).arrayBuffer()).byteLength:T.isArrayBufferView(e)?e.byteLength:(T.isURLSearchParams(e)&&(e+=""),T.isString(e)?(await De(e)).byteLength:void 0))(t):r})(u,a))){let e,r=new Request(t,{method:"POST",body:a,duplex:"half"});T.isFormData(a)&&(e=r.headers.get("content-type"))&&u.setContentType(e),r.body&&(a=Oe(r.body,65536,$e(b,Pe(l)),null,De))}T.isString(d)||(d=d?"cors":"omit"),m=new Request(t,{...p,signal:f,method:r.toUpperCase(),headers:u.normalize().toJSON(),body:a,duplex:"half",withCredentials:d});let n=await fetch(m);const o=Te&&("stream"===c||"response"===c);if(Te&&(i||o)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=n[t]}));const t=T.toFiniteNumber(n.headers.get("content-length"));n=new Response(Oe(n.body,65536,i&&$e(t,Pe(i,!0)),o&&y,De),e)}c=c||"text";let s=await Ve[T.findKey(Ve,c)||"text"](n,e);return!o&&y(),w&&w(),await new Promise(((t,r)=>{ke(t,r,{data:s,headers:he.from(n.headers),status:n.status,statusText:n.statusText,config:e,request:m})}))}catch(t){if(y(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new V("Network Error",V.ERR_NETWORK,e,m),{cause:t.cause||t});throw V.from(t,t&&t.code,e,m)}})};T.forEach(Fe,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const Me=e=>`- ${e}`,ze=e=>T.isFunction(e)||null===e||!1===e;var Ge=e=>{e=T.isArray(e)?e:[e];const{length:t}=e;let r,a;const n={};for(let o=0;o`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));throw new V("There is no suitable adapter to dispatch the request "+(t?e.length>1?"since :\n"+e.map(Me).join("\n"):" "+Me(e[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return a};function Ke(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Re(null,e)}function Qe(e){return Ke(e),e.headers=he.from(e.headers),e.data=_e.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Ge(e.adapter||pe.adapter)(e).then((function(t){return Ke(e),t.data=_e.call(e,e.transformResponse,t),t.headers=he.from(t.headers),t}),(function(t){return ve(t)||(Ke(e),t&&t.response&&(t.response.data=_e.call(e,e.transformResponse,t.response),t.response.headers=he.from(t.response.headers))),Promise.reject(t)}))}const Je={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Je[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));const Ze={};Je.transitional=function(e,t,r){function a(e,t){return"[Axios v1.7.2] Transitional option '"+e+"'"+t+(r?". "+r:"")}return(r,n,o)=>{if(!1===e)throw new V(a(n," has been removed"+(t?" in "+t:"")),V.ERR_DEPRECATED);return t&&!Ze[n]&&(Ze[n]=!0,console.warn(a(n," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,n,o)}};var Ye={assertOptions:function(e,t,r){if("object"!=typeof e)throw new V("options must be an object",V.ERR_BAD_OPTION_VALUE);const a=Object.keys(e);let n=a.length;for(;n-- >0;){const o=a[n],s=t[o];if(s){const t=e[o],r=void 0===t||s(t,o,e);if(!0!==r)throw new V("option "+o+" must be "+r,V.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new V("Unknown option "+o,V.ERR_BAD_OPTION)}},validators:Je};const Xe=Ye.validators;class et{constructor(e){this.defaults=e,this.interceptors={request:new te,response:new te}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const r=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?r&&!String(e.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+r):e.stack=r}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Ae(this.defaults,t);const{transitional:r,paramsSerializer:a,headers:n}=t;void 0!==r&&Ye.assertOptions(r,{silentJSONParsing:Xe.transitional(Xe.boolean),forcedJSONParsing:Xe.transitional(Xe.boolean),clarifyTimeoutError:Xe.transitional(Xe.boolean)},!1),null!=a&&(T.isFunction(a)?t.paramsSerializer={serialize:a}:Ye.assertOptions(a,{encode:Xe.function,serialize:Xe.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=n&&T.merge(n.common,n[t.method]);n&&T.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete n[e]})),t.headers=he.concat(o,n);const s=[];let i=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(i=i&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));const l=[];let c;this.interceptors.response.forEach((function(e){l.push(e.fulfilled,e.rejected)}));let u,d=0;if(!i){const e=[Qe.bind(this),void 0];for(e.unshift.apply(e,s),e.push.apply(e,l),u=e.length,c=Promise.resolve(t);d{if(!r._listeners)return;let t=r._listeners.length;for(;t-- >0;)r._listeners[t](e);r._listeners=null})),this.promise.then=e=>{let t;const a=new Promise((e=>{r.subscribe(e),t=e})).then(e);return a.cancel=function(){r.unsubscribe(t)},a},e((function(e,a,n){r.reason||(r.reason=new Re(e,a,n),t(r.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new rt((function(t){e=t})),cancel:e}}}var at=rt;const nt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(nt).forEach((([e,t])=>{nt[t]=e}));var ot=nt;const st=function e(t){const r=new tt(t),n=a(tt.prototype.request,r);return T.extend(n,tt.prototype,r,{allOwnKeys:!0}),T.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return e(Ae(t,r))},n}(pe);st.Axios=tt,st.CanceledError=Re,st.CancelToken=at,st.isCancel=ve,st.VERSION="1.7.2",st.toFormData=Q,st.AxiosError=V,st.Cancel=st.CanceledError,st.all=function(e){return Promise.all(e)},st.spread=function(e){return function(t){return e.apply(null,t)}},st.isAxiosError=function(e){return T.isObject(e)&&!0===e.isAxiosError},st.mergeConfig=Ae,st.AxiosHeaders=he,st.formToJSON=e=>ue(T.isHTMLForm(e)?new FormData(e):e),st.getAdapter=Ge,st.HttpStatusCode=ot,st.default=st,e.exports=st},8330:e=>{"use strict";e.exports=JSON.parse('{"name":"@gofynd/fdk-client-javascript","version":"1.4.8-beta.3","description":"","main":"index.js","scripts":{"test":"jest --coverage","lint":"eslint","test:standalone":"npm run build && npx cypress run","build":"webpack","prettier":"npx prettier -w ./sdk ./tests && npx tsc"},"author":"Jigar Dafda","license":"ISC","dependencies":{"axios":"^1.6.4","camelcase":"^6.3.0","joi":"^17.7.0","loglevel":"^1.8.1","query-string":"^7.1.3","@gofynd/fp-signature":"^1.0.1","@gofynd/flick":"^1.0.7"},"devDependencies":{"axios-cookiejar-support":"^4.0.6","axios-mock-adapter":"^1.21.2","clean-webpack-plugin":"^4.0.0","coveralls":"^3.1.1","eslint":"^8.57.0","cypress":"^9.2.0","dotenv":"^16.0.3","jest":"^29.5.0","tough-cookie":"^4.1.2","webpack":"^5.81.0","webpack-cli":"^5.0.2"},"files":["sdk/**/*.js","sdk/**/*.d.ts","./*.js","./*.d.ts","!**.config.*","!dist","!cypress"]}')}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var o=t[a]={exports:{}};return e[a].call(o.exports,o,o.exports,r),o.exports}r.amdO={},r.d=(e,t)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a=r(2675),n=window;for(var o in a)n[o]=a[o];a.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})(); \ No newline at end of file +(()=>{var e={2675:(e,t,r)=>{const{ApplicationConfig:a,ApplicationClient:n,ApplicationModel:o}=r(3775);e.exports={ApplicationConfig:a,ApplicationClient:n,ApplicationModel:o}},5379:function(e,t,r){"use strict";var a=this&&this.__assign||function(){return a=Object.assign||function(e){for(var t,r=1,a=arguments.length;r0&&n[n.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!n||i[1]>n[0]&&i[1]1e3&&(0,l.removeFromStart)(t-1e3,"flickEvents")})),[2]):[2]}))}))}t.axiosRequest=null,t.eventProcessor=null,t.client=null,t.apiKey=null,t.stelioLocal=null,t.batchExecutorID=null,t.identify=function(e,t){return n(this,void 0,void 0,(function(){var r,n;return o(this,(function(o){return r=(0,l.getLocal)("userIdentity"),{},n=r?r.userID&&r.userID!==e?{anonymousID:(0,c.v4)(),userID:e}:a(a({},r),{userID:e}):{anonymousID:(0,c.v4)(),userID:e},(0,l.setLocal)("userIdentity",n),d("user_login",a({event_type:"identity"},t)),[2]}))}))},t.reset=function(){return n(this,void 0,void 0,(function(){var e;return o(this,(function(t){return(0,l.deleteSteliosLocal)("userIdentity"),(0,l.deleteSteliosLocal)("apiKey"),e={anonymousID:(0,c.v4)()},(0,l.setLocal)("userIdentity",e),[2]}))}))},t.initialize=function(e,r,a){return void 0===a&&(a=15e3),n(this,void 0,void 0,(function(){return o(this,(function(n){return(0,l.initStorage)(),(0,u.axiosCreate)(e,r),t.batchExecutorID||(t.batchExecutorID=setInterval(p,a)),[2]}))}))},t.validateClient=function(e){return n(this,void 0,void 0,(function(){return o(this,(function(e){return[2,{data:{isTokenValid:"true"}}]}))}))},t.sendEvent=d},5656:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.send=void 0;var a=r(5785);t.send=function(e,t){return(0,a.post)("service/application/webhook/v1.0/click-analytics/events",e,t)}},2241:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.deleteSteliosLocal=t.removeFromStart=t.getLocal=t.ifExists=t.setLocal=t.appendLocal=t.initStorage=void 0;var a={},n={getItem:function(e){return a[e]},setItem:function(e,t){a[e]=t},removeItem:function(e){delete a[e]}};function o(e,t){try{if(!e||0==e.length||!t)return;r.setItem(e,JSON.stringify(t))}catch(e){return e}}function s(e){return!!r.getItem(e)}function i(e){if(e&&0!=e.length&&s(e)){var t=r.removeItem(e);return console.info("key ".concat(e," deleted from localStorage")),t}}t.initStorage=function(){console.log("############ inside initStorage ##############");var e="undefined"!=typeof window;r=e?window.localStorage:n},t.appendLocal=function(e,t){try{if(0==e.length||!t)return;if(!r.getItem(e))return o(e,t);var a=JSON.parse(r.getItem(e));return a.push(t),r.setItem(e,JSON.stringify(a))}catch(e){return e}},t.setLocal=o,t.ifExists=s,t.getLocal=function(e){try{return e&&0!=e.length?r.getItem(e)?JSON.parse(r.getItem(e)):{}:"null"}catch(e){return e}},t.removeFromStart=function(e,t){if(t&&0!=t.length&&s(t)){var a=JSON.parse(r.getItem(t));return e=e>a.length?a.length:e,a.splice(0,e),a&&a.length>0?(i(t),o(t,a)):i(t)}},t.deleteSteliosLocal=i},3911:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateContext=t.validate=void 0;var a=r(5785),n=r(611),o=r(7232);t.validate=function(e){return(0,a.post)("verify_token",{access_token:e},{"x-dp-access-token":e})},t.generateContext=function(e,t){return{context:{library:{name:"flick",version:"1.0.4"},os:new o.UAParser(navigator.userAgent).getOS(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screen:{width:window.screen.availWidth,height:window.screen.availHeight},user_agent:navigator.userAgent||"",locale:navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language,device:{is_mobile:/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)}},event_id:(0,n.v4)(),event_name:e,properties:t,event_timestamp:new Date,user_id:"",anonymous_id:""}}},5785:function(e,t,r){"use strict";var a=this&&this.__assign||function(){return a=Object.assign||function(e){for(var t,r=1,a=arguments.length;r0&&n[n.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!n||i[1]>n[0]&&i[1](()=>{var e={249:function(e,t,r){var a;e.exports=(a=a||function(e){var t;if("undefined"!=typeof window&&window.crypto&&(t=window.crypto),"undefined"!=typeof self&&self.crypto&&(t=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(t=globalThis.crypto),!t&&"undefined"!=typeof window&&window.msCrypto&&(t=window.msCrypto),!t&&void 0!==r.g&&r.g.crypto&&(t=r.g.crypto),!t)try{t=r(480)}catch(e){}var a=function(){if(t){if("function"==typeof t.getRandomValues)try{return t.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof t.randomBytes)try{return t.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")},n=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),o={},s=o.lib={},i=s.Base={extend:function(e){var t=n(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},l=s.WordArray=i.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,r=e.words,a=this.sigBytes,n=e.sigBytes;if(this.clamp(),a%4)for(var o=0;o>>2]>>>24-o%4*8&255;t[a+o>>>2]|=s<<24-(a+o)%4*8}else for(var i=0;i>>2]=r[i>>>2];return this.sigBytes+=n,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r>>2]>>>24-n%4*8&255;a.push((o>>>4).toString(16)),a.push((15&o).toString(16))}return a.join("")},parse:function(e){for(var t=e.length,r=[],a=0;a>>3]|=parseInt(e.substr(a,2),16)<<24-a%8*4;return new l.init(r,t/2)}},d=c.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,a=[],n=0;n>>2]>>>24-n%4*8&255;a.push(String.fromCharCode(o))}return a.join("")},parse:function(e){for(var t=e.length,r=[],a=0;a>>2]|=(255&e.charCodeAt(a))<<24-a%4*8;return new l.init(r,t)}},p=c.Utf8={stringify:function(e){try{return decodeURIComponent(escape(d.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return d.parse(unescape(encodeURIComponent(e)))}},g=s.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=p.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,a=this._data,n=a.words,o=a.sigBytes,s=this.blockSize,i=o/(4*s),c=(i=t?e.ceil(i):e.max((0|i)-this._minBufferSize,0))*s,u=e.min(4*c,o);if(c){for(var d=0;da&&(t=e.finalize(t)),t.clamp();for(var n=this._oKey=t.clone(),s=this._iKey=t.clone(),i=n.words,l=s.words,c=0;c>>7)^(m<<14|m>>>18)^m>>>3,w=c[g-2],y=(w<<15|w>>>17)^(w<<13|w>>>19)^w>>>10;c[g]=f+c[g-7]+y+c[g-16]}var b=a&n^a&o^n&o,h=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22),_=p+((i<<26|i>>>6)^(i<<21|i>>>11)^(i<<7|i>>>25))+(i&u^~i&d)+l[g]+c[g];p=d,d=u,u=i,i=s+_|0,s=o,o=n,n=a,a=_+(h+b)|0}r[0]=r[0]+a|0,r[1]=r[1]+n|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+i|0,r[5]=r[5]+u|0,r[6]=r[6]+d|0,r[7]=r[7]+p|0},_doFinalize:function(){var t=this._data,r=t.words,a=8*this._nDataBytes,n=8*t.sigBytes;return r[n>>>5]|=128<<24-n%32,r[14+(n+64>>>9<<4)]=e.floor(a/4294967296),r[15+(n+64>>>9<<4)]=a,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=o._createHelper(u),t.HmacSHA256=o._createHmacHelper(u)}(Math),a.SHA256)},335:e=>{"use strict";function t(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,a,n,o){a=a||"&",n=n||"=";var s={};if("string"!=typeof e||0===e.length)return s;var i=/\+/g;e=e.split(a);var l=1e3;o&&"number"==typeof o.maxKeys&&(l=o.maxKeys);var c=e.length;l>0&&c>l&&(c=l);for(var u=0;u=0?(d=f.substr(0,w),p=f.substr(w+1)):(d=f,p=""),g=decodeURIComponent(d),m=decodeURIComponent(p),t(s,g)?r(s[g])?s[g].push(m):s[g]=[s[g],m]:s[g]=m}return s};var r=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},795:e=>{"use strict";var t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,o,s,i){return o=o||"&",s=s||"=",null===e&&(e=void 0),"object"==typeof e?a(n(e),(function(n){var i=encodeURIComponent(t(n))+s;return r(e[n])?a(e[n],(function(e){return i+encodeURIComponent(t(e))})).join(o):i+encodeURIComponent(t(e[n]))})).join(o):i?encodeURIComponent(t(i))+s+encodeURIComponent(t(e)):""};var r=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function a(e,t){if(e.map)return e.map(t);for(var r=[],a=0;a{"use strict";t.decode=t.parse=r(335),t.encode=t.stringify=r(795)},832:function(e,t,r){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var n=a(r(735)),o=r(601),s=r(593),i=function(){function e(e,t){if(!t)throw new Error("Signature secrete cannot be null, pass secret parameter in constructor.");this.secret=t,this.request=e;var r=this.request.headers=this.request.headers||{};!this.request.method&&this.request.body&&(this.request.method="POST"),r.Host||r.host||(r.Host=this.request.host,this.request.port&&(r.Host+=":"+this.request.port)),this.request.host||(this.request.host=r.Host||r.host)}return e.prototype.prepareRequest=function(){this.parsePath();var e,t=this.request,r=t.headers;t.signQuery?(this.parsedPath.query=e=this.parsedPath.query||{},e["x-fp-date"]?this.datetime=e["x-fp-date"]:e["x-fp-date"]=this.getDateTime()):(t.doNotModifyHeaders||(r["x-fp-date"]?this.datetime=r["x-fp-date"]||r["x-fp-date"]:r["x-fp-date"]=this.getDateTime()),delete r["x-fp-signature"],delete r["X-Fp-Signature"])},e.prototype.sign=function(){return this.request.signQuery=!1,this.parsedPath||this.prepareRequest(),this.request.headers["x-fp-signature"]=this.signature(),{"x-fp-signature":this.request.headers["x-fp-signature"],"x-fp-date":this.request.headers["x-fp-date"]}},e.prototype.signQuery=function(){return this.request.signQuery=!0,this.parsedPath||this.prepareRequest(),this.parsedPath.query["x-fp-signature"]=this.signature(),this.request.path=this.formatPath(),{"x-fp-signature":this.parsedPath.query["x-fp-signature"],"x-fp-date":this.parsedPath.query["x-fp-date"]}},e.prototype.getDateTime=function(){if(!this.datetime){var e=this.request.headers,t=new Date(e.Date||e.date||new Date);this.datetime=t.toISOString().replace(/[:\-]|\.\d{3}/g,"")}return this.datetime},e.prototype.signature=function(){var e=this.stringToSign();return"v1.1:".concat((0,s.hmac)(this.secret,e,"hex"))},e.prototype.stringToSign=function(){return[this.getDateTime(),(0,s.hash)(this.canonicalString(),"hex")].join("\n")},e.prototype.canonicalString=function(){this.parsedPath||this.prepareRequest();var e=this.parsedPath.path,t=this.parsedPath.query,r=(this.request.headers,""),a=this.request.doNotEncodePath,n=(0,s.hash)(this.request.body||"","hex");if(t){var o=Object.keys(t).reduce((function(e,r){return r?(e[(0,s.encodeRfc3986Full)(r)]=(Array.isArray(t[r]),t[r]),e):e}),{}),i=[];Object.keys(o).sort().forEach((function(e){Array.isArray(o[e])?o[e].map(s.encodeRfc3986Full).sort().forEach((function(t){i.push(e+"="+t)})):i.push(e+"="+(0,s.encodeRfc3986Full)(o[e]))})),r=i.join("&")}return"/"!==e&&"/"!==(e=(e=e.replace(/\/{2,}/g,"/")).split("/").reduce((function(e,t){return".."===t?e.pop():"."!==t&&(a&&(t=decodeURIComponent(t.replace(/\+/g," "))),e.push((0,s.encodeRfc3986Full)(t))),e}),[]).join("/"))[0]&&(e="/"+e),[this.request.method||"GET",e,r,this.canonicalHeaders()+"\n",this.signedHeaders(),n].join("\n")},e.prototype.canonicalHeaders=function(){var e=this.request.headers;return Object.keys(e).filter((function(e){if(null==o.HEADERS_TO_IGNORE[e.toLowerCase()]){var t=!1;for(var r in o.HEADERS_TO_INCLUDE)t=t||new RegExp(o.HEADERS_TO_INCLUDE[r],"ig").test(e);return t}return!1})).sort((function(e,t){return e.toLowerCase()=0&&(delete(r=n.default.parse(e.slice(t+1)))["x-fp-signature"],delete r["X-Fp-Signature"],e=e.slice(0,t)),e=e.split("/").map((function(e){return encodeURIComponent(decodeURIComponent(e))})).join("/"),this.parsedPath={path:e,query:r}},e.prototype.formatPath=function(){var e=this.parsedPath.path,t=this.parsedPath.query;return t?(null!=t[""]&&delete t[""],e+"?"+(0,s.encodeRfc3986)(n.default.stringify(t))):e},e}();t.default=i},601:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HEADERS_TO_INCLUDE=t.HEADERS_TO_IGNORE=void 0,t.HEADERS_TO_IGNORE={authorization:!0,connection:!0,"x-amzn-trace-id":!0,"user-agent":!0,expect:!0,"presigned-expires":!0,range:!0},t.HEADERS_TO_INCLUDE=["x-fp-.*","host"]},607:function(e,t,r){"use strict";var a=this&&this.__assign||function(){return a=Object.assign||function(e){for(var t,r=1,a=arguments.length;r{}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var o=t[a]={exports:{}};return e[a].call(o.exports,o,o.exports,r),o.exports}return r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r(607)})(),e.exports=t()},2729:e=>{"use strict";const t=/[\p{Lu}]/u,r=/[\p{Ll}]/u,a=/^[\p{Lu}](?![\p{Lu}])/gu,n=/([\p{Alpha}\p{N}_]|$)/u,o=/[_.\- ]+/,s=new RegExp("^"+o.source),i=new RegExp(o.source+n.source,"gu"),l=new RegExp("\\d+"+n.source,"gu"),c=(e,n)=>{if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");if(n={pascalCase:!1,preserveConsecutiveUppercase:!1,...n},0===(e=Array.isArray(e)?e.map((e=>e.trim())).filter((e=>e.length)).join("-"):e.trim()).length)return"";const o=!1===n.locale?e=>e.toLowerCase():e=>e.toLocaleLowerCase(n.locale),c=!1===n.locale?e=>e.toUpperCase():e=>e.toLocaleUpperCase(n.locale);return 1===e.length?n.pascalCase?c(e):o(e):(e!==o(e)&&(e=((e,a,n)=>{let o=!1,s=!1,i=!1;for(let l=0;l(a.lastIndex=0,e.replace(a,(e=>t(e)))))(e,o):o(e),n.pascalCase&&(e=c(e.charAt(0))+e.slice(1)),((e,t)=>(i.lastIndex=0,l.lastIndex=0,e.replace(i,((e,r)=>t(r))).replace(l,(e=>t(e)))))(e,c))};e.exports=c,e.exports.default=c},454:e=>{"use strict";var t="%[a-f0-9]{2}",r=new RegExp("("+t+")|([^%]+?)","gi"),a=new RegExp("("+t+")+","gi");function n(e,t){try{return[decodeURIComponent(e.join(""))]}catch(e){}if(1===e.length)return e;t=t||1;var r=e.slice(0,t),a=e.slice(t);return Array.prototype.concat.call([],n(r),n(a))}function o(e){try{return decodeURIComponent(e)}catch(o){for(var t=e.match(r)||[],a=1;a{"use strict";e.exports=function(e,t){for(var r={},a=Object.keys(e),n=Array.isArray(t),o=0;o{var t;self,t=()=>{return e={7629:(e,t,r)=>{"use strict";const a=r(375),n=r(8571),o=r(9474),s=r(1687),i=r(8652),l=r(8160),c=r(3292),u=r(6354),d=r(8901),p=r(9708),g=r(6914),m=r(2294),f=r(6133),w=r(1152),y=r(8863),b=r(2036),h={Base:class{constructor(e){this.type=e,this.$_root=null,this._definition={},this._reset()}_reset(){this._ids=new m.Ids,this._preferences=null,this._refs=new f.Manager,this._cache=null,this._valids=null,this._invalids=null,this._flags={},this._rules=[],this._singleRules=new Map,this.$_terms={},this.$_temp={ruleset:null,whens:{}}}describe(){return a("function"==typeof p.describe,"Manifest functionality disabled"),p.describe(this)}allow(...e){return l.verifyFlat(e,"allow"),this._values(e,"_valids")}alter(e){a(e&&"object"==typeof e&&!Array.isArray(e),"Invalid targets argument"),a(!this._inRuleset(),"Cannot set alterations inside a ruleset");const t=this.clone();t.$_terms.alterations=t.$_terms.alterations||[];for(const r in e){const n=e[r];a("function"==typeof n,"Alteration adjuster for",r,"must be a function"),t.$_terms.alterations.push({target:r,adjuster:n})}return t.$_temp.ruleset=!1,t}artifact(e){return a(void 0!==e,"Artifact cannot be undefined"),a(!this._cache,"Cannot set an artifact with a rule cache"),this.$_setFlag("artifact",e)}cast(e){return a(!1===e||"string"==typeof e,"Invalid to value"),a(!1===e||this._definition.cast[e],"Type",this.type,"does not support casting to",e),this.$_setFlag("cast",!1===e?void 0:e)}default(e,t){return this._default("default",e,t)}description(e){return a(e&&"string"==typeof e,"Description must be a non-empty string"),this.$_setFlag("description",e)}empty(e){const t=this.clone();return void 0!==e&&(e=t.$_compile(e,{override:!1})),t.$_setFlag("empty",e,{clone:!1})}error(e){return a(e,"Missing error"),a(e instanceof Error||"function"==typeof e,"Must provide a valid Error object or a function"),this.$_setFlag("error",e)}example(e,t={}){return a(void 0!==e,"Missing example"),l.assertOptions(t,["override"]),this._inner("examples",e,{single:!0,override:t.override})}external(e,t){return"object"==typeof e&&(a(!t,"Cannot combine options with description"),t=e.description,e=e.method),a("function"==typeof e,"Method must be a function"),a(void 0===t||t&&"string"==typeof t,"Description must be a non-empty string"),this._inner("externals",{method:e,description:t},{single:!0})}failover(e,t){return this._default("failover",e,t)}forbidden(){return this.presence("forbidden")}id(e){return e?(a("string"==typeof e,"id must be a non-empty string"),a(/^[^\.]+$/.test(e),"id cannot contain period character"),this.$_setFlag("id",e)):this.$_setFlag("id",void 0)}invalid(...e){return this._values(e,"_invalids")}label(e){return a(e&&"string"==typeof e,"Label name must be a non-empty string"),this.$_setFlag("label",e)}meta(e){return a(void 0!==e,"Meta cannot be undefined"),this._inner("metas",e,{single:!0})}note(...e){a(e.length,"Missing notes");for(const t of e)a(t&&"string"==typeof t,"Notes must be non-empty strings");return this._inner("notes",e)}only(e=!0){return a("boolean"==typeof e,"Invalid mode:",e),this.$_setFlag("only",e)}optional(){return this.presence("optional")}prefs(e){a(e,"Missing preferences"),a(void 0===e.context,"Cannot override context"),a(void 0===e.externals,"Cannot override externals"),a(void 0===e.warnings,"Cannot override warnings"),a(void 0===e.debug,"Cannot override debug"),l.checkPreferences(e);const t=this.clone();return t._preferences=l.preferences(t._preferences,e),t}presence(e){return a(["optional","required","forbidden"].includes(e),"Unknown presence mode",e),this.$_setFlag("presence",e)}raw(e=!0){return this.$_setFlag("result",e?"raw":void 0)}result(e){return a(["raw","strip"].includes(e),"Unknown result mode",e),this.$_setFlag("result",e)}required(){return this.presence("required")}strict(e){const t=this.clone(),r=void 0!==e&&!e;return t._preferences=l.preferences(t._preferences,{convert:r}),t}strip(e=!0){return this.$_setFlag("result",e?"strip":void 0)}tag(...e){a(e.length,"Missing tags");for(const t of e)a(t&&"string"==typeof t,"Tags must be non-empty strings");return this._inner("tags",e)}unit(e){return a(e&&"string"==typeof e,"Unit name must be a non-empty string"),this.$_setFlag("unit",e)}valid(...e){l.verifyFlat(e,"valid");const t=this.allow(...e);return t.$_setFlag("only",!!t._valids,{clone:!1}),t}when(e,t){const r=this.clone();r.$_terms.whens||(r.$_terms.whens=[]);const n=c.when(r,e,t);if(!["any","link"].includes(r.type)){const e=n.is?[n]:n.switch;for(const t of e)a(!t.then||"any"===t.then.type||t.then.type===r.type,"Cannot combine",r.type,"with",t.then&&t.then.type),a(!t.otherwise||"any"===t.otherwise.type||t.otherwise.type===r.type,"Cannot combine",r.type,"with",t.otherwise&&t.otherwise.type)}return r.$_terms.whens.push(n),r.$_mutateRebuild()}cache(e){a(!this._inRuleset(),"Cannot set caching inside a ruleset"),a(!this._cache,"Cannot override schema cache"),a(void 0===this._flags.artifact,"Cannot cache a rule with an artifact");const t=this.clone();return t._cache=e||i.provider.provision(),t.$_temp.ruleset=!1,t}clone(){const e=Object.create(Object.getPrototypeOf(this));return this._assign(e)}concat(e){a(l.isSchema(e),"Invalid schema object"),a("any"===this.type||"any"===e.type||e.type===this.type,"Cannot merge type",this.type,"with another type:",e.type),a(!this._inRuleset(),"Cannot concatenate onto a schema with open ruleset"),a(!e._inRuleset(),"Cannot concatenate a schema with open ruleset");let t=this.clone();if("any"===this.type&&"any"!==e.type){const r=e.clone();for(const e of Object.keys(t))"type"!==e&&(r[e]=t[e]);t=r}t._ids.concat(e._ids),t._refs.register(e,f.toSibling),t._preferences=t._preferences?l.preferences(t._preferences,e._preferences):e._preferences,t._valids=b.merge(t._valids,e._valids,e._invalids),t._invalids=b.merge(t._invalids,e._invalids,e._valids);for(const r of e._singleRules.keys())t._singleRules.has(r)&&(t._rules=t._rules.filter((e=>e.keep||e.name!==r)),t._singleRules.delete(r));for(const r of e._rules)e._definition.rules[r.method].multi||t._singleRules.set(r.name,r),t._rules.push(r);if(t._flags.empty&&e._flags.empty){t._flags.empty=t._flags.empty.concat(e._flags.empty);const r=Object.assign({},e._flags);delete r.empty,s(t._flags,r)}else if(e._flags.empty){t._flags.empty=e._flags.empty;const r=Object.assign({},e._flags);delete r.empty,s(t._flags,r)}else s(t._flags,e._flags);for(const r in e.$_terms){const a=e.$_terms[r];a?t.$_terms[r]?t.$_terms[r]=t.$_terms[r].concat(a):t.$_terms[r]=a.slice():t.$_terms[r]||(t.$_terms[r]=a)}return this.$_root._tracer&&this.$_root._tracer._combine(t,[this,e]),t.$_mutateRebuild()}extend(e){return a(!e.base,"Cannot extend type with another base"),d.type(this,e)}extract(e){return e=Array.isArray(e)?e:e.split("."),this._ids.reach(e)}fork(e,t){a(!this._inRuleset(),"Cannot fork inside a ruleset");let r=this;for(let a of[].concat(e))a=Array.isArray(a)?a:a.split("."),r=r._ids.fork(a,t,r);return r.$_temp.ruleset=!1,r}rule(e){const t=this._definition;l.assertOptions(e,Object.keys(t.modifiers)),a(!1!==this.$_temp.ruleset,"Cannot apply rules to empty ruleset or the last rule added does not support rule properties");const r=null===this.$_temp.ruleset?this._rules.length-1:this.$_temp.ruleset;a(r>=0&&rt.tailor(e),ref:!1}),t.$_temp.ruleset=!1,t.$_mutateRebuild()}tracer(){return w.location?w.location(this):this}validate(e,t){return y.entry(e,this,t)}validateAsync(e,t){return y.entryAsync(e,this,t)}$_addRule(e){"string"==typeof e&&(e={name:e}),a(e&&"object"==typeof e,"Invalid options"),a(e.name&&"string"==typeof e.name,"Invalid rule name");for(const t in e)a("_"!==t[0],"Cannot set private rule properties");const t=Object.assign({},e);t._resolve=[],t.method=t.method||t.name;const r=this._definition.rules[t.method],n=t.args;a(r,"Unknown rule",t.method);const o=this.clone();if(n){a(1===Object.keys(n).length||Object.keys(n).length===this._definition.rules[t.name].args.length,"Invalid rule definition for",this.type,t.name);for(const e in n){let s=n[e];if(r.argsByName){const i=r.argsByName.get(e);if(i.ref&&l.isResolvable(s))t._resolve.push(e),o.$_mutateRegister(s);else if(i.normalize&&(s=i.normalize(s),n[e]=s),i.assert){const t=l.validateArg(s,e,i);a(!t,t,"or reference")}}void 0!==s?n[e]=s:delete n[e]}}return r.multi||(o._ruleRemove(t.name,{clone:!1}),o._singleRules.set(t.name,t)),!1===o.$_temp.ruleset&&(o.$_temp.ruleset=null),r.priority?o._rules.unshift(t):o._rules.push(t),o}$_compile(e,t){return c.schema(this.$_root,e,t)}$_createError(e,t,r,a,n,o={}){const s=!1!==o.flags?this._flags:{},i=o.messages?g.merge(this._definition.messages,o.messages):this._definition.messages;return new u.Report(e,t,r,s,i,a,n)}$_getFlag(e){return this._flags[e]}$_getRule(e){return this._singleRules.get(e)}$_mapLabels(e){return e=Array.isArray(e)?e:e.split("."),this._ids.labels(e)}$_match(e,t,r,a){(r=Object.assign({},r)).abortEarly=!0,r._externals=!1,t.snapshot();const n=!y.validate(e,this,t,r,a).errors;return t.restore(),n}$_modify(e){return l.assertOptions(e,["each","once","ref","schema"]),m.schema(this,e)||this}$_mutateRebuild(){return a(!this._inRuleset(),"Cannot add this rule inside a ruleset"),this._refs.reset(),this._ids.reset(),this.$_modify({each:(e,{source:t,name:r,path:a,key:n})=>{const o=this._definition[t][r]&&this._definition[t][r].register;!1!==o&&this.$_mutateRegister(e,{family:o,key:n})}}),this._definition.rebuild&&this._definition.rebuild(this),this.$_temp.ruleset=!1,this}$_mutateRegister(e,{family:t,key:r}={}){this._refs.register(e,t),this._ids.register(e,{key:r})}$_property(e){return this._definition.properties[e]}$_reach(e){return this._ids.reach(e)}$_rootReferences(){return this._refs.roots()}$_setFlag(e,t,r={}){a("_"===e[0]||!this._inRuleset(),"Cannot set flag inside a ruleset");const n=this._definition.flags[e]||{};if(o(t,n.default)&&(t=void 0),o(t,this._flags[e]))return this;const s=!1!==r.clone?this.clone():this;return void 0!==t?(s._flags[e]=t,s.$_mutateRegister(t)):delete s._flags[e],"_"!==e[0]&&(s.$_temp.ruleset=!1),s}$_parent(e,...t){return this[e][l.symbols.parent].call(this,...t)}$_validate(e,t,r){return y.validate(e,this,t,r)}_assign(e){e.type=this.type,e.$_root=this.$_root,e.$_temp=Object.assign({},this.$_temp),e.$_temp.whens={},e._ids=this._ids.clone(),e._preferences=this._preferences,e._valids=this._valids&&this._valids.clone(),e._invalids=this._invalids&&this._invalids.clone(),e._rules=this._rules.slice(),e._singleRules=n(this._singleRules,{shallow:!0}),e._refs=this._refs.clone(),e._flags=Object.assign({},this._flags),e._cache=null,e.$_terms={};for(const t in this.$_terms)e.$_terms[t]=this.$_terms[t]?this.$_terms[t].slice():null;e.$_super={};for(const t in this.$_super)e.$_super[t]=this._super[t].bind(e);return e}_bare(){const e=this.clone();e._reset();const t=e._definition.terms;for(const r in t){const a=t[r];e.$_terms[r]=a.init}return e.$_mutateRebuild()}_default(e,t,r={}){return l.assertOptions(r,"literal"),a(void 0!==t,"Missing",e,"value"),a("function"==typeof t||!r.literal,"Only function value supports literal option"),"function"==typeof t&&r.literal&&(t={[l.symbols.literal]:!0,literal:t}),this.$_setFlag(e,t)}_generate(e,t,r){if(!this.$_terms.whens)return{schema:this};const a=[],n=[];for(let o=0;oc)break}const o=n.join(", ");if(t.mainstay.tracer.debug(t,"rule","when",o),!o)return{schema:this};if(!t.mainstay.tracer.active&&this.$_temp.whens[o])return{schema:this.$_temp.whens[o],id:o};let s=this;this._definition.generate&&(s=this._definition.generate(this,e,t,r));for(const e of a)s=s.concat(e);return this.$_root._tracer&&this.$_root._tracer._combine(s,[this,...a]),this.$_temp.whens[o]=s,{schema:s,id:o}}_inner(e,t,r={}){a(!this._inRuleset(),`Cannot set ${e} inside a ruleset`);const n=this.clone();return n.$_terms[e]&&!r.override||(n.$_terms[e]=[]),r.single?n.$_terms[e].push(t):n.$_terms[e].push(...t),n.$_temp.ruleset=!1,n}_inRuleset(){return null!==this.$_temp.ruleset&&!1!==this.$_temp.ruleset}_ruleRemove(e,t={}){if(!this._singleRules.has(e))return this;const r=!1!==t.clone?this.clone():this;r._singleRules.delete(e);const a=[];for(let t=0;t{"use strict";const a=r(375),n=r(8571),o=r(8160),s={max:1e3,supported:new Set(["undefined","boolean","number","string"])};t.provider={provision:e=>new s.Cache(e)},s.Cache=class{constructor(e={}){o.assertOptions(e,["max"]),a(void 0===e.max||e.max&&e.max>0&&isFinite(e.max),"Invalid max cache size"),this._max=e.max||s.max,this._map=new Map,this._list=new s.List}get length(){return this._map.size}set(e,t){if(null!==e&&!s.supported.has(typeof e))return;let r=this._map.get(e);if(r)return r.value=t,void this._list.first(r);r=this._list.unshift({key:e,value:t}),this._map.set(e,r),this._compact()}get(e){const t=this._map.get(e);if(t)return this._list.first(t),n(t.value)}_compact(){if(this._map.size>this._max){const e=this._list.pop();this._map.delete(e.key)}}},s.List=class{constructor(){this.tail=null,this.head=null}unshift(e){return e.next=null,e.prev=this.head,this.head&&(this.head.next=e),this.head=e,this.tail||(this.tail=e),e}first(e){e!==this.head&&(this._remove(e),this.unshift(e))}pop(){return this._remove(this.tail)}_remove(e){const{next:t,prev:r}=e;return t.prev=r,r&&(r.next=t),e===this.tail&&(this.tail=t),e.prev=null,e.next=null,e}}},8160:(e,t,r)=>{"use strict";const a=r(375),n=r(7916),o=r(5934);let s,i;const l={isoDate:/^(?:[-+]\d{2})?(?:\d{4}(?!\d{2}\b))(?:(-?)(?:(?:0[1-9]|1[0-2])(?:\1(?:[12]\d|0[1-9]|3[01]))?|W(?:[0-4]\d|5[0-2])(?:-?[1-7])?|(?:00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[1-6])))(?![T]$|[T][\d]+Z$)(?:[T\s](?:(?:(?:[01]\d|2[0-3])(?:(:?)[0-5]\d)?|24\:?00)(?:[.,]\d+(?!:))?)(?:\2[0-5]\d(?:[.,]\d+)?)?(?:[Z]|(?:[+-])(?:[01]\d|2[0-3])(?::?[0-5]\d)?)?)?)?$/};t.version=o.version,t.defaults={abortEarly:!0,allowUnknown:!1,artifacts:!1,cache:!0,context:null,convert:!0,dateFormat:"iso",errors:{escapeHtml:!1,label:"path",language:null,render:!0,stack:!1,wrap:{label:'"',array:"[]"}},externals:!0,messages:{},nonEnumerables:!1,noDefaults:!1,presence:"optional",skipFunctions:!1,stripUnknown:!1,warnings:!1},t.symbols={any:Symbol.for("@hapi/joi/schema"),arraySingle:Symbol("arraySingle"),deepDefault:Symbol("deepDefault"),errors:Symbol("errors"),literal:Symbol("literal"),override:Symbol("override"),parent:Symbol("parent"),prefs:Symbol("prefs"),ref:Symbol("ref"),template:Symbol("template"),values:Symbol("values")},t.assertOptions=function(e,t,r="Options"){a(e&&"object"==typeof e&&!Array.isArray(e),"Options must be of type object");const n=Object.keys(e).filter((e=>!t.includes(e)));a(0===n.length,`${r} contain unknown keys: ${n}`)},t.checkPreferences=function(e){i=i||r(3378);const t=i.preferences.validate(e);if(t.error)throw new n([t.error.details[0].message])},t.compare=function(e,t,r){switch(r){case"=":return e===t;case">":return e>t;case"<":return e=":return e>=t;case"<=":return e<=t}},t.default=function(e,t){return void 0===e?t:e},t.isIsoDate=function(e){return l.isoDate.test(e)},t.isNumber=function(e){return"number"==typeof e&&!isNaN(e)},t.isResolvable=function(e){return!!e&&(e[t.symbols.ref]||e[t.symbols.template])},t.isSchema=function(e,r={}){const n=e&&e[t.symbols.any];return!!n&&(a(r.legacy||n.version===t.version,"Cannot mix different versions of joi schemas"),!0)},t.isValues=function(e){return e[t.symbols.values]},t.limit=function(e){return Number.isSafeInteger(e)&&e>=0},t.preferences=function(e,a){s=s||r(6914),e=e||{},a=a||{};const n=Object.assign({},e,a);return a.errors&&e.errors&&(n.errors=Object.assign({},e.errors,a.errors),n.errors.wrap=Object.assign({},e.errors.wrap,a.errors.wrap)),a.messages&&(n.messages=s.compile(a.messages,e.messages)),delete n[t.symbols.prefs],n},t.tryWithPath=function(e,t,r={}){try{return e()}catch(e){throw void 0!==e.path?e.path=t+"."+e.path:e.path=t,r.append&&(e.message=`${e.message} (${e.path})`),e}},t.validateArg=function(e,r,{assert:a,message:n}){if(t.isSchema(a)){const t=a.validate(e);if(!t.error)return;return t.error.message}if(!a(e))return r?`${r} ${n}`:n},t.verifyFlat=function(e,t){for(const r of e)a(!Array.isArray(r),"Method no longer accepts array arguments:",t)}},3292:(e,t,r)=>{"use strict";const a=r(375),n=r(8160),o=r(6133),s={};t.schema=function(e,t,r={}){n.assertOptions(r,["appendPath","override"]);try{return s.schema(e,t,r)}catch(e){throw r.appendPath&&void 0!==e.path&&(e.message=`${e.message} (${e.path})`),e}},s.schema=function(e,t,r){a(void 0!==t,"Invalid undefined schema"),Array.isArray(t)&&(a(t.length,"Invalid empty array schema"),1===t.length&&(t=t[0]));const o=(t,...a)=>!1!==r.override?t.valid(e.override,...a):t.valid(...a);if(s.simple(t))return o(e,t);if("function"==typeof t)return e.custom(t);if(a("object"==typeof t,"Invalid schema content:",typeof t),n.isResolvable(t))return o(e,t);if(n.isSchema(t))return t;if(Array.isArray(t)){for(const r of t)if(!s.simple(r))return e.alternatives().try(...t);return o(e,...t)}return t instanceof RegExp?e.string().regex(t):t instanceof Date?o(e.date(),t):(a(Object.getPrototypeOf(t)===Object.getPrototypeOf({}),"Schema can only contain plain objects"),e.object().keys(t))},t.ref=function(e,t){return o.isRef(e)?e:o.create(e,t)},t.compile=function(e,r,o={}){n.assertOptions(o,["legacy"]);const i=r&&r[n.symbols.any];if(i)return a(o.legacy||i.version===n.version,"Cannot mix different versions of joi schemas:",i.version,n.version),r;if("object"!=typeof r||!o.legacy)return t.schema(e,r,{appendPath:!0});const l=s.walk(r);return l?l.compile(l.root,r):t.schema(e,r,{appendPath:!0})},s.walk=function(e){if("object"!=typeof e)return null;if(Array.isArray(e)){for(const t of e){const e=s.walk(t);if(e)return e}return null}const t=e[n.symbols.any];if(t)return{root:e[t.root],compile:t.compile};a(Object.getPrototypeOf(e)===Object.getPrototypeOf({}),"Schema can only contain plain objects");for(const t in e){const r=s.walk(e[t]);if(r)return r}return null},s.simple=function(e){return null===e||["boolean","string","number"].includes(typeof e)},t.when=function(e,r,i){if(void 0===i&&(a(r&&"object"==typeof r,"Missing options"),i=r,r=o.create(".")),Array.isArray(i)&&(i={switch:i}),n.assertOptions(i,["is","not","then","otherwise","switch","break"]),n.isSchema(r))return a(void 0===i.is,'"is" can not be used with a schema condition'),a(void 0===i.not,'"not" can not be used with a schema condition'),a(void 0===i.switch,'"switch" can not be used with a schema condition'),s.condition(e,{is:r,then:i.then,otherwise:i.otherwise,break:i.break});if(a(o.isRef(r)||"string"==typeof r,"Invalid condition:",r),a(void 0===i.not||void 0===i.is,'Cannot combine "is" with "not"'),void 0===i.switch){let l=i;void 0!==i.not&&(l={is:i.not,then:i.otherwise,otherwise:i.then,break:i.break});let c=void 0!==l.is?e.$_compile(l.is):e.$_root.invalid(null,!1,0,"").required();return a(void 0!==l.then||void 0!==l.otherwise,'options must have at least one of "then", "otherwise", or "switch"'),a(void 0===l.break||void 0===l.then||void 0===l.otherwise,"Cannot specify then, otherwise, and break all together"),void 0===i.is||o.isRef(i.is)||n.isSchema(i.is)||(c=c.required()),s.condition(e,{ref:t.ref(r),is:c,then:l.then,otherwise:l.otherwise,break:l.break})}a(Array.isArray(i.switch),'"switch" must be an array'),a(void 0===i.is,'Cannot combine "switch" with "is"'),a(void 0===i.not,'Cannot combine "switch" with "not"'),a(void 0===i.then,'Cannot combine "switch" with "then"');const l={ref:t.ref(r),switch:[],break:i.break};for(let t=0;t{"use strict";const a=r(5688),n=r(8160),o=r(3328);t.Report=class{constructor(e,r,a,n,o,s,i){if(this.code=e,this.flags=n,this.messages=o,this.path=s.path,this.prefs=i,this.state=s,this.value=r,this.message=null,this.template=null,this.local=a||{},this.local.label=t.label(this.flags,this.state,this.prefs,this.messages),void 0===this.value||this.local.hasOwnProperty("value")||(this.local.value=this.value),this.path.length){const e=this.path[this.path.length-1];"object"!=typeof e&&(this.local.key=e)}}_setTemplate(e){if(this.template=e,!this.flags.label&&0===this.path.length){const e=this._template(this.template,"root");e&&(this.local.label=e)}}toString(){if(this.message)return this.message;const e=this.code;if(!this.prefs.errors.render)return this.code;const t=this._template(this.template)||this._template(this.prefs.messages)||this._template(this.messages);return void 0===t?`Error code "${e}" is not defined, your custom type is missing the correct messages definition`:(this.message=t.render(this.value,this.state,this.prefs,this.local,{errors:this.prefs.errors,messages:[this.prefs.messages,this.messages]}),this.prefs.errors.label||(this.message=this.message.replace(/^"" /,"").trim()),this.message)}_template(e,r){return t.template(this.value,e,r||this.code,this.state,this.prefs)}},t.path=function(e){let t="";for(const r of e)"object"!=typeof r&&("string"==typeof r?(t&&(t+="."),t+=r):t+=`[${r}]`);return t},t.template=function(e,t,r,a,s){if(!t)return;if(o.isTemplate(t))return"root"!==r?t:null;let i=s.errors.language;if(n.isResolvable(i)&&(i=i.resolve(e,a,s)),i&&t[i]){if(void 0!==t[i][r])return t[i][r];if(void 0!==t[i]["*"])return t[i]["*"]}return t[r]?t[r]:t["*"]},t.label=function(e,r,a,n){if(!a.errors.label)return"";if(e.label)return e.label;let o=r.path;return"key"===a.errors.label&&r.path.length>1&&(o=r.path.slice(-1)),t.path(o)||t.template(null,a.messages,"root",r,a)||n&&t.template(null,n,"root",r,a)||"value"},t.process=function(e,r,a){if(!e)return null;const{override:n,message:o,details:s}=t.details(e);if(n)return n;if(a.errors.stack)return new t.ValidationError(o,s,r);const i=Error.stackTraceLimit;Error.stackTraceLimit=0;const l=new t.ValidationError(o,s,r);return Error.stackTraceLimit=i,l},t.details=function(e,t={}){let r=[];const a=[];for(const n of e){if(n instanceof Error){if(!1!==t.override)return{override:n};const e=n.toString();r.push(e),a.push({message:e,type:"override",context:{error:n}});continue}const e=n.toString();r.push(e),a.push({message:e,path:n.path.filter((e=>"object"!=typeof e)),type:n.code,context:n.local})}return r.length>1&&(r=[...new Set(r)]),{message:r.join(". "),details:a}},t.ValidationError=class extends Error{constructor(e,t,r){super(e),this._original=r,this.details=t}static isError(e){return e instanceof t.ValidationError}},t.ValidationError.prototype.isJoi=!0,t.ValidationError.prototype.name="ValidationError",t.ValidationError.prototype.annotate=a.error},8901:(e,t,r)=>{"use strict";const a=r(375),n=r(8571),o=r(8160),s=r(6914),i={};t.type=function(e,t){const r=Object.getPrototypeOf(e),l=n(r),c=e._assign(Object.create(l)),u=Object.assign({},t);delete u.base,l._definition=u;const d=r._definition||{};u.messages=s.merge(d.messages,u.messages),u.properties=Object.assign({},d.properties,u.properties),c.type=u.type,u.flags=Object.assign({},d.flags,u.flags);const p=Object.assign({},d.terms);if(u.terms)for(const e in u.terms){const t=u.terms[e];a(void 0===c.$_terms[e],"Invalid term override for",u.type,e),c.$_terms[e]=t.init,p[e]=t}u.terms=p,u.args||(u.args=d.args),u.prepare=i.prepare(u.prepare,d.prepare),u.coerce&&("function"==typeof u.coerce&&(u.coerce={method:u.coerce}),u.coerce.from&&!Array.isArray(u.coerce.from)&&(u.coerce={method:u.coerce.method,from:[].concat(u.coerce.from)})),u.coerce=i.coerce(u.coerce,d.coerce),u.validate=i.validate(u.validate,d.validate);const g=Object.assign({},d.rules);if(u.rules)for(const e in u.rules){const t=u.rules[e];a("object"==typeof t,"Invalid rule definition for",u.type,e);let r=t.method;if(void 0===r&&(r=function(){return this.$_addRule(e)}),r&&(a(!l[e],"Rule conflict in",u.type,e),l[e]=r),a(!g[e],"Rule conflict in",u.type,e),g[e]=t,t.alias){const e=[].concat(t.alias);for(const r of e)l[r]=t.method}t.args&&(t.argsByName=new Map,t.args=t.args.map((e=>("string"==typeof e&&(e={name:e}),a(!t.argsByName.has(e.name),"Duplicated argument name",e.name),o.isSchema(e.assert)&&(e.assert=e.assert.strict().label(e.name)),t.argsByName.set(e.name,e),e))))}u.rules=g;const m=Object.assign({},d.modifiers);if(u.modifiers)for(const e in u.modifiers){a(!l[e],"Rule conflict in",u.type,e);const t=u.modifiers[e];a("function"==typeof t,"Invalid modifier definition for",u.type,e);const r=function(t){return this.rule({[e]:t})};l[e]=r,m[e]=t}if(u.modifiers=m,u.overrides){l._super=r,c.$_super={};for(const e in u.overrides)a(r[e],"Cannot override missing",e),u.overrides[e][o.symbols.parent]=r[e],c.$_super[e]=r[e].bind(c);Object.assign(l,u.overrides)}u.cast=Object.assign({},d.cast,u.cast);const f=Object.assign({},d.manifest,u.manifest);return f.build=i.build(u.manifest&&u.manifest.build,d.manifest&&d.manifest.build),u.manifest=f,u.rebuild=i.rebuild(u.rebuild,d.rebuild),c},i.build=function(e,t){return e&&t?function(r,a){return t(e(r,a),a)}:e||t},i.coerce=function(e,t){return e&&t?{from:e.from&&t.from?[...new Set([...e.from,...t.from])]:null,method(r,a){let n;if((!t.from||t.from.includes(typeof r))&&(n=t.method(r,a),n)){if(n.errors||void 0===n.value)return n;r=n.value}if(!e.from||e.from.includes(typeof r)){const t=e.method(r,a);if(t)return t}return n}}:e||t},i.prepare=function(e,t){return e&&t?function(r,a){const n=e(r,a);if(n){if(n.errors||void 0===n.value)return n;r=n.value}return t(r,a)||n}:e||t},i.rebuild=function(e,t){return e&&t?function(r){t(r),e(r)}:e||t},i.validate=function(e,t){return e&&t?function(r,a){const n=t(r,a);if(n){if(n.errors&&(!Array.isArray(n.errors)||n.errors.length))return n;r=n.value}return e(r,a)||n}:e||t}},5107:(e,t,r)=>{"use strict";const a=r(375),n=r(8571),o=r(8652),s=r(8160),i=r(3292),l=r(6354),c=r(8901),u=r(9708),d=r(6133),p=r(3328),g=r(1152);let m;const f={types:{alternatives:r(4946),any:r(8068),array:r(546),boolean:r(4937),date:r(7500),function:r(390),link:r(8785),number:r(3832),object:r(8966),string:r(7417),symbol:r(8826)},aliases:{alt:"alternatives",bool:"boolean",func:"function"},root:function(){const e={_types:new Set(Object.keys(f.types))};for(const t of e._types)e[t]=function(...e){return a(!e.length||["alternatives","link","object"].includes(t),"The",t,"type does not allow arguments"),f.generate(this,f.types[t],e)};for(const t of["allow","custom","disallow","equal","exist","forbidden","invalid","not","only","optional","options","prefs","preferences","required","strip","valid","when"])e[t]=function(...e){return this.any()[t](...e)};Object.assign(e,f.methods);for(const t in f.aliases){const r=f.aliases[t];e[t]=e[r]}return e.x=e.expression,g.setup&&g.setup(e),e}};f.methods={ValidationError:l.ValidationError,version:s.version,cache:o.provider,assert(e,t,...r){f.assert(e,t,!0,r)},attempt:(e,t,...r)=>f.assert(e,t,!1,r),build(e){return a("function"==typeof u.build,"Manifest functionality disabled"),u.build(this,e)},checkPreferences(e){s.checkPreferences(e)},compile(e,t){return i.compile(this,e,t)},defaults(e){a("function"==typeof e,"modifier must be a function");const t=Object.assign({},this);for(const r of t._types){const n=e(t[r]());a(s.isSchema(n),"modifier must return a valid schema object"),t[r]=function(...e){return f.generate(this,n,e)}}return t},expression:(...e)=>new p(...e),extend(...e){s.verifyFlat(e,"extend"),m=m||r(3378),a(e.length,"You need to provide at least one extension"),this.assert(e,m.extensions);const t=Object.assign({},this);t._types=new Set(t._types);for(let r of e){"function"==typeof r&&(r=r(t)),this.assert(r,m.extension);const e=f.expandExtension(r,t);for(const r of e){a(void 0===t[r.type]||t._types.has(r.type),"Cannot override name",r.type);const e=r.base||this.any(),n=c.type(e,r);t._types.add(r.type),t[r.type]=function(...e){return f.generate(this,n,e)}}}return t},isError:l.ValidationError.isError,isExpression:p.isTemplate,isRef:d.isRef,isSchema:s.isSchema,in:(...e)=>d.in(...e),override:s.symbols.override,ref:(...e)=>d.create(...e),types(){const e={};for(const t of this._types)e[t]=this[t]();for(const t in f.aliases)e[t]=this[t]();return e}},f.assert=function(e,t,r,a){const o=a[0]instanceof Error||"string"==typeof a[0]?a[0]:null,i=null!==o?a[1]:a[0],c=t.validate(e,s.preferences({errors:{stack:!0}},i||{}));let u=c.error;if(!u)return c.value;if(o instanceof Error)throw o;const d=r&&"function"==typeof u.annotate?u.annotate():u.message;throw u instanceof l.ValidationError==0&&(u=n(u)),u.message=o?`${o} ${d}`:d,u},f.generate=function(e,t,r){return a(e,"Must be invoked on a Joi instance."),t.$_root=e,t._definition.args&&r.length?t._definition.args(t,...r):t},f.expandExtension=function(e,t){if("string"==typeof e.type)return[e];const r=[];for(const a of t._types)if(e.type.test(a)){const n=Object.assign({},e);n.type=a,n.base=t[a](),r.push(n)}return r},e.exports=f.root()},6914:(e,t,r)=>{"use strict";const a=r(375),n=r(8571),o=r(3328);t.compile=function(e,t){if("string"==typeof e)return a(!t,"Cannot set single message string"),new o(e);if(o.isTemplate(e))return a(!t,"Cannot set single message template"),e;a("object"==typeof e&&!Array.isArray(e),"Invalid message options"),t=t?n(t):{};for(let r in e){const n=e[r];if("root"===r||o.isTemplate(n)){t[r]=n;continue}if("string"==typeof n){t[r]=new o(n);continue}a("object"==typeof n&&!Array.isArray(n),"Invalid message for",r);const s=r;for(r in t[s]=t[s]||{},n){const e=n[r];"root"===r||o.isTemplate(e)?t[s][r]=e:(a("string"==typeof e,"Invalid message for",r,"in",s),t[s][r]=new o(e))}}return t},t.decompile=function(e){const t={};for(let r in e){const a=e[r];if("root"===r){t.root=a;continue}if(o.isTemplate(a)){t[r]=a.describe({compact:!0});continue}const n=r;for(r in t[n]={},a){const e=a[r];"root"!==r?t[n][r]=e.describe({compact:!0}):t[n].root=e}}return t},t.merge=function(e,r){if(!e)return t.compile(r);if(!r)return e;if("string"==typeof r)return new o(r);if(o.isTemplate(r))return r;const s=n(e);for(let e in r){const t=r[e];if("root"===e||o.isTemplate(t)){s[e]=t;continue}if("string"==typeof t){s[e]=new o(t);continue}a("object"==typeof t&&!Array.isArray(t),"Invalid message for",e);const n=e;for(e in s[n]=s[n]||{},t){const r=t[e];"root"===e||o.isTemplate(r)?s[n][e]=r:(a("string"==typeof r,"Invalid message for",e,"in",n),s[n][e]=new o(r))}}return s}},2294:(e,t,r)=>{"use strict";const a=r(375),n=r(8160),o=r(6133),s={};t.Ids=s.Ids=class{constructor(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}clone(){const e=new s.Ids;return e._byId=new Map(this._byId),e._byKey=new Map(this._byKey),e._schemaChain=this._schemaChain,e}concat(e){e._schemaChain&&(this._schemaChain=!0);for(const[t,r]of e._byId.entries())a(!this._byKey.has(t),"Schema id conflicts with existing key:",t),this._byId.set(t,r);for(const[t,r]of e._byKey.entries())a(!this._byId.has(t),"Schema key conflicts with existing id:",t),this._byKey.set(t,r)}fork(e,t,r){const o=this._collect(e);o.push({schema:r});const i=o.shift();let l={id:i.id,schema:t(i.schema)};a(n.isSchema(l.schema),"adjuster function failed to return a joi schema type");for(const e of o)l={id:e.id,schema:s.fork(e.schema,l.id,l.schema)};return l.schema}labels(e,t=[]){const r=e[0],a=this._get(r);if(!a)return[...t,...e].join(".");const n=e.slice(1);return t=[...t,a.schema._flags.label||r],n.length?a.schema._ids.labels(n,t):t.join(".")}reach(e,t=[]){const r=e[0],n=this._get(r);a(n,"Schema does not contain path",[...t,...e].join("."));const o=e.slice(1);return o.length?n.schema._ids.reach(o,[...t,r]):n.schema}register(e,{key:t}={}){if(!e||!n.isSchema(e))return;(e.$_property("schemaChain")||e._ids._schemaChain)&&(this._schemaChain=!0);const r=e._flags.id;if(r){const t=this._byId.get(r);a(!t||t.schema===e,"Cannot add different schemas with the same id:",r),a(!this._byKey.has(r),"Schema id conflicts with existing key:",r),this._byId.set(r,{schema:e,id:r})}t&&(a(!this._byKey.has(t),"Schema already contains key:",t),a(!this._byId.has(t),"Schema key conflicts with existing id:",t),this._byKey.set(t,{schema:e,id:t}))}reset(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}_collect(e,t=[],r=[]){const n=e[0],o=this._get(n);a(o,"Schema does not contain path",[...t,...e].join(".")),r=[o,...r];const s=e.slice(1);return s.length?o.schema._ids._collect(s,[...t,n],r):r}_get(e){return this._byId.get(e)||this._byKey.get(e)}},s.fork=function(e,r,a){const n=t.schema(e,{each:(e,{key:t})=>{if(r===(e._flags.id||t))return a},ref:!1});return n?n.$_mutateRebuild():e},t.schema=function(e,t){let r;for(const a in e._flags){if("_"===a[0])continue;const n=s.scan(e._flags[a],{source:"flags",name:a},t);void 0!==n&&(r=r||e.clone(),r._flags[a]=n)}for(let a=0;a{"use strict";const a=r(375),n=r(8571),o=r(9621),s=r(8160);let i;const l={symbol:Symbol("ref"),defaults:{adjust:null,in:!1,iterables:null,map:null,separator:".",type:"value"}};t.create=function(e,t={}){a("string"==typeof e,"Invalid reference key:",e),s.assertOptions(t,["adjust","ancestor","in","iterables","map","prefix","render","separator"]),a(!t.prefix||"object"==typeof t.prefix,"options.prefix must be of type object");const r=Object.assign({},l.defaults,t);delete r.prefix;const n=r.separator,o=l.context(e,n,t.prefix);if(r.type=o.type,e=o.key,"value"===r.type)if(o.root&&(a(!n||e[0]!==n,"Cannot specify relative path with root prefix"),r.ancestor="root",e||(e=null)),n&&n===e)e=null,r.ancestor=0;else if(void 0!==r.ancestor)a(!n||!e||e[0]!==n,"Cannot combine prefix with ancestor option");else{const[t,a]=l.ancestor(e,n);a&&""===(e=e.slice(a))&&(e=null),r.ancestor=t}return r.path=n?null===e?[]:e.split(n):[e],new l.Ref(r)},t.in=function(e,r={}){return t.create(e,{...r,in:!0})},t.isRef=function(e){return!!e&&!!e[s.symbols.ref]},l.Ref=class{constructor(e){a("object"==typeof e,"Invalid reference construction"),s.assertOptions(e,["adjust","ancestor","in","iterables","map","path","render","separator","type","depth","key","root","display"]),a([!1,void 0].includes(e.separator)||"string"==typeof e.separator&&1===e.separator.length,"Invalid separator"),a(!e.adjust||"function"==typeof e.adjust,"options.adjust must be a function"),a(!e.map||Array.isArray(e.map),"options.map must be an array"),a(!e.map||!e.adjust,"Cannot set both map and adjust options"),Object.assign(this,l.defaults,e),a("value"===this.type||void 0===this.ancestor,"Non-value references cannot reference ancestors"),Array.isArray(this.map)&&(this.map=new Map(this.map)),this.depth=this.path.length,this.key=this.path.length?this.path.join(this.separator):null,this.root=this.path[0],this.updateDisplay()}resolve(e,t,r,n,o={}){return a(!this.in||o.in,"Invalid in() reference usage"),"global"===this.type?this._resolve(r.context,t,o):"local"===this.type?this._resolve(n,t,o):this.ancestor?"root"===this.ancestor?this._resolve(t.ancestors[t.ancestors.length-1],t,o):(a(this.ancestor<=t.ancestors.length,"Invalid reference exceeds the schema root:",this.display),this._resolve(t.ancestors[this.ancestor-1],t,o)):this._resolve(e,t,o)}_resolve(e,t,r){let a;if("value"===this.type&&t.mainstay.shadow&&!1!==r.shadow&&(a=t.mainstay.shadow.get(this.absolute(t))),void 0===a&&(a=o(e,this.path,{iterables:this.iterables,functions:!0})),this.adjust&&(a=this.adjust(a)),this.map){const e=this.map.get(a);void 0!==e&&(a=e)}return t.mainstay&&t.mainstay.tracer.resolve(t,this,a),a}toString(){return this.display}absolute(e){return[...e.path.slice(0,-this.ancestor),...this.path]}clone(){return new l.Ref(this)}describe(){const e={path:this.path};"value"!==this.type&&(e.type=this.type),"."!==this.separator&&(e.separator=this.separator),"value"===this.type&&1!==this.ancestor&&(e.ancestor=this.ancestor),this.map&&(e.map=[...this.map]);for(const t of["adjust","iterables","render"])null!==this[t]&&void 0!==this[t]&&(e[t]=this[t]);return!1!==this.in&&(e.in=!0),{ref:e}}updateDisplay(){const e=null!==this.key?this.key:"";if("value"!==this.type)return void(this.display=`ref:${this.type}:${e}`);if(!this.separator)return void(this.display=`ref:${e}`);if(!this.ancestor)return void(this.display=`ref:${this.separator}${e}`);if("root"===this.ancestor)return void(this.display=`ref:root:${e}`);if(1===this.ancestor)return void(this.display=`ref:${e||".."}`);const t=new Array(this.ancestor+1).fill(this.separator).join("");this.display=`ref:${t}${e||""}`}},l.Ref.prototype[s.symbols.ref]=!0,t.build=function(e){return"value"===(e=Object.assign({},l.defaults,e)).type&&void 0===e.ancestor&&(e.ancestor=1),new l.Ref(e)},l.context=function(e,t,r={}){if(e=e.trim(),r){const a=void 0===r.global?"$":r.global;if(a!==t&&e.startsWith(a))return{key:e.slice(a.length),type:"global"};const n=void 0===r.local?"#":r.local;if(n!==t&&e.startsWith(n))return{key:e.slice(n.length),type:"local"};const o=void 0===r.root?"/":r.root;if(o!==t&&e.startsWith(o))return{key:e.slice(o.length),type:"value",root:!0}}return{key:e,type:"value"}},l.ancestor=function(e,t){if(!t)return[1,0];if(e[0]!==t)return[1,0];if(e[1]!==t)return[0,1];let r=2;for(;e[r]===t;)++r;return[r-1,r]},t.toSibling=0,t.toParent=1,t.Manager=class{constructor(){this.refs=[]}register(e,a){if(e)if(a=void 0===a?t.toParent:a,Array.isArray(e))for(const t of e)this.register(t,a);else if(s.isSchema(e))for(const t of e._refs.refs)t.ancestor-a>=0&&this.refs.push({ancestor:t.ancestor-a,root:t.root});else t.isRef(e)&&"value"===e.type&&e.ancestor-a>=0&&this.refs.push({ancestor:e.ancestor-a,root:e.root}),i=i||r(3328),i.isTemplate(e)&&this.register(e.refs(),a)}get length(){return this.refs.length}clone(){const e=new t.Manager;return e.refs=n(this.refs),e}reset(){this.refs=[]}roots(){return this.refs.filter((e=>!e.ancestor)).map((e=>e.root))}}},3378:(e,t,r)=>{"use strict";const a=r(5107),n={};n.wrap=a.string().min(1).max(2).allow(!1),t.preferences=a.object({allowUnknown:a.boolean(),abortEarly:a.boolean(),artifacts:a.boolean(),cache:a.boolean(),context:a.object(),convert:a.boolean(),dateFormat:a.valid("date","iso","string","time","utc"),debug:a.boolean(),errors:{escapeHtml:a.boolean(),label:a.valid("path","key",!1),language:[a.string(),a.object().ref()],render:a.boolean(),stack:a.boolean(),wrap:{label:n.wrap,array:n.wrap,string:n.wrap}},externals:a.boolean(),messages:a.object(),noDefaults:a.boolean(),nonEnumerables:a.boolean(),presence:a.valid("required","optional","forbidden"),skipFunctions:a.boolean(),stripUnknown:a.object({arrays:a.boolean(),objects:a.boolean()}).or("arrays","objects").allow(!0,!1),warnings:a.boolean()}).strict(),n.nameRx=/^[a-zA-Z0-9]\w*$/,n.rule=a.object({alias:a.array().items(a.string().pattern(n.nameRx)).single(),args:a.array().items(a.string(),a.object({name:a.string().pattern(n.nameRx).required(),ref:a.boolean(),assert:a.alternatives([a.function(),a.object().schema()]).conditional("ref",{is:!0,then:a.required()}),normalize:a.function(),message:a.string().when("assert",{is:a.function(),then:a.required()})})),convert:a.boolean(),manifest:a.boolean(),method:a.function().allow(!1),multi:a.boolean(),validate:a.function()}),t.extension=a.object({type:a.alternatives([a.string(),a.object().regex()]).required(),args:a.function(),cast:a.object().pattern(n.nameRx,a.object({from:a.function().maxArity(1).required(),to:a.function().minArity(1).maxArity(2).required()})),base:a.object().schema().when("type",{is:a.object().regex(),then:a.forbidden()}),coerce:[a.function().maxArity(3),a.object({method:a.function().maxArity(3).required(),from:a.array().items(a.string()).single()})],flags:a.object().pattern(n.nameRx,a.object({setter:a.string(),default:a.any()})),manifest:{build:a.function().arity(2)},messages:[a.object(),a.string()],modifiers:a.object().pattern(n.nameRx,a.function().minArity(1).maxArity(2)),overrides:a.object().pattern(n.nameRx,a.function()),prepare:a.function().maxArity(3),rebuild:a.function().arity(1),rules:a.object().pattern(n.nameRx,n.rule),terms:a.object().pattern(n.nameRx,a.object({init:a.array().allow(null).required(),manifest:a.object().pattern(/.+/,[a.valid("schema","single"),a.object({mapped:a.object({from:a.string().required(),to:a.string().required()}).required()})])})),validate:a.function().maxArity(3)}).strict(),t.extensions=a.array().items(a.object(),a.function().arity(1)).strict(),n.desc={buffer:a.object({buffer:a.string()}),func:a.object({function:a.function().required(),options:{literal:!0}}),override:a.object({override:!0}),ref:a.object({ref:a.object({type:a.valid("value","global","local"),path:a.array().required(),separator:a.string().length(1).allow(!1),ancestor:a.number().min(0).integer().allow("root"),map:a.array().items(a.array().length(2)).min(1),adjust:a.function(),iterables:a.boolean(),in:a.boolean(),render:a.boolean()}).required()}),regex:a.object({regex:a.string().min(3)}),special:a.object({special:a.valid("deep").required()}),template:a.object({template:a.string().required(),options:a.object()}),value:a.object({value:a.alternatives([a.object(),a.array()]).required()})},n.desc.entity=a.alternatives([a.array().items(a.link("...")),a.boolean(),a.function(),a.number(),a.string(),n.desc.buffer,n.desc.func,n.desc.ref,n.desc.regex,n.desc.special,n.desc.template,n.desc.value,a.link("/")]),n.desc.values=a.array().items(null,a.boolean(),a.function(),a.number().allow(1/0,-1/0),a.string().allow(""),a.symbol(),n.desc.buffer,n.desc.func,n.desc.override,n.desc.ref,n.desc.regex,n.desc.template,n.desc.value),n.desc.messages=a.object().pattern(/.+/,[a.string(),n.desc.template,a.object().pattern(/.+/,[a.string(),n.desc.template])]),t.description=a.object({type:a.string().required(),flags:a.object({cast:a.string(),default:a.any(),description:a.string(),empty:a.link("/"),failover:n.desc.entity,id:a.string(),label:a.string(),only:!0,presence:["optional","required","forbidden"],result:["raw","strip"],strip:a.boolean(),unit:a.string()}).unknown(),preferences:{allowUnknown:a.boolean(),abortEarly:a.boolean(),artifacts:a.boolean(),cache:a.boolean(),convert:a.boolean(),dateFormat:["date","iso","string","time","utc"],errors:{escapeHtml:a.boolean(),label:["path","key"],language:[a.string(),n.desc.ref],wrap:{label:n.wrap,array:n.wrap}},externals:a.boolean(),messages:n.desc.messages,noDefaults:a.boolean(),nonEnumerables:a.boolean(),presence:["required","optional","forbidden"],skipFunctions:a.boolean(),stripUnknown:a.object({arrays:a.boolean(),objects:a.boolean()}).or("arrays","objects").allow(!0,!1),warnings:a.boolean()},allow:n.desc.values,invalid:n.desc.values,rules:a.array().min(1).items({name:a.string().required(),args:a.object().min(1),keep:a.boolean(),message:[a.string(),n.desc.messages],warn:a.boolean()}),keys:a.object().pattern(/.*/,a.link("/")),link:n.desc.ref}).pattern(/^[a-z]\w*$/,a.any())},493:(e,t,r)=>{"use strict";const a=r(8571),n=r(9621),o=r(8160),s={value:Symbol("value")};e.exports=s.State=class{constructor(e,t,r){this.path=e,this.ancestors=t,this.mainstay=r.mainstay,this.schemas=r.schemas,this.debug=null}localize(e,t=null,r=null){const a=new s.State(e,t,this);return r&&a.schemas&&(a.schemas=[s.schemas(r),...a.schemas]),a}nest(e,t){const r=new s.State(this.path,this.ancestors,this);return r.schemas=r.schemas&&[s.schemas(e),...r.schemas],r.debug=t,r}shadow(e,t){this.mainstay.shadow=this.mainstay.shadow||new s.Shadow,this.mainstay.shadow.set(this.path,e,t)}snapshot(){this.mainstay.shadow&&(this._snapshot=a(this.mainstay.shadow.node(this.path))),this.mainstay.snapshot()}restore(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0),this.mainstay.restore()}commit(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0),this.mainstay.commit()}},s.schemas=function(e){return o.isSchema(e)?{schema:e}:e},s.Shadow=class{constructor(){this._values=null}set(e,t,r){if(!e.length)return;if("strip"===r&&"number"==typeof e[e.length-1])return;this._values=this._values||new Map;let a=this._values;for(let t=0;t{"use strict";const a=r(375),n=r(8571),o=r(5277),s=r(1447),i=r(8160),l=r(6354),c=r(6133),u={symbol:Symbol("template"),opens:new Array(1e3).join("\0"),closes:new Array(1e3).join(""),dateFormat:{date:Date.prototype.toDateString,iso:Date.prototype.toISOString,string:Date.prototype.toString,time:Date.prototype.toTimeString,utc:Date.prototype.toUTCString}};e.exports=u.Template=class{constructor(e,t){if(a("string"==typeof e,"Template source must be a string"),a(!e.includes("\0")&&!e.includes(""),"Template source cannot contain reserved control characters"),this.source=e,this.rendered=e,this._template=null,t){const{functions:e,...r}=t;this._settings=Object.keys(r).length?n(r):void 0,this._functions=e,this._functions&&(a(Object.keys(this._functions).every((e=>"string"==typeof e)),"Functions keys must be strings"),a(Object.values(this._functions).every((e=>"function"==typeof e)),"Functions values must be functions"))}else this._settings=void 0,this._functions=void 0;this._parse()}_parse(){if(!this.source.includes("{"))return;const e=u.encode(this.source),t=u.split(e);let r=!1;const a=[],n=t.shift();n&&a.push(n);for(const e of t){const t="{"!==e[0],n=t?"}":"}}",o=e.indexOf(n);if(-1===o||"{"===e[1]){a.push(`{${u.decode(e)}`);continue}let s=e.slice(t?0:1,o);const i=":"===s[0];i&&(s=s.slice(1));const l=this._ref(u.decode(s),{raw:t,wrapped:i});a.push(l),"string"!=typeof l&&(r=!0);const c=e.slice(o+n.length);c&&a.push(u.decode(c))}r?this._template=a:this.rendered=a.join("")}static date(e,t){return u.dateFormat[t.dateFormat].call(e)}describe(e={}){if(!this._settings&&e.compact)return this.source;const t={template:this.source};return this._settings&&(t.options=this._settings),this._functions&&(t.functions=this._functions),t}static build(e){return new u.Template(e.template,e.options||e.functions?{...e.options,functions:e.functions}:void 0)}isDynamic(){return!!this._template}static isTemplate(e){return!!e&&!!e[i.symbols.template]}refs(){if(!this._template)return;const e=[];for(const t of this._template)"string"!=typeof t&&e.push(...t.refs);return e}resolve(e,t,r,a){return this._template&&1===this._template.length?this._part(this._template[0],e,t,r,a,{}):this.render(e,t,r,a)}_part(e,...t){return e.ref?e.ref.resolve(...t):e.formula.evaluate(t)}render(e,t,r,a,n={}){if(!this.isDynamic())return this.rendered;const s=[];for(const i of this._template)if("string"==typeof i)s.push(i);else{const l=this._part(i,e,t,r,a,n),c=u.stringify(l,e,t,r,a,n);if(void 0!==c){const e=i.raw||!1===(n.errors&&n.errors.escapeHtml)?c:o(c);s.push(u.wrap(e,i.wrapped&&r.errors.wrap.label))}}return s.join("")}_ref(e,{raw:t,wrapped:r}){const a=[],n=e=>{const t=c.create(e,this._settings);return a.push(t),e=>{const r=t.resolve(...e);return void 0!==r?r:null}};try{const t=this._functions?{...u.functions,...this._functions}:u.functions;var o=new s.Parser(e,{reference:n,functions:t,constants:u.constants})}catch(t){throw t.message=`Invalid template variable "${e}" fails due to: ${t.message}`,t}if(o.single){if("reference"===o.single.type){const e=a[0];return{ref:e,raw:t,refs:a,wrapped:r||"local"===e.type&&"label"===e.key}}return u.stringify(o.single.value)}return{formula:o,raw:t,refs:a}}toString(){return this.source}},u.Template.prototype[i.symbols.template]=!0,u.Template.prototype.isImmutable=!0,u.encode=function(e){return e.replace(/\\(\{+)/g,((e,t)=>u.opens.slice(0,t.length))).replace(/\\(\}+)/g,((e,t)=>u.closes.slice(0,t.length)))},u.decode=function(e){return e.replace(/\u0000/g,"{").replace(/\u0001/g,"}")},u.split=function(e){const t=[];let r="";for(let a=0;a ${a.toString()}`);e=t}if(!Array.isArray(e))return e.toString();const d=[];for(const s of e)d.push(u.stringify(s,t,r,a,n,{arrayItems:!0,...o}));return u.wrap(d.join(", "),!l&&i.array)},u.constants={true:!0,false:!1,null:null,second:1e3,minute:6e4,hour:36e5,day:864e5},u.functions={if:(e,t,r)=>e?t:r,length:e=>"string"==typeof e?e.length:e&&"object"==typeof e?Array.isArray(e)?e.length:Object.keys(e).length:null,msg(e){const[t,r,a,n,o]=this,s=o.messages;if(!s)return"";const i=l.template(t,s[0],e,r,a)||l.template(t,s[1],e,r,a);return i?i.render(t,r,a,n,o):""},number:e=>"number"==typeof e?e:"string"==typeof e?parseFloat(e):"boolean"==typeof e?e?1:0:e instanceof Date?e.getTime():null}},4946:(e,t,r)=>{"use strict";const a=r(375),n=r(1687),o=r(8068),s=r(8160),i=r(3292),l=r(6354),c=r(6133),u={};e.exports=o.extend({type:"alternatives",flags:{match:{default:"any"}},terms:{matches:{init:[],register:c.toSibling}},args:(e,...t)=>1===t.length&&Array.isArray(t[0])?e.try(...t[0]):e.try(...t),validate(e,t){const{schema:r,error:a,state:o,prefs:s}=t;if(r._flags.match){const t=[],i=[];for(let a=0;al.details(e,{override:!1})))})};if("one"===r._flags.match)return 1===t.length?{value:t[0]}:{errors:a("alternatives.one")};if(t.length!==r.$_terms.matches.length)return{errors:a("alternatives.all",{details:i.map((e=>l.details(e,{override:!1})))})};const c=e=>e.$_terms.matches.some((e=>"object"===e.schema.type||"alternatives"===e.schema.type&&c(e.schema)));return c(r)?{value:t.reduce(((e,t)=>n(e,t,{mergeArrays:!1})))}:{value:t[t.length-1]}}const i=[];for(let t=0;t"is"!==r.path[0]&&"string"!=typeof t._flags.label?t.label(e):void 0,ref:!1})}},rebuild(e){e.$_modify({each:t=>{s.isSchema(t)&&"array"===t.type&&e.$_setFlag("_arrayItems",!0,{clone:!1})}})},manifest:{build(e,t){if(t.matches)for(const r of t.matches){const{schema:t,ref:a,is:n,not:o,then:s,otherwise:i}=r;e=t?e.try(t):a?e.conditional(a,{is:n,then:s,not:o,otherwise:i,switch:r.switch}):e.conditional(n,{then:s,otherwise:i})}return e}},messages:{"alternatives.all":"{{#label}} does not match all of the required types","alternatives.any":"{{#label}} does not match any of the allowed types","alternatives.match":"{{#label}} does not match any of the allowed types","alternatives.one":"{{#label}} matches more than one allowed type","alternatives.types":"{{#label}} must be one of {{#types}}"}}),u.errors=function(e,{error:t,state:r}){if(!e.length)return{errors:t("alternatives.any")};if(1===e.length)return{errors:e[0].reports};const a=new Set,n=[];for(const{reports:o,schema:s}of e){if(o.length>1)return u.unmatched(e,t);const i=o[0];if(i instanceof l.Report==0)return u.unmatched(e,t);if(i.state.path.length!==r.path.length){n.push({type:s.type,report:i});continue}if("any.only"===i.code){for(const e of i.local.valids)a.add(e);continue}const[c,d]=i.code.split(".");"base"!==d?n.push({type:s.type,report:i}):"object.base"===i.code?a.add(i.local.type):a.add(c)}return n.length?1===n.length?{errors:n[0].report}:u.unmatched(e,t):{errors:t("alternatives.types",{types:[...a]})}},u.unmatched=function(e,t){const r=[];for(const t of e)r.push(...t.reports);return{errors:t("alternatives.match",l.details(r,{override:!1}))}}},8068:(e,t,r)=>{"use strict";const a=r(375),n=r(7629),o=r(8160),s=r(6914);e.exports=n.extend({type:"any",flags:{only:{default:!1}},terms:{alterations:{init:null},examples:{init:null},externals:{init:null},metas:{init:[]},notes:{init:[]},shared:{init:null},tags:{init:[]},whens:{init:null}},rules:{custom:{method(e,t){return a("function"==typeof e,"Method must be a function"),a(void 0===t||t&&"string"==typeof t,"Description must be a non-empty string"),this.$_addRule({name:"custom",args:{method:e,description:t}})},validate(e,t,{method:r}){try{return r(e,t)}catch(e){return t.error("any.custom",{error:e})}},args:["method","description"],multi:!0},messages:{method(e){return this.prefs({messages:e})}},shared:{method(e){a(o.isSchema(e)&&e._flags.id,"Schema must be a schema with an id");const t=this.clone();return t.$_terms.shared=t.$_terms.shared||[],t.$_terms.shared.push(e),t.$_mutateRegister(e),t}},warning:{method(e,t){return a(e&&"string"==typeof e,"Invalid warning code"),this.$_addRule({name:"warning",args:{code:e,local:t},warn:!0})},validate:(e,t,{code:r,local:a})=>t.error(r,a),args:["code","local"],multi:!0}},modifiers:{keep(e,t=!0){e.keep=t},message(e,t){e.message=s.compile(t)},warn(e,t=!0){e.warn=t}},manifest:{build(e,t){for(const r in t){const a=t[r];if(["examples","externals","metas","notes","tags"].includes(r))for(const t of a)e=e[r.slice(0,-1)](t);else if("alterations"!==r)if("whens"!==r){if("shared"===r)for(const t of a)e=e.shared(t)}else for(const t of a){const{ref:r,is:a,not:n,then:o,otherwise:s,concat:i}=t;e=i?e.concat(i):r?e.when(r,{is:a,not:n,then:o,otherwise:s,switch:t.switch,break:t.break}):e.when(a,{then:o,otherwise:s,break:t.break})}else{const t={};for(const{target:e,adjuster:r}of a)t[e]=r;e=e.alter(t)}}return e}},messages:{"any.custom":"{{#label}} failed custom validation because {{#error.message}}","any.default":"{{#label}} threw an error when running default method","any.failover":"{{#label}} threw an error when running failover method","any.invalid":"{{#label}} contains an invalid value","any.only":'{{#label}} must be {if(#valids.length == 1, "", "one of ")}{{#valids}}',"any.ref":"{{#label}} {{#arg}} references {{:#ref}} which {{#reason}}","any.required":"{{#label}} is required","any.unknown":"{{#label}} is not allowed"}})},546:(e,t,r)=>{"use strict";const a=r(375),n=r(9474),o=r(9621),s=r(8068),i=r(8160),l=r(3292),c={};e.exports=s.extend({type:"array",flags:{single:{default:!1},sparse:{default:!1}},terms:{items:{init:[],manifest:"schema"},ordered:{init:[],manifest:"schema"},_exclusions:{init:[]},_inclusions:{init:[]},_requireds:{init:[]}},coerce:{from:"object",method(e,{schema:t,state:r,prefs:a}){if(!Array.isArray(e))return;const n=t.$_getRule("sort");return n?c.sort(t,e,n.args.options,r,a):void 0}},validate(e,{schema:t,error:r}){if(!Array.isArray(e)){if(t._flags.single){const t=[e];return t[i.symbols.arraySingle]=!0,{value:t}}return{errors:r("array.base")}}if(t.$_getRule("items")||t.$_terms.externals)return{value:e.slice()}},rules:{has:{method(e){e=this.$_compile(e,{appendPath:!0});const t=this.$_addRule({name:"has",args:{schema:e}});return t.$_mutateRegister(e),t},validate(e,{state:t,prefs:r,error:a},{schema:n}){const o=[e,...t.ancestors];for(let a=0;athis.$_compile(e[r])),r,{append:!0});t.$_terms.items.push(a)}return t.$_mutateRebuild()},validate(e,{schema:t,error:r,state:a,prefs:n,errorsArray:o}){const s=t.$_terms._requireds.slice(),l=t.$_terms.ordered.slice(),u=[...t.$_terms._inclusions,...s],d=!e[i.symbols.arraySingle];delete e[i.symbols.arraySingle];const p=o();let g=e.length;for(let o=0;o="})}},ordered:{method(...e){i.verifyFlat(e,"ordered");const t=this.$_addRule("items");for(let r=0;rthis.$_compile(e[r])),r,{append:!0});c.validateSingle(a,t),t.$_mutateRegister(a),t.$_terms.ordered.push(a)}return t.$_mutateRebuild()}},single:{method(e){const t=void 0===e||!!e;return a(!t||!this._flags._arrayItems,"Cannot specify single rule when array has array items"),this.$_setFlag("single",t)}},sort:{method(e={}){i.assertOptions(e,["by","order"]);const t={order:e.order||"ascending"};return e.by&&(t.by=l.ref(e.by,{ancestor:0}),a(!t.by.ancestor,"Cannot sort by ancestor")),this.$_addRule({name:"sort",args:{options:t}})},validate(e,{error:t,state:r,prefs:a,schema:n},{options:o}){const{value:s,errors:i}=c.sort(n,e,o,r,a);if(i)return i;for(let r=0;rnew Set(e)}},rebuild(e){e.$_terms._inclusions=[],e.$_terms._exclusions=[],e.$_terms._requireds=[];for(const t of e.$_terms.items)c.validateSingle(t,e),"required"===t._flags.presence?e.$_terms._requireds.push(t):"forbidden"===t._flags.presence?e.$_terms._exclusions.push(t):e.$_terms._inclusions.push(t);for(const t of e.$_terms.ordered)c.validateSingle(t,e)},manifest:{build:(e,t)=>(t.items&&(e=e.items(...t.items)),t.ordered&&(e=e.ordered(...t.ordered)),e)},messages:{"array.base":"{{#label}} must be an array","array.excludes":"{{#label}} contains an excluded value","array.hasKnown":"{{#label}} does not contain at least one required match for type {:#patternLabel}","array.hasUnknown":"{{#label}} does not contain at least one required match","array.includes":"{{#label}} does not match any of the allowed types","array.includesRequiredBoth":"{{#label}} does not contain {{#knownMisses}} and {{#unknownMisses}} other required value(s)","array.includesRequiredKnowns":"{{#label}} does not contain {{#knownMisses}}","array.includesRequiredUnknowns":"{{#label}} does not contain {{#unknownMisses}} required value(s)","array.length":"{{#label}} must contain {{#limit}} items","array.max":"{{#label}} must contain less than or equal to {{#limit}} items","array.min":"{{#label}} must contain at least {{#limit}} items","array.orderedLength":"{{#label}} must contain at most {{#limit}} items","array.sort":"{{#label}} must be sorted in {#order} order by {{#by}}","array.sort.mismatching":"{{#label}} cannot be sorted due to mismatching types","array.sort.unsupported":"{{#label}} cannot be sorted due to unsupported type {#type}","array.sparse":"{{#label}} must not be a sparse array item","array.unique":"{{#label}} contains a duplicate value"}}),c.fillMissedErrors=function(e,t,r,a,n,o){const s=[];let i=0;for(const e of r){const t=e._flags.label;t?s.push(t):++i}s.length?i?t.push(e.$_createError("array.includesRequiredBoth",a,{knownMisses:s,unknownMisses:i},n,o)):t.push(e.$_createError("array.includesRequiredKnowns",a,{knownMisses:s},n,o)):t.push(e.$_createError("array.includesRequiredUnknowns",a,{unknownMisses:i},n,o))},c.fillOrderedErrors=function(e,t,r,a,n,o){const s=[];for(const e of r)"required"===e._flags.presence&&s.push(e);s.length&&c.fillMissedErrors(e,t,s,a,n,o)},c.fillDefault=function(e,t,r,a){const n=[];let o=!0;for(let s=e.length-1;s>=0;--s){const i=e[s],l=[t,...r.ancestors],c=i.$_validate(void 0,r.localize(r.path,l,i),a).value;if(o){if(void 0===c)continue;o=!1}n.unshift(c)}n.length&&t.push(...n)},c.fastSplice=function(e,t){let r=t;for(;r{let d=c.compare(l,u,s,i);if(null!==d)return d;if(r.by&&(l=r.by.resolve(l,a,n),u=r.by.resolve(u,a,n)),d=c.compare(l,u,s,i),null!==d)return d;const p=typeof l;if(p!==typeof u)throw e.$_createError("array.sort.mismatching",t,null,a,n);if("number"!==p&&"string"!==p)throw e.$_createError("array.sort.unsupported",t,{type:p},a,n);return"number"===p?(l-u)*o:l{"use strict";const a=r(375),n=r(8068),o=r(8160),s=r(2036),i={isBool:function(e){return"boolean"==typeof e}};e.exports=n.extend({type:"boolean",flags:{sensitive:{default:!1}},terms:{falsy:{init:null,manifest:"values"},truthy:{init:null,manifest:"values"}},coerce(e,{schema:t}){if("boolean"!=typeof e){if("string"==typeof e){const r=t._flags.sensitive?e:e.toLowerCase();e="true"===r||"false"!==r&&e}return"boolean"!=typeof e&&(e=t.$_terms.truthy&&t.$_terms.truthy.has(e,null,null,!t._flags.sensitive)||(!t.$_terms.falsy||!t.$_terms.falsy.has(e,null,null,!t._flags.sensitive))&&e),{value:e}}},validate(e,{error:t}){if("boolean"!=typeof e)return{value:e,errors:t("boolean.base")}},rules:{truthy:{method(...e){o.verifyFlat(e,"truthy");const t=this.clone();t.$_terms.truthy=t.$_terms.truthy||new s;for(let r=0;re?1:0},string:{from:i.isBool,to:(e,t)=>e?"true":"false"}},manifest:{build:(e,t)=>(t.truthy&&(e=e.truthy(...t.truthy)),t.falsy&&(e=e.falsy(...t.falsy)),e)},messages:{"boolean.base":"{{#label}} must be a boolean"}})},7500:(e,t,r)=>{"use strict";const a=r(375),n=r(8068),o=r(8160),s=r(3328),i={isDate:function(e){return e instanceof Date}};e.exports=n.extend({type:"date",coerce:{from:["number","string"],method:(e,{schema:t})=>({value:i.parse(e,t._flags.format)||e})},validate(e,{schema:t,error:r,prefs:a}){if(e instanceof Date&&!isNaN(e.getTime()))return;const n=t._flags.format;return a.convert&&n&&"string"==typeof e?{value:e,errors:r("date.format",{format:n})}:{value:e,errors:r("date.base")}},rules:{compare:{method:!1,validate(e,t,{date:r},{name:a,operator:n,args:s}){const i="now"===r?Date.now():r.getTime();return o.compare(e.getTime(),i,n)?e:t.error("date."+a,{limit:s.date,value:e})},args:[{name:"date",ref:!0,normalize:e=>"now"===e?e:i.parse(e),assert:e=>null!==e,message:"must have a valid date format"}]},format:{method(e){return a(["iso","javascript","unix"].includes(e),"Unknown date format",e),this.$_setFlag("format",e)}},greater:{method(e){return this.$_addRule({name:"greater",method:"compare",args:{date:e},operator:">"})}},iso:{method(){return this.format("iso")}},less:{method(e){return this.$_addRule({name:"less",method:"compare",args:{date:e},operator:"<"})}},max:{method(e){return this.$_addRule({name:"max",method:"compare",args:{date:e},operator:"<="})}},min:{method(e){return this.$_addRule({name:"min",method:"compare",args:{date:e},operator:">="})}},timestamp:{method(e="javascript"){return a(["javascript","unix"].includes(e),'"type" must be one of "javascript, unix"'),this.format(e)}}},cast:{number:{from:i.isDate,to:(e,t)=>e.getTime()},string:{from:i.isDate,to:(e,{prefs:t})=>s.date(e,t)}},messages:{"date.base":"{{#label}} must be a valid date","date.format":'{{#label}} must be in {msg("date.format." + #format) || #format} format',"date.greater":"{{#label}} must be greater than {{:#limit}}","date.less":"{{#label}} must be less than {{:#limit}}","date.max":"{{#label}} must be less than or equal to {{:#limit}}","date.min":"{{#label}} must be greater than or equal to {{:#limit}}","date.format.iso":"ISO 8601 date","date.format.javascript":"timestamp or number of milliseconds","date.format.unix":"timestamp or number of seconds"}}),i.parse=function(e,t){if(e instanceof Date)return e;if("string"!=typeof e&&(isNaN(e)||!isFinite(e)))return null;if(/^\s*$/.test(e))return null;if("iso"===t)return o.isIsoDate(e)?i.date(e.toString()):null;const r=e;if("string"==typeof e&&/^[+-]?\d+(\.\d+)?$/.test(e)&&(e=parseFloat(e)),t){if("javascript"===t)return i.date(1*e);if("unix"===t)return i.date(1e3*e);if("string"==typeof r)return null}return i.date(e)},i.date=function(e){const t=new Date(e);return isNaN(t.getTime())?null:t}},390:(e,t,r)=>{"use strict";const a=r(375),n=r(7824);e.exports=n.extend({type:"function",properties:{typeof:"function"},rules:{arity:{method(e){return a(Number.isSafeInteger(e)&&e>=0,"n must be a positive integer"),this.$_addRule({name:"arity",args:{n:e}})},validate:(e,t,{n:r})=>e.length===r?e:t.error("function.arity",{n:r})},class:{method(){return this.$_addRule("class")},validate:(e,t)=>/^\s*class\s/.test(e.toString())?e:t.error("function.class",{value:e})},minArity:{method(e){return a(Number.isSafeInteger(e)&&e>0,"n must be a strict positive integer"),this.$_addRule({name:"minArity",args:{n:e}})},validate:(e,t,{n:r})=>e.length>=r?e:t.error("function.minArity",{n:r})},maxArity:{method(e){return a(Number.isSafeInteger(e)&&e>=0,"n must be a positive integer"),this.$_addRule({name:"maxArity",args:{n:e}})},validate:(e,t,{n:r})=>e.length<=r?e:t.error("function.maxArity",{n:r})}},messages:{"function.arity":"{{#label}} must have an arity of {{#n}}","function.class":"{{#label}} must be a class","function.maxArity":"{{#label}} must have an arity lesser or equal to {{#n}}","function.minArity":"{{#label}} must have an arity greater or equal to {{#n}}"}})},7824:(e,t,r)=>{"use strict";const a=r(978),n=r(375),o=r(8571),s=r(3652),i=r(8068),l=r(8160),c=r(3292),u=r(6354),d=r(6133),p=r(3328),g={renameDefaults:{alias:!1,multiple:!1,override:!1}};e.exports=i.extend({type:"_keys",properties:{typeof:"object"},flags:{unknown:{default:void 0}},terms:{dependencies:{init:null},keys:{init:null,manifest:{mapped:{from:"schema",to:"key"}}},patterns:{init:null},renames:{init:null}},args:(e,t)=>e.keys(t),validate(e,{schema:t,error:r,state:a,prefs:n}){if(!e||typeof e!==t.$_property("typeof")||Array.isArray(e))return{value:e,errors:r("object.base",{type:t.$_property("typeof")})};if(!(t.$_terms.renames||t.$_terms.dependencies||t.$_terms.keys||t.$_terms.patterns||t.$_terms.externals))return;e=g.clone(e,n);const o=[];if(t.$_terms.renames&&!g.rename(t,e,a,n,o))return{value:e,errors:o};if(!t.$_terms.keys&&!t.$_terms.patterns&&!t.$_terms.dependencies)return{value:e,errors:o};const s=new Set(Object.keys(e));if(t.$_terms.keys){const r=[e,...a.ancestors];for(const i of t.$_terms.keys){const t=i.key,l=e[t];s.delete(t);const c=a.localize([...a.path,t],r,i),u=i.schema.$_validate(l,c,n);if(u.errors){if(n.abortEarly)return{value:e,errors:u.errors};void 0!==u.value&&(e[t]=u.value),o.push(...u.errors)}else"strip"===i.schema._flags.result||void 0===u.value&&void 0!==l?delete e[t]:void 0!==u.value&&(e[t]=u.value)}}if(s.size||t._flags._hasPatternMatch){const r=g.unknown(t,e,s,o,a,n);if(r)return r}if(t.$_terms.dependencies)for(const r of t.$_terms.dependencies){if(null!==r.key&&!1===g.isPresent(r.options)(r.key.resolve(e,a,n,null,{shadow:!1})))continue;const s=g.dependencies[r.rel](t,r,e,a,n);if(s){const r=t.$_createError(s.code,e,s.context,a,n);if(n.abortEarly)return{value:e,errors:r};o.push(r)}}return{value:e,errors:o}},rules:{and:{method(...e){return l.verifyFlat(e,"and"),g.dependency(this,"and",null,e)}},append:{method(e){return null==e||0===Object.keys(e).length?this:this.keys(e)}},assert:{method(e,t,r){p.isTemplate(e)||(e=c.ref(e)),n(void 0===r||"string"==typeof r,"Message must be a string"),t=this.$_compile(t,{appendPath:!0});const a=this.$_addRule({name:"assert",args:{subject:e,schema:t,message:r}});return a.$_mutateRegister(e),a.$_mutateRegister(t),a},validate(e,{error:t,prefs:r,state:a},{subject:n,schema:o,message:s}){const i=n.resolve(e,a,r),l=d.isRef(n)?n.absolute(a):[];return o.$_match(i,a.localize(l,[e,...a.ancestors],o),r)?e:t("object.assert",{subject:n,message:s})},args:["subject","schema","message"],multi:!0},instance:{method(e,t){return n("function"==typeof e,"constructor must be a function"),t=t||e.name,this.$_addRule({name:"instance",args:{constructor:e,name:t}})},validate:(e,t,{constructor:r,name:a})=>e instanceof r?e:t.error("object.instance",{type:a,value:e}),args:["constructor","name"]},keys:{method(e){n(void 0===e||"object"==typeof e,"Object schema must be a valid object"),n(!l.isSchema(e),"Object schema cannot be a joi schema");const t=this.clone();if(e)if(Object.keys(e).length){t.$_terms.keys=t.$_terms.keys?t.$_terms.keys.filter((t=>!e.hasOwnProperty(t.key))):new g.Keys;for(const r in e)l.tryWithPath((()=>t.$_terms.keys.push({key:r,schema:this.$_compile(e[r])})),r)}else t.$_terms.keys=new g.Keys;else t.$_terms.keys=null;return t.$_mutateRebuild()}},length:{method(e){return this.$_addRule({name:"length",args:{limit:e},operator:"="})},validate:(e,t,{limit:r},{name:a,operator:n,args:o})=>l.compare(Object.keys(e).length,r,n)?e:t.error("object."+a,{limit:o.limit,value:e}),args:[{name:"limit",ref:!0,assert:l.limit,message:"must be a positive integer"}]},max:{method(e){return this.$_addRule({name:"max",method:"length",args:{limit:e},operator:"<="})}},min:{method(e){return this.$_addRule({name:"min",method:"length",args:{limit:e},operator:">="})}},nand:{method(...e){return l.verifyFlat(e,"nand"),g.dependency(this,"nand",null,e)}},or:{method(...e){return l.verifyFlat(e,"or"),g.dependency(this,"or",null,e)}},oxor:{method(...e){return g.dependency(this,"oxor",null,e)}},pattern:{method(e,t,r={}){const a=e instanceof RegExp;a||(e=this.$_compile(e,{appendPath:!0})),n(void 0!==t,"Invalid rule"),l.assertOptions(r,["fallthrough","matches"]),a&&n(!e.flags.includes("g")&&!e.flags.includes("y"),"pattern should not use global or sticky mode"),t=this.$_compile(t,{appendPath:!0});const o=this.clone();o.$_terms.patterns=o.$_terms.patterns||[];const s={[a?"regex":"schema"]:e,rule:t};return r.matches&&(s.matches=this.$_compile(r.matches),"array"!==s.matches.type&&(s.matches=s.matches.$_root.array().items(s.matches)),o.$_mutateRegister(s.matches),o.$_setFlag("_hasPatternMatch",!0,{clone:!1})),r.fallthrough&&(s.fallthrough=!0),o.$_terms.patterns.push(s),o.$_mutateRegister(t),o}},ref:{method(){return this.$_addRule("ref")},validate:(e,t)=>d.isRef(e)?e:t.error("object.refType",{value:e})},regex:{method(){return this.$_addRule("regex")},validate:(e,t)=>e instanceof RegExp?e:t.error("object.regex",{value:e})},rename:{method(e,t,r={}){n("string"==typeof e||e instanceof RegExp,"Rename missing the from argument"),n("string"==typeof t||t instanceof p,"Invalid rename to argument"),n(t!==e,"Cannot rename key to same name:",e),l.assertOptions(r,["alias","ignoreUndefined","override","multiple"]);const o=this.clone();o.$_terms.renames=o.$_terms.renames||[];for(const t of o.$_terms.renames)n(t.from!==e,"Cannot rename the same key multiple times");return t instanceof p&&o.$_mutateRegister(t),o.$_terms.renames.push({from:e,to:t,options:a(g.renameDefaults,r)}),o}},schema:{method(e="any"){return this.$_addRule({name:"schema",args:{type:e}})},validate:(e,t,{type:r})=>!l.isSchema(e)||"any"!==r&&e.type!==r?t.error("object.schema",{type:r}):e},unknown:{method(e){return this.$_setFlag("unknown",!1!==e)}},with:{method(e,t,r={}){return g.dependency(this,"with",e,t,r)}},without:{method(e,t,r={}){return g.dependency(this,"without",e,t,r)}},xor:{method(...e){return l.verifyFlat(e,"xor"),g.dependency(this,"xor",null,e)}}},overrides:{default(e,t){return void 0===e&&(e=l.symbols.deepDefault),this.$_parent("default",e,t)}},rebuild(e){if(e.$_terms.keys){const t=new s.Sorter;for(const r of e.$_terms.keys)l.tryWithPath((()=>t.add(r,{after:r.schema.$_rootReferences(),group:r.key})),r.key);e.$_terms.keys=new g.Keys(...t.nodes)}},manifest:{build(e,t){if(t.keys&&(e=e.keys(t.keys)),t.dependencies)for(const{rel:r,key:a=null,peers:n,options:o}of t.dependencies)e=g.dependency(e,r,a,n,o);if(t.patterns)for(const{regex:r,schema:a,rule:n,fallthrough:o,matches:s}of t.patterns)e=e.pattern(r||a,n,{fallthrough:o,matches:s});if(t.renames)for(const{from:r,to:a,options:n}of t.renames)e=e.rename(r,a,n);return e}},messages:{"object.and":"{{#label}} contains {{#presentWithLabels}} without its required peers {{#missingWithLabels}}","object.assert":'{{#label}} is invalid because {if(#subject.key, `"` + #subject.key + `" failed to ` + (#message || "pass the assertion test"), #message || "the assertion failed")}',"object.base":"{{#label}} must be of type {{#type}}","object.instance":"{{#label}} must be an instance of {{:#type}}","object.length":'{{#label}} must have {{#limit}} key{if(#limit == 1, "", "s")}',"object.max":'{{#label}} must have less than or equal to {{#limit}} key{if(#limit == 1, "", "s")}',"object.min":'{{#label}} must have at least {{#limit}} key{if(#limit == 1, "", "s")}',"object.missing":"{{#label}} must contain at least one of {{#peersWithLabels}}","object.nand":"{{:#mainWithLabel}} must not exist simultaneously with {{#peersWithLabels}}","object.oxor":"{{#label}} contains a conflict between optional exclusive peers {{#peersWithLabels}}","object.pattern.match":"{{#label}} keys failed to match pattern requirements","object.refType":"{{#label}} must be a Joi reference","object.regex":"{{#label}} must be a RegExp object","object.rename.multiple":"{{#label}} cannot rename {{:#from}} because multiple renames are disabled and another key was already renamed to {{:#to}}","object.rename.override":"{{#label}} cannot rename {{:#from}} because override is disabled and target {{:#to}} exists","object.schema":"{{#label}} must be a Joi schema of {{#type}} type","object.unknown":"{{#label}} is not allowed","object.with":"{{:#mainWithLabel}} missing required peer {{:#peerWithLabel}}","object.without":"{{:#mainWithLabel}} conflict with forbidden peer {{:#peerWithLabel}}","object.xor":"{{#label}} contains a conflict between exclusive peers {{#peersWithLabels}}"}}),g.clone=function(e,t){if("object"==typeof e){if(t.nonEnumerables)return o(e,{shallow:!0});const r=Object.create(Object.getPrototypeOf(e));return Object.assign(r,e),r}const r=function(...t){return e.apply(this,t)};return r.prototype=o(e.prototype),Object.defineProperty(r,"name",{value:e.name,writable:!1}),Object.defineProperty(r,"length",{value:e.length,writable:!1}),Object.assign(r,e),r},g.dependency=function(e,t,r,a,o){n(null===r||"string"==typeof r,t,"key must be a strings"),o||(o=a.length>1&&"object"==typeof a[a.length-1]?a.pop():{}),l.assertOptions(o,["separator","isPresent"]),a=[].concat(a);const s=l.default(o.separator,"."),i=[];for(const e of a)n("string"==typeof e,t,"peers must be strings"),i.push(c.ref(e,{separator:s,ancestor:0,prefix:!1}));null!==r&&(r=c.ref(r,{separator:s,ancestor:0,prefix:!1}));const u=e.clone();return u.$_terms.dependencies=u.$_terms.dependencies||[],u.$_terms.dependencies.push(new g.Dependency(t,r,i,a,o)),u},g.dependencies={and(e,t,r,a,n){const o=[],s=[],i=t.peers.length,l=g.isPresent(t.options);for(const e of t.peers)!1===l(e.resolve(r,a,n,null,{shadow:!1}))?o.push(e.key):s.push(e.key);if(o.length!==i&&s.length!==i)return{code:"object.and",context:{present:s,presentWithLabels:g.keysToLabels(e,s),missing:o,missingWithLabels:g.keysToLabels(e,o)}}},nand(e,t,r,a,n){const o=[],s=g.isPresent(t.options);for(const e of t.peers)s(e.resolve(r,a,n,null,{shadow:!1}))&&o.push(e.key);if(o.length!==t.peers.length)return;const i=t.paths[0],l=t.paths.slice(1);return{code:"object.nand",context:{main:i,mainWithLabel:g.keysToLabels(e,i),peers:l,peersWithLabels:g.keysToLabels(e,l)}}},or(e,t,r,a,n){const o=g.isPresent(t.options);for(const e of t.peers)if(o(e.resolve(r,a,n,null,{shadow:!1})))return;return{code:"object.missing",context:{peers:t.paths,peersWithLabels:g.keysToLabels(e,t.paths)}}},oxor(e,t,r,a,n){const o=[],s=g.isPresent(t.options);for(const e of t.peers)s(e.resolve(r,a,n,null,{shadow:!1}))&&o.push(e.key);if(!o.length||1===o.length)return;const i={peers:t.paths,peersWithLabels:g.keysToLabels(e,t.paths)};return i.present=o,i.presentWithLabels=g.keysToLabels(e,o),{code:"object.oxor",context:i}},with(e,t,r,a,n){const o=g.isPresent(t.options);for(const s of t.peers)if(!1===o(s.resolve(r,a,n,null,{shadow:!1})))return{code:"object.with",context:{main:t.key.key,mainWithLabel:g.keysToLabels(e,t.key.key),peer:s.key,peerWithLabel:g.keysToLabels(e,s.key)}}},without(e,t,r,a,n){const o=g.isPresent(t.options);for(const s of t.peers)if(o(s.resolve(r,a,n,null,{shadow:!1})))return{code:"object.without",context:{main:t.key.key,mainWithLabel:g.keysToLabels(e,t.key.key),peer:s.key,peerWithLabel:g.keysToLabels(e,s.key)}}},xor(e,t,r,a,n){const o=[],s=g.isPresent(t.options);for(const e of t.peers)s(e.resolve(r,a,n,null,{shadow:!1}))&&o.push(e.key);if(1===o.length)return;const i={peers:t.paths,peersWithLabels:g.keysToLabels(e,t.paths)};return 0===o.length?{code:"object.missing",context:i}:(i.present=o,i.presentWithLabels=g.keysToLabels(e,o),{code:"object.xor",context:i})}},g.keysToLabels=function(e,t){return Array.isArray(t)?t.map((t=>e.$_mapLabels(t))):e.$_mapLabels(t)},g.isPresent=function(e){return"function"==typeof e.isPresent?e.isPresent:e=>void 0!==e},g.rename=function(e,t,r,a,n){const o={};for(const s of e.$_terms.renames){const i=[],l="string"!=typeof s.from;if(l)for(const e in t){if(void 0===t[e]&&s.options.ignoreUndefined)continue;if(e===s.to)continue;const r=s.from.exec(e);r&&i.push({from:e,to:s.to,match:r})}else!Object.prototype.hasOwnProperty.call(t,s.from)||void 0===t[s.from]&&s.options.ignoreUndefined||i.push(s);for(const c of i){const i=c.from;let u=c.to;if(u instanceof p&&(u=u.render(t,r,a,c.match)),i!==u){if(!s.options.multiple&&o[u]&&(n.push(e.$_createError("object.rename.multiple",t,{from:i,to:u,pattern:l},r,a)),a.abortEarly))return!1;if(Object.prototype.hasOwnProperty.call(t,u)&&!s.options.override&&!o[u]&&(n.push(e.$_createError("object.rename.override",t,{from:i,to:u,pattern:l},r,a)),a.abortEarly))return!1;void 0===t[i]?delete t[u]:t[u]=t[i],o[u]=!0,s.options.alias||delete t[i]}}}return!0},g.unknown=function(e,t,r,a,n,o){if(e.$_terms.patterns){let s=!1;const i=e.$_terms.patterns.map((e=>{if(e.matches)return s=!0,[]})),l=[t,...n.ancestors];for(const s of r){const c=t[s],u=[...n.path,s];for(let d=0;d{"use strict";const a=r(375),n=r(8068),o=r(8160),s=r(3292),i=r(6354),l={};e.exports=n.extend({type:"link",properties:{schemaChain:!0},terms:{link:{init:null,manifest:"single",register:!1}},args:(e,t)=>e.ref(t),validate(e,{schema:t,state:r,prefs:n}){a(t.$_terms.link,"Uninitialized link schema");const o=l.generate(t,e,r,n),s=t.$_terms.link[0].ref;return o.$_validate(e,r.nest(o,`link:${s.display}:${o.type}`),n)},generate:(e,t,r,a)=>l.generate(e,t,r,a),rules:{ref:{method(e){a(!this.$_terms.link,"Cannot reinitialize schema"),e=s.ref(e),a("value"===e.type||"local"===e.type,"Invalid reference type:",e.type),a("local"===e.type||"root"===e.ancestor||e.ancestor>0,"Link cannot reference itself");const t=this.clone();return t.$_terms.link=[{ref:e}],t}},relative:{method(e=!0){return this.$_setFlag("relative",e)}}},overrides:{concat(e){a(this.$_terms.link,"Uninitialized link schema"),a(o.isSchema(e),"Invalid schema object"),a("link"!==e.type,"Cannot merge type link with another link");const t=this.clone();return t.$_terms.whens||(t.$_terms.whens=[]),t.$_terms.whens.push({concat:e}),t.$_mutateRebuild()}},manifest:{build:(e,t)=>(a(t.link,"Invalid link description missing link"),e.ref(t.link))}}),l.generate=function(e,t,r,a){let n=r.mainstay.links.get(e);if(n)return n._generate(t,r,a).schema;const o=e.$_terms.link[0].ref,{perspective:s,path:i}=l.perspective(o,r);l.assert(s,"which is outside of schema boundaries",o,e,r,a);try{n=i.length?s.$_reach(i):s}catch(t){l.assert(!1,"to non-existing schema",o,e,r,a)}return l.assert("link"!==n.type,"which is another link",o,e,r,a),e._flags.relative||r.mainstay.links.set(e,n),n._generate(t,r,a).schema},l.perspective=function(e,t){if("local"===e.type){for(const{schema:r,key:a}of t.schemas){if((r._flags.id||a)===e.path[0])return{perspective:r,path:e.path.slice(1)};if(r.$_terms.shared)for(const t of r.$_terms.shared)if(t._flags.id===e.path[0])return{perspective:t,path:e.path.slice(1)}}return{perspective:null,path:null}}return"root"===e.ancestor?{perspective:t.schemas[t.schemas.length-1].schema,path:e.path}:{perspective:t.schemas[e.ancestor]&&t.schemas[e.ancestor].schema,path:e.path}},l.assert=function(e,t,r,n,o,s){e||a(!1,`"${i.label(n._flags,o,s)}" contains link reference "${r.display}" ${t}`)}},3832:(e,t,r)=>{"use strict";const a=r(375),n=r(8068),o=r(8160),s={numberRx:/^\s*[+-]?(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:e([+-]?\d+))?\s*$/i,precisionRx:/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/,exponentialPartRegex:/[eE][+-]?\d+$/,leadingSignAndZerosRegex:/^[+-]?(0*)?/,dotRegex:/\./,trailingZerosRegex:/0+$/,decimalPlaces(e){const t=e.toString(),r=t.indexOf("."),a=t.indexOf("e");return(r<0?0:(a<0?t.length:a)-r-1)+(a<0?0:Math.max(0,-parseInt(t.slice(a+1))))}};e.exports=n.extend({type:"number",flags:{unsafe:{default:!1}},coerce:{from:"string",method(e,{schema:t,error:r}){if(!e.match(s.numberRx))return;e=e.trim();const a={value:parseFloat(e)};if(0===a.value&&(a.value=0),!t._flags.unsafe)if(e.match(/e/i)){if(s.extractSignificantDigits(e)!==s.extractSignificantDigits(String(a.value)))return a.errors=r("number.unsafe"),a}else{const t=a.value.toString();if(t.match(/e/i))return a;if(t!==s.normalizeDecimal(e))return a.errors=r("number.unsafe"),a}return a}},validate(e,{schema:t,error:r,prefs:a}){if(e===1/0||e===-1/0)return{value:e,errors:r("number.infinity")};if(!o.isNumber(e))return{value:e,errors:r("number.base")};const n={value:e};if(a.convert){const e=t.$_getRule("precision");if(e){const t=Math.pow(10,e.args.limit);n.value=Math.round(n.value*t)/t}}return 0===n.value&&(n.value=0),!t._flags.unsafe&&(e>Number.MAX_SAFE_INTEGER||eo.compare(e,r,n)?e:t.error("number."+a,{limit:s.limit,value:e}),args:[{name:"limit",ref:!0,assert:o.isNumber,message:"must be a number"}]},greater:{method(e){return this.$_addRule({name:"greater",method:"compare",args:{limit:e},operator:">"})}},integer:{method(){return this.$_addRule("integer")},validate:(e,t)=>Math.trunc(e)-e==0?e:t.error("number.integer")},less:{method(e){return this.$_addRule({name:"less",method:"compare",args:{limit:e},operator:"<"})}},max:{method(e){return this.$_addRule({name:"max",method:"compare",args:{limit:e},operator:"<="})}},min:{method(e){return this.$_addRule({name:"min",method:"compare",args:{limit:e},operator:">="})}},multiple:{method(e){const t="number"==typeof e?s.decimalPlaces(e):null,r=Math.pow(10,t);return this.$_addRule({name:"multiple",args:{base:e,baseDecimalPlace:t,pfactor:r}})},validate:(e,t,{base:r,baseDecimalPlace:a,pfactor:n},o)=>s.decimalPlaces(e)>a?t.error("number.multiple",{multiple:o.args.base,value:e}):Math.round(n*e)%Math.round(n*r)==0?e:t.error("number.multiple",{multiple:o.args.base,value:e}),args:[{name:"base",ref:!0,assert:e=>"number"==typeof e&&isFinite(e)&&e>0,message:"must be a positive number"},"baseDecimalPlace","pfactor"],multi:!0},negative:{method(){return this.sign("negative")}},port:{method(){return this.$_addRule("port")},validate:(e,t)=>Number.isSafeInteger(e)&&e>=0&&e<=65535?e:t.error("number.port")},positive:{method(){return this.sign("positive")}},precision:{method(e){return a(Number.isSafeInteger(e),"limit must be an integer"),this.$_addRule({name:"precision",args:{limit:e}})},validate(e,t,{limit:r}){const a=e.toString().match(s.precisionRx);return Math.max((a[1]?a[1].length:0)-(a[2]?parseInt(a[2],10):0),0)<=r?e:t.error("number.precision",{limit:r,value:e})},convert:!0},sign:{method(e){return a(["negative","positive"].includes(e),"Invalid sign",e),this.$_addRule({name:"sign",args:{sign:e}})},validate:(e,t,{sign:r})=>"negative"===r&&e<0||"positive"===r&&e>0?e:t.error(`number.${r}`)},unsafe:{method(e=!0){return a("boolean"==typeof e,"enabled must be a boolean"),this.$_setFlag("unsafe",e)}}},cast:{string:{from:e=>"number"==typeof e,to:(e,t)=>e.toString()}},messages:{"number.base":"{{#label}} must be a number","number.greater":"{{#label}} must be greater than {{#limit}}","number.infinity":"{{#label}} cannot be infinity","number.integer":"{{#label}} must be an integer","number.less":"{{#label}} must be less than {{#limit}}","number.max":"{{#label}} must be less than or equal to {{#limit}}","number.min":"{{#label}} must be greater than or equal to {{#limit}}","number.multiple":"{{#label}} must be a multiple of {{#multiple}}","number.negative":"{{#label}} must be a negative number","number.port":"{{#label}} must be a valid port","number.positive":"{{#label}} must be a positive number","number.precision":"{{#label}} must have no more than {{#limit}} decimal places","number.unsafe":"{{#label}} must be a safe number"}}),s.extractSignificantDigits=function(e){return e.replace(s.exponentialPartRegex,"").replace(s.dotRegex,"").replace(s.trailingZerosRegex,"").replace(s.leadingSignAndZerosRegex,"")},s.normalizeDecimal=function(e){return(e=e.replace(/^\+/,"").replace(/\.0*$/,"").replace(/^(-?)\.([^\.]*)$/,"$10.$2").replace(/^(-?)0+([0-9])/,"$1$2")).includes(".")&&e.endsWith("0")&&(e=e.replace(/0+$/,"")),"-0"===e?"0":e}},8966:(e,t,r)=>{"use strict";const a=r(7824);e.exports=a.extend({type:"object",cast:{map:{from:e=>e&&"object"==typeof e,to:(e,t)=>new Map(Object.entries(e))}}})},7417:(e,t,r)=>{"use strict";const a=r(375),n=r(5380),o=r(1745),s=r(9959),i=r(6064),l=r(9926),c=r(5752),u=r(8068),d=r(8160),p={tlds:l instanceof Set&&{tlds:{allow:l,deny:null}},base64Regex:{true:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}==|[\w\-]{3}=)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/},false:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}(==)?|[\w\-]{3}=?)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}(==)?|[A-Za-z0-9+\/]{3}=?)?$/}},dataUriRegex:/^data:[\w+.-]+\/[\w+.-]+;((charset=[\w-]+|base64),)?(.*)$/,hexRegex:{withPrefix:/^0x[0-9a-f]+$/i,withOptionalPrefix:/^(?:0x)?[0-9a-f]+$/i,withoutPrefix:/^[0-9a-f]+$/i},ipRegex:s.regex({cidr:"forbidden"}).regex,isoDurationRegex:/^P(?!$)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?$/,guidBrackets:{"{":"}","[":"]","(":")","":""},guidVersions:{uuidv1:"1",uuidv2:"2",uuidv3:"3",uuidv4:"4",uuidv5:"5",uuidv6:"6",uuidv7:"7",uuidv8:"8"},guidSeparators:new Set([void 0,!0,!1,"-",":"]),normalizationForms:["NFC","NFD","NFKC","NFKD"]};e.exports=u.extend({type:"string",flags:{insensitive:{default:!1},truncate:{default:!1}},terms:{replacements:{init:null}},coerce:{from:"string",method(e,{schema:t,state:r,prefs:a}){const n=t.$_getRule("normalize");n&&(e=e.normalize(n.args.form));const o=t.$_getRule("case");o&&(e="upper"===o.args.direction?e.toLocaleUpperCase():e.toLocaleLowerCase());const s=t.$_getRule("trim");if(s&&s.args.enabled&&(e=e.trim()),t.$_terms.replacements)for(const r of t.$_terms.replacements)e=e.replace(r.pattern,r.replacement);const i=t.$_getRule("hex");if(i&&i.args.options.byteAligned&&e.length%2!=0&&(e=`0${e}`),t.$_getRule("isoDate")){const t=p.isoDate(e);t&&(e=t)}if(t._flags.truncate){const n=t.$_getRule("max");if(n){let o=n.args.limit;if(d.isResolvable(o)&&(o=o.resolve(e,r,a),!d.limit(o)))return{value:e,errors:t.$_createError("any.ref",o,{ref:n.args.limit,arg:"limit",reason:"must be a positive integer"},r,a)};e=e.slice(0,o)}}return{value:e}}},validate(e,{schema:t,error:r}){if("string"!=typeof e)return{value:e,errors:r("string.base")};if(""===e){const a=t.$_getRule("min");if(a&&0===a.args.limit)return;return{value:e,errors:r("string.empty")}}},rules:{alphanum:{method(){return this.$_addRule("alphanum")},validate:(e,t)=>/^[a-zA-Z0-9]+$/.test(e)?e:t.error("string.alphanum")},base64:{method(e={}){return d.assertOptions(e,["paddingRequired","urlSafe"]),e={urlSafe:!1,paddingRequired:!0,...e},a("boolean"==typeof e.paddingRequired,"paddingRequired must be boolean"),a("boolean"==typeof e.urlSafe,"urlSafe must be boolean"),this.$_addRule({name:"base64",args:{options:e}})},validate:(e,t,{options:r})=>p.base64Regex[r.paddingRequired][r.urlSafe].test(e)?e:t.error("string.base64")},case:{method(e){return a(["lower","upper"].includes(e),"Invalid case:",e),this.$_addRule({name:"case",args:{direction:e}})},validate:(e,t,{direction:r})=>"lower"===r&&e===e.toLocaleLowerCase()||"upper"===r&&e===e.toLocaleUpperCase()?e:t.error(`string.${r}case`),convert:!0},creditCard:{method(){return this.$_addRule("creditCard")},validate(e,t){let r=e.length,a=0,n=1;for(;r--;){const t=e.charAt(r)*n;a+=t-9*(t>9),n^=3}return a>0&&a%10==0?e:t.error("string.creditCard")}},dataUri:{method(e={}){return d.assertOptions(e,["paddingRequired"]),e={paddingRequired:!0,...e},a("boolean"==typeof e.paddingRequired,"paddingRequired must be boolean"),this.$_addRule({name:"dataUri",args:{options:e}})},validate(e,t,{options:r}){const a=e.match(p.dataUriRegex);if(a){if(!a[2])return e;if("base64"!==a[2])return e;if(p.base64Regex[r.paddingRequired].false.test(a[3]))return e}return t.error("string.dataUri")}},domain:{method(e){e&&d.assertOptions(e,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);const t=p.addressOptions(e);return this.$_addRule({name:"domain",args:{options:e},address:t})},validate:(e,t,r,{address:a})=>n.isValid(e,a)?e:t.error("string.domain")},email:{method(e={}){d.assertOptions(e,["allowFullyQualified","allowUnicode","ignoreLength","maxDomainSegments","minDomainSegments","multiple","separator","tlds"]),a(void 0===e.multiple||"boolean"==typeof e.multiple,"multiple option must be an boolean");const t=p.addressOptions(e),r=new RegExp(`\\s*[${e.separator?i(e.separator):","}]\\s*`);return this.$_addRule({name:"email",args:{options:e},regex:r,address:t})},validate(e,t,{options:r},{regex:a,address:n}){const s=r.multiple?e.split(a):[e],i=[];for(const e of s)o.isValid(e,n)||i.push(e);return i.length?t.error("string.email",{value:e,invalids:i}):e}},guid:{alias:"uuid",method(e={}){d.assertOptions(e,["version","separator"]);let t="";if(e.version){const r=[].concat(e.version);a(r.length>=1,"version must have at least 1 valid version specified");const n=new Set;for(let e=0;e("optional"===r.prefix?p.hexRegex.withOptionalPrefix:!0===r.prefix?p.hexRegex.withPrefix:p.hexRegex.withoutPrefix).test(e)?r.byteAligned&&e.length%2!=0?t.error("string.hexAlign"):e:t.error("string.hex")},hostname:{method(){return this.$_addRule("hostname")},validate:(e,t)=>n.isValid(e,{minDomainSegments:1})||p.ipRegex.test(e)?e:t.error("string.hostname")},insensitive:{method(){return this.$_setFlag("insensitive",!0)}},ip:{method(e={}){d.assertOptions(e,["cidr","version"]);const{cidr:t,versions:r,regex:a}=s.regex(e),n=e.version?r:void 0;return this.$_addRule({name:"ip",args:{options:{cidr:t,version:n}},regex:a})},validate:(e,t,{options:r},{regex:a})=>a.test(e)?e:r.version?t.error("string.ipVersion",{value:e,cidr:r.cidr,version:r.version}):t.error("string.ip",{value:e,cidr:r.cidr})},isoDate:{method(){return this.$_addRule("isoDate")},validate:(e,{error:t})=>p.isoDate(e)?e:t("string.isoDate")},isoDuration:{method(){return this.$_addRule("isoDuration")},validate:(e,t)=>p.isoDurationRegex.test(e)?e:t.error("string.isoDuration")},length:{method(e,t){return p.length(this,"length",e,"=",t)},validate(e,t,{limit:r,encoding:a},{name:n,operator:o,args:s}){const i=!a&&e.length;return d.compare(i,r,o)?e:t.error("string."+n,{limit:s.limit,value:e,encoding:a})},args:[{name:"limit",ref:!0,assert:d.limit,message:"must be a positive integer"},"encoding"]},lowercase:{method(){return this.case("lower")}},max:{method(e,t){return p.length(this,"max",e,"<=",t)},args:["limit","encoding"]},min:{method(e,t){return p.length(this,"min",e,">=",t)},args:["limit","encoding"]},normalize:{method(e="NFC"){return a(p.normalizationForms.includes(e),"normalization form must be one of "+p.normalizationForms.join(", ")),this.$_addRule({name:"normalize",args:{form:e}})},validate:(e,{error:t},{form:r})=>e===e.normalize(r)?e:t("string.normalize",{value:e,form:r}),convert:!0},pattern:{alias:"regex",method(e,t={}){a(e instanceof RegExp,"regex must be a RegExp"),a(!e.flags.includes("g")&&!e.flags.includes("y"),"regex should not use global or sticky mode"),"string"==typeof t&&(t={name:t}),d.assertOptions(t,["invert","name"]);const r=["string.pattern",t.invert?".invert":"",t.name?".name":".base"].join("");return this.$_addRule({name:"pattern",args:{regex:e,options:t},errorCode:r})},validate:(e,t,{regex:r,options:a},{errorCode:n})=>r.test(e)^a.invert?e:t.error(n,{name:a.name,regex:r,value:e}),args:["regex","options"],multi:!0},replace:{method(e,t){"string"==typeof e&&(e=new RegExp(i(e),"g")),a(e instanceof RegExp,"pattern must be a RegExp"),a("string"==typeof t,"replacement must be a String");const r=this.clone();return r.$_terms.replacements||(r.$_terms.replacements=[]),r.$_terms.replacements.push({pattern:e,replacement:t}),r}},token:{method(){return this.$_addRule("token")},validate:(e,t)=>/^\w+$/.test(e)?e:t.error("string.token")},trim:{method(e=!0){return a("boolean"==typeof e,"enabled must be a boolean"),this.$_addRule({name:"trim",args:{enabled:e}})},validate:(e,t,{enabled:r})=>r&&e!==e.trim()?t.error("string.trim"):e,convert:!0},truncate:{method(e=!0){return a("boolean"==typeof e,"enabled must be a boolean"),this.$_setFlag("truncate",e)}},uppercase:{method(){return this.case("upper")}},uri:{method(e={}){d.assertOptions(e,["allowRelative","allowQuerySquareBrackets","domain","relativeOnly","scheme","encodeUri"]),e.domain&&d.assertOptions(e.domain,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);const{regex:t,scheme:r}=c.regex(e),a=e.domain?p.addressOptions(e.domain):null;return this.$_addRule({name:"uri",args:{options:e},regex:t,domain:a,scheme:r})},validate(e,t,{options:r},{regex:a,domain:o,scheme:s}){if(["http:/","https:/"].includes(e))return t.error("string.uri");let i=a.exec(e);if(!i&&t.prefs.convert&&r.encodeUri){const t=encodeURI(e);i=a.exec(t),i&&(e=t)}if(i){const a=i[1]||i[2];return!o||r.allowRelative&&!a||n.isValid(a,o)?e:t.error("string.domain",{value:a})}return r.relativeOnly?t.error("string.uriRelativeOnly"):r.scheme?t.error("string.uriCustomScheme",{scheme:s,value:e}):t.error("string.uri")}}},manifest:{build(e,t){if(t.replacements)for(const{pattern:r,replacement:a}of t.replacements)e=e.replace(r,a);return e}},messages:{"string.alphanum":"{{#label}} must only contain alpha-numeric characters","string.base":"{{#label}} must be a string","string.base64":"{{#label}} must be a valid base64 string","string.creditCard":"{{#label}} must be a credit card","string.dataUri":"{{#label}} must be a valid dataUri string","string.domain":"{{#label}} must contain a valid domain name","string.email":"{{#label}} must be a valid email","string.empty":"{{#label}} is not allowed to be empty","string.guid":"{{#label}} must be a valid GUID","string.hex":"{{#label}} must only contain hexadecimal characters","string.hexAlign":"{{#label}} hex decoded representation must be byte aligned","string.hostname":"{{#label}} must be a valid hostname","string.ip":"{{#label}} must be a valid ip address with a {{#cidr}} CIDR","string.ipVersion":"{{#label}} must be a valid ip address of one of the following versions {{#version}} with a {{#cidr}} CIDR","string.isoDate":"{{#label}} must be in iso format","string.isoDuration":"{{#label}} must be a valid ISO 8601 duration","string.length":"{{#label}} length must be {{#limit}} characters long","string.lowercase":"{{#label}} must only contain lowercase characters","string.max":"{{#label}} length must be less than or equal to {{#limit}} characters long","string.min":"{{#label}} length must be at least {{#limit}} characters long","string.normalize":"{{#label}} must be unicode normalized in the {{#form}} form","string.token":"{{#label}} must only contain alpha-numeric and underscore characters","string.pattern.base":"{{#label}} with value {:[.]} fails to match the required pattern: {{#regex}}","string.pattern.name":"{{#label}} with value {:[.]} fails to match the {{#name}} pattern","string.pattern.invert.base":"{{#label}} with value {:[.]} matches the inverted pattern: {{#regex}}","string.pattern.invert.name":"{{#label}} with value {:[.]} matches the inverted {{#name}} pattern","string.trim":"{{#label}} must not have leading or trailing whitespace","string.uri":"{{#label}} must be a valid uri","string.uriCustomScheme":"{{#label}} must be a valid uri with a scheme matching the {{#scheme}} pattern","string.uriRelativeOnly":"{{#label}} must be a valid relative uri","string.uppercase":"{{#label}} must only contain uppercase characters"}}),p.addressOptions=function(e){if(!e)return p.tlds||e;if(a(void 0===e.minDomainSegments||Number.isSafeInteger(e.minDomainSegments)&&e.minDomainSegments>0,"minDomainSegments must be a positive integer"),a(void 0===e.maxDomainSegments||Number.isSafeInteger(e.maxDomainSegments)&&e.maxDomainSegments>0,"maxDomainSegments must be a positive integer"),!1===e.tlds)return e;if(!0===e.tlds||void 0===e.tlds)return a(p.tlds,"Built-in TLD list disabled"),Object.assign({},e,p.tlds);a("object"==typeof e.tlds,"tlds must be true, false, or an object");const t=e.tlds.deny;if(t)return Array.isArray(t)&&(e=Object.assign({},e,{tlds:{deny:new Set(t)}})),a(e.tlds.deny instanceof Set,"tlds.deny must be an array, Set, or boolean"),a(!e.tlds.allow,"Cannot specify both tlds.allow and tlds.deny lists"),p.validateTlds(e.tlds.deny,"tlds.deny"),e;const r=e.tlds.allow;return r?!0===r?(a(p.tlds,"Built-in TLD list disabled"),Object.assign({},e,p.tlds)):(Array.isArray(r)&&(e=Object.assign({},e,{tlds:{allow:new Set(r)}})),a(e.tlds.allow instanceof Set,"tlds.allow must be an array, Set, or boolean"),p.validateTlds(e.tlds.allow,"tlds.allow"),e):e},p.validateTlds=function(e,t){for(const r of e)a(n.isValid(r,{minDomainSegments:1,maxDomainSegments:1}),`${t} must contain valid top level domain names`)},p.isoDate=function(e){if(!d.isIsoDate(e))return null;/.*T.*[+-]\d\d$/.test(e)&&(e+="00");const t=new Date(e);return isNaN(t.getTime())?null:t.toISOString()},p.length=function(e,t,r,n,o){return a(!o||!1,"Invalid encoding:",o),e.$_addRule({name:t,method:"length",args:{limit:r,encoding:o},operator:n})}},8826:(e,t,r)=>{"use strict";const a=r(375),n=r(8068),o={};o.Map=class extends Map{slice(){return new o.Map(this)}},e.exports=n.extend({type:"symbol",terms:{map:{init:new o.Map}},coerce:{method(e,{schema:t,error:r}){const a=t.$_terms.map.get(e);return a&&(e=a),t._flags.only&&"symbol"!=typeof e?{value:e,errors:r("symbol.map",{map:t.$_terms.map})}:{value:e}}},validate(e,{error:t}){if("symbol"!=typeof e)return{value:e,errors:t("symbol.base")}},rules:{map:{method(e){e&&!e[Symbol.iterator]&&"object"==typeof e&&(e=Object.entries(e)),a(e&&e[Symbol.iterator],"Iterable must be an iterable or object");const t=this.clone(),r=[];for(const n of e){a(n&&n[Symbol.iterator],"Entry must be an iterable");const[e,o]=n;a("object"!=typeof e&&"function"!=typeof e&&"symbol"!=typeof e,"Key must not be of type object, function, or Symbol"),a("symbol"==typeof o,"Value must be a Symbol"),t.$_terms.map.set(e,o),r.push(o)}return t.valid(...r)}}},manifest:{build:(e,t)=>(t.map&&(e=e.map(t.map)),e)},messages:{"symbol.base":"{{#label}} must be a symbol","symbol.map":"{{#label}} must be one of {{#map}}"}})},8863:(e,t,r)=>{"use strict";const a=r(375),n=r(8571),o=r(738),s=r(9621),i=r(8160),l=r(6354),c=r(493),u={result:Symbol("result")};t.entry=function(e,t,r){let n=i.defaults;r&&(a(void 0===r.warnings,"Cannot override warnings preference in synchronous validation"),a(void 0===r.artifacts,"Cannot override artifacts preference in synchronous validation"),n=i.preferences(i.defaults,r));const o=u.entry(e,t,n);a(!o.mainstay.externals.length,"Schema with external rules must use validateAsync()");const s={value:o.value};return o.error&&(s.error=o.error),o.mainstay.warnings.length&&(s.warning=l.details(o.mainstay.warnings)),o.mainstay.debug&&(s.debug=o.mainstay.debug),o.mainstay.artifacts&&(s.artifacts=o.mainstay.artifacts),s},t.entryAsync=async function(e,t,r){let a=i.defaults;r&&(a=i.preferences(i.defaults,r));const n=u.entry(e,t,a),o=n.mainstay;if(n.error)throw o.debug&&(n.error.debug=o.debug),n.error;if(o.externals.length){let t=n.value;const c=[];for(const n of o.externals){const d=n.state.path,p="link"===n.schema.type?o.links.get(n.schema):null;let g,m,f=t;const w=d.length?[t]:[],y=d.length?s(e,d):e;if(d.length){g=d[d.length-1];let e=t;for(const t of d.slice(0,-1))e=e[t],w.unshift(e);m=w[0],f=m[g]}try{const e=(e,t)=>(p||n.schema).$_createError(e,f,t,n.state,a),s=await n.method(f,{schema:n.schema,linked:p,state:n.state,prefs:r,original:y,error:e,errorsArray:u.errorsArray,warn:(e,t)=>o.warnings.push((p||n.schema).$_createError(e,f,t,n.state,a)),message:(e,t)=>(p||n.schema).$_createError("external",f,t,n.state,a,{messages:e})});if(void 0===s||s===f)continue;if(s instanceof l.Report){if(o.tracer.log(n.schema,n.state,"rule","external","error"),c.push(s),a.abortEarly)break;continue}if(Array.isArray(s)&&s[i.symbols.errors]){if(o.tracer.log(n.schema,n.state,"rule","external","error"),c.push(...s),a.abortEarly)break;continue}m?(o.tracer.value(n.state,"rule",f,s,"external"),m[g]=s):(o.tracer.value(n.state,"rule",t,s,"external"),t=s)}catch(e){throw a.errors.label&&(e.message+=` (${n.label})`),e}}if(n.value=t,c.length)throw n.error=l.process(c,e,a),o.debug&&(n.error.debug=o.debug),n.error}if(!a.warnings&&!a.debug&&!a.artifacts)return n.value;const c={value:n.value};return o.warnings.length&&(c.warning=l.details(o.warnings)),o.debug&&(c.debug=o.debug),o.artifacts&&(c.artifacts=o.artifacts),c},u.Mainstay=class{constructor(e,t,r){this.externals=[],this.warnings=[],this.tracer=e,this.debug=t,this.links=r,this.shadow=null,this.artifacts=null,this._snapshots=[]}snapshot(){this._snapshots.push({externals:this.externals.slice(),warnings:this.warnings.slice()})}restore(){const e=this._snapshots.pop();this.externals=e.externals,this.warnings=e.warnings}commit(){this._snapshots.pop()}},u.entry=function(e,r,a){const{tracer:n,cleanup:o}=u.tracer(r,a),s=a.debug?[]:null,i=r._ids._schemaChain?new Map:null,d=new u.Mainstay(n,s,i),p=r._ids._schemaChain?[{schema:r}]:null,g=new c([],[],{mainstay:d,schemas:p}),m=t.validate(e,r,g,a);o&&r.$_root.untrace();const f=l.process(m.errors,e,a);return{value:m.value,error:f,mainstay:d}},u.tracer=function(e,t){return e.$_root._tracer?{tracer:e.$_root._tracer._register(e)}:t.debug?(a(e.$_root.trace,"Debug mode not supported"),{tracer:e.$_root.trace()._register(e),cleanup:!0}):{tracer:u.ignore}},t.validate=function(e,t,r,a,n={}){if(t.$_terms.whens&&(t=t._generate(e,r,a).schema),t._preferences&&(a=u.prefs(t,a)),t._cache&&a.cache){const a=t._cache.get(e);if(r.mainstay.tracer.debug(r,"validate","cached",!!a),a)return a}const o=(n,o,s)=>t.$_createError(n,e,o,s||r,a),s={original:e,prefs:a,schema:t,state:r,error:o,errorsArray:u.errorsArray,warn:(e,t,a)=>r.mainstay.warnings.push(o(e,t,a)),message:(n,o)=>t.$_createError("custom",e,o,r,a,{messages:n})};r.mainstay.tracer.entry(t,r);const l=t._definition;if(l.prepare&&void 0!==e&&a.convert){const t=l.prepare(e,s);if(t){if(r.mainstay.tracer.value(r,"prepare",e,t.value),t.errors)return u.finalize(t.value,[].concat(t.errors),s);e=t.value}}if(l.coerce&&void 0!==e&&a.convert&&(!l.coerce.from||l.coerce.from.includes(typeof e))){const t=l.coerce.method(e,s);if(t){if(r.mainstay.tracer.value(r,"coerced",e,t.value),t.errors)return u.finalize(t.value,[].concat(t.errors),s);e=t.value}}const c=t._flags.empty;c&&c.$_match(u.trim(e,t),r.nest(c),i.defaults)&&(r.mainstay.tracer.value(r,"empty",e,void 0),e=void 0);const d=n.presence||t._flags.presence||(t._flags._endedSwitch?null:a.presence);if(void 0===e){if("forbidden"===d)return u.finalize(e,null,s);if("required"===d)return u.finalize(e,[t.$_createError("any.required",e,null,r,a)],s);if("optional"===d){if(t._flags.default!==i.symbols.deepDefault)return u.finalize(e,null,s);r.mainstay.tracer.value(r,"default",e,{}),e={}}}else if("forbidden"===d)return u.finalize(e,[t.$_createError("any.unknown",e,null,r,a)],s);const p=[];if(t._valids){const n=t._valids.get(e,r,a,t._flags.insensitive);if(n)return a.convert&&(r.mainstay.tracer.value(r,"valids",e,n.value),e=n.value),r.mainstay.tracer.filter(t,r,"valid",n),u.finalize(e,null,s);if(t._flags.only){const n=t.$_createError("any.only",e,{valids:t._valids.values({display:!0})},r,a);if(a.abortEarly)return u.finalize(e,[n],s);p.push(n)}}if(t._invalids){const n=t._invalids.get(e,r,a,t._flags.insensitive);if(n){r.mainstay.tracer.filter(t,r,"invalid",n);const o=t.$_createError("any.invalid",e,{invalids:t._invalids.values({display:!0})},r,a);if(a.abortEarly)return u.finalize(e,[o],s);p.push(o)}}if(l.validate){const t=l.validate(e,s);if(t&&(r.mainstay.tracer.value(r,"base",e,t.value),e=t.value,t.errors)){if(!Array.isArray(t.errors))return p.push(t.errors),u.finalize(e,p,s);if(t.errors.length)return p.push(...t.errors),u.finalize(e,p,s)}}return t._rules.length?u.rules(e,p,s):u.finalize(e,p,s)},u.rules=function(e,t,r){const{schema:a,state:n,prefs:o}=r;for(const s of a._rules){const l=a._definition.rules[s.method];if(l.convert&&o.convert){n.mainstay.tracer.log(a,n,"rule",s.name,"full");continue}let c,d=s.args;if(s._resolve.length){d=Object.assign({},d);for(const t of s._resolve){const r=l.argsByName.get(t),s=d[t].resolve(e,n,o),u=r.normalize?r.normalize(s):s,p=i.validateArg(u,null,r);if(p){c=a.$_createError("any.ref",s,{arg:t,ref:d[t],reason:p},n,o);break}d[t]=u}}c=c||l.validate(e,r,d,s);const p=u.rule(c,s);if(p.errors){if(n.mainstay.tracer.log(a,n,"rule",s.name,"error"),s.warn){n.mainstay.warnings.push(...p.errors);continue}if(o.abortEarly)return u.finalize(e,p.errors,r);t.push(...p.errors)}else n.mainstay.tracer.log(a,n,"rule",s.name,"pass"),n.mainstay.tracer.value(n,"rule",e,p.value,s.name),e=p.value}return u.finalize(e,t,r)},u.rule=function(e,t){return e instanceof l.Report?(u.error(e,t),{errors:[e],value:null}):Array.isArray(e)&&e[i.symbols.errors]?(e.forEach((e=>u.error(e,t))),{errors:e,value:null}):{errors:null,value:e}},u.error=function(e,t){return t.message&&e._setTemplate(t.message),e},u.finalize=function(e,t,r){t=t||[];const{schema:n,state:o,prefs:s}=r;if(t.length){const a=u.default("failover",void 0,t,r);void 0!==a&&(o.mainstay.tracer.value(o,"failover",e,a),e=a,t=[])}if(t.length&&n._flags.error)if("function"==typeof n._flags.error){t=n._flags.error(t),Array.isArray(t)||(t=[t]);for(const e of t)a(e instanceof Error||e instanceof l.Report,"error() must return an Error object")}else t=[n._flags.error];if(void 0===e){const a=u.default("default",e,t,r);o.mainstay.tracer.value(o,"default",e,a),e=a}if(n._flags.cast&&void 0!==e){const t=n._definition.cast[n._flags.cast];if(t.from(e)){const a=t.to(e,r);o.mainstay.tracer.value(o,"cast",e,a,n._flags.cast),e=a}}if(n.$_terms.externals&&s.externals&&!1!==s._externals)for(const{method:e}of n.$_terms.externals)o.mainstay.externals.push({method:e,schema:n,state:o,label:l.label(n._flags,o,s)});const i={value:e,errors:t.length?t:null};return n._flags.result&&(i.value="strip"===n._flags.result?void 0:r.original,o.mainstay.tracer.value(o,n._flags.result,e,i.value),o.shadow(e,n._flags.result)),n._cache&&!1!==s.cache&&!n._refs.length&&n._cache.set(r.original,i),void 0===e||i.errors||void 0===n._flags.artifact||(o.mainstay.artifacts=o.mainstay.artifacts||new Map,o.mainstay.artifacts.has(n._flags.artifact)||o.mainstay.artifacts.set(n._flags.artifact,[]),o.mainstay.artifacts.get(n._flags.artifact).push(o.path)),i},u.prefs=function(e,t){const r=t===i.defaults;return r&&e._preferences[i.symbols.prefs]?e._preferences[i.symbols.prefs]:(t=i.preferences(t,e._preferences),r&&(e._preferences[i.symbols.prefs]=t),t)},u.default=function(e,t,r,a){const{schema:o,state:s,prefs:l}=a,c=o._flags[e];if(l.noDefaults||void 0===c)return t;if(s.mainstay.tracer.log(o,s,"rule",e,"full"),!c)return c;if("function"==typeof c){const i=c.length?[n(s.ancestors[0]),a]:[];try{return c(...i)}catch(t){return void r.push(o.$_createError(`any.${e}`,null,{error:t},s,l))}}return"object"!=typeof c?c:c[i.symbols.literal]?c.literal:i.isResolvable(c)?c.resolve(t,s,l):n(c)},u.trim=function(e,t){if("string"!=typeof e)return e;const r=t.$_getRule("trim");return r&&r.args.enabled?e.trim():e},u.ignore={active:!1,debug:o,entry:o,filter:o,log:o,resolve:o,value:o},u.errorsArray=function(){const e=[];return e[i.symbols.errors]=!0,e}},2036:(e,t,r)=>{"use strict";const a=r(375),n=r(9474),o=r(8160),s={};e.exports=s.Values=class{constructor(e,t){this._values=new Set(e),this._refs=new Set(t),this._lowercase=s.lowercases(e),this._override=!1}get length(){return this._values.size+this._refs.size}add(e,t){o.isResolvable(e)?this._refs.has(e)||(this._refs.add(e),t&&t.register(e)):this.has(e,null,null,!1)||(this._values.add(e),"string"==typeof e&&this._lowercase.set(e.toLowerCase(),e))}static merge(e,t,r){if(e=e||new s.Values,t){if(t._override)return t.clone();for(const r of[...t._values,...t._refs])e.add(r)}if(r)for(const t of[...r._values,...r._refs])e.remove(t);return e.length?e:null}remove(e){o.isResolvable(e)?this._refs.delete(e):(this._values.delete(e),"string"==typeof e&&this._lowercase.delete(e.toLowerCase()))}has(e,t,r,a){return!!this.get(e,t,r,a)}get(e,t,r,a){if(!this.length)return!1;if(this._values.has(e))return{value:e};if("string"==typeof e&&e&&a){const t=this._lowercase.get(e.toLowerCase());if(t)return{value:t}}if(!this._refs.size&&"object"!=typeof e)return!1;if("object"==typeof e)for(const t of this._values)if(n(t,e))return{value:t};if(t)for(const o of this._refs){const s=o.resolve(e,t,r,null,{in:!0});if(void 0===s)continue;const i=o.in&&"object"==typeof s?Array.isArray(s)?s:Object.keys(s):[s];for(const t of i)if(typeof t==typeof e)if(a&&e&&"string"==typeof e){if(t.toLowerCase()===e.toLowerCase())return{value:t,ref:o}}else if(n(t,e))return{value:t,ref:o}}return!1}override(){this._override=!0}values(e){if(e&&e.display){const e=[];for(const t of[...this._values,...this._refs])void 0!==t&&e.push(t);return e}return Array.from([...this._values,...this._refs])}clone(){const e=new s.Values(this._values,this._refs);return e._override=this._override,e}concat(e){a(!e._override,"Cannot concat override set of values");const t=new s.Values([...this._values,...e._values],[...this._refs,...e._refs]);return t._override=this._override,t}describe(){const e=[];this._override&&e.push({override:!0});for(const t of this._values.values())e.push(t&&"object"==typeof t?{value:t}:t);for(const t of this._refs.values())e.push(t.describe());return e}},s.Values.prototype[o.symbols.values]=!0,s.Values.prototype.slice=s.Values.prototype.clone,s.lowercases=function(e){const t=new Map;if(e)for(const r of e)"string"==typeof r&&t.set(r.toLowerCase(),r);return t}},978:(e,t,r)=>{"use strict";const a=r(375),n=r(8571),o=r(1687),s=r(9621),i={};e.exports=function(e,t,r={}){if(a(e&&"object"==typeof e,"Invalid defaults value: must be an object"),a(!t||!0===t||"object"==typeof t,"Invalid source value: must be true, falsy or an object"),a("object"==typeof r,"Invalid options: must be an object"),!t)return null;if(r.shallow)return i.applyToDefaultsWithShallow(e,t,r);const s=n(e);if(!0===t)return s;const l=void 0!==r.nullOverride&&r.nullOverride;return o(s,t,{nullOverride:l,mergeArrays:!1})},i.applyToDefaultsWithShallow=function(e,t,r){const l=r.shallow;a(Array.isArray(l),"Invalid keys");const c=new Map,u=!0===t?null:new Set;for(let r of l){r=Array.isArray(r)?r:r.split(".");const a=s(e,r);a&&"object"==typeof a?c.set(a,u&&s(t,r)||a):u&&u.add(r)}const d=n(e,{},c);if(!u)return d;for(const e of u)i.reachCopy(d,t,e);const p=void 0!==r.nullOverride&&r.nullOverride;return o(d,t,{nullOverride:p,mergeArrays:!1})},i.reachCopy=function(e,t,r){for(const e of r){if(!(e in t))return;const r=t[e];if("object"!=typeof r||null===r)return;t=r}const a=t;let n=e;for(let e=0;e{"use strict";const a=r(7916);e.exports=function(e,...t){if(!e){if(1===t.length&&t[0]instanceof Error)throw t[0];throw new a(t)}}},8571:(e,t,r)=>{"use strict";const a=r(9621),n=r(4277),o=r(7043),s={needsProtoHack:new Set([n.set,n.map,n.weakSet,n.weakMap])};e.exports=s.clone=function(e,t={},r=null){if("object"!=typeof e||null===e)return e;let a=s.clone,i=r;if(t.shallow){if(!0!==t.shallow)return s.cloneWithShallow(e,t);a=e=>e}else if(i){const t=i.get(e);if(t)return t}else i=new Map;const l=n.getInternalProto(e);if(l===n.buffer)return!1;if(l===n.date)return new Date(e.getTime());if(l===n.regex)return new RegExp(e);const c=s.base(e,l,t);if(c===e)return e;if(i&&i.set(e,c),l===n.set)for(const r of e)c.add(a(r,t,i));else if(l===n.map)for(const[r,n]of e)c.set(r,a(n,t,i));const u=o.keys(e,t);for(const r of u){if("__proto__"===r)continue;if(l===n.array&&"length"===r){c.length=e.length;continue}const o=Object.getOwnPropertyDescriptor(e,r);o?o.get||o.set?Object.defineProperty(c,r,o):o.enumerable?c[r]=a(e[r],t,i):Object.defineProperty(c,r,{enumerable:!1,writable:!0,configurable:!0,value:a(e[r],t,i)}):Object.defineProperty(c,r,{enumerable:!0,writable:!0,configurable:!0,value:a(e[r],t,i)})}return c},s.cloneWithShallow=function(e,t){const r=t.shallow;(t=Object.assign({},t)).shallow=!1;const n=new Map;for(const t of r){const r=a(e,t);"object"!=typeof r&&"function"!=typeof r||n.set(r,r)}return s.clone(e,t,n)},s.base=function(e,t,r){if(!1===r.prototype)return s.needsProtoHack.has(t)?new t.constructor:t===n.array?[]:{};const a=Object.getPrototypeOf(e);if(a&&a.isImmutable)return e;if(t===n.array){const e=[];return a!==t&&Object.setPrototypeOf(e,a),e}if(s.needsProtoHack.has(t)){const e=new a.constructor;return a!==t&&Object.setPrototypeOf(e,a),e}return Object.create(a)}},9474:(e,t,r)=>{"use strict";const a=r(4277),n={mismatched:null};e.exports=function(e,t,r){return r=Object.assign({prototype:!0},r),!!n.isDeepEqual(e,t,r,[])},n.isDeepEqual=function(e,t,r,o){if(e===t)return 0!==e||1/e==1/t;const s=typeof e;if(s!==typeof t)return!1;if(null===e||null===t)return!1;if("function"===s){if(!r.deepFunction||e.toString()!==t.toString())return!1}else if("object"!==s)return e!=e&&t!=t;const i=n.getSharedType(e,t,!!r.prototype);switch(i){case a.buffer:return!1;case a.promise:return e===t;case a.regex:return e.toString()===t.toString();case n.mismatched:return!1}for(let r=o.length-1;r>=0;--r)if(o[r].isSame(e,t))return!0;o.push(new n.SeenEntry(e,t));try{return!!n.isDeepEqualObj(i,e,t,r,o)}finally{o.pop()}},n.getSharedType=function(e,t,r){if(r)return Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?n.mismatched:a.getInternalProto(e);const o=a.getInternalProto(e);return o!==a.getInternalProto(t)?n.mismatched:o},n.valueOf=function(e){const t=e.valueOf;if(void 0===t)return e;try{return t.call(e)}catch(e){return e}},n.hasOwnEnumerableProperty=function(e,t){return Object.prototype.propertyIsEnumerable.call(e,t)},n.isSetSimpleEqual=function(e,t){for(const r of Set.prototype.values.call(e))if(!Set.prototype.has.call(t,r))return!1;return!0},n.isDeepEqualObj=function(e,t,r,o,s){const{isDeepEqual:i,valueOf:l,hasOwnEnumerableProperty:c}=n,{keys:u,getOwnPropertySymbols:d}=Object;if(e===a.array){if(!o.part){if(t.length!==r.length)return!1;for(let e=0;e{"use strict";const a=r(8761);e.exports=class extends Error{constructor(e){super(e.filter((e=>""!==e)).map((e=>"string"==typeof e?e:e instanceof Error?e.message:a(e))).join(" ")||"Unknown error"),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t.assert)}}},5277:e=>{"use strict";const t={};e.exports=function(e){if(!e)return"";let r="";for(let a=0;a=256?"&#"+e+";":`&#x${e.toString(16).padStart(2,"0")};`)},t.isSafe=function(e){return t.safeCharCodes.has(e)},t.namedHtml=new Map([[38,"&"],[60,"<"],[62,">"],[34,"""],[160," "],[162,"¢"],[163,"£"],[164,"¤"],[169,"©"],[174,"®"]]),t.safeCharCodes=function(){const e=new Set;for(let t=32;t<123;++t)(t>=97||t>=65&&t<=90||t>=48&&t<=57||32===t||46===t||44===t||45===t||58===t||95===t)&&e.add(t);return e}()},6064:e=>{"use strict";e.exports=function(e){return e.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")}},738:e=>{"use strict";e.exports=function(){}},1687:(e,t,r)=>{"use strict";const a=r(375),n=r(8571),o=r(7043),s={};e.exports=s.merge=function(e,t,r){if(a(e&&"object"==typeof e,"Invalid target value: must be an object"),a(null==t||"object"==typeof t,"Invalid source value: must be null, undefined, or an object"),!t)return e;if(r=Object.assign({nullOverride:!0,mergeArrays:!0},r),Array.isArray(t)){a(Array.isArray(e),"Cannot merge array onto an object"),r.mergeArrays||(e.length=0);for(let a=0;a{"use strict";const a=r(375),n={};e.exports=function(e,t,r){if(!1===t||null==t)return e;"string"==typeof(r=r||{})&&(r={separator:r});const o=Array.isArray(t);a(!o||!r.separator,"Separator option is not valid for array-based chain");const s=o?t:t.split(r.separator||".");let i=e;for(let e=0;e{"use strict";e.exports=function(...e){try{return JSON.stringify(...e)}catch(e){return"[Cannot display object: "+e.message+"]"}}},4277:(e,t)=>{"use strict";const r={};t=e.exports={array:Array.prototype,buffer:!1,date:Date.prototype,error:Error.prototype,generic:Object.prototype,map:Map.prototype,promise:Promise.prototype,regex:RegExp.prototype,set:Set.prototype,weakMap:WeakMap.prototype,weakSet:WeakSet.prototype},r.typeMap=new Map([["[object Error]",t.error],["[object Map]",t.map],["[object Promise]",t.promise],["[object Set]",t.set],["[object WeakMap]",t.weakMap],["[object WeakSet]",t.weakSet]]),t.getInternalProto=function(e){if(Array.isArray(e))return t.array;if(e instanceof Date)return t.date;if(e instanceof RegExp)return t.regex;if(e instanceof Error)return t.error;const a=Object.prototype.toString.call(e);return r.typeMap.get(a)||t.generic}},7043:(e,t)=>{"use strict";t.keys=function(e,t={}){return!1!==t.symbols?Reflect.ownKeys(e):Object.getOwnPropertyNames(e)}},3652:(e,t,r)=>{"use strict";const a=r(375),n={};t.Sorter=class{constructor(){this._items=[],this.nodes=[]}add(e,t){const r=[].concat((t=t||{}).before||[]),n=[].concat(t.after||[]),o=t.group||"?",s=t.sort||0;a(!r.includes(o),`Item cannot come before itself: ${o}`),a(!r.includes("?"),"Item cannot come before unassociated items"),a(!n.includes(o),`Item cannot come after itself: ${o}`),a(!n.includes("?"),"Item cannot come after unassociated items"),Array.isArray(e)||(e=[e]);for(const t of e){const e={seq:this._items.length,sort:s,before:r,after:n,group:o,node:t};this._items.push(e)}if(!t.manual){const e=this._sort();a(e,"item","?"!==o?`added into group ${o}`:"","created a dependencies error")}return this.nodes}merge(e){Array.isArray(e)||(e=[e]);for(const t of e)if(t)for(const e of t._items)this._items.push(Object.assign({},e));this._items.sort(n.mergeSort);for(let e=0;ee.sort===t.sort?0:e.sort{"use strict";const a=r(443),n=r(2178),o={minDomainSegments:2,nonAsciiRx:/[^\x00-\x7f]/,domainControlRx:/[\x00-\x20@\:\/\\#!\$&\'\(\)\*\+,;=\?]/,tldSegmentRx:/^[a-zA-Z](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,domainSegmentRx:/^[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,URL:a.URL||URL};t.analyze=function(e,t={}){if(!e)return n.code("DOMAIN_NON_EMPTY_STRING");if("string"!=typeof e)throw new Error("Invalid input: domain must be a string");if(e.length>256)return n.code("DOMAIN_TOO_LONG");if(o.nonAsciiRx.test(e)){if(!1===t.allowUnicode)return n.code("DOMAIN_INVALID_UNICODE_CHARS");e=e.normalize("NFC")}if(o.domainControlRx.test(e))return n.code("DOMAIN_INVALID_CHARS");e=o.punycode(e),t.allowFullyQualified&&"."===e[e.length-1]&&(e=e.slice(0,-1));const r=t.minDomainSegments||o.minDomainSegments,a=e.split(".");if(a.lengtht.maxDomainSegments)return n.code("DOMAIN_SEGMENTS_COUNT_MAX");const s=t.tlds;if(s){const e=a[a.length-1].toLowerCase();if(s.deny&&s.deny.has(e)||s.allow&&!s.allow.has(e))return n.code("DOMAIN_FORBIDDEN_TLDS")}for(let e=0;e63)return n.code("DOMAIN_LONG_SEGMENT");if(e{"use strict";const a=r(9848),n=r(5380),o=r(2178),s={nonAsciiRx:/[^\x00-\x7f]/,encoder:new(a.TextEncoder||TextEncoder)};t.analyze=function(e,t){return s.email(e,t)},t.isValid=function(e,t){return!s.email(e,t)},s.email=function(e,t={}){if("string"!=typeof e)throw new Error("Invalid input: email must be a string");if(!e)return o.code("EMPTY_STRING");const r=!s.nonAsciiRx.test(e);if(!r){if(!1===t.allowUnicode)return o.code("FORBIDDEN_UNICODE");e=e.normalize("NFC")}const a=e.split("@");if(2!==a.length)return a.length>2?o.code("MULTIPLE_AT_CHAR"):o.code("MISSING_AT_CHAR");const[i,l]=a;if(!i)return o.code("EMPTY_LOCAL");if(!t.ignoreLength){if(e.length>254)return o.code("ADDRESS_TOO_LONG");if(s.encoder.encode(i).length>64)return o.code("LOCAL_TOO_LONG")}return s.local(i,r)||n.analyze(l,t)},s.local=function(e,t){const r=e.split(".");for(const e of r){if(!e.length)return o.code("EMPTY_LOCAL_SEGMENT");if(t){if(!s.atextRx.test(e))return o.code("INVALID_LOCAL_CHARS")}else for(const t of e){if(s.atextRx.test(t))continue;const e=s.binary(t);if(!s.atomRx.test(e))return o.code("INVALID_LOCAL_CHARS")}}},s.binary=function(e){return Array.from(s.encoder.encode(e)).map((e=>String.fromCharCode(e))).join("")},s.atextRx=/^[\w!#\$%&'\*\+\-/=\?\^`\{\|\}~]+$/,s.atomRx=new RegExp(["(?:[\\xc2-\\xdf][\\x80-\\xbf])","(?:\\xe0[\\xa0-\\xbf][\\x80-\\xbf])|(?:[\\xe1-\\xec][\\x80-\\xbf]{2})|(?:\\xed[\\x80-\\x9f][\\x80-\\xbf])|(?:[\\xee-\\xef][\\x80-\\xbf]{2})","(?:\\xf0[\\x90-\\xbf][\\x80-\\xbf]{2})|(?:[\\xf1-\\xf3][\\x80-\\xbf]{3})|(?:\\xf4[\\x80-\\x8f][\\x80-\\xbf]{2})"].join("|"))},2178:(e,t)=>{"use strict";t.codes={EMPTY_STRING:"Address must be a non-empty string",FORBIDDEN_UNICODE:"Address contains forbidden Unicode characters",MULTIPLE_AT_CHAR:"Address cannot contain more than one @ character",MISSING_AT_CHAR:"Address must contain one @ character",EMPTY_LOCAL:"Address local part cannot be empty",ADDRESS_TOO_LONG:"Address too long",LOCAL_TOO_LONG:"Address local part too long",EMPTY_LOCAL_SEGMENT:"Address local part contains empty dot-separated segment",INVALID_LOCAL_CHARS:"Address local part contains invalid character",DOMAIN_NON_EMPTY_STRING:"Domain must be a non-empty string",DOMAIN_TOO_LONG:"Domain too long",DOMAIN_INVALID_UNICODE_CHARS:"Domain contains forbidden Unicode characters",DOMAIN_INVALID_CHARS:"Domain contains invalid character",DOMAIN_INVALID_TLDS_CHARS:"Domain contains invalid tld character",DOMAIN_SEGMENTS_COUNT:"Domain lacks the minimum required number of segments",DOMAIN_SEGMENTS_COUNT_MAX:"Domain contains too many segments",DOMAIN_FORBIDDEN_TLDS:"Domain uses forbidden TLD",DOMAIN_EMPTY_SEGMENT:"Domain contains empty dot-separated segment",DOMAIN_LONG_SEGMENT:"Domain contains dot-separated segment that is too long"},t.code=function(e){return{code:e,error:t.codes[e]}}},9959:(e,t,r)=>{"use strict";const a=r(375),n=r(5752);t.regex=function(e={}){a(void 0===e.cidr||"string"==typeof e.cidr,"options.cidr must be a string");const t=e.cidr?e.cidr.toLowerCase():"optional";a(["required","optional","forbidden"].includes(t),"options.cidr must be one of required, optional, forbidden"),a(void 0===e.version||"string"==typeof e.version||Array.isArray(e.version),"options.version must be a string or an array of string");let r=e.version||["ipv4","ipv6","ipvfuture"];Array.isArray(r)||(r=[r]),a(r.length>=1,"options.version must have at least 1 version specified");for(let e=0;e{if("forbidden"===t)return n.ip[e];const r=`\\/${"ipv4"===e?n.ip.v4Cidr:n.ip.v6Cidr}`;return"required"===t?`${n.ip[e]}${r}`:`${n.ip[e]}(?:${r})?`})).join("|")})`,s=new RegExp(`^${o}$`);return{cidr:t,versions:r,regex:s,raw:o}}},5752:(e,t,r)=>{"use strict";const a=r(375),n=r(6064),o={generate:function(){const e={},t="\\dA-Fa-f",r="["+t+"]",a="\\w-\\.~",n="!\\$&'\\(\\)\\*\\+,;=",o="%"+t,s=a+o+n+":@",i="["+s+"]",l="(?:0{0,2}\\d|0?[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])";e.ipv4address="(?:"+l+"\\.){3}"+l;const c=r+"{1,4}",u="(?:"+c+":"+c+"|"+e.ipv4address+")",d="(?:"+c+":){6}"+u,p="::(?:"+c+":){5}"+u,g="(?:"+c+")?::(?:"+c+":){4}"+u,m="(?:(?:"+c+":){0,1}"+c+")?::(?:"+c+":){3}"+u,f="(?:(?:"+c+":){0,2}"+c+")?::(?:"+c+":){2}"+u,w="(?:(?:"+c+":){0,3}"+c+")?::"+c+":"+u,y="(?:(?:"+c+":){0,4}"+c+")?::"+u,b="(?:(?:"+c+":){0,5}"+c+")?::"+c,h="(?:(?:"+c+":){0,6}"+c+")?::";e.ipv4Cidr="(?:\\d|[1-2]\\d|3[0-2])",e.ipv6Cidr="(?:0{0,2}\\d|0?[1-9]\\d|1[01]\\d|12[0-8])",e.ipv6address="(?:"+d+"|"+p+"|"+g+"|"+m+"|"+f+"|"+w+"|"+y+"|"+b+"|"+h+")",e.ipvFuture="v"+r+"+\\.["+a+n+":]+",e.scheme="[a-zA-Z][a-zA-Z\\d+-\\.]*",e.schemeRegex=new RegExp(e.scheme);const _="["+a+o+n+":]*",v="["+a+o+n+"]{1,255}",k="(?:\\[(?:"+e.ipv6address+"|"+e.ipvFuture+")\\]|"+e.ipv4address+"|"+v+")",R="(?:"+_+"@)?"+k+"(?::\\d*)?",P="(?:"+_+"@)?("+k+")(?::\\d*)?",j=i+"*",C=i+"+",q="(?:\\/"+j+")*",S="\\/(?:"+C+q+")?",A=C+q,E="["+a+o+n+"@]+"+q,U="(?:\\/\\/\\/"+j+q+")";return e.hierPart="(?:(?:\\/\\/"+R+q+")|"+S+"|"+A+"|"+U+")",e.hierPartCapture="(?:(?:\\/\\/"+P+q+")|"+S+"|"+A+")",e.relativeRef="(?:(?:\\/\\/"+R+q+")|"+S+"|"+E+"|)",e.relativeRefCapture="(?:(?:\\/\\/"+P+q+")|"+S+"|"+E+"|)",e.query="["+s+"\\/\\?]*(?=#|$)",e.queryWithSquareBrackets="["+s+"\\[\\]\\/\\?]*(?=#|$)",e.fragment="["+s+"\\/\\?]*",e}};o.rfc3986=o.generate(),t.ip={v4Cidr:o.rfc3986.ipv4Cidr,v6Cidr:o.rfc3986.ipv6Cidr,ipv4:o.rfc3986.ipv4address,ipv6:o.rfc3986.ipv6address,ipvfuture:o.rfc3986.ipvFuture},o.createRegex=function(e){const t=o.rfc3986,r="(?:\\?"+(e.allowQuerySquareBrackets?t.queryWithSquareBrackets:t.query)+")?(?:#"+t.fragment+")?",s=e.domain?t.relativeRefCapture:t.relativeRef;if(e.relativeOnly)return o.wrap(s+r);let i="";if(e.scheme){a(e.scheme instanceof RegExp||"string"==typeof e.scheme||Array.isArray(e.scheme),"scheme must be a RegExp, String, or Array");const r=[].concat(e.scheme);a(r.length>=1,"scheme must have at least 1 scheme specified");const o=[];for(let e=0;e{"use strict";const r={operators:["!","^","*","/","%","+","-","<","<=",">",">=","==","!=","&&","||","??"],operatorCharacters:["!","^","*","/","%","+","-","<","=",">","&","|","?"],operatorsOrder:[["^"],["*","/","%"],["+","-"],["<","<=",">",">="],["==","!="],["&&"],["||","??"]],operatorsPrefix:["!","n"],literals:{'"':'"',"`":"`","'":"'","[":"]"},numberRx:/^(?:[0-9]*(\.[0-9]*)?){1}$/,tokenRx:/^[\w\$\#\.\@\:\{\}]+$/,symbol:Symbol("formula"),settings:Symbol("settings")};t.Parser=class{constructor(e,t={}){if(!t[r.settings]&&t.constants)for(const e in t.constants){const r=t.constants[e];if(null!==r&&!["boolean","number","string"].includes(typeof r))throw new Error(`Formula constant ${e} contains invalid ${typeof r} value type`)}this.settings=t[r.settings]?t:Object.assign({[r.settings]:!0,constants:{},functions:{}},t),this.single=null,this._parts=null,this._parse(e)}_parse(e){let a=[],n="",o=0,s=!1;const i=e=>{if(o)throw new Error("Formula missing closing parenthesis");const i=a.length?a[a.length-1]:null;if(s||n||e){if(i&&"reference"===i.type&&")"===e)return i.type="function",i.value=this._subFormula(n,i.value),void(n="");if(")"===e){const e=new t.Parser(n,this.settings);a.push({type:"segment",value:e})}else if(s){if("]"===s)return a.push({type:"reference",value:n}),void(n="");a.push({type:"literal",value:n})}else if(r.operatorCharacters.includes(n))i&&"operator"===i.type&&r.operators.includes(i.value+n)?i.value+=n:a.push({type:"operator",value:n});else if(n.match(r.numberRx))a.push({type:"constant",value:parseFloat(n)});else if(void 0!==this.settings.constants[n])a.push({type:"constant",value:this.settings.constants[n]});else{if(!n.match(r.tokenRx))throw new Error(`Formula contains invalid token: ${n}`);a.push({type:"reference",value:n})}n=""}};for(const t of e)s?t===s?(i(),s=!1):n+=t:o?"("===t?(n+=t,++o):")"===t?(--o,o?n+=t:i(t)):n+=t:t in r.literals?s=r.literals[t]:"("===t?(i(),++o):r.operatorCharacters.includes(t)?(i(),n=t,i()):" "!==t?n+=t:i();i(),a=a.map(((e,t)=>"operator"!==e.type||"-"!==e.value||t&&"operator"!==a[t-1].type?e:{type:"operator",value:"n"}));let l=!1;for(const e of a){if("operator"===e.type){if(r.operatorsPrefix.includes(e.value))continue;if(!l)throw new Error("Formula contains an operator in invalid position");if(!r.operators.includes(e.value))throw new Error(`Formula contains an unknown operator ${e.value}`)}else if(l)throw new Error("Formula missing expected operator");l=!l}if(!l)throw new Error("Formula contains invalid trailing operator");1===a.length&&["reference","literal","constant"].includes(a[0].type)&&(this.single={type:"reference"===a[0].type?"reference":"value",value:a[0].value}),this._parts=a.map((e=>{if("operator"===e.type)return r.operatorsPrefix.includes(e.value)?e:e.value;if("reference"!==e.type)return e.value;if(this.settings.tokenRx&&!this.settings.tokenRx.test(e.value))throw new Error(`Formula contains invalid reference ${e.value}`);return this.settings.reference?this.settings.reference(e.value):r.reference(e.value)}))}_subFormula(e,a){const n=this.settings.functions[a];if("function"!=typeof n)throw new Error(`Formula contains unknown function ${a}`);let o=[];if(e){let t="",n=0,s=!1;const i=()=>{if(!t)throw new Error(`Formula contains function ${a} with invalid arguments ${e}`);o.push(t),t=""};for(let a=0;anew t.Parser(e,this.settings))),function(e){const t=[];for(const r of o)t.push(r.evaluate(e));return n.call(e,...t)}}evaluate(e){const t=this._parts.slice();for(let a=t.length-2;a>=0;--a){const n=t[a];if(n&&"operator"===n.type){const o=t[a+1];t.splice(a+1,1);const s=r.evaluate(o,e);t[a]=r.single(n.value,s)}}return r.operatorsOrder.forEach((a=>{for(let n=1;n":return t>a;case">=":return t>=a;case"==":return t===a;case"!=":return t!==a;case"&&":return t&&a;case"||":return t||a}return null},r.exists=function(e){return null!=e}},9926:()=>{},5688:()=>{},9708:()=>{},1152:()=>{},443:()=>{},9848:()=>{},5934:e=>{"use strict";e.exports=JSON.parse('{"version":"17.13.3"}')}},t={},function r(a){var n=t[a];if(void 0!==n)return n.exports;var o=t[a]={exports:{}};return e[a](o,o.exports,r),o.exports}(5107);var e,t},e.exports=t()},3065:function(e,t,r){var a,n;!function(){"use strict";a=function(){var e=function(){},t="undefined",r=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),a=["trace","debug","info","warn","error"],n={},o=null;function s(e,t){var r=e[t];if("function"==typeof r.bind)return r.bind(e);try{return Function.prototype.bind.call(r,e)}catch(t){return function(){return Function.prototype.apply.apply(r,[e,arguments])}}}function i(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(){for(var r=this.getLevel(),n=0;n=0&&t<=d.levels.SILENT)return t;throw new TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?p+=":"+e:"symbol"==typeof e&&(p=void 0),d.name=e,d.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},d.methodFactory=r||u,d.getLevel=function(){return null!=c?c:null!=i?i:s},d.setLevel=function(e,r){return c=m(e),!1!==r&&function(e){var r=(a[e]||"silent").toUpperCase();if(typeof window!==t&&p){try{return void(window.localStorage[p]=r)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"="+r+";"}catch(e){}}}(c),l.call(d)},d.setDefaultLevel=function(e){i=m(e),g()||d.setLevel(e,!1)},d.resetLevel=function(){c=null,function(){if(typeof window!==t&&p){try{window.localStorage.removeItem(p)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}(),l.call(d)},d.enableAll=function(e){d.setLevel(d.levels.TRACE,e)},d.disableAll=function(e){d.setLevel(d.levels.SILENT,e)},d.rebuild=function(){if(o!==d&&(s=m(o.getLevel())),l.call(d),o===d)for(var e in n)n[e].rebuild()},s=m(o?o.getLevel():"WARN");var f=g();null!=f&&(c=m(f)),l.call(d)}(o=new d).getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=n[e];return t||(t=n[e]=new d(e,o.methodFactory)),t};var p=typeof window!==t?window.log:void 0;return o.noConflict=function(){return typeof window!==t&&window.log===o&&(window.log=p),o},o.getLoggers=function(){return n},o.default=o,o},void 0===(n=a.call(t,r,t,e))||(e.exports=n)}()},6663:(e,t,r)=>{"use strict";const a=r(4280),n=r(454),o=r(528),s=r(3055),i=Symbol("encodeFragmentIdentifier");function l(e){if("string"!=typeof e||1!==e.length)throw new TypeError("arrayFormatSeparator must be single character string")}function c(e,t){return t.encode?t.strict?a(e):encodeURIComponent(e):e}function u(e,t){return t.decode?n(e):e}function d(e){return Array.isArray(e)?e.sort():"object"==typeof e?d(Object.keys(e)).sort(((e,t)=>Number(e)-Number(t))).map((t=>e[t])):e}function p(e){const t=e.indexOf("#");return-1!==t&&(e=e.slice(0,t)),e}function g(e){const t=(e=p(e)).indexOf("?");return-1===t?"":e.slice(t+1)}function m(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?e=Number(e):!t.parseBooleans||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(e="true"===e.toLowerCase()),e}function f(e,t){l((t=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},t)).arrayFormatSeparator);const r=function(e){let t;switch(e.arrayFormat){case"index":return(e,r,a)=>{t=/\[(\d*)\]$/.exec(e),e=e.replace(/\[\d*\]$/,""),t?(void 0===a[e]&&(a[e]={}),a[e][t[1]]=r):a[e]=r};case"bracket":return(e,r,a)=>{t=/(\[\])$/.exec(e),e=e.replace(/\[\]$/,""),t?void 0!==a[e]?a[e]=[].concat(a[e],r):a[e]=[r]:a[e]=r};case"colon-list-separator":return(e,r,a)=>{t=/(:list)$/.exec(e),e=e.replace(/:list$/,""),t?void 0!==a[e]?a[e]=[].concat(a[e],r):a[e]=[r]:a[e]=r};case"comma":case"separator":return(t,r,a)=>{const n="string"==typeof r&&r.includes(e.arrayFormatSeparator),o="string"==typeof r&&!n&&u(r,e).includes(e.arrayFormatSeparator);r=o?u(r,e):r;const s=n||o?r.split(e.arrayFormatSeparator).map((t=>u(t,e))):null===r?r:u(r,e);a[t]=s};case"bracket-separator":return(t,r,a)=>{const n=/(\[\])$/.test(t);if(t=t.replace(/\[\]$/,""),!n)return void(a[t]=r?u(r,e):r);const o=null===r?[]:r.split(e.arrayFormatSeparator).map((t=>u(t,e)));void 0!==a[t]?a[t]=[].concat(a[t],o):a[t]=o};default:return(e,t,r)=>{void 0!==r[e]?r[e]=[].concat(r[e],t):r[e]=t}}}(t),a=Object.create(null);if("string"!=typeof e)return a;if(!(e=e.trim().replace(/^[?#&]/,"")))return a;for(const n of e.split("&")){if(""===n)continue;let[e,s]=o(t.decode?n.replace(/\+/g," "):n,"=");s=void 0===s?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?s:u(s,t),r(u(e,t),s,a)}for(const e of Object.keys(a)){const r=a[e];if("object"==typeof r&&null!==r)for(const e of Object.keys(r))r[e]=m(r[e],t);else a[e]=m(r,t)}return!1===t.sort?a:(!0===t.sort?Object.keys(a).sort():Object.keys(a).sort(t.sort)).reduce(((e,t)=>{const r=a[t];return Boolean(r)&&"object"==typeof r&&!Array.isArray(r)?e[t]=d(r):e[t]=r,e}),Object.create(null))}t.extract=g,t.parse=f,t.stringify=(e,t)=>{if(!e)return"";l((t=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},t)).arrayFormatSeparator);const r=r=>t.skipNull&&null==e[r]||t.skipEmptyString&&""===e[r],a=function(e){switch(e.arrayFormat){case"index":return t=>(r,a)=>{const n=r.length;return void 0===a||e.skipNull&&null===a||e.skipEmptyString&&""===a?r:null===a?[...r,[c(t,e),"[",n,"]"].join("")]:[...r,[c(t,e),"[",c(n,e),"]=",c(a,e)].join("")]};case"bracket":return t=>(r,a)=>void 0===a||e.skipNull&&null===a||e.skipEmptyString&&""===a?r:null===a?[...r,[c(t,e),"[]"].join("")]:[...r,[c(t,e),"[]=",c(a,e)].join("")];case"colon-list-separator":return t=>(r,a)=>void 0===a||e.skipNull&&null===a||e.skipEmptyString&&""===a?r:null===a?[...r,[c(t,e),":list="].join("")]:[...r,[c(t,e),":list=",c(a,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t="bracket-separator"===e.arrayFormat?"[]=":"=";return r=>(a,n)=>void 0===n||e.skipNull&&null===n||e.skipEmptyString&&""===n?a:(n=null===n?"":n,0===a.length?[[c(r,e),t,c(n,e)].join("")]:[[a,c(n,e)].join(e.arrayFormatSeparator)])}default:return t=>(r,a)=>void 0===a||e.skipNull&&null===a||e.skipEmptyString&&""===a?r:null===a?[...r,c(t,e)]:[...r,[c(t,e),"=",c(a,e)].join("")]}}(t),n={};for(const t of Object.keys(e))r(t)||(n[t]=e[t]);const o=Object.keys(n);return!1!==t.sort&&o.sort(t.sort),o.map((r=>{const n=e[r];return void 0===n?"":null===n?c(r,t):Array.isArray(n)?0===n.length&&"bracket-separator"===t.arrayFormat?c(r,t)+"[]":n.reduce(a(r),[]).join("&"):c(r,t)+"="+c(n,t)})).filter((e=>e.length>0)).join("&")},t.parseUrl=(e,t)=>{t=Object.assign({decode:!0},t);const[r,a]=o(e,"#");return Object.assign({url:r.split("?")[0]||"",query:f(g(e),t)},t&&t.parseFragmentIdentifier&&a?{fragmentIdentifier:u(a,t)}:{})},t.stringifyUrl=(e,r)=>{r=Object.assign({encode:!0,strict:!0,[i]:!0},r);const a=p(e.url).split("?")[0]||"",n=t.extract(e.url),o=t.parse(n,{sort:!1}),s=Object.assign(o,e.query);let l=t.stringify(s,r);l&&(l=`?${l}`);let u=function(e){let t="";const r=e.indexOf("#");return-1!==r&&(t=e.slice(r)),t}(e.url);return e.fragmentIdentifier&&(u=`#${r[i]?c(e.fragmentIdentifier,r):e.fragmentIdentifier}`),`${a}${l}${u}`},t.pick=(e,r,a)=>{a=Object.assign({parseFragmentIdentifier:!0,[i]:!1},a);const{url:n,query:o,fragmentIdentifier:l}=t.parseUrl(e,a);return t.stringifyUrl({url:n,query:s(o,r),fragmentIdentifier:l},a)},t.exclude=(e,r,a)=>{const n=Array.isArray(r)?e=>!r.includes(e):(e,t)=>!r(e,t);return t.pick(e,n,a)}},528:e=>{"use strict";e.exports=(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===t)return[e];const r=e.indexOf(t);return-1===r?[e]:[e.slice(0,r),e.slice(r+t.length)]}},4280:e=>{"use strict";e.exports=e=>encodeURIComponent(e).replace(/[!'()*]/g,(e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`))},7232:function(e,t,r){var a;!function(n,o){"use strict";var s="function",i="undefined",l="object",c="string",u="major",d="model",p="name",g="type",m="vendor",f="version",w="architecture",y="console",b="mobile",h="tablet",_="smarttv",v="wearable",k="embedded",R="Amazon",P="Apple",j="ASUS",C="BlackBerry",q="Browser",S="Chrome",A="Firefox",E="Google",U="Huawei",H="LG",x="Microsoft",O="Motorola",I="Opera",$="Samsung",N="Sharp",D="Sony",W="Xiaomi",L="Zebra",T="Facebook",V="Chromium OS",B="Mac OS",F=function(e){for(var t={},r=0;r0?2===i.length?typeof i[1]==s?this[i[0]]=i[1].call(this,u):this[i[0]]=i[1]:3===i.length?typeof i[1]!==s||i[1].exec&&i[1].test?this[i[0]]=u?u.replace(i[1],i[2]):o:this[i[0]]=u?i[1].call(this,u,i[2]):o:4===i.length&&(this[i[0]]=u?i[3].call(this,u.replace(i[1],i[2])):o):this[i]=u||o;d+=2}},Q=function(e,t){for(var r in t)if(typeof t[r]===l&&t[r].length>0){for(var a=0;a2&&(e[d]="iPad",e[g]=h),e},this.getEngine=function(){var e={};return e[p]=o,e[f]=o,K.call(e,a,_.engine),e},this.getOS=function(){var e={};return e[p]=o,e[f]=o,K.call(e,a,_.os),v&&!e[p]&&y&&y.platform&&"Unknown"!=y.platform&&(e[p]=y.platform.replace(/chrome os/i,V).replace(/macos/i,B)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return a},this.setUA=function(e){return a=typeof e===c&&e.length>500?G(e,500):e,this},this.setUA(a),this};Y.VERSION="1.0.38",Y.BROWSER=F([p,f,u]),Y.CPU=F([w]),Y.DEVICE=F([d,m,g,y,b,_,h,v,k]),Y.ENGINE=Y.OS=F([p,f]),typeof t!==i?(e.exports&&(t=e.exports=Y),t.UAParser=Y):r.amdO?(a=function(){return Y}.call(t,r,t,e))===o||(e.exports=a):typeof n!==i&&(n.UAParser=Y);var X=typeof n!==i&&(n.jQuery||n.Zepto);if(X&&!X.ua){var ee=new Y;X.ua=ee.getResult(),X.ua.get=function(){return ee.getUA()},X.ua.set=function(e){ee.setUA(e);var t=ee.getResult();for(var r in t)X.ua[r]=t[r]}}}("object"==typeof window?window:this)},611:(e,t,r)=>{"use strict";var a;r.r(t),r.d(t,{NIL:()=>E,parse:()=>w,stringify:()=>u,v1:()=>f,v3:()=>j,v4:()=>C,v5:()=>A,validate:()=>i,version:()=>U});var n=new Uint8Array(16);function o(){if(!a&&!(a="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return a(n)}const s=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,i=function(e){return"string"==typeof e&&s.test(e)};for(var l=[],c=0;c<256;++c)l.push((c+256).toString(16).substr(1));const u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=(l[e[t+0]]+l[e[t+1]]+l[e[t+2]]+l[e[t+3]]+"-"+l[e[t+4]]+l[e[t+5]]+"-"+l[e[t+6]]+l[e[t+7]]+"-"+l[e[t+8]]+l[e[t+9]]+"-"+l[e[t+10]]+l[e[t+11]]+l[e[t+12]]+l[e[t+13]]+l[e[t+14]]+l[e[t+15]]).toLowerCase();if(!i(r))throw TypeError("Stringified UUID is invalid");return r};var d,p,g=0,m=0;const f=function(e,t,r){var a=t&&r||0,n=t||new Array(16),s=(e=e||{}).node||d,i=void 0!==e.clockseq?e.clockseq:p;if(null==s||null==i){var l=e.random||(e.rng||o)();null==s&&(s=d=[1|l[0],l[1],l[2],l[3],l[4],l[5]]),null==i&&(i=p=16383&(l[6]<<8|l[7]))}var c=void 0!==e.msecs?e.msecs:Date.now(),f=void 0!==e.nsecs?e.nsecs:m+1,w=c-g+(f-m)/1e4;if(w<0&&void 0===e.clockseq&&(i=i+1&16383),(w<0||c>g)&&void 0===e.nsecs&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=c,m=f,p=i;var y=(1e4*(268435455&(c+=122192928e5))+f)%4294967296;n[a++]=y>>>24&255,n[a++]=y>>>16&255,n[a++]=y>>>8&255,n[a++]=255&y;var b=c/4294967296*1e4&268435455;n[a++]=b>>>8&255,n[a++]=255&b,n[a++]=b>>>24&15|16,n[a++]=b>>>16&255,n[a++]=i>>>8|128,n[a++]=255&i;for(var h=0;h<6;++h)n[a+h]=s[h];return t||u(n)},w=function(e){if(!i(e))throw TypeError("Invalid UUID");var t,r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r};function y(e,t,r){function a(e,a,n,o){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],r=0;r>>9<<4)+1}function h(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function _(e,t,r,a,n,o){return h((s=h(h(t,e),h(a,o)))<<(i=n)|s>>>32-i,r);var s,i}function v(e,t,r,a,n,o,s){return _(t&r|~t&a,e,t,n,o,s)}function k(e,t,r,a,n,o,s){return _(t&a|r&~a,e,t,n,o,s)}function R(e,t,r,a,n,o,s){return _(t^r^a,e,t,n,o,s)}function P(e,t,r,a,n,o,s){return _(r^(t|~a),e,t,n,o,s)}const j=y("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var r=0;r>5]>>>n%32&255,s=parseInt(a.charAt(o>>>4&15)+a.charAt(15&o),16);t.push(s)}return t}(function(e,t){e[t>>5]|=128<>5]|=(255&e[a/8])<>>32-t}const A=y("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var a=unescape(encodeURIComponent(e));e=[];for(var n=0;n>>0;h=b,b=y,y=S(w,30)>>>0,w=f,f=k}r[0]=r[0]+f>>>0,r[1]=r[1]+w>>>0,r[2]=r[2]+y>>>0,r[3]=r[3]+b>>>0,r[4]=r[4]+h>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,255&r[0],r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,255&r[1],r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,255&r[2],r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,255&r[3],r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,255&r[4]]})),E="00000000-0000-0000-0000-000000000000",U=function(e){if(!i(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}},7534:(e,t,r)=>{const{fdkAxios:a}=r(128),{convertStringToBase64:n}=r(8879);e.exports=class{static execute(e,t,r,o,s,i,l){let c={Authorization:"Bearer "+n(`${e.applicationID}:${e.applicationToken}`)};e.cookie&&(c={...c,cookie:e.cookie}),e.locationDetails&&(c={...c,"x-location-detail":JSON.stringify(e.locationDetails)}),e.currencyCode&&(c={...c,"x-currency-code":e.currencyCode});const u=e.extraHeaders.reduce(((e,t)=>({...e,...t})),{});let d={method:t,url:r,params:o,data:s,headers:{...c,...u,...i},responseHeaders:l.responseHeaders};return a.request(d)}}},9418:(e,t,r)=>{const a=r(869),n=r(2099),o=r(3727),s=r(8979),i=r(7307),l=r(7507),c=r(5259),u=r(133),d=r(469),p=r(7611),g=r(603),m=r(3715),f=r(8651),w=r(7803),y=r(8363),b=r(3567),{FDKClientValidationError:h}=r(1235),{Logger:_}=r(8572),{convertStringToBase64:v}=r(8879),{execute:k}=r(7534);e.exports=class{constructor(e){if(this.config=e,this.cart=new a(e),this.catalog=new n(e),this.common=new o(e),this.communication=new s(e),this.configuration=new i(e),this.content=new l(e),this.fileStorage=new c(e),this.lead=new u(e),this.logistic=new d(e),this.order=new p(e),this.payment=new g(e),this.rewards=new m(e),this.share=new f(e),this.theme=new w(e),this.user=new y(e),this.webhook=new b(e),"undefined"!=typeof window&&e.options&&e.options.enable_clickstream){const t=r(5379);_({level:"DEBUG",message:`initializing clickstream with base url ${e.domain}`}),t.initialize(e.domain,v(e.applicationID+":"+e.applicationToken)),r(3010)}}setCookie(e){this.config.cookie=e}setLocationDetails(e,t=!1){this.config.locationDetails=!0===t?e:{...this.config.locationDetails,...e}}setCurrencyCode(e){if("string"!=typeof e)throw new h("Currency code should be string only");this.config.currencyCode=e}setExtraHeaders(e){if("object"!=typeof e)throw new h("Context value should be an object");this.config.extraHeaders.push(e)}async request({method:e,url:t,query:r,body:a,headers:n,responseHeaders:o=!1}){return await k(this.config,e,t,r,a,n,{responseHeaders:o})}}},8163:(e,t,r)=>{const{FDKInvalidCredentialError:a}=r(1235),{Logger:n,setLoggerLevel:o}=r(8572);e.exports=class{constructor(e,t){this.applicationID=e.applicationID||"",this.applicationToken=e.applicationToken||"",this.options={strictResponseCheck:!1,...t},this.domain=e.domain||"https://api.fynd.com",this.logLevel=e.logLevel||"ERROR",this.setLogLevel(this.logLevel),this.extraHeaders=[],this.locationDetails=e.locationDetails,this.currencyCode=e.currencyCode||"INR",this.validate()}setLogLevel(e){o(e.toUpperCase()),this.logLevel=e.toUpperCase()}setCookie(e){this.cookie=e}validate(){if(!this.applicationID)throw n({level:"ERROR",message:"No Application ID Present"}),new a("No Application ID Present");if(!this.applicationToken)throw n({level:"ERROR",message:"No Application Token Present"}),new a("No Application Token Present");if(this.applicationToken.length<5)throw n({level:"ERROR",message:"Invalid Application Token"}),new a("Invalid Application Token");if("boolean"!=typeof this.options.strictResponseCheck)throw n({level:"ERROR",message:"Invalid Application Token"}),n({level:"ERROR",message:"Invalid Value for options.strictResponseCheck, provide boolean value"}),new a("Invalid Value for options.strictResponseCheck, provide boolean value")}}},869:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(3206)),l=r(7785),{Logger:c}=r(8572),u=r(6075);e.exports=class{constructor(e){this._conf=e,this._relativeUrls={addAddress:"/service/application/cart/v1.0/address",addItems:"/service/application/cart/v1.0/detail",applyCoupon:"/service/application/cart/v1.0/coupon",applyRewardPoints:"/service/application/cart/v1.0/redeem/points/",checkoutCart:"/service/application/cart/v1.0/checkout",checkoutCartV2:"/service/application/cart/v2.0/checkout",deleteCart:"/service/application/cart/v1.0/cart_archive",getAddressById:"/service/application/cart/v1.0/address/{id}",getAddresses:"/service/application/cart/v1.0/address",getBulkDiscountOffers:"/service/application/cart/v1.0/bulk-price",getCart:"/service/application/cart/v1.0/detail",getCartLastModified:"/service/application/cart/v1.0/detail",getCartShareLink:"/service/application/cart/v1.0/share-cart",getCartSharedItems:"/service/application/cart/v1.0/share-cart/{token}",getCoupons:"/service/application/cart/v1.0/coupon",getItemCount:"/service/application/cart/v1.0/basic",getLadderOffers:"/service/application/cart/v1.0/available-ladder-prices",getPromotionOffers:"/service/application/cart/v1.0/available-promotions",getPromotionPaymentOffers:"/service/application/cart/v1.0/available-payment-offers",getShipments:"/service/application/cart/v1.0/shipment",removeAddress:"/service/application/cart/v1.0/address/{id}",removeCoupon:"/service/application/cart/v1.0/coupon",selectAddress:"/service/application/cart/v1.0/select-address",selectPaymentMode:"/service/application/cart/v1.0/payment",updateAddress:"/service/application/cart/v1.0/address/{id}",updateCart:"/service/application/cart/v1.0/detail",updateCartMeta:"/service/application/cart/v1.0/meta",updateCartWithSharedItems:"/service/application/cart/v1.0/share-cart/{token}/{action}",validateCouponForPayment:"/service/application/cart/v1.0/payment/validate/"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async addAddress({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.addAddress().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.addAddress().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > addAddress \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.addAddress,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.SaveAddressResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Cart > addAddress \n ${m}`})}return p}async addItems({body:e,i:t,b:r,areaCode:u,buyNow:d,id:p,orderType:g,requestHeaders:m}={requestHeaders:{}},{responseHeaders:f}={responseHeaders:!1}){const{error:w}=i.addItems().validate({body:e,i:t,b:r,areaCode:u,buyNow:d,id:p,orderType:g},{abortEarly:!1,allowUnknown:!0});if(w)return Promise.reject(new n(w));const{error:y}=i.addItems().validate({body:e,i:t,b:r,areaCode:u,buyNow:d,id:p,orderType:g},{abortEarly:!1,allowUnknown:!1});y&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > addItems \n ${y}`});const b={};b.i=t,b.b=r,b.area_code=u,b.buy_now=d,b.id=p,b.order_type=g;const h=await a.execute(this._conf,"post",s({url:this._urls.addItems,params:{}}),b,e,{...m},{responseHeaders:f});let _=h;f&&(_=h[0]);const{error:v}=l.AddCartDetailResponse().validate(_,{abortEarly:!1,allowUnknown:!0});if(v){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(v));c({level:"WARN",message:`Response Validation Warnings for application > Cart > addItems \n ${v}`})}return h}async applyCoupon({body:e,i:t,b:r,p:u,id:d,buyNow:p,cartType:g,requestHeaders:m}={requestHeaders:{}},{responseHeaders:f}={responseHeaders:!1}){const{error:w}=i.applyCoupon().validate({body:e,i:t,b:r,p:u,id:d,buyNow:p,cartType:g},{abortEarly:!1,allowUnknown:!0});if(w)return Promise.reject(new n(w));const{error:y}=i.applyCoupon().validate({body:e,i:t,b:r,p:u,id:d,buyNow:p,cartType:g},{abortEarly:!1,allowUnknown:!1});y&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > applyCoupon \n ${y}`});const b={};b.i=t,b.b=r,b.p=u,b.id=d,b.buy_now=p,b.cart_type=g;const h=await a.execute(this._conf,"post",s({url:this._urls.applyCoupon,params:{}}),b,e,{...m},{responseHeaders:f});let _=h;f&&(_=h[0]);const{error:v}=l.CartDetailResponse().validate(_,{abortEarly:!1,allowUnknown:!0});if(v){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(v));c({level:"WARN",message:`Response Validation Warnings for application > Cart > applyCoupon \n ${v}`})}return h}async applyRewardPoints({body:e,id:t,i:r,b:u,buyNow:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=i.applyRewardPoints().validate({body:e,id:t,i:r,b:u,buyNow:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=i.applyRewardPoints().validate({body:e,id:t,i:r,b:u,buyNow:d},{abortEarly:!1,allowUnknown:!1});f&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > applyRewardPoints \n ${f}`});const w={};w.id=t,w.i=r,w.b=u,w.buy_now=d;const y=await a.execute(this._conf,"post",s({url:this._urls.applyRewardPoints,params:{}}),w,e,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=l.CartDetailResponse().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));c({level:"WARN",message:`Response Validation Warnings for application > Cart > applyRewardPoints \n ${h}`})}return y}async checkoutCart({body:e,buyNow:t,cartType:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.checkoutCart().validate({body:e,buyNow:t,cartType:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.checkoutCart().validate({body:e,buyNow:t,cartType:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > checkoutCart \n ${g}`});const m={};m.buy_now=t,m.cart_type=r;const f=await a.execute(this._conf,"post",s({url:this._urls.checkoutCart,params:{}}),m,e,{...u},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=l.CartCheckoutResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Cart > checkoutCart \n ${y}`})}return f}async checkoutCartV2({body:e,buyNow:t,cartType:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.checkoutCartV2().validate({body:e,buyNow:t,cartType:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.checkoutCartV2().validate({body:e,buyNow:t,cartType:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > checkoutCartV2 \n ${g}`});const m={};m.buy_now=t,m.cart_type=r;const f=await a.execute(this._conf,"post",s({url:this._urls.checkoutCartV2,params:{}}),m,e,{...u},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=l.CartCheckoutResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Cart > checkoutCartV2 \n ${y}`})}return f}async deleteCart({id:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.deleteCart().validate({id:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.deleteCart().validate({id:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > deleteCart \n ${d}`});const p={};p.id=e;const g=await a.execute(this._conf,"put",s({url:this._urls.deleteCart,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.DeleteCartDetailResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Cart > deleteCart \n ${f}`})}return g}async getAddressById({id:e,cartId:t,buyNow:r,mobileNo:u,checkoutMode:d,tags:p,isDefault:g,requestHeaders:m}={requestHeaders:{}},{responseHeaders:f}={responseHeaders:!1}){const{error:w}=i.getAddressById().validate({id:e,cartId:t,buyNow:r,mobileNo:u,checkoutMode:d,tags:p,isDefault:g},{abortEarly:!1,allowUnknown:!0});if(w)return Promise.reject(new n(w));const{error:y}=i.getAddressById().validate({id:e,cartId:t,buyNow:r,mobileNo:u,checkoutMode:d,tags:p,isDefault:g},{abortEarly:!1,allowUnknown:!1});y&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getAddressById \n ${y}`});const b={};b.cart_id=t,b.buy_now=r,b.mobile_no=u,b.checkout_mode=d,b.tags=p,b.is_default=g;const h=await a.execute(this._conf,"get",s({url:this._urls.getAddressById,params:{id:e}}),b,void 0,{...m},{responseHeaders:f});let _=h;f&&(_=h[0]);const{error:v}=l.Address().validate(_,{abortEarly:!1,allowUnknown:!0});if(v){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(v));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getAddressById \n ${v}`})}return h}async getAddresses({cartId:e,buyNow:t,mobileNo:r,checkoutMode:u,tags:d,isDefault:p,requestHeaders:g}={requestHeaders:{}},{responseHeaders:m}={responseHeaders:!1}){const{error:f}=i.getAddresses().validate({cartId:e,buyNow:t,mobileNo:r,checkoutMode:u,tags:d,isDefault:p},{abortEarly:!1,allowUnknown:!0});if(f)return Promise.reject(new n(f));const{error:w}=i.getAddresses().validate({cartId:e,buyNow:t,mobileNo:r,checkoutMode:u,tags:d,isDefault:p},{abortEarly:!1,allowUnknown:!1});w&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getAddresses \n ${w}`});const y={};y.cart_id=e,y.buy_now=t,y.mobile_no=r,y.checkout_mode=u,y.tags=d,y.is_default=p;const b=await a.execute(this._conf,"get",s({url:this._urls.getAddresses,params:{}}),y,void 0,{...g},{responseHeaders:m});let h=b;m&&(h=b[0]);const{error:_}=l.GetAddressesResponse().validate(h,{abortEarly:!1,allowUnknown:!0});if(_){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(_));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getAddresses \n ${_}`})}return b}async getBulkDiscountOffers({itemId:e,articleId:t,uid:r,slug:u,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=i.getBulkDiscountOffers().validate({itemId:e,articleId:t,uid:r,slug:u},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=i.getBulkDiscountOffers().validate({itemId:e,articleId:t,uid:r,slug:u},{abortEarly:!1,allowUnknown:!1});m&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getBulkDiscountOffers \n ${m}`});const f={};f.item_id=e,f.article_id=t,f.uid=r,f.slug=u;const w=await a.execute(this._conf,"get",s({url:this._urls.getBulkDiscountOffers,params:{}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=l.BulkPriceResponse().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getBulkDiscountOffers \n ${b}`})}return w}async getCart({id:e,i:t,b:r,c:u,assignCardId:d,areaCode:p,buyNow:g,orderType:m,requestHeaders:f}={requestHeaders:{}},{responseHeaders:w}={responseHeaders:!1}){const{error:y}=i.getCart().validate({id:e,i:t,b:r,c:u,assignCardId:d,areaCode:p,buyNow:g,orderType:m},{abortEarly:!1,allowUnknown:!0});if(y)return Promise.reject(new n(y));const{error:b}=i.getCart().validate({id:e,i:t,b:r,c:u,assignCardId:d,areaCode:p,buyNow:g,orderType:m},{abortEarly:!1,allowUnknown:!1});b&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getCart \n ${b}`});const h={};h.id=e,h.i=t,h.b=r,h.c=u,h.assign_card_id=d,h.area_code=p,h.buy_now=g,h.order_type=m;const _=await a.execute(this._conf,"get",s({url:this._urls.getCart,params:{}}),h,void 0,{...f},{responseHeaders:w});let v=_;w&&(v=_[0]);const{error:k}=l.CartDetailResponse().validate(v,{abortEarly:!1,allowUnknown:!0});if(k){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(k));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getCart \n ${k}`})}return _}async getCartLastModified({id:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:l}=i.getCartLastModified().validate({id:e},{abortEarly:!1,allowUnknown:!0});if(l)return Promise.reject(new n(l));const{error:d}=i.getCartLastModified().validate({id:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getCartLastModified \n ${d}`});const p={};p.id=e;const g=await a.execute(this._conf,"head",s({url:this._urls.getCartLastModified,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=u.string().allow("").validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getCartLastModified \n ${f}`})}return g}async getCartShareLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getCartShareLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getCartShareLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getCartShareLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getCartShareLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.GetShareCartLinkResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getCartShareLink \n ${m}`})}return p}async getCartSharedItems({token:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getCartSharedItems().validate({token:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getCartSharedItems().validate({token:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getCartSharedItems \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getCartSharedItems,params:{token:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.SharedCartResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getCartSharedItems \n ${m}`})}return p}async getCoupons({id:e,buyNow:t,slug:r,storeId:u,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=i.getCoupons().validate({id:e,buyNow:t,slug:r,storeId:u},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=i.getCoupons().validate({id:e,buyNow:t,slug:r,storeId:u},{abortEarly:!1,allowUnknown:!1});m&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getCoupons \n ${m}`});const f={};f.id=e,f.buy_now=t,f.slug=r,f.store_id=u;const w=await a.execute(this._conf,"get",s({url:this._urls.getCoupons,params:{}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=l.GetCouponResponse().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getCoupons \n ${b}`})}return w}async getItemCount({id:e,buyNow:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getItemCount().validate({id:e,buyNow:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getItemCount().validate({id:e,buyNow:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getItemCount \n ${p}`});const g={};g.id=e,g.buy_now=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getItemCount,params:{}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.CartItemCountResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getItemCount \n ${w}`})}return m}async getLadderOffers({slug:e,storeId:t,promotionId:r,pageSize:u,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=i.getLadderOffers().validate({slug:e,storeId:t,promotionId:r,pageSize:u},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=i.getLadderOffers().validate({slug:e,storeId:t,promotionId:r,pageSize:u},{abortEarly:!1,allowUnknown:!1});m&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getLadderOffers \n ${m}`});const f={};f.slug=e,f.store_id=t,f.promotion_id=r,f.page_size=u;const w=await a.execute(this._conf,"get",s({url:this._urls.getLadderOffers,params:{}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=l.LadderPriceOffers().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getLadderOffers \n ${b}`})}return w}async getPromotionOffers({slug:e,pageSize:t,promotionGroup:r,storeId:u,cartType:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=i.getPromotionOffers().validate({slug:e,pageSize:t,promotionGroup:r,storeId:u,cartType:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=i.getPromotionOffers().validate({slug:e,pageSize:t,promotionGroup:r,storeId:u,cartType:d},{abortEarly:!1,allowUnknown:!1});f&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getPromotionOffers \n ${f}`});const w={};w.slug=e,w.page_size=t,w.promotion_group=r,w.store_id=u,w.cart_type=d;const y=await a.execute(this._conf,"get",s({url:this._urls.getPromotionOffers,params:{}}),w,void 0,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=l.PromotionOffersResponse().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getPromotionOffers \n ${h}`})}return y}async getPromotionPaymentOffers({id:e,uid:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getPromotionPaymentOffers().validate({id:e,uid:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getPromotionPaymentOffers().validate({id:e,uid:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getPromotionPaymentOffers \n ${p}`});const g={};g.id=e,g.uid=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getPromotionPaymentOffers,params:{}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.PromotionPaymentOffersResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getPromotionPaymentOffers \n ${w}`})}return m}async getShipments({p:e,id:t,buyNow:r,addressId:u,areaCode:d,orderType:p,requestHeaders:g}={requestHeaders:{}},{responseHeaders:m}={responseHeaders:!1}){const{error:f}=i.getShipments().validate({p:e,id:t,buyNow:r,addressId:u,areaCode:d,orderType:p},{abortEarly:!1,allowUnknown:!0});if(f)return Promise.reject(new n(f));const{error:w}=i.getShipments().validate({p:e,id:t,buyNow:r,addressId:u,areaCode:d,orderType:p},{abortEarly:!1,allowUnknown:!1});w&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > getShipments \n ${w}`});const y={};y.p=e,y.id=t,y.buy_now=r,y.address_id=u,y.area_code=d,y.order_type=p;const b=await a.execute(this._conf,"get",s({url:this._urls.getShipments,params:{}}),y,void 0,{...g},{responseHeaders:m});let h=b;m&&(h=b[0]);const{error:_}=l.CartShipmentsResponse().validate(h,{abortEarly:!1,allowUnknown:!0});if(_){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(_));c({level:"WARN",message:`Response Validation Warnings for application > Cart > getShipments \n ${_}`})}return b}async removeAddress({id:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.removeAddress().validate({id:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.removeAddress().validate({id:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > removeAddress \n ${d}`});const p=await a.execute(this._conf,"delete",s({url:this._urls.removeAddress,params:{id:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.DeleteAddressResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Cart > removeAddress \n ${m}`})}return p}async removeCoupon({id:e,buyNow:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.removeCoupon().validate({id:e,buyNow:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.removeCoupon().validate({id:e,buyNow:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > removeCoupon \n ${p}`});const g={};g.id=e,g.buy_now=t;const m=await a.execute(this._conf,"delete",s({url:this._urls.removeCoupon,params:{}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.CartDetailResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Cart > removeCoupon \n ${w}`})}return m}async selectAddress({body:e,cartId:t,buyNow:r,i:u,b:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=i.selectAddress().validate({body:e,cartId:t,buyNow:r,i:u,b:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=i.selectAddress().validate({body:e,cartId:t,buyNow:r,i:u,b:d},{abortEarly:!1,allowUnknown:!1});f&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > selectAddress \n ${f}`});const w={};w.cart_id=t,w.buy_now=r,w.i=u,w.b=d;const y=await a.execute(this._conf,"post",s({url:this._urls.selectAddress,params:{}}),w,e,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=l.CartDetailResponse().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));c({level:"WARN",message:`Response Validation Warnings for application > Cart > selectAddress \n ${h}`})}return y}async selectPaymentMode({body:e,id:t,buyNow:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.selectPaymentMode().validate({body:e,id:t,buyNow:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.selectPaymentMode().validate({body:e,id:t,buyNow:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > selectPaymentMode \n ${g}`});const m={};m.id=t,m.buy_now=r;const f=await a.execute(this._conf,"put",s({url:this._urls.selectPaymentMode,params:{}}),m,e,{...u},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=l.CartDetailResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Cart > selectPaymentMode \n ${y}`})}return f}async updateAddress({id:e,body:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.updateAddress().validate({id:e,body:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.updateAddress().validate({id:e,body:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > updateAddress \n ${p}`});const g=await a.execute(this._conf,"put",s({url:this._urls.updateAddress,params:{id:e}}),{},t,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.UpdateAddressResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Cart > updateAddress \n ${f}`})}return g}async updateCart({body:e,id:t,i:r,b:u,areaCode:d,buyNow:p,cartType:g,orderType:m,requestHeaders:f}={requestHeaders:{}},{responseHeaders:w}={responseHeaders:!1}){const{error:y}=i.updateCart().validate({body:e,id:t,i:r,b:u,areaCode:d,buyNow:p,cartType:g,orderType:m},{abortEarly:!1,allowUnknown:!0});if(y)return Promise.reject(new n(y));const{error:b}=i.updateCart().validate({body:e,id:t,i:r,b:u,areaCode:d,buyNow:p,cartType:g,orderType:m},{abortEarly:!1,allowUnknown:!1});b&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > updateCart \n ${b}`});const h={};h.id=t,h.i=r,h.b=u,h.area_code=d,h.buy_now=p,h.cart_type=g,h.order_type=m;const _=await a.execute(this._conf,"put",s({url:this._urls.updateCart,params:{}}),h,e,{...f},{responseHeaders:w});let v=_;w&&(v=_[0]);const{error:k}=l.UpdateCartDetailResponse().validate(v,{abortEarly:!1,allowUnknown:!0});if(k){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(k));c({level:"WARN",message:`Response Validation Warnings for application > Cart > updateCart \n ${k}`})}return _}async updateCartMeta({body:e,id:t,buyNow:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.updateCartMeta().validate({body:e,id:t,buyNow:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.updateCartMeta().validate({body:e,id:t,buyNow:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > updateCartMeta \n ${g}`});const m={};m.id=t,m.buy_now=r;const f=await a.execute(this._conf,"put",s({url:this._urls.updateCartMeta,params:{}}),m,e,{...u},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=l.CartMetaResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Cart > updateCartMeta \n ${y}`})}return f}async updateCartWithSharedItems({token:e,action:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.updateCartWithSharedItems().validate({token:e,action:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.updateCartWithSharedItems().validate({token:e,action:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > updateCartWithSharedItems \n ${p}`});const g=await a.execute(this._conf,"post",s({url:this._urls.updateCartWithSharedItems,params:{token:e,action:t}}),{},void 0,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.SharedCartResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Cart > updateCartWithSharedItems \n ${f}`})}return g}async validateCouponForPayment({id:e,buyNow:t,addressId:r,paymentMode:u,paymentIdentifier:d,aggregatorName:p,merchantCode:g,iin:m,network:f,type:w,cardId:y,cartType:b,requestHeaders:h}={requestHeaders:{}},{responseHeaders:_}={responseHeaders:!1}){const{error:v}=i.validateCouponForPayment().validate({id:e,buyNow:t,addressId:r,paymentMode:u,paymentIdentifier:d,aggregatorName:p,merchantCode:g,iin:m,network:f,type:w,cardId:y,cartType:b},{abortEarly:!1,allowUnknown:!0});if(v)return Promise.reject(new n(v));const{error:k}=i.validateCouponForPayment().validate({id:e,buyNow:t,addressId:r,paymentMode:u,paymentIdentifier:d,aggregatorName:p,merchantCode:g,iin:m,network:f,type:w,cardId:y,cartType:b},{abortEarly:!1,allowUnknown:!1});k&&c({level:"WARN",message:`Parameter Validation warrnings for application > Cart > validateCouponForPayment \n ${k}`});const R={};R.id=e,R.buy_now=t,R.address_id=r,R.payment_mode=u,R.payment_identifier=d,R.aggregator_name=p,R.merchant_code=g,R.iin=m,R.network=f,R.type=w,R.card_id=y,R.cart_type=b;const P=await a.execute(this._conf,"get",s({url:this._urls.validateCouponForPayment,params:{}}),R,void 0,{...h},{responseHeaders:_});let j=P;_&&(j=P[0]);const{error:C}=l.PaymentCouponValidate().validate(j,{abortEarly:!1,allowUnknown:!0});if(C){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(C));c({level:"WARN",message:`Response Validation Warnings for application > Cart > validateCouponForPayment \n ${C}`})}return P}}},7785:(e,t,r)=>{const a=r(6075);class n{static BuyRules(){return a.object({item_criteria:a.any(),cart_conditions:a.any()})}static DiscountRulesApp(){return a.object({matched_buy_rules:a.array().items(a.string().allow("")),raw_offer:a.any(),offer:a.any(),item_criteria:a.any()})}static Ownership(){return a.object({payable_category:a.string().allow(""),payable_by:a.string().allow("")})}static AppliedFreeArticles(){return a.object({free_gift_item_details:n.FreeGiftItems(),parent_item_identifier:a.string().allow(""),quantity:a.number(),article_id:a.string().allow("")})}static AppliedPromotion(){return a.object({promo_id:a.string().allow(""),buy_rules:a.array().items(n.BuyRules()),offer_text:a.string().allow(""),promotion_group:a.string().allow(""),mrp_promotion:a.boolean(),promotion_name:a.string().allow(""),amount:a.number(),discount_rules:a.array().items(n.DiscountRulesApp()),ownership:n.Ownership(),article_quantity:a.number(),applied_free_articles:a.array().items(n.AppliedFreeArticles()),promotion_type:a.string().allow(""),meta:a.any(),code:a.string().allow("").allow(null)})}static PaymentSelectionLock(){return a.object({enabled:a.boolean(),default_options:a.string().allow(""),payment_identifier:a.string().allow("")})}static PromiseFormatted(){return a.object({max:a.string().allow(""),min:a.string().allow("")})}static PromiseISOFormat(){return a.object({max:a.string().allow(""),min:a.string().allow("")})}static PromiseTimestamp(){return a.object({max:a.number(),min:a.number()})}static ShipmentPromise(){return a.object({formatted:n.PromiseFormatted(),timestamp:n.PromiseTimestamp(),iso:n.PromiseISOFormat()})}static BasePrice(){return a.object({effective:a.number(),currency_symbol:a.string().allow(""),marked:a.number(),currency_code:a.string().allow("")})}static ArticlePriceInfo(){return a.object({base:n.BasePrice(),converted:n.BasePrice()})}static BaseInfo(){return a.object({uid:a.number(),name:a.string().allow("")})}static StoreInfo(){return a.object({store_code:a.string().allow(""),uid:a.number(),name:a.string().allow("")})}static ProductArticle(){return a.object({price:n.ArticlePriceInfo(),product_group_tags:a.array().items(a.string().allow("")),extra_meta:a.any(),quantity:a.number(),_custom_json:a.any(),meta:a.any(),size:a.string().allow(""),mto_quantity:a.number(),seller:n.BaseInfo(),seller_identifier:a.string().allow(""),parent_item_identifiers:a.any(),identifier:a.any(),store:n.StoreInfo(),cart_item_meta:a.any(),uid:a.string().allow(""),gift_card:a.any(),is_gift_visible:a.boolean(),type:a.string().allow(""),tags:a.array().items(a.string().allow(""))})}static CartProductIdentifer(){return a.object({identifier:a.string().allow("")})}static PromoMeta(){return a.object({message:a.string().allow("")})}static ChargesAmount(){return a.object({value:a.number(),currency:a.string().allow("")})}static Charges(){return a.object({meta:a.any(),amount:n.ChargesAmount(),name:a.string().allow(""),allow_refund:a.boolean(),code:a.string().allow(""),type:a.string().allow("")})}static ProductPrice(){return a.object({currency_symbol:a.string().allow(""),selling:a.number(),currency_code:a.string().allow(""),add_on:a.number(),effective:a.number(),marked:a.number()})}static ProductPriceInfo(){return a.object({base:n.ProductPrice(),converted:n.ProductPrice()})}static ProductPricePerUnit(){return a.object({currency_symbol:a.string().allow(""),selling_price:a.number(),currency_code:a.string().allow(""),add_on:a.number(),effective:a.number(),marked:a.number()})}static ProductPricePerUnitInfo(){return a.object({base:n.ProductPricePerUnit(),converted:n.ProductPricePerUnit()})}static ProductAvailabilitySize(){return a.object({display:a.string().allow(""),value:a.string().allow(""),is_available:a.boolean()})}static ProductAvailability(){return a.object({out_of_stock:a.boolean(),deliverable:a.boolean(),available_sizes:a.array().items(n.ProductAvailabilitySize()),is_valid:a.boolean(),other_store_quantity:a.number(),sizes:a.array().items(a.string().allow(""))})}static ActionQuery(){return a.object({product_slug:a.array().items(a.string().allow(""))})}static ProductAction(){return a.object({query:n.ActionQuery(),url:a.string().allow(""),type:a.string().allow("")})}static Tags(){return a.object({tags:a.any()})}static ProductImage(){return a.object({secure_url:a.string().allow(""),aspect_ratio:a.string().allow(""),url:a.string().allow("")})}static CategoryInfo(){return a.object({uid:a.number(),name:a.string().allow("")})}static CartProduct(){return a.object({_custom_json:a.any(),brand:n.BaseInfo(),action:n.ProductAction(),teaser_tag:n.Tags(),slug:a.string().allow(""),images:a.array().items(n.ProductImage()),uid:a.number(),name:a.string().allow(""),item_code:a.string().allow("").allow(null),categories:a.array().items(n.CategoryInfo()),tags:a.array().items(a.string().allow("")),type:a.string().allow(""),attributes:a.any()})}static CouponDetails(){return a.object({discount_single_quantity:a.number(),code:a.string().allow(""),discount_total_quantity:a.number()})}static CartProductInfo(){return a.object({article:n.ProductArticle(),moq:a.any(),identifiers:n.CartProductIdentifer().required(),promo_meta:n.PromoMeta(),price:n.ProductPriceInfo(),quantity:a.number(),charges:a.array().items(n.Charges()),discount:a.string().allow(""),availability:n.ProductAvailability(),delivery_promise:n.ShipmentPromise(),product:n.CartProduct(),product_ean_id:a.string().allow(""),bulk_offer:a.any(),parent_item_identifiers:a.any(),coupon:n.CouponDetails(),custom_order:a.any(),coupon_message:a.string().allow(""),key:a.string().allow(""),message:a.string().allow(""),is_set:a.boolean(),price_per_unit:n.ProductPricePerUnitInfo(),promotions_applied:a.array().items(n.AppliedPromotion())})}static DisplayBreakup(){return a.object({currency_symbol:a.string().allow(""),key:a.string().allow(""),display:a.string().allow(""),message:a.array().items(a.string().allow("")),currency_code:a.string().allow(""),value:a.number(),preset:a.number()})}static RawBreakup(){return a.object({vog:a.number(),subtotal:a.number(),fynd_cash:a.number(),discount:a.number(),convenience_fee:a.number(),delivery_charge:a.number(),gst_charges:a.number(),mrp_total:a.number(),mop_total:a.number(),total_charge:a.number(),coupon:a.number(),total:a.number(),gift_card:a.number(),you_saved:a.number(),cod_charge:a.number()})}static CouponBreakup(){return a.object({coupon_value:a.number(),title:a.string().allow("").allow(null),sub_title:a.string().allow("").allow(null),minimum_cart_value:a.number(),message:a.string().allow(""),coupon_type:a.string().allow("").allow(null),uid:a.string().allow(""),value:a.number(),max_discount_value:a.number(),is_applied:a.boolean(),description:a.string().allow("").allow(null),code:a.string().allow(""),type:a.string().allow("")})}static LoyaltyPoints(){return a.object({total:a.number(),description:a.string().allow(""),applicable:a.number(),is_applied:a.boolean()})}static CartBreakup(){return a.object({display:a.array().items(n.DisplayBreakup()),raw:n.RawBreakup(),coupon:n.CouponBreakup(),loyalty_points:n.LoyaltyPoints()})}static CartCurrency(){return a.object({code:a.string().allow(""),symbol:a.string().allow("")})}static CartDetailCoupon(){return a.object({cashback_amount:a.number(),cashback_message_primary:a.string().allow(""),cashback_message_secondary:a.string().allow(""),coupon_code:a.string().allow(""),coupon_description:a.string().allow(""),coupon_id:a.string().allow(""),coupon_subtitle:a.string().allow(""),coupon_title:a.string().allow(""),coupon_type:a.string().allow(""),coupon_value:a.number(),discount:a.number(),is_applied:a.boolean(),is_valid:a.boolean(),maximum_discount_value:a.number(),message:a.string().allow(""),minimum_cart_value:a.number()})}static ChargesThreshold(){return a.object({charges:a.number(),threshold:a.number()})}static DeliveryChargesConfig(){return a.object({enabled:a.boolean(),charges:a.array().items(n.ChargesThreshold())})}static CartCommonConfig(){return a.object({delivery_charges_config:n.DeliveryChargesConfig()})}static CartDetailResponse(){return a.object({cart_id:a.number(),uid:a.string().allow(""),applied_promo_details:a.array().items(n.AppliedPromotion()),checkout_mode:a.string().allow(""),pan_no:a.string().allow(""),is_valid:a.boolean(),id:a.string().allow(""),payment_selection_lock:n.PaymentSelectionLock(),delivery_promise:n.ShipmentPromise(),comment:a.string().allow(""),items:a.array().items(n.CartProductInfo()),delivery_charge_info:a.string().allow(""),common_config:n.CartCommonConfig(),coupon:n.CartDetailCoupon(),message:a.string().allow(""),notification:a.any(),staff_user_id:a.string().allow(""),success:a.boolean(),gstin:a.string().allow(""),restrict_checkout:a.boolean(),last_modified:a.string().allow(""),breakup_values:n.CartBreakup(),currency:n.CartCurrency(),coupon_text:a.string().allow(""),buy_now:a.boolean(),pan_config:a.any(),custom_cart_meta:a.any()})}static AddProductCart(){return a.object({article_assignment:a.any(),product_group_tags:a.array().items(a.string().allow("").allow(null)),extra_meta:a.any(),quantity:a.number(),_custom_json:a.any(),item_size:a.string().allow(""),store_id:a.number(),display:a.string().allow(""),article_id:a.string().allow(""),parent_item_identifiers:a.array().items(a.object().pattern(/\S/,a.string().allow(""))),seller_id:a.number(),pos:a.boolean(),item_id:a.number(),meta:a.any(),seller_identifier:a.string().allow("")})}static AddCartRequest(){return a.object({items:a.array().items(n.AddProductCart()),new_cart:a.boolean()})}static AddCartDetailResponse(){return a.object({message:a.string().allow(""),partial:a.boolean(),cart:n.CartDetailResponse(),success:a.boolean()})}static UpdateProductCart(){return a.object({extra_meta:a.any(),_custom_json:a.any(),quantity:a.number(),item_size:a.string().allow(""),item_index:a.number(),identifiers:n.CartProductIdentifer().required(),article_id:a.string().allow(""),parent_item_identifiers:a.any(),item_id:a.number(),meta:a.any()})}static UpdateCartRequest(){return a.object({items:a.array().items(n.UpdateProductCart()),operation:a.string().allow("").required()})}static UpdateCartDetailResponse(){return a.object({message:a.string().allow(""),cart:n.CartDetailResponse(),success:a.boolean()})}static DeleteCartDetailResponse(){return a.object({message:a.string().allow(""),success:a.boolean()})}static CartItemCountResponse(){return a.object({user_cart_items_count:a.number()})}static PageCoupon(){return a.object({total_item_count:a.number(),has_next:a.boolean(),total:a.number(),current:a.number(),has_previous:a.boolean()})}static Coupon(){return a.object({coupon_amount:a.number(),coupon_value:a.number(),title:a.string().allow(""),minimum_cart_value:a.number(),sub_title:a.string().allow(""),expires_on:a.string().allow(""),message:a.string().allow(""),coupon_type:a.string().allow("").allow(null),max_discount_value:a.number(),coupon_code:a.string().allow(""),is_applicable:a.boolean(),description:a.string().allow("").allow(null),is_applied:a.boolean(),start_date:a.string().allow("").allow(null),end_date:a.string().allow("").allow(null),coupon_applicable_message:a.string().allow(""),offer_text:a.string().allow(""),is_bank_offer:a.boolean()})}static GetCouponResponse(){return a.object({page:n.PageCoupon(),available_coupon_list:a.array().items(n.Coupon())})}static ApplyCouponRequest(){return a.object({coupon_code:a.string().allow("").required()})}static OfferPrice(){return a.object({currency_symbol:a.string().allow(""),bulk_effective:a.number(),currency_code:a.string().allow(""),effective:a.number(),marked:a.number()})}static OfferItem(){return a.object({price:n.OfferPrice(),margin:a.number(),quantity:a.number(),best:a.boolean(),total:a.number(),auto_applied:a.boolean(),type:a.string().allow("")})}static OfferSeller(){return a.object({uid:a.number(),name:a.string().allow("")})}static BulkPriceOffer(){return a.object({offers:a.array().items(n.OfferItem()),seller:n.OfferSeller()})}static BulkPriceResponse(){return a.object({data:a.array().items(n.BulkPriceOffer())})}static RewardPointRequest(){return a.object({points:a.boolean().required()})}static GeoLocation(){return a.object({latitude:a.number(),longitude:a.number()})}static Address(){return a.object({country_iso_code:a.string().allow(""),area:a.string().allow(""),phone:a.string().allow(""),country_phone_code:a.string().allow(""),checkout_mode:a.string().allow(""),address:a.string().allow(""),area_code_slug:a.string().allow(""),geo_location:n.GeoLocation(),id:a.string().allow(""),_custom_json:a.any(),city:a.string().allow(""),sector:a.string().allow(""),state_code:a.string().allow(""),created_by_user_id:a.string().allow(""),landmark:a.string().allow(""),user_id:a.string().allow(""),name:a.string().allow(""),google_map_point:a.any(),is_active:a.boolean(),tags:a.array().items(a.string().allow("")),country_code:a.string().allow(""),address_type:a.string().allow(""),country:a.string().allow(""),is_default_address:a.boolean(),area_code:a.string().allow(""),email:a.string().allow(""),state:a.string().allow(""),meta:a.any()})}static GetAddressesResponse(){return a.object({pii_masking:a.boolean(),address:a.array().items(n.Address())})}static SaveAddressResponse(){return a.object({id:a.string().allow(""),success:a.boolean(),is_default_address:a.boolean()})}static UpdateAddressResponse(){return a.object({is_updated:a.boolean(),id:a.string().allow(""),success:a.boolean(),is_default_address:a.boolean()})}static DeleteAddressResponse(){return a.object({id:a.string().allow(""),is_deleted:a.boolean()})}static SelectCartAddressRequest(){return a.object({id:a.string().allow(""),billing_address_id:a.string().allow(""),cart_id:a.string().allow("")})}static UpdateCartPaymentRequest(){return a.object({id:a.string().allow(""),payment_identifier:a.string().allow("").allow(null),address_id:a.string().allow(""),merchant_code:a.string().allow(""),aggregator_name:a.string().allow(""),payment_mode:a.string().allow("")})}static CouponValidity(){return a.object({title:a.string().allow(""),discount:a.number(),next_validation_required:a.boolean().allow(null),valid:a.boolean(),display_message_en:a.string().allow("").allow(null),code:a.string().allow("").allow(null)})}static PaymentCouponValidate(){return a.object({message:a.string().allow(""),coupon_validity:n.CouponValidity(),success:a.boolean().required()})}static ShipmentResponse(){return a.object({shipments:a.number(),promise:n.ShipmentPromise(),order_type:a.string().allow(""),box_type:a.string().allow("").allow(null),shipment_type:a.string().allow(""),dp_options:a.any().allow(null),dp_id:a.string().allow("").allow(null),items:a.array().items(n.CartProductInfo()),fulfillment_type:a.string().allow(""),fulfillment_id:a.number()})}static CartShipmentsResponse(){return a.object({delivery_charge_info:a.string().allow(""),checkout_mode:a.string().allow(""),message:a.string().allow(""),gstin:a.string().allow(""),restrict_checkout:a.boolean(),last_modified:a.string().allow(""),cart_id:a.number(),is_valid:a.boolean(),breakup_values:n.CartBreakup(),currency:n.CartCurrency(),id:a.string().allow(""),shipments:a.array().items(n.ShipmentResponse()),payment_selection_lock:n.PaymentSelectionLock(),coupon_text:a.string().allow(""),delivery_promise:n.ShipmentPromise(),error:a.boolean(),comment:a.string().allow(""),buy_now:a.boolean(),uid:a.string().allow(""),custom_cart_meta:a.any()})}static CartCheckoutCustomMeta(){return a.object({key:a.string().allow("").required(),value:a.string().allow("").required()})}static CustomerDetails(){return a.object({email:a.string().allow(""),mobile:a.string().allow("").required(),name:a.string().allow("")})}static StaffCheckout(){return a.object({employee_code:a.string().allow(""),user:a.string().allow("").required(),last_name:a.string().allow("").required(),first_name:a.string().allow("").required(),_id:a.string().allow("").required()})}static CartCheckoutDetailRequest(){return a.object({custom_meta:a.array().items(n.CartCheckoutCustomMeta()),customer_details:a.any(),merchant_code:a.string().allow(""),id:a.string().allow(""),payment_auto_confirm:a.boolean(),payment_mode:a.string().allow("").required(),aggregator:a.string().allow(""),address_id:a.string().allow(""),callback_url:a.string().allow(""),delivery_address:a.any(),staff:n.StaffCheckout(),order_type:a.string().allow(""),ordering_store:a.number(),extra_meta:a.any(),payment_identifier:a.string().allow(""),billing_address:a.any(),payment_params:a.any(),billing_address_id:a.string().allow(""),meta:a.any(),payment_extra_identifiers:a.any(),iin:a.string().allow(""),network:a.string().allow(""),type:a.string().allow(""),card_id:a.string().allow("")})}static CheckCart(){return a.object({checkout_mode:a.string().allow(""),user_type:a.string().allow(""),cod_message:a.string().allow(""),cart_id:a.number(),is_valid:a.boolean(),delivery_charges:a.number(),id:a.string().allow(""),payment_selection_lock:n.PaymentSelectionLock(),error_message:a.string().allow(""),delivery_promise:n.ShipmentPromise(),comment:a.string().allow(""),items:a.array().items(n.CartProductInfo()),uid:a.string().allow(""),delivery_charge_order_value:a.number(),delivery_charge_info:a.string().allow(""),cod_available:a.boolean(),success:a.boolean(),store_code:a.string().allow(""),message:a.string().allow(""),gstin:a.string().allow(""),restrict_checkout:a.boolean(),last_modified:a.string().allow(""),order_id:a.string().allow(""),breakup_values:n.CartBreakup(),currency:n.CartCurrency(),store_emps:a.array().items(a.any()),coupon_text:a.string().allow(""),buy_now:a.boolean(),cod_charges:a.number(),custom_cart_meta:a.any()})}static CartCheckoutResponse(){return a.object({payment_confirm_url:a.string().allow(""),app_intercept_url:a.string().allow(""),success:a.boolean(),callback_url:a.string().allow(""),message:a.string().allow(""),data:a.any(),order_id:a.string().allow(""),cart:n.CheckCart()})}static GiftDetail(){return a.object({is_gift_applied:a.boolean(),gift_message:a.string().allow("")})}static ArticleGiftDetail(){return a.object({article_id:n.GiftDetail()})}static CartMetaRequest(){return a.object({delivery_slots:a.any(),gift_details:n.ArticleGiftDetail(),pick_up_customer_details:a.any(),checkout_mode:a.string().allow(""),comment:a.string().allow(""),gstin:a.string().allow(""),custom_cart_meta:a.any()})}static CartMetaResponse(){return a.object({message:a.string().allow(""),is_valid:a.boolean()})}static CartMetaMissingResponse(){return a.object({errors:a.array().items(a.string().allow(""))})}static GetShareCartLinkRequest(){return a.object({id:a.string().allow(""),meta:a.any()})}static GetShareCartLinkResponse(){return a.object({token:a.string().allow(""),share_url:a.string().allow("")})}static SharedCartDetails(){return a.object({token:a.string().allow(""),user:a.any(),created_on:a.string().allow(""),source:a.any(),meta:a.any()})}static SharedCart(){return a.object({checkout_mode:a.string().allow(""),cart_id:a.number(),is_valid:a.boolean(),id:a.string().allow(""),payment_selection_lock:n.PaymentSelectionLock(),delivery_promise:n.ShipmentPromise(),comment:a.string().allow(""),items:a.array().items(n.CartProductInfo()),uid:a.string().allow(""),delivery_charge_info:a.string().allow(""),message:a.string().allow(""),gstin:a.string().allow(""),shared_cart_details:n.SharedCartDetails(),restrict_checkout:a.boolean(),last_modified:a.string().allow(""),breakup_values:n.CartBreakup(),currency:n.CartCurrency(),coupon_text:a.string().allow(""),buy_now:a.boolean(),custom_cart_meta:a.any()})}static SharedCartResponse(){return a.object({error:a.string().allow(""),cart:n.SharedCart()})}static PriceMinMax(){return a.object({min:a.number(),max:a.number()})}static ItemPriceDetails(){return a.object({marked:n.PriceMinMax(),effective:n.PriceMinMax(),currency:a.string().allow("")})}static FreeGiftItems(){return a.object({item_slug:a.string().allow(""),item_name:a.string().allow(""),item_price_details:n.ItemPriceDetails(),item_brand_name:a.string().allow(""),item_id:a.number(),item_images_url:a.array().items(a.string().allow(""))})}static PromotionOffer(){return a.object({id:a.string().allow(""),buy_rules:a.any(),offer_text:a.string().allow(""),promotion_type:a.string().allow(""),promotion_name:a.string().allow(""),promotion_group:a.string().allow(""),valid_till:a.string().allow(""),discount_rules:a.array().items(a.any()),free_gift_items:a.array().items(n.FreeGiftItems()),description:a.string().allow("")})}static PromotionOffersResponse(){return a.object({available_promotions:a.array().items(n.PromotionOffer())})}static PromotionPaymentOffer(){return a.object({application_id:a.string().allow(""),buy_rules:a.array().items(a.any()),calculate_on:a.string().allow(""),description:a.string().allow(""),discount_rules:a.array().items(a.any()),id:a.string().allow(""),offer_text:a.string().allow(""),promotion_group:a.string().allow(""),promotion_type:a.string().allow(""),promotion_name:a.string().allow("")})}static PromotionPaymentOffersResponse(){return a.object({success:a.boolean(),promotions:a.array().items(n.PromotionPaymentOffer())})}static OperationErrorResponse(){return a.object({message:a.string().allow(""),success:a.boolean()})}static LadderPrice(){return a.object({currency_symbol:a.string().allow(""),offer_price:a.number(),currency_code:a.string().allow(""),effective:a.number(),marked:a.number()})}static LadderOfferItem(){return a.object({price:n.LadderPrice(),margin:a.number(),max_quantity:a.number(),min_quantity:a.number(),type:a.string().allow("")})}static LadderPriceOffer(){return a.object({id:a.string().allow(""),buy_rules:a.any(),calculate_on:a.string().allow(""),offer_text:a.string().allow(""),promotion_group:a.string().allow(""),valid_till:a.string().allow(""),discount_rules:a.array().items(a.any()),offer_prices:a.array().items(n.LadderOfferItem()),free_gift_items:a.array().items(n.FreeGiftItems()),description:a.string().allow("")})}static CurrencyInfo(){return a.object({code:a.string().allow(""),symbol:a.string().allow("")})}static LadderPriceOffers(){return a.object({available_offers:a.array().items(n.LadderPriceOffer()),currency:n.CurrencyInfo()})}static PaymentMeta(){return a.object({merchant_code:a.string().allow(""),type:a.string().allow(""),payment_gateway:a.string().allow(""),payment_identifier:a.string().allow("").allow(null)})}static PaymentMethod(){return a.object({payment_meta:n.PaymentMeta().required(),mode:a.string().allow("").required(),payment:a.string().allow(""),amount:a.number().allow(null),name:a.string().allow(""),payment_extra_identifiers:a.any()})}static CartCheckoutDetailV2Request(){return a.object({custom_meta:a.any(),customer_details:a.any().allow(null),merchant_code:a.string().allow(""),cart_id:a.string().allow(""),id:a.string().allow("").allow(null),payment_auto_confirm:a.boolean(),payment_methods:a.array().items(n.PaymentMethod()).required(),payment_mode:a.string().allow("").required(),aggregator:a.string().allow(""),address_id:a.string().allow(""),callback_url:a.string().allow("").allow(null),delivery_address:a.any(),staff:n.StaffCheckout(),order_type:a.string().allow(""),ordering_store:a.number().allow(null),extra_meta:a.any(),payment_identifier:a.string().allow("").allow(null),billing_address:a.any(),payment_params:a.any().allow(null),billing_address_id:a.string().allow(""),meta:a.any(),iin:a.string().allow(""),network:a.string().allow(""),type:a.string().allow(""),card_id:a.string().allow("")})}}e.exports=n},3206:(e,t,r)=>{const a=r(6075),n=r(7785);e.exports=class{static addAddress(){return a.object({body:n.Address().required()}).required()}static addItems(){return a.object({i:a.boolean(),b:a.boolean(),areaCode:a.string().allow(""),buyNow:a.boolean(),id:a.string().allow(""),orderType:a.string().allow(""),body:n.AddCartRequest().required()}).required()}static applyCoupon(){return a.object({i:a.boolean(),b:a.boolean(),p:a.boolean(),id:a.string().allow(""),buyNow:a.boolean(),cartType:a.string().allow(""),body:n.ApplyCouponRequest().required()}).required()}static applyRewardPoints(){return a.object({id:a.string().allow(""),i:a.boolean(),b:a.boolean(),buyNow:a.boolean(),body:n.RewardPointRequest().required()}).required()}static checkoutCart(){return a.object({buyNow:a.boolean(),cartType:a.string().allow(""),body:n.CartCheckoutDetailRequest().required()}).required()}static checkoutCartV2(){return a.object({buyNow:a.boolean(),cartType:a.string().allow(""),body:n.CartCheckoutDetailV2Request().required()}).required()}static deleteCart(){return a.object({id:a.string().allow("")})}static getAddressById(){return a.object({id:a.string().allow("").required(),cartId:a.string().allow(""),buyNow:a.boolean(),mobileNo:a.string().allow(""),checkoutMode:a.string().allow(""),tags:a.string().allow(""),isDefault:a.boolean()}).required()}static getAddresses(){return a.object({cartId:a.string().allow(""),buyNow:a.boolean(),mobileNo:a.string().allow(""),checkoutMode:a.string().allow(""),tags:a.string().allow(""),isDefault:a.boolean()})}static getBulkDiscountOffers(){return a.object({itemId:a.number(),articleId:a.string().allow(""),uid:a.number(),slug:a.string().allow("")})}static getCart(){return a.object({id:a.string().allow(""),i:a.boolean(),b:a.boolean(),c:a.boolean(),assignCardId:a.number(),areaCode:a.string().allow(""),buyNow:a.boolean(),orderType:a.string().allow("")})}static getCartLastModified(){return a.object({id:a.string().allow("")})}static getCartShareLink(){return a.object({body:n.GetShareCartLinkRequest().required()}).required()}static getCartSharedItems(){return a.object({token:a.string().allow("").required()}).required()}static getCoupons(){return a.object({id:a.string().allow(""),buyNow:a.boolean(),slug:a.string().allow(""),storeId:a.string().allow("")})}static getItemCount(){return a.object({id:a.string().allow(""),buyNow:a.boolean()})}static getLadderOffers(){return a.object({slug:a.string().allow("").required(),storeId:a.string().allow(""),promotionId:a.string().allow(""),pageSize:a.number()}).required()}static getPromotionOffers(){return a.object({slug:a.string().allow(""),pageSize:a.number(),promotionGroup:a.string().allow(""),storeId:a.number(),cartType:a.string().allow("")})}static getPromotionPaymentOffers(){return a.object({id:a.string().allow(""),uid:a.number()})}static getShipments(){return a.object({p:a.boolean(),id:a.string().allow(""),buyNow:a.boolean(),addressId:a.string().allow(""),areaCode:a.string().allow(""),orderType:a.string().allow("")})}static removeAddress(){return a.object({id:a.string().allow("").required()}).required()}static removeCoupon(){return a.object({id:a.string().allow(""),buyNow:a.boolean()})}static selectAddress(){return a.object({cartId:a.string().allow(""),buyNow:a.boolean(),i:a.boolean(),b:a.boolean(),body:n.SelectCartAddressRequest().required()}).required()}static selectPaymentMode(){return a.object({id:a.string().allow(""),buyNow:a.boolean(),body:n.UpdateCartPaymentRequest().required()}).required()}static updateAddress(){return a.object({id:a.string().allow("").required(),body:n.Address().required()}).required()}static updateCart(){return a.object({id:a.string().allow(""),i:a.boolean(),b:a.boolean(),areaCode:a.string().allow(""),buyNow:a.boolean(),cartType:a.string().allow(""),orderType:a.string().allow(""),body:n.UpdateCartRequest().required()}).required()}static updateCartMeta(){return a.object({id:a.string().allow(""),buyNow:a.boolean(),body:n.CartMetaRequest().required()}).required()}static updateCartWithSharedItems(){return a.object({token:a.string().allow("").required(),action:a.string().allow("").required()}).required()}static validateCouponForPayment(){return a.object({id:a.string().allow(""),buyNow:a.boolean(),addressId:a.string().allow(""),paymentMode:a.string().allow(""),paymentIdentifier:a.string().allow(""),aggregatorName:a.string().allow(""),merchantCode:a.string().allow(""),iin:a.string().allow(""),network:a.string().allow(""),type:a.string().allow(""),cardId:a.string().allow(""),cartType:a.string().allow("")})}}},2099:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=r(1121),l=r(700),c=r(103),{Logger:u}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={followById:"/service/application/catalog/v1.0/follow/{collection_type}/{collection_id}/",getBrandDetailBySlug:"/service/application/catalog/v1.0/brands/{slug}/",getBrands:"/service/application/catalog/v1.0/brands/",getCategories:"/service/application/catalog/v1.0/categories/",getCategoryDetailBySlug:"/service/application/catalog/v1.0/categories/{slug}/",getCollectionDetailBySlug:"/service/application/catalog/v1.0/collections/{slug}/",getCollectionItemsBySlug:"/service/application/catalog/v1.0/collections/{slug}/items/",getCollections:"/service/application/catalog/v1.0/collections/",getComparedFrequentlyProductBySlug:"/service/application/catalog/v1.0/products/{slug}/similar/compared-frequently/",getDepartments:"/service/application/catalog/v1.0/departments/",getFollowIds:"/service/application/catalog/v1.0/follow/ids/",getFollowedListing:"/service/application/catalog/v1.0/follow/{collection_type}/",getFollowerCountById:"/service/application/catalog/v1.0/follow/{collection_type}/{collection_id}/count/",getHomeProducts:"/service/application/catalog/v1.0/home/listing/",getInStockLocations:"/service/application/catalog/v1.0/in-stock/locations/",getLocationDetailsById:"/service/application/catalog/v1.0/locations/{location_id}/",getProductBundlesBySlug:"/service/application/catalog/v1.0/product-grouping/",getProductComparisonBySlugs:"/service/application/catalog/v1.0/products/compare/",getProductDetailBySlug:"/service/application/catalog/v1.0/products/{slug}/",getProductPriceBySlug:"/service/application/catalog/v3.0/products/{slug}/sizes/{size}/price/",getProductSellersBySlug:"/service/application/catalog/v3.0/products/{slug}/sizes/{size}/sellers/",getProductSizesBySlug:"/service/application/catalog/v1.0/products/{slug}/sizes/",getProductStockByIds:"/service/application/catalog/v1.0/products/stock-status/",getProductStockForTimeByIds:"/service/application/catalog/v1.0/products/stock-status/poll/",getProductVariantsBySlug:"/service/application/catalog/v1.0/products/{slug}/variants/",getProducts:"/service/application/catalog/v1.0/products/",getSearchResults:"/service/application/catalog/v1.0/auto-complete/",getSimilarComparisonProductBySlug:"/service/application/catalog/v1.0/products/{slug}/similar/compare/",getStores:"/service/application/catalog/v1.0/locations/",unfollowById:"/service/application/catalog/v1.0/follow/{collection_type}/{collection_id}/"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async followById({collectionType:e,collectionId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.followById().validate({collectionType:e,collectionId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.followById().validate({collectionType:e,collectionId:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > followById \n ${p}`});const g=await a.execute(this._conf,"post",s({url:this._urls.followById,params:{collectionType:e,collectionId:t}}),{},void 0,{...r},{responseHeaders:i});let m=g;i&&(m=g[0]);const{error:f}=c.FollowPostResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > followById \n ${f}`})}return g}async getBrandDetailBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getBrandDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getBrandDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getBrandDetailBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getBrandDetailBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.BrandDetailResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getBrandDetailBySlug \n ${m}`})}return p}async getBrands({department:e,pageNo:t,pageSize:r,requestHeaders:i}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=l.getBrands().validate({department:e,pageNo:t,pageSize:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=l.getBrands().validate({department:e,pageNo:t,pageSize:r},{abortEarly:!1,allowUnknown:!1});g&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getBrands \n ${g}`});const m={};m.department=e,m.page_no=t,m.page_size=r;const f=await a.execute(this._conf,"get",s({url:this._urls.getBrands,params:{}}),m,void 0,{...i},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=c.BrandListingResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getBrands \n ${y}`})}return f}getBrandsPaginator({department:e,pageSize:t}={}){const r=new i;return r.setCallback((async()=>{r.nextId;const a=r.pageNo,n=await this.getBrands({department:e,pageNo:a,pageSize:t});return r.setPaginator({hasNext:!!n.page.has_next,nextId:n.page.next_id}),n}).bind(this)),r}async getCategories({department:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getCategories().validate({department:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getCategories().validate({department:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getCategories \n ${d}`});const p={};p.department=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getCategories,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=c.CategoryListingResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getCategories \n ${f}`})}return g}async getCategoryDetailBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getCategoryDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getCategoryDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getCategoryDetailBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getCategoryDetailBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.CategoryMetaResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getCategoryDetailBySlug \n ${m}`})}return p}async getCollectionDetailBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getCollectionDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getCollectionDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getCollectionDetailBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getCollectionDetailBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.CollectionDetailResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getCollectionDetailBySlug \n ${m}`})}return p}async getCollectionItemsBySlug({slug:e,f:t,q:r,filters:i,sortOn:d,pageId:p,pageSize:g,pageNo:m,pageType:f,requestHeaders:w}={requestHeaders:{}},{responseHeaders:y}={responseHeaders:!1}){const{error:b}=l.getCollectionItemsBySlug().validate({slug:e,f:t,q:r,filters:i,sortOn:d,pageId:p,pageSize:g,pageNo:m,pageType:f},{abortEarly:!1,allowUnknown:!0});if(b)return Promise.reject(new n(b));const{error:h}=l.getCollectionItemsBySlug().validate({slug:e,f:t,q:r,filters:i,sortOn:d,pageId:p,pageSize:g,pageNo:m,pageType:f},{abortEarly:!1,allowUnknown:!1});h&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getCollectionItemsBySlug \n ${h}`});const _={};_.f=t,_.q=r,_.filters=i,_.sort_on=d,_.page_id=p,_.page_size=g,_.page_no=m,_.page_type=f;const v=await a.execute(this._conf,"get",s({url:this._urls.getCollectionItemsBySlug,params:{slug:e}}),_,void 0,{...w},{responseHeaders:y});let k=v;y&&(k=v[0]);const{error:R}=c.ProductListingResponse().validate(k,{abortEarly:!1,allowUnknown:!0});if(R){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(R));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getCollectionItemsBySlug \n ${R}`})}return v}getCollectionItemsBySlugPaginator({slug:e,f:t,q:r,filters:a,sortOn:n,pageSize:o}={}){const s=new i;return s.setCallback((async()=>{const i=s.nextId,l=s.pageNo,c=await this.getCollectionItemsBySlug({slug:e,f:t,q:r,filters:a,sortOn:n,pageId:i,pageSize:o,pageNo:l,pageType:"cursor"});return s.setPaginator({hasNext:!!c.page.has_next,nextId:c.page.next_id}),c}).bind(this)),s}async getCollections({pageNo:e,pageSize:t,tag:r,q:i,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=l.getCollections().validate({pageNo:e,pageSize:t,tag:r,q:i},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=l.getCollections().validate({pageNo:e,pageSize:t,tag:r,q:i},{abortEarly:!1,allowUnknown:!1});m&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getCollections \n ${m}`});const f={};f.page_no=e,f.page_size=t,f.tag=r,f.q=i;const w=await a.execute(this._conf,"get",s({url:this._urls.getCollections,params:{}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=c.GetCollectionListingResponse().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getCollections \n ${b}`})}return w}getCollectionsPaginator({pageSize:e,tag:t,q:r}={}){const a=new i;return a.setCallback((async()=>{a.nextId;const n=a.pageNo,o=await this.getCollections({pageNo:n,pageSize:e,tag:t,q:r});return a.setPaginator({hasNext:!!o.page.has_next,nextId:o.page.next_id}),o}).bind(this)),a}async getComparedFrequentlyProductBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getComparedFrequentlyProductBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getComparedFrequentlyProductBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getComparedFrequentlyProductBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getComparedFrequentlyProductBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.ProductFrequentlyComparedSimilarResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getComparedFrequentlyProductBySlug \n ${m}`})}return p}async getDepartments({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getDepartments().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getDepartments().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getDepartments \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getDepartments,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.DepartmentResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getDepartments \n ${g}`})}return d}async getFollowIds({collectionType:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getFollowIds().validate({collectionType:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getFollowIds().validate({collectionType:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getFollowIds \n ${d}`});const p={};p.collection_type=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getFollowIds,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=c.FollowIdsResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getFollowIds \n ${f}`})}return g}async getFollowedListing({collectionType:e,pageId:t,pageSize:r,requestHeaders:i}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=l.getFollowedListing().validate({collectionType:e,pageId:t,pageSize:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=l.getFollowedListing().validate({collectionType:e,pageId:t,pageSize:r},{abortEarly:!1,allowUnknown:!1});g&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getFollowedListing \n ${g}`});const m={};m.page_id=t,m.page_size=r;const f=await a.execute(this._conf,"get",s({url:this._urls.getFollowedListing,params:{collectionType:e}}),m,void 0,{...i},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=c.GetFollowListingResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getFollowedListing \n ${y}`})}return f}getFollowedListingPaginator({collectionType:e,pageSize:t}={}){const r=new i;return r.setCallback((async()=>{const a=r.nextId,n=(r.pageNo,await this.getFollowedListing({collectionType:e,pageId:a,pageSize:t}));return r.setPaginator({hasNext:!!n.page.has_next,nextId:n.page.next_id}),n}).bind(this)),r}async getFollowerCountById({collectionType:e,collectionId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getFollowerCountById().validate({collectionType:e,collectionId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getFollowerCountById().validate({collectionType:e,collectionId:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getFollowerCountById \n ${p}`});const g=await a.execute(this._conf,"get",s({url:this._urls.getFollowerCountById,params:{collectionType:e,collectionId:t}}),{},void 0,{...r},{responseHeaders:i});let m=g;i&&(m=g[0]);const{error:f}=c.FollowerCountResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getFollowerCountById \n ${f}`})}return g}async getHomeProducts({sortOn:e,pageId:t,pageSize:r,requestHeaders:i}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=l.getHomeProducts().validate({sortOn:e,pageId:t,pageSize:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=l.getHomeProducts().validate({sortOn:e,pageId:t,pageSize:r},{abortEarly:!1,allowUnknown:!1});g&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getHomeProducts \n ${g}`});const m={};m.sort_on=e,m.page_id=t,m.page_size=r;const f=await a.execute(this._conf,"get",s({url:this._urls.getHomeProducts,params:{}}),m,void 0,{...i},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=c.HomeListingResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getHomeProducts \n ${y}`})}return f}getHomeProductsPaginator({sortOn:e,pageSize:t}={}){const r=new i;return r.setCallback((async()=>{const a=r.nextId,n=(r.pageNo,await this.getHomeProducts({sortOn:e,pageId:a,pageSize:t}));return r.setPaginator({hasNext:!!n.page.has_next,nextId:n.page.next_id}),n}).bind(this)),r}async getInStockLocations({pageNo:e,pageSize:t,q:r,city:i,range:d,latitude:p,longitude:g,requestHeaders:m}={requestHeaders:{}},{responseHeaders:f}={responseHeaders:!1}){const{error:w}=l.getInStockLocations().validate({pageNo:e,pageSize:t,q:r,city:i,range:d,latitude:p,longitude:g},{abortEarly:!1,allowUnknown:!0});if(w)return Promise.reject(new n(w));const{error:y}=l.getInStockLocations().validate({pageNo:e,pageSize:t,q:r,city:i,range:d,latitude:p,longitude:g},{abortEarly:!1,allowUnknown:!1});y&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getInStockLocations \n ${y}`});const b={};b.page_no=e,b.page_size=t,b.q=r,b.city=i,b.range=d,b.latitude=p,b.longitude=g;const h=await a.execute(this._conf,"get",s({url:this._urls.getInStockLocations,params:{}}),b,void 0,{...m},{responseHeaders:f});let _=h;f&&(_=h[0]);const{error:v}=c.ApplicationStoreListing().validate(_,{abortEarly:!1,allowUnknown:!0});if(v){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(v));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getInStockLocations \n ${v}`})}return h}getInStockLocationsPaginator({pageSize:e,q:t,city:r,range:a,latitude:n,longitude:o}={}){const s=new i;return s.setCallback((async()=>{s.nextId;const i=s.pageNo,l=await this.getInStockLocations({pageNo:i,pageSize:e,q:t,city:r,range:a,latitude:n,longitude:o});return s.setPaginator({hasNext:!!l.page.has_next,nextId:l.page.next_id}),l}).bind(this)),s}async getLocationDetailsById({locationId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getLocationDetailsById().validate({locationId:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getLocationDetailsById().validate({locationId:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getLocationDetailsById \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getLocationDetailsById,params:{locationId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.StoreDetails().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getLocationDetailsById \n ${m}`})}return p}async getProductBundlesBySlug({slug:e,id:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getProductBundlesBySlug().validate({slug:e,id:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getProductBundlesBySlug().validate({slug:e,id:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductBundlesBySlug \n ${p}`});const g={};g.slug=e,g.id=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getProductBundlesBySlug,params:{}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.ProductBundle().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductBundlesBySlug \n ${w}`})}return m}async getProductComparisonBySlugs({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getProductComparisonBySlugs().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getProductComparisonBySlugs().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductComparisonBySlugs \n ${d}`});const p={};p.slug=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getProductComparisonBySlugs,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=c.ProductsComparisonResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductComparisonBySlugs \n ${f}`})}return g}async getProductDetailBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getProductDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getProductDetailBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductDetailBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getProductDetailBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.ProductDetail().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductDetailBySlug \n ${m}`})}return p}async getProductPriceBySlug({slug:e,size:t,storeId:r,moq:i,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=l.getProductPriceBySlug().validate({slug:e,size:t,storeId:r,moq:i},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=l.getProductPriceBySlug().validate({slug:e,size:t,storeId:r,moq:i},{abortEarly:!1,allowUnknown:!1});m&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductPriceBySlug \n ${m}`});const f={};f.store_id=r,f.moq=i;const w=await a.execute(this._conf,"get",s({url:this._urls.getProductPriceBySlug,params:{slug:e,size:t}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=c.ProductSizePriceResponseV3().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductPriceBySlug \n ${b}`})}return w}async getProductSellersBySlug({slug:e,size:t,strategy:r,pageNo:i,pageSize:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=l.getProductSellersBySlug().validate({slug:e,size:t,strategy:r,pageNo:i,pageSize:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=l.getProductSellersBySlug().validate({slug:e,size:t,strategy:r,pageNo:i,pageSize:d},{abortEarly:!1,allowUnknown:!1});f&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductSellersBySlug \n ${f}`});const w={};w.strategy=r,w.page_no=i,w.page_size=d;const y=await a.execute(this._conf,"get",s({url:this._urls.getProductSellersBySlug,params:{slug:e,size:t}}),w,void 0,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=c.ProductSizeSellersResponseV3().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductSellersBySlug \n ${h}`})}return y}getProductSellersBySlugPaginator({slug:e,size:t,strategy:r,pageSize:a}={}){const n=new i;return n.setCallback((async()=>{n.nextId;const o=n.pageNo,s=await this.getProductSellersBySlug({slug:e,size:t,strategy:r,pageNo:o,pageSize:a});return n.setPaginator({hasNext:!!s.page.has_next,nextId:s.page.next_id}),s}).bind(this)),n}async getProductSizesBySlug({slug:e,storeId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getProductSizesBySlug().validate({slug:e,storeId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getProductSizesBySlug().validate({slug:e,storeId:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductSizesBySlug \n ${p}`});const g={};g.store_id=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getProductSizesBySlug,params:{slug:e}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.ProductSizes().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductSizesBySlug \n ${w}`})}return m}async getProductStockByIds({itemId:e,alu:t,skuCode:r,ean:i,upc:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=l.getProductStockByIds().validate({itemId:e,alu:t,skuCode:r,ean:i,upc:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=l.getProductStockByIds().validate({itemId:e,alu:t,skuCode:r,ean:i,upc:d},{abortEarly:!1,allowUnknown:!1});f&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductStockByIds \n ${f}`});const w={};w.item_id=e,w.alu=t,w.sku_code=r,w.ean=i,w.upc=d;const y=await a.execute(this._conf,"get",s({url:this._urls.getProductStockByIds,params:{}}),w,void 0,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=c.ProductStockStatusResponse().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductStockByIds \n ${h}`})}return y}async getProductStockForTimeByIds({timestamp:e,pageSize:t,pageId:r,requestHeaders:i}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=l.getProductStockForTimeByIds().validate({timestamp:e,pageSize:t,pageId:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=l.getProductStockForTimeByIds().validate({timestamp:e,pageSize:t,pageId:r},{abortEarly:!1,allowUnknown:!1});g&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductStockForTimeByIds \n ${g}`});const m={};m.timestamp=e,m.page_size=t,m.page_id=r;const f=await a.execute(this._conf,"get",s({url:this._urls.getProductStockForTimeByIds,params:{}}),m,void 0,{...i},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=c.ProductStockPolling().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductStockForTimeByIds \n ${y}`})}return f}getProductStockForTimeByIdsPaginator({timestamp:e,pageSize:t}={}){const r=new i;return r.setCallback((async()=>{const a=r.nextId,n=(r.pageNo,await this.getProductStockForTimeByIds({timestamp:e,pageSize:t,pageId:a}));return r.setPaginator({hasNext:!!n.page.has_next,nextId:n.page.next_id}),n}).bind(this)),r}async getProductVariantsBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getProductVariantsBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getProductVariantsBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProductVariantsBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getProductVariantsBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.ProductVariantsResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProductVariantsBySlug \n ${m}`})}return p}async getProducts({q:e,f:t,filters:r,sortOn:i,pageId:d,pageSize:p,pageNo:g,pageType:m,requestHeaders:f}={requestHeaders:{}},{responseHeaders:w}={responseHeaders:!1}){const{error:y}=l.getProducts().validate({q:e,f:t,filters:r,sortOn:i,pageId:d,pageSize:p,pageNo:g,pageType:m},{abortEarly:!1,allowUnknown:!0});if(y)return Promise.reject(new n(y));const{error:b}=l.getProducts().validate({q:e,f:t,filters:r,sortOn:i,pageId:d,pageSize:p,pageNo:g,pageType:m},{abortEarly:!1,allowUnknown:!1});b&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getProducts \n ${b}`});const h={};h.q=e,h.f=t,h.filters=r,h.sort_on=i,h.page_id=d,h.page_size=p,h.page_no=g,h.page_type=m;const _=await a.execute(this._conf,"get",s({url:this._urls.getProducts,params:{}}),h,void 0,{...f},{responseHeaders:w});let v=_;w&&(v=_[0]);const{error:k}=c.ProductListingResponse().validate(v,{abortEarly:!1,allowUnknown:!0});if(k){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(k));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getProducts \n ${k}`})}return _}getProductsPaginator({q:e,f:t,filters:r,sortOn:a,pageSize:n}={}){const o=new i;return o.setCallback((async()=>{const s=o.nextId,i=o.pageNo,l=await this.getProducts({q:e,f:t,filters:r,sortOn:a,pageId:s,pageSize:n,pageNo:i,pageType:"cursor"});return o.setPaginator({hasNext:!!l.page.has_next,nextId:l.page.next_id}),l}).bind(this)),o}async getSearchResults({q:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getSearchResults().validate({q:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getSearchResults().validate({q:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getSearchResults \n ${d}`});const p={};p.q=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getSearchResults,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=c.AutoCompleteResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getSearchResults \n ${f}`})}return g}async getSimilarComparisonProductBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getSimilarComparisonProductBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getSimilarComparisonProductBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getSimilarComparisonProductBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getSimilarComparisonProductBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.ProductCompareResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getSimilarComparisonProductBySlug \n ${m}`})}return p}async getStores({pageNo:e,pageSize:t,q:r,city:i,range:d,latitude:p,longitude:g,tags:m,requestHeaders:f}={requestHeaders:{}},{responseHeaders:w}={responseHeaders:!1}){const{error:y}=l.getStores().validate({pageNo:e,pageSize:t,q:r,city:i,range:d,latitude:p,longitude:g,tags:m},{abortEarly:!1,allowUnknown:!0});if(y)return Promise.reject(new n(y));const{error:b}=l.getStores().validate({pageNo:e,pageSize:t,q:r,city:i,range:d,latitude:p,longitude:g,tags:m},{abortEarly:!1,allowUnknown:!1});b&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > getStores \n ${b}`});const h={};h.page_no=e,h.page_size=t,h.q=r,h.city=i,h.range=d,h.latitude=p,h.longitude=g,h.tags=m;const _=await a.execute(this._conf,"get",s({url:this._urls.getStores,params:{}}),h,void 0,{...f},{responseHeaders:w});let v=_;w&&(v=_[0]);const{error:k}=c.StoreListingResponse().validate(v,{abortEarly:!1,allowUnknown:!0});if(k){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(k));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > getStores \n ${k}`})}return _}getStoresPaginator({pageSize:e,q:t,city:r,range:a,latitude:n,longitude:o,tags:s}={}){const l=new i;return l.setCallback((async()=>{l.nextId;const i=l.pageNo,c=await this.getStores({pageNo:i,pageSize:e,q:t,city:r,range:a,latitude:n,longitude:o,tags:s});return l.setPaginator({hasNext:!!c.page.has_next,nextId:c.page.next_id}),c}).bind(this)),l}async unfollowById({collectionType:e,collectionId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.unfollowById().validate({collectionType:e,collectionId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.unfollowById().validate({collectionType:e,collectionId:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Catalog > unfollowById \n ${p}`});const g=await a.execute(this._conf,"delete",s({url:this._urls.unfollowById,params:{collectionType:e,collectionId:t}}),{},void 0,{...r},{responseHeaders:i});let m=g;i&&(m=g[0]);const{error:f}=c.FollowPostResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Catalog > unfollowById \n ${f}`})}return g}}},103:(e,t,r)=>{const a=r(6075);class n{static ProductDetailCustomOrder(){return a.object({manufacturing_time:a.number(),manufacturing_time_unit:a.string().allow(""),is_custom_order:a.boolean()})}static Meta(){return a.object({source:a.string().allow("")})}static Media(){return a.object({url:a.string().allow(""),type:a.string().allow(""),meta:n.Meta(),alt:a.string().allow("")})}static ProductListingActionPage(){return a.object({type:a.string().allow(""),query:a.any(),params:a.any()})}static ProductListingAction(){return a.object({type:a.string().allow(""),page:n.ProductListingActionPage()})}static ProductBrand(){return a.object({uid:a.number(),logo:n.Media(),description:a.string().allow(""),name:a.string().allow(""),action:n.ProductListingAction()})}static ProductDepartment(){return a.object({uid:a.number(),logo:n.Media(),slug:a.string().allow(""),name:a.string().allow("")})}static ProductCategoryMap(){return a.object({l1:n.ProductBrand(),l2:n.ProductBrand(),l3:n.ProductBrand()})}static NetQuantity(){return a.object({unit:a.any(),value:a.number()})}static CustomMetaFields(){return a.object({value:a.string().allow("").required(),key:a.string().allow("").required()})}static ApplicationItemSEO(){return a.object({title:a.any(),description:a.any()})}static ProductDetailAttribute(){return a.object({value:a.string().allow(""),type:a.string().allow(""),key:a.string().allow("")})}static ProductDetailGroupedAttribute(){return a.object({title:a.string().allow(""),details:a.array().items(n.ProductDetailAttribute())})}static ApplicationItemMOQ(){return a.object({minimum:a.number(),maximum:a.number(),increment_unit:a.number()})}static Price(){return a.object({min:a.number(),currency_symbol:a.string().allow(""),currency_code:a.string().allow(""),max:a.number()})}static ProductListingPrice(){return a.object({effective:n.Price(),marked:n.Price()})}static ProductSizesPrice(){return a.object({effective:n.Price(),marked:n.Price(),selling:n.Price()})}static ProductDetail(){return a.object({uid:a.number(),custom_order:n.ProductDetailCustomOrder(),category_map:n.ProductCategoryMap(),net_quantity:n.NetQuantity(),rating_count:a.number(),_custom_meta:a.array().items(n.CustomMetaFields()),similars:a.array().items(a.string().allow("")),tags:a.array().items(a.string().allow("")),seo:n.ApplicationItemSEO(),image_nature:a.string().allow(""),has_variant:a.boolean(),item_type:a.string().allow(""),description:a.string().allow(""),grouped_attributes:a.array().items(n.ProductDetailGroupedAttribute()),medias:a.array().items(n.Media()),color:a.string().allow(""),type:a.string().allow(""),product_online_date:a.string().allow(""),_custom_json:a.any(),item_code:a.string().allow(""),name:a.string().allow(""),moq:n.ApplicationItemMOQ(),short_description:a.string().allow(""),categories:a.array().items(n.ProductBrand()),attributes:a.any(),discount:a.string().allow(""),tryouts:a.array().items(a.string().allow("")),slug:a.string().allow("").required(),action:n.ProductListingAction(),rating:a.number(),is_dependent:a.boolean(),product_group_tag:a.array().items(a.string().allow("")),highlights:a.array().items(a.string().allow("")),price:n.ProductListingPrice(),brand:n.ProductBrand(),department:n.ProductDepartment(),teaser_tag:a.string().allow("")})}static ErrorResponse(){return a.object({error:a.string().allow("")})}static Dimension(){return a.object({unit:a.string().allow("").required(),height:a.number().required(),length:a.number().required(),width:a.number().required(),is_default:a.boolean().required()})}static Weight(){return a.object({unit:a.string().allow("").required(),shipping:a.number().required(),is_default:a.boolean().required()})}static DiscountMeta(){return a.object({timer:a.boolean(),start_timer_in_minutes:a.number(),start:a.string().allow(""),end:a.string().allow("")})}static ProductSize(){return a.object({quantity:a.number(),dimension:n.Dimension(),weight:n.Weight(),is_available:a.boolean(),seller_identifiers:a.array().items(a.string().allow("")),value:a.string().allow(""),display:a.string().allow("")})}static SizeChartValues(){return a.object({col_3:a.string().allow(""),col_6:a.string().allow(""),col_2:a.string().allow(""),col_4:a.string().allow(""),col_1:a.string().allow(""),col_5:a.string().allow("")})}static ColumnHeader(){return a.object({convertable:a.boolean(),value:a.string().allow("")})}static ColumnHeaders(){return a.object({col_3:n.ColumnHeader(),col_6:n.ColumnHeader(),col_2:n.ColumnHeader(),col_4:n.ColumnHeader(),col_1:n.ColumnHeader(),col_5:n.ColumnHeader()})}static SizeChart(){return a.object({unit:a.string().allow(""),image:a.string().allow(""),size_tip:a.string().allow(""),sizes:a.array().items(n.SizeChartValues()),description:a.string().allow(""),title:a.string().allow(""),headers:n.ColumnHeaders()})}static ProductSizeStores(){return a.object({count:a.number()})}static ProductSizes(){return a.object({sizes:a.array().items(n.ProductSize()),price:n.ProductSizesPrice(),price_per_piece:n.ProductSizesPrice(),size_chart:n.SizeChart(),sellable:a.boolean(),multi_size:a.boolean(),discount:a.string().allow(""),stores:n.ProductSizeStores(),discount_meta:n.DiscountMeta()})}static AttributeDetail(){return a.object({logo:a.string().allow(""),description:a.string().allow(""),display:a.string().allow(""),key:a.string().allow("")})}static AttributeMetadata(){return a.object({title:a.string().allow(""),details:a.array().items(n.AttributeDetail())})}static ProductsComparisonResponse(){return a.object({items:a.array().items(n.ProductDetail()),attributes_metadata:a.array().items(n.AttributeMetadata())})}static ProductCompareResponse(){return a.object({title:a.string().allow(""),items:a.array().items(n.ProductDetail()),attributes_metadata:a.array().items(n.AttributeMetadata()),subtitle:a.string().allow("")})}static ProductFrequentlyComparedSimilarResponse(){return a.object({similars:n.ProductCompareResponse()})}static ProductVariantItemResponse(){return a.object({uid:a.number(),color_name:a.string().allow(""),color:a.string().allow(""),medias:a.array().items(n.Media()),is_available:a.boolean(),_custom_meta:a.array().items(n.CustomMetaFields()),name:a.string().allow(""),value:a.string().allow(""),slug:a.string().allow(""),_custom_json:a.object().pattern(/\S/,a.any()),action:n.ProductListingAction()})}static ProductVariantResponse(){return a.object({display_type:a.string().allow(""),header:a.string().allow(""),group_id:a.string().allow(""),items:a.array().items(n.ProductVariantItemResponse()),key:a.string().allow(""),logo:a.string().allow("")})}static ProductVariantsResponse(){return a.object({variants:a.array().items(n.ProductVariantResponse())})}static StoreDetail(){return a.object({name:a.string().allow(""),city:a.string().allow(""),id:a.number(),code:a.string().allow("")})}static ProductStockPrice(){return a.object({effective:a.number(),currency:a.string().allow(""),marked:a.number()})}static CompanyDetail(){return a.object({name:a.string().allow(""),id:a.number()})}static Seller(){return a.object({uid:a.number(),name:a.string().allow(""),count:a.number()})}static ProductStockStatusItem(){return a.object({uid:a.string().allow(""),quantity:a.number(),store:n.StoreDetail(),size:a.string().allow(""),price:n.ProductStockPrice(),company:n.CompanyDetail(),item_id:a.number(),seller:n.Seller(),identifier:a.any()})}static ProductStockStatusResponse(){return a.object({items:a.array().items(n.ProductStockStatusItem())})}static Page(){return a.object({item_total:a.number(),next_id:a.string().allow(""),has_previous:a.boolean(),has_next:a.boolean(),current:a.number(),type:a.string().allow("").required(),size:a.number()})}static ProductStockPolling(){return a.object({items:a.array().items(n.ProductStockStatusItem()),page:n.Page().required()})}static ProductVariantListingResponse(){return a.object({header:a.string().allow(""),items:a.array().items(n.ProductVariantItemResponse()),total:a.number(),key:a.string().allow(""),display_type:a.string().allow("")})}static ProductListingDetail(){return a.object({uid:a.number(),custom_order:n.ProductDetailCustomOrder(),sizes:a.array().items(a.string().allow("")),category_map:n.ProductCategoryMap(),net_quantity:n.NetQuantity(),rating_count:a.number(),_custom_meta:a.array().items(n.CustomMetaFields()),similars:a.array().items(a.string().allow("")),tags:a.array().items(a.string().allow("")),seo:n.ApplicationItemSEO(),image_nature:a.string().allow(""),has_variant:a.boolean(),item_type:a.string().allow(""),description:a.string().allow(""),grouped_attributes:a.array().items(n.ProductDetailGroupedAttribute()),medias:a.array().items(n.Media()),color:a.string().allow(""),type:a.string().allow(""),product_online_date:a.string().allow(""),_custom_json:a.any(),item_code:a.string().allow(""),name:a.string().allow(""),moq:n.ApplicationItemMOQ(),short_description:a.string().allow(""),categories:a.array().items(n.ProductBrand()),sellable:a.boolean(),attributes:a.any(),variants:a.array().items(n.ProductVariantListingResponse()),discount:a.string().allow(""),tryouts:a.array().items(a.string().allow("")),identifiers:a.array().items(a.string().allow("")),slug:a.string().allow("").required(),action:n.ProductListingAction(),rating:a.number(),is_dependent:a.boolean(),product_group_tag:a.array().items(a.string().allow("")),highlights:a.array().items(a.string().allow("")),price:n.ProductListingPrice(),brand:n.ProductBrand(),teaser_tag:a.string().allow("")})}static ProductFiltersValue(){return a.object({min:a.number(),display_format:a.string().allow(""),selected_max:a.number(),value:a.string().allow(""),query_format:a.string().allow(""),currency_symbol:a.string().allow(""),selected_min:a.number(),currency_code:a.string().allow(""),is_selected:a.boolean().required(),display:a.string().allow("").required(),count:a.number(),max:a.number()})}static ProductFiltersKey(){return a.object({logo:a.string().allow(""),name:a.string().allow("").required(),kind:a.string().allow(""),display:a.string().allow("").required()})}static ProductFilters(){return a.object({values:a.array().items(n.ProductFiltersValue()).required(),key:n.ProductFiltersKey().required()})}static ProductSortOn(){return a.object({logo:a.string().allow(""),is_selected:a.boolean(),name:a.string().allow(""),value:a.string().allow(""),display:a.string().allow("")})}static ProductListingResponse(){return a.object({items:a.array().items(n.ProductListingDetail()),filters:a.array().items(n.ProductFilters()),page:n.Page().required(),sort_on:a.array().items(n.ProductSortOn())})}static ImageUrls(){return a.object({portrait:n.Media(),landscape:n.Media()})}static BrandItem(){return a.object({uid:a.number(),logo:n.Media(),description:a.string().allow(""),banners:n.ImageUrls(),departments:a.array().items(a.string().allow("")),discount:a.string().allow(""),name:a.string().allow(""),slug:a.string().allow(""),action:n.ProductListingAction()})}static BrandListingResponse(){return a.object({items:a.array().items(n.BrandItem()),page:n.Page().required()})}static BrandDetailResponse(){return a.object({logo:n.Media(),uid:a.number(),description:a.string().allow(""),banners:n.ImageUrls(),_custom_json:a.any(),name:a.string().allow("")})}static CategoryBanner(){return a.object({portrait:n.Media().required(),landscape:n.Media().required()})}static ThirdLevelChild(){return a.object({uid:a.number(),banners:n.ImageUrls(),childs:a.array().items(a.any()),_custom_json:a.any(),name:a.string().allow(""),slug:a.string().allow(""),action:n.ProductListingAction()})}static SecondLevelChild(){return a.object({uid:a.number(),banners:n.ImageUrls(),childs:a.array().items(n.ThirdLevelChild()),_custom_json:a.any(),name:a.string().allow(""),slug:a.string().allow(""),action:n.ProductListingAction()})}static Child(){return a.object({uid:a.number(),banners:n.ImageUrls(),childs:a.array().items(n.SecondLevelChild()),_custom_json:a.any(),name:a.string().allow(""),slug:a.string().allow(""),action:n.ProductListingAction()})}static CategoryItems(){return a.object({uid:a.number().required(),banners:n.CategoryBanner().required(),childs:a.array().items(n.Child()),name:a.string().allow("").required(),slug:a.string().allow("").required(),action:n.ProductListingAction().required()})}static DepartmentCategoryTree(){return a.object({items:a.array().items(n.CategoryItems()),department:a.string().allow("").required()})}static DepartmentIdentifier(){return a.object({uid:a.number(),slug:a.string().allow("")})}static CategoryListingResponse(){return a.object({data:a.array().items(n.DepartmentCategoryTree()),departments:a.array().items(n.DepartmentIdentifier())})}static CategoryMetaResponse(){return a.object({logo:n.Media(),uid:a.number(),banners:n.ImageUrls(),_custom_json:a.any(),name:a.string().allow("")})}static HomeListingResponse(){return a.object({items:a.array().items(n.ProductListingDetail()),page:n.Page().required(),message:a.string().allow("")})}static Department(){return a.object({uid:a.number(),logo:n.Media(),priority_order:a.number(),name:a.string().allow(""),slug:a.string().allow("")})}static DepartmentResponse(){return a.object({items:a.array().items(n.Department())})}static AutocompleteItem(){return a.object({logo:n.Media(),display:a.string().allow(""),type:a.string().allow(""),_custom_json:a.any(),action:n.ProductListingAction()})}static AutoCompleteResponse(){return a.object({items:a.array().items(n.AutocompleteItem())})}static CollectionQuery(){return a.object({op:a.string().allow("").required(),value:a.array().items(a.any()).required(),attribute:a.string().allow("").required()})}static GetCollectionDetailNest(){return a.object({is_active:a.boolean(),uid:a.string().allow(""),sort_on:a.string().allow(""),meta:a.any(),banners:n.ImageUrls(),cron:a.any(),_schedule:a.any(),query:a.array().items(n.CollectionQuery()),description:a.string().allow(""),type:a.string().allow(""),_custom_json:a.any(),name:a.string().allow(""),allow_sort:a.boolean(),visible_facets_keys:a.array().items(a.string().allow("")),badge:a.any(),slug:a.string().allow(""),action:n.ProductListingAction(),allow_facets:a.boolean(),logo:n.Media(),priority:a.number(),tags:a.array().items(a.string().allow("")),app_id:a.string().allow("")})}static CollectionListingFilterTag(){return a.object({name:a.string().allow(""),is_selected:a.boolean(),display:a.string().allow("")})}static CollectionListingFilterType(){return a.object({name:a.string().allow(""),is_selected:a.boolean(),display:a.string().allow("")})}static CollectionListingFilter(){return a.object({tags:a.array().items(n.CollectionListingFilterTag()),type:a.array().items(n.CollectionListingFilterType())})}static GetCollectionListingResponse(){return a.object({items:a.array().items(n.GetCollectionDetailNest()),filters:n.CollectionListingFilter(),page:n.Page().required()})}static CollectionDetailResponse(){return a.object({is_active:a.boolean(),sort_on:a.string().allow(""),meta:a.any(),banners:n.ImageUrls(),cron:a.any(),_schedule:a.any(),query:a.array().items(n.CollectionQuery()),description:a.string().allow(""),type:a.string().allow(""),_custom_json:a.any(),name:a.string().allow(""),allow_sort:a.boolean(),visible_facets_keys:a.array().items(a.string().allow("")),badge:a.any(),slug:a.string().allow(""),allow_facets:a.boolean(),logo:n.Media(),priority:a.number(),tag:a.array().items(a.string().allow("")),app_id:a.string().allow("")})}static GetFollowListingResponse(){return a.object({items:a.array().items(n.ProductListingDetail()).required(),page:n.Page().required()})}static FollowPostResponse(){return a.object({message:a.string().allow("").required(),id:a.string().allow("").required()})}static FollowerCountResponse(){return a.object({count:a.number()})}static FollowIdsData(){return a.object({products:a.array().items(a.number()),collections:a.array().items(a.number()),brands:a.array().items(a.number())})}static FollowIdsResponse(){return a.object({data:n.FollowIdsData()})}static LatLong(){return a.object({coordinates:a.array().items(a.number()),type:a.string().allow("")})}static Store(){return a.object({uid:a.number(),store_email:a.string().allow(""),state:a.string().allow(""),country:a.string().allow(""),pincode:a.number(),city:a.string().allow(""),address:a.string().allow(""),store_code:a.string().allow(""),lat_long:n.LatLong(),name:a.string().allow(""),tags:a.array().items(a.string().allow(""))})}static StoreListingResponse(){return a.object({items:a.array().items(n.Store()).required(),page:n.Page().required()})}static StoreDepartments(){return a.object({uid:a.number(),logo:a.any(),priority_order:a.number(),name:a.string().allow(""),slug:a.string().allow("")})}static CompanyStore(){return a.object({uid:a.number(),name:a.string().allow(""),company_type:a.string().allow(""),business_type:a.string().allow("")})}static SellerPhoneNumber(){return a.object({country_code:a.number().required(),number:a.string().allow("").required()})}static StoreManagerSerializer(){return a.object({name:a.string().allow(""),email:a.string().allow(""),mobile_no:n.SellerPhoneNumber()})}static StoreAddressSerializer(){return a.object({latitude:a.number(),state:a.string().allow(""),country:a.string().allow(""),landmark:a.string().allow(""),address1:a.string().allow(""),pincode:a.number(),city:a.string().allow(""),longitude:a.number(),address2:a.string().allow("")})}static AppStore(){return a.object({uid:a.number(),departments:a.array().items(n.StoreDepartments()),company:n.CompanyStore(),manager:n.StoreManagerSerializer(),store_code:a.string().allow(""),address:n.StoreAddressSerializer(),name:a.string().allow(""),contact_numbers:a.array().items(n.SellerPhoneNumber())})}static ApplicationStoreListing(){return a.object({filters:a.array().items(a.any()),items:a.array().items(n.AppStore()),page:n.Page()})}static Time(){return a.object({hour:a.number(),minute:a.number()})}static StoreTiming(){return a.object({open:a.boolean(),closing:n.Time(),weekday:a.string().allow(""),opening:n.Time()})}static StoreDetails(){return a.object({uid:a.number(),departments:a.array().items(n.StoreDepartments()),company:n.CompanyStore(),manager:n.StoreManagerSerializer(),store_code:a.string().allow(""),timing:a.array().items(n.StoreTiming()),address:n.StoreAddressSerializer(),_custom_json:a.any(),name:a.string().allow(""),contact_numbers:a.array().items(n.SellerPhoneNumber())})}static UserDetail(){return a.object({super_user:a.boolean(),contact:a.string().allow(""),username:a.string().allow("").required(),user_id:a.string().allow("").required()})}static Size(){return a.object({quantity:a.number(),value:a.any(),display:a.any(),is_available:a.boolean()})}static ProductGroupPrice(){return a.object({max_effective:a.number(),min_effective:a.number(),min_marked:a.number(),currency:a.any(),max_marked:a.number()})}static ProductDetails(){return a.object({template_tag:a.any(),rating_count:a.number(),image_nature:a.any(),has_variant:a.boolean(),description:a.any(),out_of_stock:a.boolean(),hsn_code:a.number(),grouped_attributes:a.any(),item_code:a.any(),name:a.any(),country_of_origin:a.any(),short_description:a.any(),media:a.array().items(a.any()),attributes:a.any(),is_set:a.boolean(),images:a.array().items(a.any()),slug:a.any(),rating:a.number(),identifier:a.any(),highlights:a.array().items(a.any()),brand_uid:a.number()})}static ProductInGroup(){return a.object({auto_add_to_cart:a.boolean(),max_quantity:a.number().required(),sizes:a.array().items(n.Size()),price:n.ProductGroupPrice(),auto_select:a.boolean(),product_details:n.ProductDetails(),min_quantity:a.number(),allow_remove:a.boolean(),product_uid:a.number().required()})}static ProductGroupingModel(){return a.object({logo:a.string().allow("").allow(null),is_active:a.boolean(),meta:a.any(),verified_by:n.UserDetail(),created_on:a.string().allow("").required(),company_id:a.number(),page_visibility:a.array().items(a.any()),modified_on:a.string().allow("").required(),created_by:n.UserDetail(),modified_by:n.UserDetail(),products:a.array().items(n.ProductInGroup()).required(),same_store_assignment:a.boolean(),_id:a.any(),name:a.any().required(),choice:a.any(),slug:a.any(),verified_on:a.string().allow("")})}static ProductBundle(){return a.object({items:a.array().items(n.ProductGroupingModel())})}static StoreV3(){return a.object({uid:a.number(),name:a.string().allow(""),count:a.number()})}static ArticleAssignmentV3(){return a.object({strategy:a.string().allow(""),level:a.string().allow("")})}static StrategyWiseListingSchemaV3(){return a.object({distance:a.number(),pincode:a.number(),tat:a.number(),quantity:a.number()})}static DetailsSchemaV3(){return a.object({value:a.string().allow(""),type:a.string().allow(""),key:a.string().allow("")})}static SellerGroupAttributes(){return a.object({title:a.string().allow(""),details:a.array().items(n.DetailsSchemaV3())})}static ReturnConfigSchemaV3(){return a.object({unit:a.string().allow(""),returnable:a.boolean(),time:a.number()})}static ProductSetDistributionSizeV3(){return a.object({pieces:a.number(),size:a.string().allow("")})}static ProductSetDistributionV3(){return a.object({sizes:a.array().items(n.ProductSetDistributionSizeV3())})}static ProductSetV3(){return a.object({quantity:a.number(),size_distribution:n.ProductSetDistributionV3()})}static ProductStockPriceV3(){return a.object({effective:a.number(),currency_code:a.string().allow(""),currency_symbol:a.string().allow(""),marked:a.number(),selling:a.number()})}static ProductStockUnitPriceV3(){return a.object({unit:a.string().allow(""),currency_symbol:a.string().allow(""),currency_code:a.string().allow(""),price:a.number()})}static MarketPlaceSttributesSchemaV3(){return a.object({title:a.string().allow(""),details:a.array().items(n.DetailsSchemaV3())})}static SellerV3(){return a.object({uid:a.number(),name:a.string().allow(""),count:a.number()})}static PromiseSchema(){return a.object({min:a.string().allow(""),max:a.string().allow("")})}static ProductSizePriceResponseV3(){return a.object({store:n.StoreV3(),article_assignment:n.ArticleAssignmentV3(),is_cod:a.boolean(),strategy_wise_listing:a.array().items(n.StrategyWiseListingSchemaV3()),quantity:a.number(),item_type:a.string().allow(""),grouped_attributes:a.array().items(n.SellerGroupAttributes()),return_config:n.ReturnConfigSchemaV3(),article_id:a.string().allow(""),is_gift:a.boolean(),set:n.ProductSetV3(),seller_count:a.number(),price_per_piece:n.ProductStockPriceV3(),discount_meta:n.DiscountMeta(),discount:a.string().allow(""),long_lat:a.array().items(a.number()),special_badge:a.string().allow(""),price:n.ProductStockPriceV3(),price_per_unit:n.ProductStockUnitPriceV3(),pincode:a.number(),marketplace_attributes:a.array().items(n.MarketPlaceSttributesSchemaV3()),seller:n.SellerV3(),delivery_promise:n.PromiseSchema()})}static ProductSizeSellerFilterSchemaV3(){return a.object({name:a.string().allow(""),is_selected:a.boolean(),value:a.string().allow("")})}static ProductSizeSellersResponseV3(){return a.object({items:a.array().items(n.ProductSizePriceResponseV3()),page:n.Page().required(),sort_on:a.array().items(n.ProductSizeSellerFilterSchemaV3())})}}e.exports=n},700:(e,t,r)=>{const a=r(6075);r(103),e.exports=class{static followById(){return a.object({collectionType:a.string().allow("").required(),collectionId:a.string().allow("").required()}).required()}static getBrandDetailBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getBrands(){return a.object({department:a.string().allow(""),pageNo:a.number(),pageSize:a.number()})}static getCategories(){return a.object({department:a.string().allow("")})}static getCategoryDetailBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getCollectionDetailBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getCollectionItemsBySlug(){return a.object({slug:a.string().allow("").required(),f:a.string().allow(""),q:a.string().allow(""),filters:a.boolean(),sortOn:a.string().allow(""),pageId:a.string().allow(""),pageSize:a.number(),pageNo:a.number(),pageType:a.string().allow("")}).required()}static getCollections(){return a.object({pageNo:a.number(),pageSize:a.number(),tag:a.array().items(a.string().allow("")),q:a.string().allow("")})}static getComparedFrequentlyProductBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getDepartments(){return a.object({})}static getFollowIds(){return a.object({collectionType:a.string().allow("")})}static getFollowedListing(){return a.object({collectionType:a.string().allow("").required(),pageId:a.string().allow(""),pageSize:a.number()}).required()}static getFollowerCountById(){return a.object({collectionType:a.string().allow("").required(),collectionId:a.string().allow("").required()}).required()}static getHomeProducts(){return a.object({sortOn:a.string().allow(""),pageId:a.string().allow(""),pageSize:a.number()})}static getInStockLocations(){return a.object({pageNo:a.number(),pageSize:a.number(),q:a.string().allow(""),city:a.string().allow(""),range:a.number(),latitude:a.number(),longitude:a.number()})}static getLocationDetailsById(){return a.object({locationId:a.number().required()}).required()}static getProductBundlesBySlug(){return a.object({slug:a.string().allow(""),id:a.string().allow("")})}static getProductComparisonBySlugs(){return a.object({slug:a.array().items(a.string().allow("")).required()}).required()}static getProductDetailBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getProductPriceBySlug(){return a.object({slug:a.string().allow("").required(),size:a.string().allow("").required(),storeId:a.number(),moq:a.number()}).required()}static getProductSellersBySlug(){return a.object({slug:a.string().allow("").required(),size:a.string().allow("").required(),strategy:a.string().allow(""),pageNo:a.number(),pageSize:a.number()}).required()}static getProductSizesBySlug(){return a.object({slug:a.string().allow("").required(),storeId:a.number()}).required()}static getProductStockByIds(){return a.object({itemId:a.string().allow(""),alu:a.string().allow(""),skuCode:a.string().allow(""),ean:a.string().allow(""),upc:a.string().allow("")})}static getProductStockForTimeByIds(){return a.object({timestamp:a.string().allow("").required(),pageSize:a.number(),pageId:a.string().allow("")}).required()}static getProductVariantsBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getProducts(){return a.object({q:a.string().allow(""),f:a.string().allow(""),filters:a.boolean(),sortOn:a.string().allow(""),pageId:a.string().allow(""),pageSize:a.number(),pageNo:a.number(),pageType:a.string().allow("")})}static getSearchResults(){return a.object({q:a.string().allow("").required()}).required()}static getSimilarComparisonProductBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getStores(){return a.object({pageNo:a.number(),pageSize:a.number(),q:a.string().allow(""),city:a.string().allow(""),range:a.number(),latitude:a.number(),longitude:a.number(),tags:a.string().allow("")})}static unfollowById(){return a.object({collectionType:a.string().allow("").required(),collectionId:a.string().allow("").required()}).required()}}},3727:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(6152)),l=r(5443),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={getLocations:"/service/common/configuration/v1.0/location",searchApplication:"/service/common/configuration/v1.0/application/search-application"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async getLocations({locationType:e,id:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getLocations().validate({locationType:e,id:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getLocations().validate({locationType:e,id:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Common > getLocations \n ${p}`});const g={};g.location_type=e,g.id=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getLocations,params:{}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.Locations().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Common > getLocations \n ${w}`})}return m}async searchApplication({authorization:e,query:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.searchApplication().validate({authorization:e,query:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.searchApplication().validate({authorization:e,query:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Common > searchApplication \n ${p}`});const g={};g.query=t;const m={};m.authorization=e;const f=await a.execute(this._conf,"get",s({url:this._urls.searchApplication,params:{}}),g,void 0,{...m,...r},{responseHeaders:u});let w=f;u&&(w=f[0]);const{error:y}=l.ApplicationResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Common > searchApplication \n ${y}`})}return f}}},5443:(e,t,r)=>{const a=r(6075);class n{static ApplicationResponse(){return a.object({application:n.Application()})}static Domain(){return a.object({verified:a.boolean(),is_primary:a.boolean(),is_shortlink:a.boolean(),_id:a.string().allow(""),name:a.string().allow(""),is_predefined:a.boolean()})}static ApplicationWebsite(){return a.object({enabled:a.boolean(),basepath:a.string().allow("")})}static ApplicationCors(){return a.object({domains:a.array().items(a.string().allow(""))})}static ApplicationAuth(){return a.object({enabled:a.boolean()})}static ApplicationRedirections(){return a.object({redirect_from:a.string().allow(""),redirect_to:a.string().allow(""),type:a.string().allow("")})}static ApplicationMeta(){return a.object({name:a.string().allow(""),value:a.string().allow("")})}static SecureUrl(){return a.object({secure_url:a.string().allow("")})}static Application(){return a.object({website:n.ApplicationWebsite(),cors:n.ApplicationCors(),auth:n.ApplicationAuth(),description:a.string().allow(""),channel_type:a.string().allow(""),cache_ttl:a.number(),is_internal:a.boolean(),is_active:a.boolean(),_id:a.string().allow(""),name:a.string().allow(""),owner:a.string().allow(""),company_id:a.number(),token:a.string().allow(""),redirections:a.array().items(n.ApplicationRedirections()),meta:a.array().items(n.ApplicationMeta()),created_at:a.string().allow(""),updated_at:a.string().allow(""),__v:a.number(),banner:n.SecureUrl(),logo:n.SecureUrl(),favicon:n.SecureUrl(),domains:a.array().items(n.Domain()),app_type:a.string().allow(""),mobile_logo:n.SecureUrl(),domain:n.Domain()})}static NotFound(){return a.object({message:a.string().allow("")})}static BadRequest(){return a.object({message:a.string().allow("")})}static LocationDefaultLanguage(){return a.object({name:a.string().allow(""),code:a.string().allow("")})}static LocationDefaultCurrency(){return a.object({name:a.string().allow(""),symbol:a.string().allow(""),code:a.string().allow("")})}static LocationCountry(){return a.object({capital:a.string().allow(""),currency:a.string().allow(""),iso2:a.string().allow(""),iso3:a.string().allow(""),name:a.string().allow(""),parent:a.string().allow(""),phone_code:a.string().allow(""),type:a.string().allow(""),uid:a.number(),__v:a.number(),_id:a.string().allow(""),default_currency:n.LocationDefaultCurrency(),default_language:n.LocationDefaultLanguage(),state_code:a.string().allow(""),country_code:a.string().allow(""),latitude:a.string().allow(""),longitude:a.string().allow("")})}static Locations(){return a.object({items:a.array().items(n.LocationCountry())})}}e.exports=n},6152:(e,t,r)=>{const a=r(6075);r(5443),e.exports=class{static getLocations(){return a.object({locationType:a.string().allow(""),id:a.string().allow("")})}static searchApplication(){return a.object({authorization:a.string().allow(""),query:a.string().allow("")})}}},8979:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(7052)),l=r(8007),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={getCommunicationConsent:"/service/application/communication/v1.0/consent",upsertAppPushtoken:"/service/application/communication/v1.0/pn-token",upsertCommunicationConsent:"/service/application/communication/v1.0/consent"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async getCommunicationConsent({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getCommunicationConsent().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getCommunicationConsent().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Communication > getCommunicationConsent \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getCommunicationConsent,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.CommunicationConsent().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Communication > getCommunicationConsent \n ${g}`})}return d}async upsertAppPushtoken({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.upsertAppPushtoken().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.upsertAppPushtoken().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Communication > upsertAppPushtoken \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.upsertAppPushtoken,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.PushtokenRes().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Communication > upsertAppPushtoken \n ${m}`})}return p}async upsertCommunicationConsent({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.upsertCommunicationConsent().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.upsertCommunicationConsent().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Communication > upsertCommunicationConsent \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.upsertCommunicationConsent,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.CommunicationConsentRes().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Communication > upsertCommunicationConsent \n ${m}`})}return p}}},8007:(e,t,r)=>{const a=r(6075);class n{static CommunicationConsentReq(){return a.object({response:a.string().allow(""),action:a.string().allow(""),channel:a.string().allow("")})}static CommunicationConsentRes(){return a.object({app_id:a.string().allow(""),user_id:a.string().allow(""),channels:n.CommunicationConsentChannels()})}static CommunicationConsentChannelsEmail(){return a.object({response:a.string().allow(""),display_name:a.string().allow("")})}static CommunicationConsentChannelsSms(){return a.object({response:a.string().allow(""),display_name:a.string().allow("")})}static CommunicationConsentChannelsWhatsapp(){return a.object({response:a.string().allow(""),display_name:a.string().allow(""),country_code:a.string().allow(""),phone_number:a.string().allow("")})}static CommunicationConsentChannels(){return a.object({email:n.CommunicationConsentChannelsEmail(),sms:n.CommunicationConsentChannelsSms(),whatsapp:n.CommunicationConsentChannelsWhatsapp()})}static CommunicationConsent(){return a.object({app_id:a.string().allow(""),user_id:a.string().allow(""),channels:n.CommunicationConsentChannels()})}static BadRequestSchema(){return a.object({status:a.string().allow(""),message:a.string().allow("")})}static PushtokenReq(){return a.object({action:a.string().allow(""),bundle_identifier:a.string().allow(""),push_token:a.string().allow(""),unique_device_id:a.string().allow(""),type:a.string().allow("")})}static PushtokenRes(){return a.object({_id:a.string().allow(""),bundle_identifier:a.string().allow(""),push_token:a.string().allow(""),unique_device_id:a.string().allow(""),type:a.string().allow(""),platform:a.string().allow(""),application_id:a.string().allow(""),user_id:a.string().allow(""),created_at:a.string().allow(""),updated_at:a.string().allow(""),expired_at:a.string().allow("")})}}e.exports=n},7052:(e,t,r)=>{const a=r(6075),n=r(8007);e.exports=class{static getCommunicationConsent(){return a.object({})}static upsertAppPushtoken(){return a.object({body:n.PushtokenReq().required()}).required()}static upsertCommunicationConsent(){return a.object({body:n.CommunicationConsentReq().required()}).required()}}},7307:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(8436)),l=r(1775),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={getAppCurrencies:"/service/application/configuration/v1.0/currency",getAppStaffList:"/service/application/configuration/v1.0/staff/list",getAppStaffs:"/service/application/configuration/v1.0/staff",getApplication:"/service/application/configuration/v1.0/application",getBasicDetails:"/service/application/configuration/v1.0/detail",getContactInfo:"/service/application/configuration/v1.0/information",getCurrencies:"/service/application/configuration/v1.0/currencies",getCurrencyById:"/service/application/configuration/v1.0/currency/{id}",getFeatures:"/service/application/configuration/v1.0/feature",getIntegrationTokens:"/service/application/configuration/v1.0/token",getLanguages:"/service/application/configuration/v1.0/languages",getOrderingStoreCookie:"/service/application/configuration/v1.0/ordering-store/select",getOrderingStores:"/service/application/configuration/v1.0/ordering-store/stores",getOwnerInfo:"/service/application/configuration/v1.0/about",getStoreDetailById:"/service/application/configuration/v1.0/ordering-store/stores/{store_id}",removeOrderingStoreCookie:"/service/application/configuration/v1.0/ordering-store/select"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async getAppCurrencies({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getAppCurrencies().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getAppCurrencies().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getAppCurrencies \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getAppCurrencies,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.AppCurrencyResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getAppCurrencies \n ${g}`})}return d}async getAppStaffList({pageNo:e,pageSize:t,orderIncent:r,orderingStore:u,user:d,userName:p,requestHeaders:g}={requestHeaders:{}},{responseHeaders:m}={responseHeaders:!1}){const{error:f}=i.getAppStaffList().validate({pageNo:e,pageSize:t,orderIncent:r,orderingStore:u,user:d,userName:p},{abortEarly:!1,allowUnknown:!0});if(f)return Promise.reject(new n(f));const{error:w}=i.getAppStaffList().validate({pageNo:e,pageSize:t,orderIncent:r,orderingStore:u,user:d,userName:p},{abortEarly:!1,allowUnknown:!1});w&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getAppStaffList \n ${w}`});const y={};y.page_no=e,y.page_size=t,y.order_incent=r,y.ordering_store=u,y.user=d,y.user_name=p;const b=await a.execute(this._conf,"get",s({url:this._urls.getAppStaffList,params:{}}),y,void 0,{...g},{responseHeaders:m});let h=b;m&&(h=b[0]);const{error:_}=l.AppStaffListResponse().validate(h,{abortEarly:!1,allowUnknown:!0});if(_){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(_));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getAppStaffList \n ${_}`})}return b}async getAppStaffs({orderIncent:e,orderingStore:t,user:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.getAppStaffs().validate({orderIncent:e,orderingStore:t,user:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.getAppStaffs().validate({orderIncent:e,orderingStore:t,user:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getAppStaffs \n ${g}`});const m={};m.order_incent=e,m.ordering_store=t,m.user=r;const f=await a.execute(this._conf,"get",s({url:this._urls.getAppStaffs,params:{}}),m,void 0,{...u},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=l.AppStaffResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getAppStaffs \n ${y}`})}return f}async getApplication({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getApplication().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getApplication().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getApplication \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getApplication,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.Application().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getApplication \n ${g}`})}return d}async getBasicDetails({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getBasicDetails().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getBasicDetails().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getBasicDetails \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getBasicDetails,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.ApplicationDetail().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getBasicDetails \n ${g}`})}return d}async getContactInfo({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getContactInfo().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getContactInfo().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getContactInfo \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getContactInfo,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.ApplicationInformation().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getContactInfo \n ${g}`})}return d}async getCurrencies({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getCurrencies().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getCurrencies().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getCurrencies \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getCurrencies,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.CurrenciesResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getCurrencies \n ${g}`})}return d}async getCurrencyById({id:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getCurrencyById().validate({id:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getCurrencyById().validate({id:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getCurrencyById \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getCurrencyById,params:{id:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.Currency().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getCurrencyById \n ${m}`})}return p}async getFeatures({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getFeatures().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getFeatures().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getFeatures \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getFeatures,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.AppFeatureResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getFeatures \n ${g}`})}return d}async getIntegrationTokens({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getIntegrationTokens().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getIntegrationTokens().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getIntegrationTokens \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getIntegrationTokens,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.AppTokenResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getIntegrationTokens \n ${g}`})}return d}async getLanguages({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getLanguages().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getLanguages().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getLanguages \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getLanguages,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.LanguageResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getLanguages \n ${g}`})}return d}async getOrderingStoreCookie({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getOrderingStoreCookie().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getOrderingStoreCookie().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getOrderingStoreCookie \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getOrderingStoreCookie,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.SuccessMessageResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getOrderingStoreCookie \n ${m}`})}return p}async getOrderingStores({pageNo:e,pageSize:t,q:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.getOrderingStores().validate({pageNo:e,pageSize:t,q:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.getOrderingStores().validate({pageNo:e,pageSize:t,q:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getOrderingStores \n ${g}`});const m={};m.page_no=e,m.page_size=t,m.q=r;const f=await a.execute(this._conf,"get",s({url:this._urls.getOrderingStores,params:{}}),m,void 0,{...u},{responseHeaders:d});let w=f;d&&(w=f[0]);const{error:y}=l.OrderingStores().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getOrderingStores \n ${y}`})}return f}async getOwnerInfo({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getOwnerInfo().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getOwnerInfo().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getOwnerInfo \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getOwnerInfo,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.ApplicationAboutResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getOwnerInfo \n ${g}`})}return d}async getStoreDetailById({storeId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getStoreDetailById().validate({storeId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getStoreDetailById().validate({storeId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > getStoreDetailById \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getStoreDetailById,params:{storeId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.OrderingStore().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > getStoreDetailById \n ${m}`})}return p}async removeOrderingStoreCookie({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.removeOrderingStoreCookie().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.removeOrderingStoreCookie().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Configuration > removeOrderingStoreCookie \n ${u}`});const d=await a.execute(this._conf,"delete",s({url:this._urls.removeOrderingStoreCookie,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.SuccessMessageResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Configuration > removeOrderingStoreCookie \n ${g}`})}return d}}},1775:(e,t,r)=>{const a=r(6075);class n{static ApplicationAboutResponse(){return a.object({application_info:n.ApplicationInfo()})}static ApplicationInfo(){return a.object({company_info:n.CompanyInfo(),owner_info:n.OwnerInfo(),_id:a.string().allow(""),domain:n.Domain(),website:n.ApplicationWebsite(),cors:n.ApplicationCors(),description:a.string().allow(""),name:a.string().allow(""),meta:a.array().items(n.ApplicationMeta()),token:a.string().allow(""),secret:a.string().allow(""),created_at:a.string().allow(""),banner:n.SecureUrl(),logo:n.SecureUrl(),is_active:a.boolean(),mode:a.string().allow(""),tokens:a.array().items(n.TokenSchema()),domains:a.array().items(n.Domain()),favicon:n.SecureUrl(),mobile_logo:n.SecureUrl(),slug:a.string().allow("")})}static CompanyInfo(){return a.object({_id:a.string().allow(""),uid:a.number(),created_on:a.string().allow(""),is_active:a.boolean(),name:a.string().allow(""),addresses:a.array().items(n.CompanyAboutAddress()),notification_emails:a.array().items(a.string().allow(""))})}static OwnerInfo(){return a.object({_id:a.string().allow(""),emails:a.array().items(n.UserEmail()),phone_numbers:a.array().items(n.UserPhoneNumber()),first_name:a.string().allow(""),last_name:a.string().allow(""),profile_pic:a.string().allow("")})}static SupportedLanguage(){return a.object({name:a.string().allow(""),code:a.string().allow("")})}static LanguageResponse(){return a.object({items:a.array().items(n.SupportedLanguage())})}static AppStaffResponse(){return a.object({staff_users:a.array().items(n.AppStaff())})}static AppStaffListResponse(){return a.object({page:n.Page(),items:a.array().items(n.AppStaff())})}static OrderingStoreSelectRequest(){return a.object({ordering_store:n.OrderingStoreSelect().required()})}static OrderingStoreSelect(){return a.object({uid:a.number().required()})}static AppStaff(){return a.object({_id:a.string().allow(""),order_incent:a.boolean(),stores:a.array().items(a.number()),application:a.string().allow(""),title:a.string().allow(""),user:a.string().allow(""),employee_code:a.string().allow(""),first_name:a.string().allow(""),last_name:a.string().allow(""),profile_pic_url:a.string().allow("")})}static AppTokenResponse(){return a.object({tokens:n.Tokens(),_id:a.string().allow(""),application:a.string().allow(""),created_at:a.string().allow(""),modified_at:a.string().allow(""),__v:a.number()})}static Tokens(){return a.object({firebase:n.Firebase(),moengage:n.Moengage(),segment:n.Segment(),gtm:n.Gtm(),freshchat:n.Freshchat(),safetynet:n.Safetynet(),fynd_rewards:n.FyndRewards(),google_map:n.GoogleMap()})}static Firebase(){return a.object({credentials:n.Credentials(),enabled:a.boolean()})}static Credentials(){return a.object({ios:n.Ios(),android:n.Android(),project_id:a.string().allow(""),gcm_sender_id:a.string().allow(""),application_id:a.string().allow(""),api_key:a.string().allow("")})}static Ios(){return a.object({application_id:a.string().allow(""),api_key:a.string().allow("")})}static Android(){return a.object({application_id:a.string().allow(""),api_key:a.string().allow("")})}static Moengage(){return a.object({credentials:n.MoengageCredentials(),enabled:a.boolean()})}static MoengageCredentials(){return a.object({app_id:a.string().allow("")})}static Segment(){return a.object({credentials:n.SegmentCredentials(),enabled:a.boolean()})}static SegmentCredentials(){return a.object({write_key:a.string().allow("")})}static Gtm(){return a.object({credentials:n.GtmCredentials(),enabled:a.boolean()})}static GtmCredentials(){return a.object({api_key:a.string().allow("")})}static Freshchat(){return a.object({credentials:n.FreshchatCredentials(),enabled:a.boolean()})}static FreshchatCredentials(){return a.object({app_id:a.string().allow(""),app_key:a.string().allow(""),web_token:a.string().allow("")})}static Safetynet(){return a.object({credentials:n.SafetynetCredentials(),enabled:a.boolean()})}static SafetynetCredentials(){return a.object({api_key:a.string().allow("")})}static FyndRewards(){return a.object({credentials:n.FyndRewardsCredentials()})}static FyndRewardsCredentials(){return a.object({public_key:a.string().allow("")})}static GoogleMap(){return a.object({enabled:a.boolean(),credentials:n.GoogleMapCredentials()})}static GoogleMapCredentials(){return a.object({api_key:a.string().allow("")})}static RewardPointsConfig(){return a.object({credit:n.Credit(),debit:n.Debit()})}static Credit(){return a.object({enabled:a.boolean()})}static Debit(){return a.object({enabled:a.boolean(),auto_apply:a.boolean(),strategy_channel:a.string().allow("")})}static ProductDetailFeature(){return a.object({similar:a.array().items(a.string().allow("")),seller_selection:a.boolean(),update_product_meta:a.boolean(),request_product:a.boolean()})}static LaunchPage(){return a.object({page_type:a.string().allow(""),params:a.any(),query:a.any()})}static LandingPageFeature(){return a.object({launch_page:n.LaunchPage(),continue_as_guest:a.boolean(),login_btn_text:a.string().allow(""),show_domain_textbox:a.boolean(),show_register_btn:a.boolean()})}static RegistrationPageFeature(){return a.object({ask_store_address:a.boolean()})}static AppFeature(){return a.object({product_detail:n.ProductDetailFeature(),landing_page:n.LandingPageFeature(),registration_page:n.RegistrationPageFeature(),home_page:n.HomePageFeature(),common:n.CommonFeature(),cart:n.CartFeature(),qr:n.QrFeature(),pcr:n.PcrFeature(),order:n.OrderFeature(),_id:a.string().allow(""),app:a.string().allow(""),created_at:a.string().allow(""),modified_at:a.string().allow(""),__v:a.number()})}static HomePageFeature(){return a.object({order_processing:a.boolean()})}static CommonFeature(){return a.object({communication_optin_dialog:n.CommunicationOptinDialogFeature(),deployment_store_selection:n.DeploymentStoreSelectionFeature(),listing_price:n.ListingPriceFeature(),currency:n.CurrencyFeature(),revenue_engine:n.RevenueEngineFeature(),feedback:n.FeedbackFeature(),compare_products:n.CompareProductsFeature(),reward_points:n.RewardPointsConfig(),listing_page:n.ListingPageFeature(),international_shipping:n.InternationalShipping()})}static InternationalShipping(){return a.object({enabled:a.boolean()})}static CommunicationOptinDialogFeature(){return a.object({visibility:a.boolean()})}static DeploymentStoreSelectionFeature(){return a.object({enabled:a.boolean(),type:a.string().allow("")})}static ListingPriceFeature(){return a.object({value:a.string().allow(""),sort:a.string().allow("")})}static ListingPageFeature(){return a.object({sort_on:a.string().allow("")})}static CurrencyFeature(){return a.object({value:a.array().items(a.string().allow("")),type:a.string().allow(""),default_currency:a.string().allow("")})}static RevenueEngineFeature(){return a.object({enabled:a.boolean()})}static FeedbackFeature(){return a.object({enabled:a.boolean()})}static CompareProductsFeature(){return a.object({enabled:a.boolean()})}static CartFeature(){return a.object({gst_input:a.boolean(),staff_selection:a.boolean(),placing_for_customer:a.boolean(),google_map:a.boolean(),revenue_engine_coupon:a.boolean()})}static QrFeature(){return a.object({application:a.boolean(),products:a.boolean(),collections:a.boolean()})}static PcrFeature(){return a.object({staff_selection:a.boolean()})}static OrderFeature(){return a.object({buy_again:a.boolean()})}static AppFeatureResponse(){return a.object({feature:n.AppFeature()})}static Currency(){return a.object({_id:a.string().allow(""),is_active:a.boolean(),name:a.string().allow(""),code:a.string().allow(""),created_at:a.string().allow(""),modified_at:a.string().allow(""),decimal_digits:a.number(),symbol:a.string().allow(""),country_name:a.string().allow(""),country_code:a.string().allow("")})}static Domain(){return a.object({verified:a.boolean(),is_primary:a.boolean(),is_shortlink:a.boolean(),_id:a.string().allow(""),name:a.string().allow(""),is_predefined:a.boolean()})}static ApplicationWebsite(){return a.object({enabled:a.boolean(),basepath:a.string().allow("")})}static ApplicationCors(){return a.object({domains:a.array().items(a.string().allow(""))})}static ApplicationAuth(){return a.object({enabled:a.boolean()})}static ApplicationRedirections(){return a.object({redirect_from:a.string().allow(""),redirect_to:a.string().allow(""),type:a.string().allow("")})}static ApplicationMeta(){return a.object({name:a.string().allow(""),value:a.string().allow("")})}static SecureUrl(){return a.object({secure_url:a.string().allow("")})}static Application(){return a.object({website:n.ApplicationWebsite(),cors:n.ApplicationCors(),auth:n.ApplicationAuth(),description:a.string().allow(""),channel_type:a.string().allow(""),cache_ttl:a.number(),is_internal:a.boolean(),is_active:a.boolean(),_id:a.string().allow(""),name:a.string().allow(""),owner:a.string().allow(""),company_id:a.number(),token:a.string().allow(""),redirections:a.array().items(n.ApplicationRedirections()),meta:a.array().items(n.ApplicationMeta()),created_at:a.string().allow(""),modified_at:a.string().allow(""),__v:a.number(),banner:n.SecureUrl(),logo:n.SecureUrl(),favicon:n.SecureUrl(),domains:a.array().items(n.Domain()),app_type:a.string().allow(""),mobile_logo:n.SecureUrl(),domain:n.Domain(),slug:a.string().allow(""),mode:a.string().allow(""),status:a.string().allow(""),tokens:a.array().items(n.TokenSchema())})}static TokenSchema(){return a.object({token:a.string().allow(""),created_by:a.object().pattern(/\S/,a.any()),created_at:a.string().allow("")})}static NotFound(){return a.object({message:a.string().allow("")})}static InvalidPayloadRequest(){return a.object({message:a.string().allow("")})}static UnhandledError(){return a.object({message:a.string().allow("")})}static SuccessMessageResponse(){return a.object({message:a.string().allow("")})}static CompanyAboutAddress(){return a.object({pincode:a.number(),address1:a.string().allow(""),address2:a.string().allow(""),city:a.string().allow(""),state:a.string().allow(""),country:a.string().allow(""),address_type:a.string().allow("")})}static UserEmail(){return a.object({active:a.boolean(),primary:a.boolean(),verified:a.boolean(),email:a.string().allow("")})}static UserPhoneNumber(){return a.object({active:a.boolean(),primary:a.boolean(),verified:a.boolean(),country_code:a.number(),phone:a.string().allow("")})}static Page(){return a.object({item_total:a.number(),next_id:a.string().allow(""),has_previous:a.boolean(),has_next:a.boolean(),current:a.number(),type:a.string().allow("").required(),size:a.number()})}static ApplicationInformation(){return a.object({address:n.InformationAddress(),support:n.InformationSupport(),social_links:n.SocialLinks(),links:a.array().items(n.Links()),copyright_text:a.string().allow(""),_id:a.string().allow(""),business_highlights:a.array().items(n.BusinessHighlights()),application:a.string().allow(""),created_at:a.string().allow(""),modified_at:a.string().allow(""),__v:a.number()})}static InformationAddress(){return a.object({loc:n.InformationLoc(),address_line:a.array().items(a.string().allow("")),phone:a.array().items(n.InformationPhone()),city:a.string().allow(""),country:a.string().allow(""),pincode:a.number()})}static InformationPhone(){return a.object({code:a.string().allow(""),number:a.string().allow("")})}static InformationSupportPhone(){return a.object({code:a.string().allow(""),number:a.string().allow(""),key:a.string().allow("")})}static InformationSupportEmail(){return a.object({value:a.string().allow(""),key:a.string().allow("")})}static InformationLoc(){return a.object({type:a.string().allow(""),coordinates:a.array().items(a.number())})}static InformationSupport(){return a.object({phone:a.array().items(n.InformationSupportPhone()),email:a.array().items(n.InformationSupportEmail()),timing:a.string().allow("")})}static SocialLinks(){return a.object({facebook:n.FacebookLink(),instagram:n.InstagramLink(),twitter:n.TwitterLink(),pinterest:n.PinterestLink(),google_plus:n.GooglePlusLink(),youtube:n.YoutubeLink(),linked_in:n.LinkedInLink(),vimeo:n.VimeoLink(),blog_link:n.BlogLink()})}static FacebookLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static InstagramLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static TwitterLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static PinterestLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static GooglePlusLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static YoutubeLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static LinkedInLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static VimeoLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static BlogLink(){return a.object({title:a.string().allow(""),icon:a.string().allow(""),link:a.string().allow("")})}static Links(){return a.object({title:a.string().allow(""),link:a.string().allow("")})}static BusinessHighlights(){return a.object({_id:a.string().allow(""),title:a.string().allow(""),icon:a.string().allow(""),sub_title:a.string().allow("")})}static ApplicationDetail(){return a.object({name:a.string().allow("").required(),description:a.string().allow(""),logo:n.SecureUrl(),mobile_logo:n.SecureUrl(),favicon:n.SecureUrl(),banner:n.SecureUrl(),domain:n.Domain(),domains:a.array().items(n.Domain()),_id:a.string().allow(""),slug:a.string().allow(""),company_id:a.number()})}static CurrenciesResponse(){return a.object({items:a.array().items(n.Currency())})}static DefaultCurrency(){return a.object({ref:a.string().allow(""),code:a.string().allow("")})}static AppCurrencyResponse(){return a.object({application:a.string().allow(""),default_currency:n.DefaultCurrency(),supported_currency:a.array().items(n.Currency()),_id:a.string().allow(""),created_at:a.string().allow(""),modified_at:a.string().allow("")})}static StoreLatLong(){return a.object({type:a.string().allow(""),coordinates:a.array().items(a.number())})}static OptedStoreAddress(){return a.object({state:a.string().allow(""),address1:a.string().allow(""),lat_long:n.StoreLatLong(),address2:a.string().allow(""),pincode:a.number(),country:a.string().allow(""),city:a.string().allow("")})}static OrderingStore(){return a.object({address:n.OptedStoreAddress(),_id:a.string().allow(""),uid:a.number(),name:a.string().allow(""),display_name:a.string().allow(""),store_type:a.string().allow(""),store_code:a.string().allow(""),pincode:a.number(),code:a.string().allow("")})}static OrderingStores(){return a.object({page:n.Page(),items:a.array().items(n.OrderingStore()),deployed_stores:a.array().items(a.number()),all_stores:a.boolean(),enabled:a.boolean(),type:a.string().allow(""),_id:a.string().allow(""),app:a.string().allow(""),__v:a.number()})}}e.exports=n},8436:(e,t,r)=>{const a=r(6075),n=r(1775);e.exports=class{static getAppCurrencies(){return a.object({})}static getAppStaffList(){return a.object({pageNo:a.number(),pageSize:a.number(),orderIncent:a.boolean(),orderingStore:a.number(),user:a.string().allow(""),userName:a.string().allow("")})}static getAppStaffs(){return a.object({orderIncent:a.boolean(),orderingStore:a.number(),user:a.string().allow("")})}static getApplication(){return a.object({})}static getBasicDetails(){return a.object({})}static getContactInfo(){return a.object({})}static getCurrencies(){return a.object({})}static getCurrencyById(){return a.object({id:a.string().allow("").required()}).required()}static getFeatures(){return a.object({})}static getIntegrationTokens(){return a.object({})}static getLanguages(){return a.object({})}static getOrderingStoreCookie(){return a.object({body:n.OrderingStoreSelectRequest().required()}).required()}static getOrderingStores(){return a.object({pageNo:a.number(),pageSize:a.number(),q:a.string().allow("")})}static getOwnerInfo(){return a.object({})}static getStoreDetailById(){return a.object({storeId:a.number().required()}).required()}static removeOrderingStoreCookie(){return a.object({})}}},7507:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=r(1121),l=r(4092),c=r(9079),{Logger:u}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={getAnnouncements:"/service/application/content/v1.0/announcements",getBlog:"/service/application/content/v1.0/blogs/{slug}",getBlogs:"/service/application/content/v1.0/blogs/",getCustomFields:"/service/application/content/v1.0/metafields/{resource}/{resource_id}",getCustomObject:"/service/application/content/v1.0/metaobjects/{metaobject_id}",getDataLoaders:"/service/application/content/v1.0/data-loader",getFaqBySlug:"/service/application/content/v1.0/faq/{slug}",getFaqCategories:"/service/application/content/v1.0/faq/categories",getFaqCategoryBySlug:"/service/application/content/v1.0/faq/category/{slug}",getFaqs:"/service/application/content/v1.0/faq",getFaqsByCategorySlug:"/service/application/content/v1.0/faq/category/{slug}/faqs",getLandingPage:"/service/application/content/v1.0/landing-page",getLegalInformation:"/service/application/content/v1.0/legal",getNavigations:"/service/application/content/v1.0/navigations/",getPage:"/service/application/content/v2.0/pages/{slug}",getPages:"/service/application/content/v2.0/pages/",getSEOConfiguration:"/service/application/content/v1.0/seo",getSEOMarkupSchemas:"/service/application/content/v1.0/seo/schema",getSlideshow:"/service/application/content/v1.0/slideshow/{slug}",getSlideshows:"/service/application/content/v1.0/slideshow/",getSupportInformation:"/service/application/content/v1.0/support",getTags:"/service/application/content/v1.0/tags"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async getAnnouncements({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getAnnouncements().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getAnnouncements().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getAnnouncements \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getAnnouncements,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.AnnouncementsResponseSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getAnnouncements \n ${g}`})}return d}async getBlog({slug:e,rootId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getBlog().validate({slug:e,rootId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getBlog().validate({slug:e,rootId:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getBlog \n ${p}`});const g={};g.root_id=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getBlog,params:{slug:e}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.BlogSchema().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Content > getBlog \n ${w}`})}return m}async getBlogs({pageNo:e,pageSize:t,tags:r,search:i,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=l.getBlogs().validate({pageNo:e,pageSize:t,tags:r,search:i},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=l.getBlogs().validate({pageNo:e,pageSize:t,tags:r,search:i},{abortEarly:!1,allowUnknown:!1});m&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getBlogs \n ${m}`});const f={};f.page_no=e,f.page_size=t,f.tags=r,f.search=i;const w=await a.execute(this._conf,"get",s({url:this._urls.getBlogs,params:{}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=c.BlogGetResponse().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));u({level:"WARN",message:`Response Validation Warnings for application > Content > getBlogs \n ${b}`})}return w}async getCustomFields({resource:e,resourceId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getCustomFields().validate({resource:e,resourceId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getCustomFields().validate({resource:e,resourceId:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getCustomFields \n ${p}`});const g=await a.execute(this._conf,"get",s({url:this._urls.getCustomFields,params:{resource:e,resourceId:t}}),{},void 0,{...r},{responseHeaders:i});let m=g;i&&(m=g[0]);const{error:f}=c.CustomFieldsResponseByResourceIdSchema().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));u({level:"WARN",message:`Response Validation Warnings for application > Content > getCustomFields \n ${f}`})}return g}async getCustomObject({metaobjectId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getCustomObject().validate({metaobjectId:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getCustomObject().validate({metaobjectId:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getCustomObject \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getCustomObject,params:{metaobjectId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.CustomObjectByIdSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Content > getCustomObject \n ${m}`})}return p}async getDataLoaders({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getDataLoaders().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getDataLoaders().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getDataLoaders \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getDataLoaders,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.DataLoadersSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getDataLoaders \n ${g}`})}return d}async getFaqBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getFaqBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getFaqBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getFaqBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getFaqBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.FaqSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Content > getFaqBySlug \n ${m}`})}return p}async getFaqCategories({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getFaqCategories().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getFaqCategories().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getFaqCategories \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getFaqCategories,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.GetFaqCategoriesSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getFaqCategories \n ${g}`})}return d}async getFaqCategoryBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getFaqCategoryBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getFaqCategoryBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getFaqCategoryBySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getFaqCategoryBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.GetFaqCategoryBySlugSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Content > getFaqCategoryBySlug \n ${m}`})}return p}async getFaqs({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getFaqs().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getFaqs().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getFaqs \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getFaqs,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.FaqResponseSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getFaqs \n ${g}`})}return d}async getFaqsByCategorySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getFaqsByCategorySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getFaqsByCategorySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getFaqsByCategorySlug \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getFaqsByCategorySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.GetFaqSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Content > getFaqsByCategorySlug \n ${m}`})}return p}async getLandingPage({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getLandingPage().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getLandingPage().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getLandingPage \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getLandingPage,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.LandingPageSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getLandingPage \n ${g}`})}return d}async getLegalInformation({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getLegalInformation().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getLegalInformation().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getLegalInformation \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getLegalInformation,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.ApplicationLegal().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getLegalInformation \n ${g}`})}return d}async getNavigations({pageNo:e,pageSize:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getNavigations().validate({pageNo:e,pageSize:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getNavigations().validate({pageNo:e,pageSize:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getNavigations \n ${p}`});const g={};g.page_no=e,g.page_size=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getNavigations,params:{}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.NavigationGetResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Content > getNavigations \n ${w}`})}return m}async getPage({slug:e,rootId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getPage().validate({slug:e,rootId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getPage().validate({slug:e,rootId:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getPage \n ${p}`});const g={};g.root_id=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getPage,params:{slug:e}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.PageSchema().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Content > getPage \n ${w}`})}return m}async getPages({pageNo:e,pageSize:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getPages().validate({pageNo:e,pageSize:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getPages().validate({pageNo:e,pageSize:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getPages \n ${p}`});const g={};g.page_no=e,g.page_size=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getPages,params:{}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.PageGetResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Content > getPages \n ${w}`})}return m}async getSEOConfiguration({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getSEOConfiguration().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getSEOConfiguration().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getSEOConfiguration \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getSEOConfiguration,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.SeoComponent().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getSEOConfiguration \n ${g}`})}return d}async getSEOMarkupSchemas({pageType:e,active:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getSEOMarkupSchemas().validate({pageType:e,active:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getSEOMarkupSchemas().validate({pageType:e,active:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getSEOMarkupSchemas \n ${p}`});const g={};g.page_type=e,g.active=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getSEOMarkupSchemas,params:{}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.SeoSchemaComponent().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Content > getSEOMarkupSchemas \n ${w}`})}return m}async getSlideshow({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:i}=l.getSlideshow().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(i)return Promise.reject(new n(i));const{error:d}=l.getSlideshow().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getSlideshow \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getSlideshow,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=c.SlideshowSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));u({level:"WARN",message:`Response Validation Warnings for application > Content > getSlideshow \n ${m}`})}return p}async getSlideshows({pageNo:e,pageSize:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:i}={responseHeaders:!1}){const{error:d}=l.getSlideshows().validate({pageNo:e,pageSize:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=l.getSlideshows().validate({pageNo:e,pageSize:t},{abortEarly:!1,allowUnknown:!1});p&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getSlideshows \n ${p}`});const g={};g.page_no=e,g.page_size=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getSlideshows,params:{}}),g,void 0,{...r},{responseHeaders:i});let f=m;i&&(f=m[0]);const{error:w}=c.SlideshowGetResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));u({level:"WARN",message:`Response Validation Warnings for application > Content > getSlideshows \n ${w}`})}return m}getSlideshowsPaginator({pageSize:e}={}){const t=new i;return t.setCallback((async()=>{t.nextId;const r=t.pageNo,a=await this.getSlideshows({pageNo:r,pageSize:e});return t.setPaginator({hasNext:!!a.page.has_next,nextId:a.page.next_id}),a}).bind(this)),t}async getSupportInformation({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getSupportInformation().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getSupportInformation().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getSupportInformation \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getSupportInformation,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.Support().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getSupportInformation \n ${g}`})}return d}async getTags({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=l.getTags().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:i}=l.getTags().validate({},{abortEarly:!1,allowUnknown:!1});i&&u({level:"WARN",message:`Parameter Validation warrnings for application > Content > getTags \n ${i}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getTags,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=c.TagsSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));u({level:"WARN",message:`Response Validation Warnings for application > Content > getTags \n ${g}`})}return d}}},9079:(e,t,r)=>{const a=r(6075);class n{static ApplicationLegal(){return a.object({application:a.string().allow(""),tnc:a.string().allow(""),policy:a.string().allow(""),shipping:a.string().allow(""),returns:a.string().allow(""),faq:a.array().items(n.ApplicationLegalFAQ()),_id:a.string().allow(""),updated_at:a.string().allow(""),created_at:a.string().allow("")})}static ApplicationLegalFAQ(){return a.object({question:a.string().allow(""),answer:a.string().allow("")})}static SeoComponent(){return a.object({seo:n.SeoSchema()})}static SeoSchema(){return a.object({app:a.string().allow(""),_id:a.string().allow(""),robots_txt:a.string().allow(""),sitemap_enabled:a.boolean(),additonal_sitemap:a.string().allow(""),cannonical_enabled:a.boolean(),custom_meta_tags:a.array().items(n.CustomMetaTag()),details:n.Detail(),created_at:a.string().allow(""),updated_at:a.string().allow("")})}static CustomMetaTag(){return a.object({name:a.string().allow(""),content:a.string().allow(""),_id:a.string().allow("")})}static Detail(){return a.object({title:a.string().allow(""),description:a.string().allow(""),image_url:a.string().allow("")})}static SeoSchemaComponent(){return a.object({items:a.array().items(n.SEOSchemaMarkupTemplate())})}static SEOSchemaMarkupTemplate(){return a.object({id:a.string().allow(""),title:a.string().allow(""),page_type:a.string().allow(""),description:a.string().allow(""),schema:a.string().allow(""),active:a.boolean(),created_at:a.string().allow(""),updated_at:a.string().allow(""),application:a.string().allow("")})}static ScheduleSchema(){return a.object({cron:a.string().allow(""),start:a.string().allow(""),end:a.string().allow(""),duration:a.number(),next_schedule:a.array().items(n.NextSchedule())})}static NextSchedule(){return a.object({start:a.string().allow(""),end:a.string().allow("")})}static AnnouncementSchema(){return a.object({announcement:a.string().allow(""),schedule:n.ScheduleStartSchema()})}static ScheduleStartSchema(){return a.object({start:a.string().allow(""),end:a.string().allow("")})}static BlogGetResponse(){return a.object({items:a.array().items(n.BlogSchema()),page:n.Page(),filters:n.BlogFilters()})}static BlogFilters(){return a.object({tags:a.array().items(a.string().allow(""))})}static ResourceContent(){return a.object({type:a.string().allow(""),value:a.string().allow("")})}static Asset(){return a.object({aspect_ratio:a.string().allow(""),id:a.string().allow(""),secure_url:a.string().allow("")})}static Author(){return a.object({designation:a.string().allow(""),id:a.string().allow(""),name:a.string().allow("")})}static BlogSchema(){return a.object({_id:a.string().allow(""),_custom_json:a.any(),application:a.string().allow(""),archived:a.boolean(),author:n.Author(),content:a.array().items(n.ResourceContent()),feature_image:n.Asset(),published:a.boolean(),reading_time:a.string().allow(""),slug:a.string().allow(""),tags:a.array().items(a.string().allow("")),publish_date:a.string().allow(""),seo:n.SEO(),title:a.string().allow(""),date_meta:n.DateMeta(),summary:a.string().allow("")})}static SEO(){return a.object({description:a.string().allow(""),image:n.SEOImage(),title:a.string().allow(""),meta_tags:a.array().items(n.SEOMetaItem()),sitemap:n.SEOSitemap(),breadcrumb:a.array().items(n.SEObreadcrumb()),canonical_url:a.string().allow("")})}static SEOImage(){return a.object({url:a.string().allow("")})}static SEOMetaItem(){return a.object({title:a.string().allow(""),items:a.array().items(n.SEOMetaItems())})}static SEOMetaItems(){return a.object({key:a.string().allow(""),value:a.string().allow("")})}static SEOSitemap(){return a.object({priority:a.number(),frequency:a.string().allow("")})}static SEObreadcrumb(){return a.object({url:a.string().allow(""),action:n.Action()})}static DateMeta(){return a.object({created_on:a.string().allow(""),modified_on:a.string().allow("")})}static LocaleLanguage(){return a.object({hi:n.Language(),ar:n.Language(),en_us:n.Language()})}static Language(){return a.object({display:a.string().allow("")})}static Action(){return a.object({type:a.string().allow(""),page:n.ActionPage(),popup:n.ActionPage()})}static NavigationReference(){return a.object({acl:a.array().items(a.string().allow("")),tags:a.array().items(a.string().allow("")),_locale_language:n.LocaleLanguage(),image:a.string().allow(""),type:a.string().allow(""),action:n.Action(),active:a.boolean(),display:a.string().allow(""),sort_order:a.number(),sub_navigation:a.array().items(a.link("#NavigationReference"))}).id("NavigationReference")}static ConfigurationSchema(){return a.object({sleep_time:a.number(),start_on_launch:a.boolean(),duration:a.number(),slide_direction:a.string().allow("")})}static SlideshowMedia(){return a.object({type:a.string().allow(""),url:a.string().allow(""),bg_color:a.string().allow(""),duration:a.number(),auto_decide_duration:a.boolean(),action:n.Action()})}static AnnouncementsResponseSchema(){return a.object({announcements:a.object().pattern(/\S/,a.array().items(n.AnnouncementSchema())),refresh_rate:a.number(),refresh_pages:a.array().items(a.string().allow(""))})}static FaqResponseSchema(){return a.object({faqs:a.array().items(n.FaqSchema())})}static DataLoaderSchema(){return a.object({name:a.string().allow(""),service:a.string().allow(""),operation_id:a.string().allow(""),type:a.string().allow(""),url:a.string().allow(""),content:a.string().allow(""),__source:n.DataLoaderSourceSchema(),_id:a.string().allow("")})}static DataLoaderSourceSchema(){return a.object({type:a.string().allow(""),id:a.string().allow("")})}static DataLoadersSchema(){return a.object({items:a.array().items(n.DataLoaderSchema())})}static ContentAPIError(){return a.object({message:a.string().allow(""),status:a.number(),code:a.string().allow(""),exception:a.string().allow(""),info:a.string().allow(""),request_id:a.string().allow(""),stack_trace:a.string().allow(""),meta:a.any()})}static CommonError(){return a.object({message:a.string().allow("")})}static CategorySchema(){return a.object({index:a.number(),title:a.string().allow(""),description:a.string().allow(""),children:a.array().items(a.string().allow("")),_id:a.string().allow(""),slug:a.string().allow(""),application:a.string().allow(""),icon_url:a.string().allow(""),_custom_json:a.any()})}static ChildrenSchema(){return a.object({question:a.string().allow(""),answer:a.string().allow(""),slug:a.string().allow(""),application:a.string().allow(""),_id:a.string().allow("")})}static FAQCategorySchema(){return a.object({index:a.number(),title:a.string().allow(""),description:a.string().allow(""),children:a.array().items(n.ChildrenSchema()),_id:a.string().allow(""),slug:a.string().allow(""),application:a.string().allow(""),icon_url:a.string().allow(""),_custom_json:a.any()})}static FaqSchema(){return a.object({slug:a.string().allow(""),application:a.string().allow(""),_id:a.string().allow(""),question:a.string().allow(""),answer:a.string().allow(""),tags:a.array().items(a.string().allow(""))})}static GetFaqSchema(){return a.object({faqs:a.array().items(n.FaqSchema())})}static GetFaqCategoriesSchema(){return a.object({categories:a.array().items(n.CategorySchema())})}static GetFaqCategoryBySlugSchema(){return a.object({category:n.FAQCategorySchema()})}static Page(){return a.object({item_total:a.number(),next_id:a.string().allow(""),has_previous:a.boolean(),has_next:a.boolean(),current:a.number(),type:a.string().allow("").required(),size:a.number()})}static LandingPageSchema(){return a.object({slug:a.string().allow(""),action:n.Action(),platform:a.array().items(a.string().allow("")),created_by:n.CreatedBySchema(),date_meta:n.DateMeta(),_id:a.string().allow(""),application:a.string().allow(""),archived:a.boolean(),_custom_json:a.any()})}static NavigationGetResponse(){return a.object({items:a.array().items(n.NavigationSchema()),page:n.Page()})}static Orientation(){return a.object({portrait:a.array().items(a.string().allow("")),landscape:a.array().items(a.string().allow(""))})}static NavigationSchema(){return a.object({_id:a.string().allow(""),application:a.string().allow(""),archived:a.boolean(),name:a.string().allow(""),slug:a.string().allow(""),platform:a.array().items(a.string().allow("")),created_by:n.CreatedBySchema(),date_meta:n.DateMeta(),orientation:n.Orientation(),version:a.number(),navigation:a.array().items(n.NavigationReference())})}static PageGetResponse(){return a.object({items:a.array().items(n.PageSchema()),page:n.Page()})}static PageSchema(){return a.object({_id:a.string().allow(""),application:a.string().allow(""),component_ids:a.array().items(a.string().allow("")),content:a.array().items(a.any()),content_path:a.string().allow(""),created_by:n.CreatedBySchema(),date_meta:n.DateMeta(),description:a.string().allow(""),feature_image:n.Asset(),page_meta:a.array().items(a.any()),_schedule:n.ScheduleSchema(),_custom_json:a.any(),orientation:a.string().allow(""),platform:a.string().allow(""),published:a.boolean(),slug:a.string().allow(""),tags:a.array().items(a.string().allow("")),title:a.string().allow(""),type:a.string().allow(""),seo:n.SEO(),visibility:a.any(),archived:a.boolean()})}static CreatedBySchema(){return a.object({id:a.string().allow("")})}static SlideshowGetResponse(){return a.object({items:a.array().items(n.SlideshowSchema()),page:n.Page()})}static SlideshowSchema(){return a.object({_id:a.string().allow(""),slug:a.string().allow(""),date_meta:n.DateMeta(),application:a.string().allow(""),platform:a.string().allow(""),configuration:n.ConfigurationSchema(),media:a.array().items(n.SlideshowMedia()),active:a.boolean(),archived:a.boolean(),_custom_json:a.any()})}static Support(){return a.object({created:a.boolean(),_id:a.string().allow(""),application:a.string().allow(""),created_at:a.string().allow(""),updated_at:a.string().allow(""),contact:n.ContactSchema()})}static PhoneProperties(){return a.object({key:a.string().allow(""),code:a.string().allow(""),number:a.string().allow(""),phone_type:a.string().allow("")})}static PhoneSchema(){return a.object({active:a.boolean(),phone:a.array().items(n.PhoneProperties())})}static EmailProperties(){return a.object({key:a.string().allow(""),value:a.string().allow("")})}static EmailSchema(){return a.object({active:a.boolean(),email:a.array().items(n.EmailProperties())})}static ContactSchema(){return a.object({phone:n.PhoneSchema(),email:n.EmailSchema()})}static TagsSchema(){return a.object({application:a.string().allow(""),_id:a.string().allow(""),tags:a.array().items(n.TagSchema())})}static TagSchema(){return a.object({name:a.string().allow(""),url:a.string().allow(""),type:a.string().allow(""),sub_type:a.string().allow(""),_id:a.string().allow(""),position:a.string().allow(""),attributes:a.any(),content:a.string().allow(""),pages:a.array().items(a.any()),__source:n.TagSourceSchema()})}static TagSourceSchema(){return a.object({type:a.string().allow(""),id:a.string().allow("")})}static CustomObjectFieldValue(){return a.object({value:a.any()})}static CustomObjectListItemDefinationSchema(){return a.object({_id:a.string().allow(""),name:a.string().allow(""),type:a.string().allow("")})}static CustomObjectFieldSchema(){return a.object({_id:a.string().allow(""),key:a.string().allow(""),value:a.array().items(n.CustomObjectFieldValue()),type:a.string().allow(""),definition_id:a.string().allow("")})}static CustomObjectByIdSchema(){return a.object({_id:a.string().allow(""),status:a.string().allow(""),display_name:a.string().allow(""),definition:n.CustomObjectListItemDefinationSchema(),references:a.array().items(a.any()),fields:a.array().items(n.CustomObjectFieldSchema())})}static CustomFieldValue(){return a.object({value:a.any()})}static CustomFieldSchema(){return a.object({_id:a.string().allow(""),namespace:a.string().allow(""),key:a.string().allow(""),resource:a.string().allow(""),creator:a.string().allow(""),value:a.array().items(n.CustomFieldValue()),resource_id:a.string().allow(""),type:a.string().allow(""),multi_value:a.boolean(),company_id:a.string().allow(""),application_id:a.string().allow(""),definition_id:a.string().allow(""),has_invalid_values:a.boolean(),invalid_value_errors:a.array().items(a.any()),created_by:a.string().allow(""),is_deleted:a.boolean(),created_at:a.string().allow(""),updated_at:a.string().allow("")})}static CustomFieldsResponseByResourceIdSchema(){return a.object({items:a.array().items(n.CustomFieldSchema())})}static ActionPage(){return a.object({params:a.object().pattern(/\S/,a.array().items(a.string().allow(""))),query:a.object().pattern(/\S/,a.array().items(a.string().allow(""))),url:a.string().allow(""),type:n.PageType().required()})}static PageType(){return a.string().valid("about-us","addresses","blog","brands","cards","cart","categories","brand","category","collection","collections","custom","contact-us","external","faq","freshchat","home","notification-settings","orders","page","policy","product","product-request","products","profile","profile-order-shipment","profile-basic","profile-company","profile-emails","profile-phones","rate-us","refer-earn","settings","shared-cart","tnc","track-order","wishlist","sections","form","cart-delivery","cart-payment","cart-review","login","register","shipping-policy","return-policy","order-status")}}e.exports=n},4092:(e,t,r)=>{const a=r(6075);r(9079),e.exports=class{static getAnnouncements(){return a.object({})}static getBlog(){return a.object({slug:a.string().allow("").required(),rootId:a.string().allow("")}).required()}static getBlogs(){return a.object({pageNo:a.number(),pageSize:a.number(),tags:a.string().allow(""),search:a.string().allow("")})}static getCustomFields(){return a.object({resource:a.string().allow("").required(),resourceId:a.string().allow("").required()}).required()}static getCustomObject(){return a.object({metaobjectId:a.string().allow("").required()}).required()}static getDataLoaders(){return a.object({})}static getFaqBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getFaqCategories(){return a.object({})}static getFaqCategoryBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getFaqs(){return a.object({})}static getFaqsByCategorySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getLandingPage(){return a.object({})}static getLegalInformation(){return a.object({})}static getNavigations(){return a.object({pageNo:a.number(),pageSize:a.number()})}static getPage(){return a.object({slug:a.string().allow("").required(),rootId:a.string().allow("")}).required()}static getPages(){return a.object({pageNo:a.number(),pageSize:a.number()})}static getSEOConfiguration(){return a.object({})}static getSEOMarkupSchemas(){return a.object({pageType:a.string().allow(""),active:a.boolean()})}static getSlideshow(){return a.object({slug:a.string().allow("").required()}).required()}static getSlideshows(){return a.object({pageNo:a.number(),pageSize:a.number()})}static getSupportInformation(){return a.object({})}static getTags(){return a.object({})}}},5259:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(7636)),l=r(6751),{Logger:c}=r(8572),{fdkAxios:u}=(r(6075),r(128));class d{constructor(e){this._conf=e,this._relativeUrls={completeUpload:"/service/application/assets/v1.0/namespaces/{namespace}/upload/complete",signUrls:"/service/application/assets/v1.0/sign-urls",startUpload:"/service/application/assets/v1.0/namespaces/{namespace}/upload/start"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async completeUpload({namespace:e,body:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.completeUpload().validate({namespace:e,body:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.completeUpload().validate({namespace:e,body:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > FileStorage > completeUpload \n ${p}`});const g=await a.execute(this._conf,"post",s({url:this._urls.completeUpload,params:{namespace:e}}),{},t,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.CompleteResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > FileStorage > completeUpload \n ${f}`})}return g}async signUrls({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.signUrls().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.signUrls().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > FileStorage > signUrls \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.signUrls,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.SignUrlResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > FileStorage > signUrls \n ${m}`})}return p}async startUpload({namespace:e,body:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.startUpload().validate({namespace:e,body:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.startUpload().validate({namespace:e,body:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > FileStorage > startUpload \n ${p}`});const g=await a.execute(this._conf,"post",s({url:this._urls.startUpload,params:{namespace:e}}),{},t,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.StartResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > FileStorage > startUpload \n ${f}`})}return g}}d.prototype.upload=function({data:e,file_name:t,content_type:r,namespace:a,size:n,tags:o}={}){return new Promise((async(s,i)=>{try{const l=await this.startUpload({namespace:a,body:{file_name:t,content_type:r,size:n,tags:o}});if(l.upload&&l.upload.url){let t={method:"PUT",url:l.upload.url,data:e,headers:{"Content-Type":r},withCredentials:!1};await u.request(t)}else i({message:"Failed to upload file"});delete l.tags,s(await this.completeUpload({namespace:a,body:l}))}catch(e){i(e)}}))},e.exports=d},6751:(e,t,r)=>{const a=r(6075);class n{static CDN(){return a.object({url:a.string().allow("").required(),absolute_url:a.string().allow("").required(),relative_url:a.string().allow("").required()})}static Upload(){return a.object({expiry:a.number().required(),url:a.string().allow("").required()})}static StartResponse(){return a.object({file_name:a.string().allow("").required(),file_path:a.string().allow("").required(),content_type:a.string().allow("").required(),method:a.string().allow(""),namespace:a.string().allow("").required(),operation:a.string().allow("").required(),size:a.number().required(),upload:n.Upload().required(),cdn:n.CDN().required(),tags:a.array().items(a.string().allow(""))})}static Params(){return a.object({subpath:a.string().allow("")})}static StartRequest(){return a.object({file_name:a.string().allow("").required(),content_type:a.string().allow("").required(),size:a.number().required(),tags:a.array().items(a.string().allow("")),params:n.Params()})}static CreatedBy(){return a.object({username:a.string().allow("")})}static CompleteResponse(){return a.object({_id:a.string().allow("").required(),file_name:a.string().allow("").required(),file_path:a.string().allow("").required(),content_type:a.string().allow("").required(),namespace:a.string().allow("").required(),operation:a.string().allow("").required(),size:a.number().required(),upload:n.Upload().required(),cdn:n.CDN().required(),success:a.boolean().required(),tags:a.array().items(a.string().allow("")),created_on:a.string().allow("").required(),modified_on:a.string().allow("").required(),created_by:n.CreatedBy()})}static Urls(){return a.object({url:a.string().allow("").required(),signed_url:a.string().allow("").required(),expiry:a.number().required()})}static SignUrlResponse(){return a.object({urls:a.array().items(n.Urls()).required()})}static SignUrlRequest(){return a.object({expiry:a.number().required(),urls:a.array().items(a.string().allow("")).required()})}}e.exports=n},7636:(e,t,r)=>{const a=r(6075),n=r(6751);e.exports=class{static completeUpload(){return a.object({namespace:a.string().allow("").required(),body:n.StartResponse().required()}).required()}static signUrls(){return a.object({body:n.SignUrlRequest().required()}).required()}static startUpload(){return a.object({namespace:a.string().allow("").required(),body:n.StartRequest().required()}).required()}}},133:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(7926)),l=r(2201),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={createHistory:"/service/application/lead/v1.0/ticket/{id}/history",createTicket:"/service/application/lead/v1.0/ticket/",getCustomForm:"/service/application/lead/v1.0/form/{slug}",getTicket:"/service/application/lead/v1.0/ticket/{id}",submitCustomForm:"/service/application/lead/v1.0/form/{slug}/submit"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async createHistory({id:e,body:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.createHistory().validate({id:e,body:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.createHistory().validate({id:e,body:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Lead > createHistory \n ${p}`});const g=await a.execute(this._conf,"post",s({url:this._urls.createHistory,params:{id:e}}),{},t,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.TicketHistory().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Lead > createHistory \n ${f}`})}return g}async createTicket({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.createTicket().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.createTicket().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Lead > createTicket \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.createTicket,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.Ticket().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Lead > createTicket \n ${m}`})}return p}async getCustomForm({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getCustomForm().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getCustomForm().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Lead > getCustomForm \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getCustomForm,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.CustomForm().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Lead > getCustomForm \n ${m}`})}return p}async getTicket({id:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getTicket().validate({id:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getTicket().validate({id:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Lead > getTicket \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getTicket,params:{id:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.Ticket().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Lead > getTicket \n ${m}`})}return p}async submitCustomForm({slug:e,body:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.submitCustomForm().validate({slug:e,body:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.submitCustomForm().validate({slug:e,body:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Lead > submitCustomForm \n ${p}`});const g=await a.execute(this._conf,"post",s({url:this._urls.submitCustomForm,params:{slug:e}}),{},t,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.SubmitCustomFormResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Lead > submitCustomForm \n ${f}`})}return g}}},2201:(e,t,r)=>{const a=r(6075);class n{static TicketHistoryPayload(){return a.object({value:a.any().required(),type:n.HistoryTypeEnum().required()})}static CustomFormSubmissionPayload(){return a.object({response:a.array().items(a.any()).required(),attachments:a.array().items(n.TicketAsset())})}static SubmitCustomFormResponse(){return a.object({message:a.string().allow("").required(),ticket:n.Ticket(),response:n.FormFieldResponse()})}static FormFieldResponse(){return a.object({_id:a.string().allow(""),__v:a.number(),application_id:a.string().allow(""),form_slug:a.string().allow(""),created_on:n.CreatedOn(),response:a.array().items(n.FormFieldResponseValues())})}static FormFieldResponseValues(){return a.object({key:a.string().allow("")})}static TicketContext(){return a.object({application_id:a.string().allow(""),company_id:a.string().allow("").required()})}static CreatedOn(){return a.object({user_agent:a.string().allow("").required()})}static TicketAsset(){return a.object({display:a.string().allow(""),value:a.string().allow("").required(),type:n.TicketAssetTypeEnum().required()})}static TicketContent(){return a.object({title:a.string().allow("").required(),description:a.string().allow(""),attachments:a.array().items(n.TicketAsset())})}static AddTicketPayload(){return a.object({created_by:a.any(),status:a.string().allow(""),priority:n.PriorityEnum(),category:a.string().allow("").required(),content:n.TicketContent().required(),_custom_json:a.any(),subscribers:a.array().items(a.string().allow(""))})}static Priority(){return a.object({key:n.PriorityEnum().required(),display:a.string().allow("").required(),color:a.string().allow("").required()})}static Status(){return a.object({key:a.string().allow("").required(),display:a.string().allow("").required(),color:a.string().allow("").required()})}static SubmitButton(){return a.object({title:a.string().allow("").required(),title_color:a.string().allow("").required(),background_color:a.string().allow("").required()})}static PollForAssignment(){return a.object({duration:a.number().required(),message:a.string().allow("").required(),success_message:a.string().allow("").required(),failure_message:a.string().allow("").required()})}static CustomForm(){return a.object({application_id:a.string().allow("").required(),slug:a.string().allow("").required(),header_image:a.string().allow(""),title:a.string().allow("").required(),description:a.string().allow(""),priority:n.Priority().required(),login_required:a.boolean().required(),should_notify:a.boolean().required(),success_message:a.string().allow(""),submit_button:n.SubmitButton(),inputs:a.array().items(a.any()).required(),created_on:n.CreatedOn(),poll_for_assignment:n.PollForAssignment(),_id:a.string().allow("").required()})}static FeedbackForm(){return a.object({inputs:a.any(),title:a.string().allow(""),timestamps:a.any()})}static TicketCategory(){return a.object({display:a.string().allow("").required(),key:a.string().allow("").required(),sub_categories:a.link("#TicketCategory"),group_id:a.number(),feedback_form:n.FeedbackForm()}).id("TicketCategory")}static TicketHistory(){return a.object({type:a.string().allow("").required(),value:a.any().required(),ticket_id:a.string().allow("").required(),created_on:n.CreatedOn(),created_by:a.any(),_id:a.string().allow("").required(),updated_at:a.string().allow(""),created_at:a.string().allow("")})}static Ticket(){return a.object({context:n.TicketContext(),created_on:n.CreatedOn(),response_id:a.string().allow(""),content:n.TicketContent(),category:n.TicketCategory().required(),sub_category:a.string().allow(""),source:n.TicketSourceEnum().required(),status:n.Status().required(),priority:n.Priority().required(),created_by:a.any(),assigned_to:a.any(),tags:a.array().items(a.string().allow("")),_custom_json:a.any(),is_feedback_pending:a.boolean(),integration:a.any(),_id:a.string().allow("").required(),updated_at:a.string().allow(""),created_at:a.string().allow("")})}static PriorityEnum(){return a.string().valid("low","medium","high","urgent")}static HistoryTypeEnum(){return a.string().valid("rating","log","comment","thread")}static TicketAssetTypeEnum(){return a.string().valid("image","video","file","youtube","product","collection","brand","shipment","order")}static TicketSourceEnum(){return a.string().valid("platform_panel","sales_channel")}}e.exports=n},7926:(e,t,r)=>{const a=r(6075),n=r(2201);e.exports=class{static createHistory(){return a.object({id:a.string().allow("").required(),body:n.TicketHistoryPayload().required()}).required()}static createTicket(){return a.object({body:n.AddTicketPayload().required()}).required()}static getCustomForm(){return a.object({slug:a.string().allow("").required()}).required()}static getTicket(){return a.object({id:a.string().allow("").required()}).required()}static submitCustomForm(){return a.object({slug:a.string().allow("").required(),body:n.CustomFormSubmissionPayload().required()}).required()}}},469:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(2230)),l=r(8297),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={getAllCountries:"/service/application/logistics/v1.0/country-list",getCountries:"/service/application/logistics/v2.0/countries",getCountry:"/service/application/logistics/v1.0/countries/{country_iso_code}",getLocalities:"/service/application/logistics/v1.0/localities/{locality_type}",getLocality:"/service/application/logistics/v1.0/localities/{locality_type}/{locality_value}",getLocations:"/service/application/logistics/v1.0/locations",getOptimalLocations:"/service/application/logistics/v1.0/reassign_stores",getPincodeCity:"/service/application/logistics/v1.0/pincode/{pincode}",getPincodeZones:"/service/application/logistics/v1.0/pincode/zones",getTatProduct:"/service/application/logistics/v1.0/",validateAddress:"/service/application/logistics/v1.0/country/{country_iso_code}/address/templates/{template_name}/validate"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async getAllCountries({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getAllCountries().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getAllCountries().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getAllCountries \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getAllCountries,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.CountryListResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getAllCountries \n ${g}`})}return d}async getCountries({onboarding:e,pageNo:t,pageSize:r,q:u,requestHeaders:d}={requestHeaders:{}},{responseHeaders:p}={responseHeaders:!1}){const{error:g}=i.getCountries().validate({onboarding:e,pageNo:t,pageSize:r,q:u},{abortEarly:!1,allowUnknown:!0});if(g)return Promise.reject(new n(g));const{error:m}=i.getCountries().validate({onboarding:e,pageNo:t,pageSize:r,q:u},{abortEarly:!1,allowUnknown:!1});m&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getCountries \n ${m}`});const f={};f.onboarding=e,f.page_no=t,f.page_size=r,f.q=u;const w=await a.execute(this._conf,"get",s({url:this._urls.getCountries,params:{}}),f,void 0,{...d},{responseHeaders:p});let y=w;p&&(y=w[0]);const{error:b}=l.GetCountries().validate(y,{abortEarly:!1,allowUnknown:!0});if(b){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(b));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getCountries \n ${b}`})}return w}async getCountry({countryIsoCode:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getCountry().validate({countryIsoCode:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getCountry().validate({countryIsoCode:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getCountry \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getCountry,params:{countryIsoCode:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.GetCountry().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getCountry \n ${m}`})}return p}async getLocalities({localityType:e,country:t,state:r,city:u,pageNo:d,pageSize:p,q:g,requestHeaders:m}={requestHeaders:{}},{responseHeaders:f}={responseHeaders:!1}){const{error:w}=i.getLocalities().validate({localityType:e,country:t,state:r,city:u,pageNo:d,pageSize:p,q:g},{abortEarly:!1,allowUnknown:!0});if(w)return Promise.reject(new n(w));const{error:y}=i.getLocalities().validate({localityType:e,country:t,state:r,city:u,pageNo:d,pageSize:p,q:g},{abortEarly:!1,allowUnknown:!1});y&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getLocalities \n ${y}`});const b={};b.country=t,b.state=r,b.city=u,b.page_no=d,b.page_size=p,b.q=g;const h=await a.execute(this._conf,"get",s({url:this._urls.getLocalities,params:{localityType:e}}),b,void 0,{...m},{responseHeaders:f});let _=h;f&&(_=h[0]);const{error:v}=l.GetLocalities().validate(_,{abortEarly:!1,allowUnknown:!0});if(v){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(v));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getLocalities \n ${v}`})}return h}async getLocality({localityType:e,localityValue:t,country:r,state:u,city:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=i.getLocality().validate({localityType:e,localityValue:t,country:r,state:u,city:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=i.getLocality().validate({localityType:e,localityValue:t,country:r,state:u,city:d},{abortEarly:!1,allowUnknown:!1});f&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getLocality \n ${f}`});const w={};w.country=r,w.state=u,w.city=d;const y=await a.execute(this._conf,"get",s({url:this._urls.getLocality,params:{localityType:e,localityValue:t}}),w,void 0,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=l.GetLocality().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getLocality \n ${h}`})}return y}async getLocations({xApplicationId:e,xApplicationData:t,country:r,state:u,city:d,pincode:p,sector:g,pageNo:m,pageSize:f,requestHeaders:w}={requestHeaders:{}},{responseHeaders:y}={responseHeaders:!1}){const{error:b}=i.getLocations().validate({xApplicationId:e,xApplicationData:t,country:r,state:u,city:d,pincode:p,sector:g,pageNo:m,pageSize:f},{abortEarly:!1,allowUnknown:!0});if(b)return Promise.reject(new n(b));const{error:h}=i.getLocations().validate({xApplicationId:e,xApplicationData:t,country:r,state:u,city:d,pincode:p,sector:g,pageNo:m,pageSize:f},{abortEarly:!1,allowUnknown:!1});h&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getLocations \n ${h}`});const _={};_["x-application-id"]=e,_["x-application-data"]=t,_.country=r,_.state=u,_.city=d,_.pincode=p,_.sector=g,_.page_no=m,_.page_size=f;const v=await a.execute(this._conf,"get",s({url:this._urls.getLocations,params:{}}),_,void 0,{...w},{responseHeaders:y});let k=v;y&&(k=v[0]);const{error:R}=l.GetStoreResponse().validate(k,{abortEarly:!1,allowUnknown:!0});if(R){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(R));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getLocations \n ${R}`})}return v}async getOptimalLocations({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getOptimalLocations().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getOptimalLocations().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getOptimalLocations \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getOptimalLocations,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ReAssignStoreResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getOptimalLocations \n ${m}`})}return p}async getPincodeCity({pincode:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getPincodeCity().validate({pincode:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getPincodeCity().validate({pincode:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getPincodeCity \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getPincodeCity,params:{pincode:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.PincodeApiResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getPincodeCity \n ${m}`})}return p}async getPincodeZones({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getPincodeZones().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getPincodeZones().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getPincodeZones \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getPincodeZones,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.GetZoneFromPincodeViewResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getPincodeZones \n ${m}`})}return p}async getTatProduct({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getTatProduct().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getTatProduct().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > getTatProduct \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getTatProduct,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.TATViewResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > getTatProduct \n ${m}`})}return p}async validateAddress({countryIsoCode:e,templateName:t,body:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.validateAddress().validate({countryIsoCode:e,templateName:t,body:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.validateAddress().validate({countryIsoCode:e,templateName:t,body:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Logistic > validateAddress \n ${g}`});const m=await a.execute(this._conf,"post",s({url:this._urls.validateAddress,params:{countryIsoCode:e,templateName:t}}),{},r,{...u},{responseHeaders:d});let f=m;d&&(f=m[0]);const{error:w}=l.ValidateAddressRequest().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Logistic > validateAddress \n ${w}`})}return m}}},8297:(e,t,r)=>{const a=r(6075);class n{static GetStoreResponse(){return a.object({items:a.array().items(n.StoreItemResponse()),page:n.Page()})}static StoreItemResponse(){return a.object({id:a.number(),store_type:a.string().allow(""),fulfillment_type:a.string().allow(""),processing_time:a.number(),tags:a.array().items(a.string().allow("")),company_id:a.number(),latitude:a.number(),longitude:a.number()})}static ValidateAddressRequest(){return a.object({address:a.string().allow(""),address1:a.string().allow(""),address2:a.string().allow(""),area:a.string().allow(""),landmark:a.string().allow(""),pincode:a.string().allow(""),sector:a.string().allow(""),city:a.string().allow(""),state:a.string().allow(""),name:a.string().allow(""),phone:a.string().allow(""),email:a.string().allow("")})}static PincodeParentsResponse(){return a.object({sub_type:a.string().allow(""),display_name:a.string().allow(""),name:a.string().allow(""),uid:a.string().allow("")})}static PincodeMetaResponse(){return a.object({zone:a.string().allow(""),internal_zone_id:a.number()})}static PincodeErrorSchemaResponse(){return a.object({message:a.string().allow("").allow(null),value:a.string().allow("").allow(null),type:a.string().allow("").allow(null)})}static CountryMetaResponse(){return a.object({country_code:a.string().allow(""),isd_code:a.string().allow("")})}static PincodeLatLongData(){return a.object({type:a.string().allow(""),coordinates:a.array().items(a.string().allow(""))})}static PincodeDataResponse(){return a.object({parents:a.array().items(n.PincodeParentsResponse()),meta:n.PincodeMetaResponse(),display_name:a.string().allow(""),error:n.PincodeErrorSchemaResponse().required(),meta_code:n.CountryMetaResponse(),lat_long:n.PincodeLatLongData(),sub_type:a.string().allow(""),name:a.string().allow(""),uid:a.string().allow("")})}static PincodeApiResponse(){return a.object({success:a.boolean().required(),data:a.array().items(n.PincodeDataResponse()),error:n.PincodeErrorSchemaResponse().required()})}static TATCategoryRequest(){return a.object({level:a.string().allow(""),id:a.number()})}static TATArticlesRequest(){return a.object({category:n.TATCategoryRequest(),manufacturing_time_unit:a.string().allow(""),manufacturing_time:a.number()})}static TATLocationDetailsRequest(){return a.object({fulfillment_id:a.number(),from_pincode:a.string().allow(""),articles:a.array().items(n.TATArticlesRequest())})}static TATViewRequest(){return a.object({to_pincode:a.string().allow(""),source:a.string().allow(""),action:a.string().allow(""),identifier:a.string().allow(""),location_details:a.array().items(n.TATLocationDetailsRequest()),journey:a.string().allow("")})}static TATErrorSchemaResponse(){return a.object({message:a.string().allow("").allow(null),value:a.string().allow("").allow(null),type:a.string().allow("").allow(null)})}static TATTimestampResponse(){return a.object({min:a.number(),max:a.number()})}static TATFormattedResponse(){return a.object({min:a.string().allow(""),max:a.string().allow("")})}static TATPromiseResponse(){return a.object({timestamp:n.TATTimestampResponse(),formatted:n.TATFormattedResponse()})}static TATArticlesResponse(){return a.object({manufacturing_time_unit:a.string().allow(""),error:n.TATErrorSchemaResponse(),is_cod_available:a.boolean(),promise:n.TATPromiseResponse(),manufacturing_time:a.number(),category:n.TATCategoryRequest(),_manufacturing_time_seconds:a.number()})}static TATLocationDetailsResponse(){return a.object({fulfillment_id:a.number(),from_pincode:a.string().allow(""),articles:a.array().items(n.TATArticlesResponse())})}static TATViewResponse(){return a.object({to_pincode:a.string().allow(""),request_uuid:a.string().allow(""),payment_mode:a.string().allow(""),success:a.boolean(),error:n.TATErrorSchemaResponse(),is_cod_available:a.boolean(),source:a.string().allow(""),action:a.string().allow(""),stormbreaker_uuid:a.string().allow(""),to_city:a.string().allow(""),identifier:a.string().allow(""),location_details:a.array().items(n.TATLocationDetailsResponse()),journey:a.string().allow("")})}static DP(){return a.object({fm_priority:a.number().required(),lm_priority:a.number().required(),rvp_priority:a.number().required(),payment_mode:a.string().allow("").required(),operations:a.array().items(a.string().allow("")).required(),area_code:a.string().allow("").allow(null),assign_dp_from_sb:a.boolean(),internal_account_id:a.string().allow(""),external_account_id:a.string().allow("").allow(null),transport_mode:a.string().allow("")})}static LogisticsResponse(){return a.object({dp:a.object().pattern(/\S/,n.DP())})}static CountryEntityResponse(){return a.object({meta:n.CountryMetaResponse(),logistics:n.LogisticsResponse(),display_name:a.string().allow(""),type:a.string().allow(""),is_active:a.boolean(),parent_id:a.string().allow(""),sub_type:a.string().allow(""),name:a.string().allow(""),uid:a.string().allow("")})}static CountryListResponse(){return a.object({results:a.array().items(n.CountryEntityResponse())})}static GetZoneFromPincodeViewRequest(){return a.object({pincode:a.string().allow("").required(),country:a.string().allow("").required()})}static GetZoneFromPincodeViewResponse(){return a.object({serviceability_type:a.string().allow("").required(),zones:a.array().items(a.string().allow("")).required()})}static ReAssignStoreRequest(){return a.object({configuration:a.any().required(),to_pincode:a.string().allow("").required(),ignored_locations:a.array().items(a.number()).required(),identifier:a.string().allow("").required(),articles:a.array().items(a.any()).required()})}static ReAssignStoreResponse(){return a.object({to_pincode:a.string().allow("").required(),pystormbreaker_uuid:a.string().allow("").required(),success:a.boolean().required(),error:a.any().required(),assigned_stores:a.array().items(a.any())})}static CountryHierarchy(){return a.object({name:a.string().allow(""),slug:a.string().allow("")})}static CurrencyObject(){return a.object({code:a.string().allow(""),name:a.string().allow(""),symbol:a.string().allow("")})}static CountryObject(){return a.object({id:a.string().allow(""),name:a.string().allow(""),display_name:a.string().allow(""),iso2:a.string().allow(""),iso3:a.string().allow(""),timezones:a.array().items(a.string().allow("")).allow(null,""),hierarchy:a.array().items(n.CountryHierarchy()),phone_code:a.string().allow(""),latitude:a.string().allow(""),longitude:a.string().allow(""),currency:n.CurrencyObject(),type:a.string().allow("")})}static GetCountries(){return a.object({items:a.array().items(n.CountryObject()),page:n.Page()})}static GetOneOrAllPath(){return a.object({locality_type:a.string().allow(""),locality_value:a.string().allow("")})}static GetOneOrAllQuery(){return a.object({country:a.string().allow("").allow(null),state:a.string().allow("").allow(null),city:a.string().allow("").allow(null),sector:a.string().allow("").allow(null)})}static GetOneOrAllParams(){return a.object({path:n.GetOneOrAllPath(),query:n.GetOneOrAllQuery()})}static GetOneOrAll(){return a.object({operation_id:a.string().allow(""),params:n.GetOneOrAllParams()})}static LengthValidation(){return a.object({min:a.number().allow(null),max:a.number().allow(null)})}static FieldValidationRegex(){return a.object({value:a.string().allow(""),length:n.LengthValidation()})}static FieldValidation(){return a.object({type:a.string().allow(""),regex:n.FieldValidationRegex()})}static GetCountryFieldsAddressValues(){return a.object({get_one:n.GetOneOrAll(),get_all:n.GetOneOrAll()})}static GetCountryFieldsAddress(){return a.object({display_name:a.string().allow("").required(),slug:a.string().allow("").required(),required:a.boolean().required(),edit:a.boolean(),input:a.string().allow("").required(),validation:n.FieldValidation(),values:n.GetCountryFieldsAddressValues(),error_text:a.string().allow("").allow(null)})}static GetCountryFieldsAddressTemplate(){return a.object({checkout_form:a.string().allow("").required(),store_os_form:a.string().allow("").required(),default_display:a.string().allow("").required()})}static GetCountryFields(){return a.object({address:a.array().items(n.GetCountryFieldsAddress()).required(),serviceability_fields:a.array().items(a.string().allow("")).required(),address_template:n.GetCountryFieldsAddressTemplate().required()})}static GetCountry(){return a.object({id:a.string().allow(""),name:a.string().allow(""),display_name:a.string().allow(""),iso2:a.string().allow(""),iso3:a.string().allow(""),timezones:a.array().items(a.string().allow("")).allow(null,""),hierarchy:a.array().items(n.CountryHierarchy()),phone_code:a.string().allow(""),latitude:a.string().allow(""),longitude:a.string().allow(""),currency:n.CurrencyObject(),type:a.string().allow(""),fields:n.GetCountryFields()})}static Page(){return a.object({item_total:a.number(),next_id:a.string().allow(""),has_previous:a.boolean(),has_next:a.boolean(),current:a.number(),type:a.string().allow("").required(),size:a.number()})}static Localities(){return a.object({id:a.string().allow(""),name:a.string().allow(""),display_name:a.string().allow(""),parent_ids:a.array().items(a.string().allow("")),type:a.string().allow(""),localities:a.array().items(n.LocalityParent())})}static LocalityParent(){return a.object({id:a.string().allow(""),name:a.string().allow(""),display_name:a.string().allow(""),parent_ids:a.array().items(a.string().allow("")),type:a.string().allow("")})}static GetLocalities(){return a.object({items:a.array().items(n.Localities()),page:n.Page()})}static GetLocality(){return a.object({id:a.string().allow(""),name:a.string().allow(""),display_name:a.string().allow(""),parent_ids:a.array().items(a.string().allow("")),type:a.string().allow(""),localities:a.array().items(n.LocalityParent())})}static ErrorResponse(){return a.object({error:a.string().allow(""),message:a.string().allow("")})}}e.exports=n},2230:(e,t,r)=>{const a=r(6075),n=r(8297);e.exports=class{static getAllCountries(){return a.object({})}static getCountries(){return a.object({onboarding:a.boolean(),pageNo:a.number(),pageSize:a.number(),q:a.string().allow("")})}static getCountry(){return a.object({countryIsoCode:a.string().allow("").required()}).required()}static getLocalities(){return a.object({localityType:a.string().allow("").required(),country:a.string().allow(""),state:a.string().allow(""),city:a.string().allow(""),pageNo:a.number(),pageSize:a.number(),q:a.string().allow("")}).required()}static getLocality(){return a.object({localityType:a.string().allow("").required(),localityValue:a.string().allow("").required(),country:a.string().allow(""),state:a.string().allow(""),city:a.string().allow("")}).required()}static getLocations(){return a.object({xApplicationId:a.string().allow("").required(),xApplicationData:a.string().allow("").required(),country:a.string().allow(""),state:a.string().allow(""),city:a.string().allow(""),pincode:a.number(),sector:a.string().allow(""),pageNo:a.number(),pageSize:a.number()}).required()}static getOptimalLocations(){return a.object({body:n.ReAssignStoreRequest().required()}).required()}static getPincodeCity(){return a.object({pincode:a.string().allow("").required()}).required()}static getPincodeZones(){return a.object({body:n.GetZoneFromPincodeViewRequest().required()}).required()}static getTatProduct(){return a.object({body:n.TATViewRequest().required()}).required()}static validateAddress(){return a.object({countryIsoCode:a.string().allow("").required(),templateName:a.string().allow("").required(),body:n.ValidateAddressRequest().required()}).required()}}},7611:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(4420)),l=r(4079),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={getCustomerDetailsByShipmentId:"/service/application/order/v1.0/orders/{order_id}/shipments/{shipment_id}/customer-details",getInvoiceByShipmentId:"/service/application/order/v1.0/orders/shipments/{shipment_id}/invoice",getOrderById:"/service/application/order/v1.0/orders/{order_id}",getOrders:"/service/application/order/v1.0/orders",getShipmentBagReasons:"/service/application/order/v1.0/orders/shipments/{shipment_id}/bags/{bag_id}/reasons",getShipmentById:"/service/application/order/v1.0/orders/shipments/{shipment_id}",getShipmentReasons:"/service/application/order/v1.0/orders/shipments/{shipment_id}/reasons",sendOtpToShipmentCustomer:"/service/application/order/v1.0/orders/{order_id}/shipments/{shipment_id}/otp/send/",trackShipment:"/service/application/order/v1.0/orders/shipments/{shipment_id}/track",updateShipmentStatus:"/service/application/order/v1.0/orders/shipments/{shipment_id}/status",verifyOtpShipmentCustomer:"/service/application/order/v1.0/orders/{order_id}/shipments/{shipment_id}/otp/verify/"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async getCustomerDetailsByShipmentId({orderId:e,shipmentId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getCustomerDetailsByShipmentId().validate({orderId:e,shipmentId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getCustomerDetailsByShipmentId().validate({orderId:e,shipmentId:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > getCustomerDetailsByShipmentId \n ${p}`});const g=await a.execute(this._conf,"get",s({url:this._urls.getCustomerDetailsByShipmentId,params:{orderId:e,shipmentId:t}}),{},void 0,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.CustomerDetailsResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Order > getCustomerDetailsByShipmentId \n ${f}`})}return g}async getInvoiceByShipmentId({shipmentId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getInvoiceByShipmentId().validate({shipmentId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getInvoiceByShipmentId().validate({shipmentId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > getInvoiceByShipmentId \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getInvoiceByShipmentId,params:{shipmentId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ResponseGetInvoiceShipment().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Order > getInvoiceByShipmentId \n ${m}`})}return p}async getOrderById({orderId:e,allowInactive:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getOrderById().validate({orderId:e,allowInactive:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getOrderById().validate({orderId:e,allowInactive:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > getOrderById \n ${p}`});const g={};g.allow_inactive=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getOrderById,params:{orderId:e}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.OrderById().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Order > getOrderById \n ${w}`})}return m}async getOrders({status:e,pageNo:t,pageSize:r,fromDate:u,toDate:d,startDate:p,endDate:g,customMeta:m,allowInactive:f,requestHeaders:w}={requestHeaders:{}},{responseHeaders:y}={responseHeaders:!1}){const{error:b}=i.getOrders().validate({status:e,pageNo:t,pageSize:r,fromDate:u,toDate:d,startDate:p,endDate:g,customMeta:m,allowInactive:f},{abortEarly:!1,allowUnknown:!0});if(b)return Promise.reject(new n(b));const{error:h}=i.getOrders().validate({status:e,pageNo:t,pageSize:r,fromDate:u,toDate:d,startDate:p,endDate:g,customMeta:m,allowInactive:f},{abortEarly:!1,allowUnknown:!1});h&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > getOrders \n ${h}`});const _={};_.status=e,_.page_no=t,_.page_size=r,_.from_date=u,_.to_date=d,_.start_date=p,_.end_date=g,_.custom_meta=m,_.allow_inactive=f;const v=await a.execute(this._conf,"get",s({url:this._urls.getOrders,params:{}}),_,void 0,{...w},{responseHeaders:y});let k=v;y&&(k=v[0]);const{error:R}=l.OrderList().validate(k,{abortEarly:!1,allowUnknown:!0});if(R){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(R));c({level:"WARN",message:`Response Validation Warnings for application > Order > getOrders \n ${R}`})}return v}async getShipmentBagReasons({shipmentId:e,bagId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getShipmentBagReasons().validate({shipmentId:e,bagId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getShipmentBagReasons().validate({shipmentId:e,bagId:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > getShipmentBagReasons \n ${p}`});const g=await a.execute(this._conf,"get",s({url:this._urls.getShipmentBagReasons,params:{shipmentId:e,bagId:t}}),{},void 0,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.ShipmentBagReasons().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Order > getShipmentBagReasons \n ${f}`})}return g}async getShipmentById({shipmentId:e,allowInactive:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getShipmentById().validate({shipmentId:e,allowInactive:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getShipmentById().validate({shipmentId:e,allowInactive:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > getShipmentById \n ${p}`});const g={};g.allow_inactive=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getShipmentById,params:{shipmentId:e}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.ShipmentById().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Order > getShipmentById \n ${w}`})}return m}async getShipmentReasons({shipmentId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getShipmentReasons().validate({shipmentId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getShipmentReasons().validate({shipmentId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > getShipmentReasons \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getShipmentReasons,params:{shipmentId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ShipmentReasons().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Order > getShipmentReasons \n ${m}`})}return p}async sendOtpToShipmentCustomer({orderId:e,shipmentId:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendOtpToShipmentCustomer().validate({orderId:e,shipmentId:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendOtpToShipmentCustomer().validate({orderId:e,shipmentId:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > sendOtpToShipmentCustomer \n ${p}`});const g=await a.execute(this._conf,"post",s({url:this._urls.sendOtpToShipmentCustomer,params:{orderId:e,shipmentId:t}}),{},void 0,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.SendOtpToCustomerResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Order > sendOtpToShipmentCustomer \n ${f}`})}return g}async trackShipment({shipmentId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.trackShipment().validate({shipmentId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.trackShipment().validate({shipmentId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > trackShipment \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.trackShipment,params:{shipmentId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ShipmentTrack().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Order > trackShipment \n ${m}`})}return p}async updateShipmentStatus({shipmentId:e,body:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.updateShipmentStatus().validate({shipmentId:e,body:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.updateShipmentStatus().validate({shipmentId:e,body:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > updateShipmentStatus \n ${p}`});const g=await a.execute(this._conf,"put",s({url:this._urls.updateShipmentStatus,params:{shipmentId:e}}),{},t,{...r},{responseHeaders:u});let m=g;u&&(m=g[0]);const{error:f}=l.ShipmentApplicationStatusResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Order > updateShipmentStatus \n ${f}`})}return g}async verifyOtpShipmentCustomer({orderId:e,shipmentId:t,body:r,requestHeaders:u}={requestHeaders:{}},{responseHeaders:d}={responseHeaders:!1}){const{error:p}=i.verifyOtpShipmentCustomer().validate({orderId:e,shipmentId:t,body:r},{abortEarly:!1,allowUnknown:!0});if(p)return Promise.reject(new n(p));const{error:g}=i.verifyOtpShipmentCustomer().validate({orderId:e,shipmentId:t,body:r},{abortEarly:!1,allowUnknown:!1});g&&c({level:"WARN",message:`Parameter Validation warrnings for application > Order > verifyOtpShipmentCustomer \n ${g}`});const m=await a.execute(this._conf,"post",s({url:this._urls.verifyOtpShipmentCustomer,params:{orderId:e,shipmentId:t}}),{},r,{...u},{responseHeaders:d});let f=m;d&&(f=m[0]);const{error:w}=l.VerifyOtpResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Order > verifyOtpShipmentCustomer \n ${w}`})}return m}}},4079:(e,t,r)=>{const a=r(6075);class n{static OrderPage(){return a.object({type:a.string().allow(""),item_total:a.number(),current:a.number(),size:a.number(),has_next:a.boolean()})}static UserInfo(){return a.object({first_name:a.string().allow(""),gender:a.string().allow(""),name:a.string().allow(""),last_name:a.string().allow(""),mobile:a.string().allow(""),email:a.string().allow("")})}static BreakupValues(){return a.object({value:a.number(),currency_symbol:a.string().allow(""),name:a.string().allow(""),display:a.string().allow(""),currency_code:a.string().allow("")})}static ShipmentPayment(){return a.object({mop:a.string().allow(""),payment_mode:a.string().allow(""),status:a.string().allow(""),mode:a.string().allow(""),logo:a.string().allow(""),display_name:a.string().allow("")})}static ShipmentPaymentInfo(){return a.object({mop:a.string().allow(""),payment_mode:a.string().allow(""),status:a.string().allow(""),mode:a.string().allow(""),logo:a.string().allow(""),display_name:a.string().allow(""),amount:a.number()})}static ShipmentUserInfo(){return a.object({first_name:a.string().allow(""),gender:a.string().allow(""),name:a.string().allow(""),last_name:a.string().allow(""),mobile:a.string().allow(""),email:a.string().allow("")})}static FulfillingStore(){return a.object({id:a.number(),code:a.string().allow(""),name:a.string().allow(""),company_name:a.string().allow(""),company_id:a.number()})}static ShipmentStatus(){return a.object({value:a.string().allow("").allow(null),title:a.string().allow(""),hex_code:a.string().allow("")})}static Invoice(){return a.object({invoice_url:a.string().allow(""),updated_date:a.string().allow(""),label_url:a.string().allow("")})}static NestedTrackingDetails(){return a.object({is_passed:a.boolean(),time:a.string().allow(""),is_current:a.boolean(),status:a.string().allow("")})}static TrackingDetails(){return a.object({value:a.string().allow("").allow(null),is_current:a.boolean(),is_passed:a.boolean(),status:a.string().allow(""),time:a.string().allow(""),created_ts:a.string().allow(""),tracking_details:a.array().items(n.NestedTrackingDetails())})}static TimeStampData(){return a.object({min:a.string().allow(""),max:a.string().allow("")})}static Promise(){return a.object({show_promise:a.boolean(),timestamp:n.TimeStampData()})}static ShipmentTotalDetails(){return a.object({pieces:a.number(),total_price:a.number(),sizes:a.number()})}static Prices(){return a.object({delivery_charge:a.number(),coupon_value:a.number(),brand_calculated_amount:a.number(),value_of_good:a.number(),price_marked:a.number(),coupon_effective_discount:a.number(),currency_symbol:a.string().allow(""),discount:a.number(),gst_tax_percentage:a.number(),cod_charges:a.number(),amount_paid:a.number(),added_to_fynd_cash:a.boolean(),transfer_price:a.number(),cashback_applied:a.number(),price_effective:a.number(),cashback:a.number(),refund_credit:a.number(),amount_paid_roundoff:a.number(),promotion_effective_discount:a.number(),refund_amount:a.number(),currency_code:a.string().allow(""),fynd_credits:a.number(),amount_to_be_collected:a.number()})}static ItemBrand(){return a.object({logo:a.string().allow(""),name:a.string().allow("")})}static Item(){return a.object({image:a.array().items(a.string().allow("")),l1_categories:a.array().items(a.string().allow("")),brand:n.ItemBrand(),seller_identifier:a.string().allow(""),code:a.string().allow(""),id:a.number(),name:a.string().allow(""),l3_category_name:a.string().allow(""),slug_key:a.string().allow(""),l2_categories:a.array().items(a.string().allow("")),size:a.string().allow(""),attributes:a.object().pattern(/\S/,a.any())})}static AppliedFreeArticles(){return a.object({article_id:a.string().allow(""),free_gift_item_details:a.any(),parent_item_identifier:a.string().allow(""),quantity:a.number()})}static AppliedPromos(){return a.object({mrp_promotion:a.boolean(),promotion_name:a.string().allow(""),article_quantity:a.number(),promo_id:a.string().allow(""),amount:a.number(),promotion_type:a.string().allow(""),applied_free_articles:a.array().items(n.AppliedFreeArticles())})}static Identifiers(){return a.object({ean:a.string().allow(""),sku_code:a.string().allow("")})}static FinancialBreakup(){return a.object({coupon_value:a.number(),delivery_charge:a.number(),brand_calculated_amount:a.number(),value_of_good:a.number(),price_marked:a.number(),coupon_effective_discount:a.number(),hsn_code:a.string().allow(""),discount:a.number(),gst_tax_percentage:a.number(),cod_charges:a.number(),amount_paid:a.number(),added_to_fynd_cash:a.boolean(),size:a.string().allow(""),transfer_price:a.number(),cashback_applied:a.number(),price_effective:a.number(),cashback:a.number(),refund_credit:a.number(),amount_paid_roundoff:a.number(),total_units:a.number(),identifiers:n.Identifiers(),gst_tag:a.string().allow(""),item_name:a.string().allow(""),promotion_effective_discount:a.number(),gst_fee:a.number(),refund_amount:a.number(),fynd_credits:a.number(),amount_to_be_collected:a.number()})}static CurrentStatus(){return a.object({updated_at:a.string().allow(""),name:a.string().allow(""),status:a.string().allow(""),journey_type:a.string().allow("").allow(null)})}static Bags(){return a.object({delivery_date:a.string().allow("").allow(null),line_number:a.number(),currency_symbol:a.string().allow(""),item:n.Item(),applied_promos:a.array().items(n.AppliedPromos()),quantity:a.number(),prices:n.Prices(),can_cancel:a.boolean(),can_return:a.boolean(),id:a.number(),returnable_date:a.string().allow("").allow(null),financial_breakup:a.array().items(n.FinancialBreakup()),parent_promo_bags:a.any(),meta:a.any(),currency_code:a.string().allow(""),seller_identifier:a.string().allow(""),current_status:n.CurrentStatus(),article:n.Article()})}static FulfillingCompany(){return a.object({id:a.number(),name:a.string().allow("")})}static Article(){return a.object({tags:a.array().items(a.string().allow(""))})}static Address(){return a.object({pincode:a.string().allow(""),phone:a.string().allow(""),latitude:a.number().allow(null),address2:a.string().allow(""),landmark:a.string().allow(""),area:a.string().allow(""),city:a.string().allow(""),address:a.string().allow(""),address_type:a.string().allow(""),longitude:a.number().allow(null),country_iso_code:a.string().allow(""),state:a.string().allow(""),created_at:a.string().allow(""),address1:a.string().allow(""),display_address:a.string().allow(""),name:a.string().allow(""),contact_person:a.string().allow(""),address_category:a.string().allow(""),email:a.string().allow(""),country_phone_code:a.string().allow(""),version:a.string().allow(""),updated_at:a.string().allow(""),country:a.string().allow("")})}static Shipments(){return a.object({payment:n.ShipmentPayment(),payment_info:a.array().items(n.ShipmentPaymentInfo()),order_type:a.string().allow("").allow(null),gstin_code:a.string().allow(""),show_download_invoice:a.boolean(),can_cancel:a.boolean(),user_info:n.ShipmentUserInfo(),shipment_id:a.string().allow(""),fulfilling_store:n.FulfillingStore(),custom_meta:a.array().items(a.any()),shipment_status:n.ShipmentStatus(),comment:a.string().allow(""),invoice:n.Invoice(),show_track_link:a.boolean(),refund_details:a.any(),breakup_values:a.array().items(n.BreakupValues()),can_break:a.any(),traking_no:a.string().allow(""),tracking_details:a.array().items(n.TrackingDetails()),promise:n.Promise(),total_bags:a.number(),total_details:n.ShipmentTotalDetails(),prices:n.Prices(),returnable_date:a.string().allow("").allow(null),shipment_created_at:a.string().allow(""),shipment_created_ts:a.string().allow(""),size_info:a.any(),bags:a.array().items(n.Bags()),dp_name:a.string().allow(""),awb_no:a.string().allow(""),beneficiary_details:a.boolean(),fulfilling_company:n.FulfillingCompany(),can_return:a.boolean(),delivery_address:n.Address(),billing_address:n.Address(),track_url:a.string().allow(""),order_id:a.string().allow(""),need_help_url:a.string().allow(""),return_meta:a.any(),delivery_date:a.string().allow("").allow(null),order:n.OrderRequest()})}static BagsForReorderArticleAssignment(){return a.object({strategy:a.string().allow(""),level:a.string().allow("")})}static BagsForReorder(){return a.object({item_size:a.string().allow(""),quantity:a.number(),store_id:a.number(),article_assignment:n.BagsForReorderArticleAssignment(),seller_id:a.number(),item_id:a.number()})}static OrderSchema(){return a.object({total_shipments_in_order:a.number(),gstin_code:a.string().allow(""),user_info:n.UserInfo(),breakup_values:a.array().items(n.BreakupValues()),order_created_time:a.string().allow(""),order_created_ts:a.string().allow(""),order_id:a.string().allow(""),shipments:a.array().items(n.Shipments()),bags_for_reorder:a.array().items(n.BagsForReorder()),meta:a.object().pattern(/\S/,a.any())})}static OrderStatuses(){return a.object({value:a.number(),is_selected:a.boolean(),display:a.string().allow("")})}static OrderFilters(){return a.object({statuses:a.array().items(n.OrderStatuses())})}static OrderList(){return a.object({page:n.OrderPage(),items:a.array().items(n.OrderSchema()),filters:n.OrderFilters()})}static ApefaceApiError(){return a.object({message:a.string().allow(""),success:a.boolean()})}static OrderById(){return a.object({order:n.OrderSchema()})}static ShipmentById(){return a.object({shipment:n.Shipments()})}static ResponseGetInvoiceShipment(){return a.object({presigned_type:a.string().allow("").required(),success:a.boolean().required(),shipment_id:a.string().allow("").required(),presigned_url:a.string().allow("").required()})}static Track(){return a.object({account_name:a.string().allow(""),shipment_type:a.string().allow(""),status:a.string().allow(""),last_location_recieved_at:a.string().allow(""),updated_time:a.string().allow(""),updated_at:a.string().allow(""),reason:a.string().allow(""),awb:a.string().allow("")})}static ShipmentTrack(){return a.object({results:a.array().items(n.Track())})}static CustomerDetailsResponse(){return a.object({phone:a.string().allow(""),shipment_id:a.string().allow(""),name:a.string().allow(""),order_id:a.string().allow(""),country:a.string().allow("")})}static SendOtpToCustomerResponse(){return a.object({request_id:a.string().allow(""),message:a.string().allow(""),success:a.boolean(),resend_timer:a.number()})}static VerifyOtp(){return a.object({otp_code:a.string().allow(""),request_id:a.string().allow("")})}static VerifyOtpResponse(){return a.object({success:a.boolean()})}static BagReasonMeta(){return a.object({show_text_area:a.boolean()})}static QuestionSet(){return a.object({id:a.number(),display_name:a.string().allow("")})}static BagReasons(){return a.object({qc_type:a.array().items(a.string().allow("")),id:a.number(),display_name:a.string().allow(""),meta:n.BagReasonMeta(),question_set:a.array().items(n.QuestionSet()),reasons:a.array().items(a.link("#BagReasons"))}).id("BagReasons")}static ShipmentBagReasons(){return a.object({reasons:a.array().items(n.BagReasons()),success:a.boolean()})}static ShipmentReason(){return a.object({priority:a.number(),show_text_area:a.boolean(),reason_id:a.number(),feedback_type:a.string().allow(""),reason_text:a.string().allow(""),flow:a.string().allow("")})}static ShipmentReasons(){return a.object({reasons:a.array().items(n.ShipmentReason())})}static ProductsReasonsData(){return a.object({reason_id:a.number(),reason_text:a.string().allow("")})}static ProductsReasonsFilters(){return a.object({line_number:a.number(),quantity:a.number(),identifier:a.string().allow("")})}static ProductsReasons(){return a.object({data:n.ProductsReasonsData(),filters:a.array().items(n.ProductsReasonsFilters())})}static EntityReasonData(){return a.object({reason_id:a.number(),reason_text:a.string().allow("")})}static EntitiesReasons(){return a.object({data:n.EntityReasonData(),filters:a.array().items(a.any())})}static ReasonsData(){return a.object({products:a.array().items(n.ProductsReasons()),entities:a.array().items(n.EntitiesReasons())})}static Products(){return a.object({line_number:a.number(),quantity:a.number(),identifier:a.string().allow("")})}static ProductsDataUpdatesFilters(){return a.object({line_number:a.number(),identifier:a.string().allow("")})}static ProductsDataUpdates(){return a.object({data:a.any(),filters:a.array().items(n.ProductsDataUpdatesFilters())})}static EntitiesDataUpdates(){return a.object({data:a.any(),filters:a.array().items(a.any())})}static DataUpdates(){return a.object({products:a.array().items(n.ProductsDataUpdates()),entities:a.array().items(n.EntitiesDataUpdates())})}static ShipmentsRequest(){return a.object({reasons:n.ReasonsData(),products:a.array().items(n.Products()),data_updates:n.DataUpdates(),identifier:a.string().allow("").required()})}static StatuesRequest(){return a.object({shipments:a.array().items(n.ShipmentsRequest()),exclude_bags_next_state:a.string().allow(""),status:a.string().allow("")})}static OrderRequest(){return a.object({meta:a.any()})}static UpdateShipmentStatusRequest(){return a.object({statuses:a.array().items(n.StatuesRequest()),task:a.boolean(),lock_after_transition:a.boolean(),force_transition:a.boolean(),unlock_before_transition:a.boolean()})}static StatusesBodyResponse(){return a.object({shipments:a.array().items(a.any())})}static ShipmentApplicationStatusResponse(){return a.object({statuses:a.array().items(n.StatusesBodyResponse())})}static ErrorResponse(){return a.object({code:a.string().allow("").allow(null),message:a.string().allow("").allow(null),status:a.number(),exception:a.string().allow("").allow(null),stack_trace:a.string().allow("").allow(null)})}}e.exports=n},4420:(e,t,r)=>{const a=r(6075),n=r(4079);e.exports=class{static getCustomerDetailsByShipmentId(){return a.object({orderId:a.string().allow("").required(),shipmentId:a.string().allow("").required()}).required()}static getInvoiceByShipmentId(){return a.object({shipmentId:a.string().allow("").required()}).required()}static getOrderById(){return a.object({orderId:a.string().allow("").required(),allowInactive:a.boolean()}).required()}static getOrders(){return a.object({status:a.number(),pageNo:a.number(),pageSize:a.number(),fromDate:a.string().allow(""),toDate:a.string().allow(""),startDate:a.string().allow(""),endDate:a.string().allow(""),customMeta:a.string().allow(""),allowInactive:a.boolean()})}static getShipmentBagReasons(){return a.object({shipmentId:a.string().allow("").required(),bagId:a.string().allow("").required()}).required()}static getShipmentById(){return a.object({shipmentId:a.string().allow("").required(),allowInactive:a.boolean()}).required()}static getShipmentReasons(){return a.object({shipmentId:a.string().allow("").required()}).required()}static sendOtpToShipmentCustomer(){return a.object({orderId:a.string().allow("").required(),shipmentId:a.string().allow("").required()}).required()}static trackShipment(){return a.object({shipmentId:a.string().allow("").required()}).required()}static updateShipmentStatus(){return a.object({shipmentId:a.string().allow("").required(),body:n.UpdateShipmentStatusRequest().required()}).required()}static verifyOtpShipmentCustomer(){return a.object({orderId:a.string().allow("").required(),shipmentId:a.string().allow("").required(),body:n.VerifyOtp().required()}).required()}}},603:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(292)),l=r(9887),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={addBeneficiaryDetails:"/service/application/payment/v1.0/refund/account",addRefundBankAccountUsingOTP:"/service/application/payment/v1.0/refund/account/otp",attachCardToCustomer:"/service/application/payment/v1.0/card/attach",cancelPaymentLink:"/service/application/payment/v1.0/cancel-payment-link/",cardDetails:"/service/application/payment/v1.0/cards/info/{card_info}",checkAndUpdatePaymentStatus:"/service/application/payment/v1.0/payment/confirm/polling",checkAndUpdatePaymentStatusPaymentLink:"/service/application/payment/v1.0/payment/confirm/polling/link/",checkCredit:"/service/application/payment/v1.0/check-credits/",createOrderHandlerPaymentLink:"/service/application/payment/v1.0/create-order/link/",createPaymentLink:"/service/application/payment/v1.0/create-payment-link/",createPaymentOrder:"/service/application/payment/v1.0/payment-orders/",customerCreditSummary:"/service/application/payment/v1.0/payment/credit-summary/",customerOnboard:"/service/application/payment/v1.0/credit-onboard/",deleteUserCard:"/service/application/payment/v1.0/card/remove",delinkWallet:"/service/application/payment/v1.0/payment/options/wallet/delink",enableOrDisableRefundTransferMode:"/service/application/payment/v1.0/refund/transfer-mode",getActiveCardAggregator:"/service/application/payment/v1.0/card/aggregator",getActiveRefundTransferModes:"/service/application/payment/v1.0/refund/transfer-mode",getActiveUserCards:"/service/application/payment/v1.0/cards",getAggregatorsConfig:"/service/application/payment/v1.0/config/aggregators/key",getEpaylaterBannerDetails:"/service/application/payment/v1.0/epaylater/banner",getOrderBeneficiariesDetail:"/service/application/payment/v1.0/refund/order/beneficiaries",getPaymentLink:"/service/application/payment/v1.0/create-payment-link/",getPaymentModeRoutes:"/service/application/payment/v1.0/payment/options",getPaymentModeRoutesPaymentLink:"/service/application/payment/v1.0/payment/options/link/",getPosPaymentModeRoutes:"/service/application/payment/v1.0/payment/options/pos",getRupifiBannerDetails:"/service/application/payment/v1.0/rupifi/banner",getUserBeneficiariesDetail:"/service/application/payment/v1.0/refund/user/beneficiary",initialisePayment:"/service/application/payment/v1.0/payment/request",initialisePaymentPaymentLink:"/service/application/payment/v1.0/payment/request/link/",linkWallet:"/service/application/payment/v1.0/payment/options/wallet/verify",outstandingOrderDetails:"/service/application/payment/v1.0/payment/outstanding-orders/",paidOrderDetails:"/service/application/payment/v1.0/payment/paid-orders/",pollingPaymentLink:"/service/application/payment/v1.0/polling-payment-link/",redirectToAggregator:"/service/application/payment/v1.0/payment/redirect-to-aggregator/",renderHTML:"/service/application/payment/v1.0/payment/html/render/",resendOrCancelPayment:"/service/application/payment/v1.0/payment/resend_or_cancel",resendPaymentLink:"/service/application/payment/v1.0/resend-payment-link/",updateDefaultBeneficiary:"/service/application/payment/v1.0/refund/beneficiary/default",validateVPA:"/service/application/payment/v1.0/validate-vpa",verifyAndChargePayment:"/service/application/payment/v1.0/payment/confirm/charge",verifyCustomerForPayment:"/service/application/payment/v1.0/payment/customer/validation",verifyIfscCode:"/service/application/payment/v1.0/ifsc-code/verify",verifyOtpAndAddBeneficiaryForBank:"/service/application/payment/v1.0/refund/verification/bank",verifyOtpAndAddBeneficiaryForWallet:"/service/application/payment/v1.0/refund/verification/wallet",walletLinkInitiate:"/service/application/payment/v1.0/payment/options/wallet/link"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async addBeneficiaryDetails({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.addBeneficiaryDetails().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.addBeneficiaryDetails().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > addBeneficiaryDetails \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.addBeneficiaryDetails,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.RefundAccountResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > addBeneficiaryDetails \n ${m}`})}return p}async addRefundBankAccountUsingOTP({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.addRefundBankAccountUsingOTP().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.addRefundBankAccountUsingOTP().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > addRefundBankAccountUsingOTP \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.addRefundBankAccountUsingOTP,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.RefundAccountResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > addRefundBankAccountUsingOTP \n ${m}`})}return p}async attachCardToCustomer({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.attachCardToCustomer().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.attachCardToCustomer().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > attachCardToCustomer \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.attachCardToCustomer,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.AttachCardsResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > attachCardToCustomer \n ${m}`})}return p}async cancelPaymentLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.cancelPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.cancelPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > cancelPaymentLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.cancelPaymentLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.CancelPaymentLinkResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > cancelPaymentLink \n ${m}`})}return p}async cardDetails({cardInfo:e,aggregator:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.cardDetails().validate({cardInfo:e,aggregator:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.cardDetails().validate({cardInfo:e,aggregator:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > cardDetails \n ${p}`});const g={};g.aggregator=t;const m=await a.execute(this._conf,"get",s({url:this._urls.cardDetails,params:{cardInfo:e}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.CardDetailsResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Payment > cardDetails \n ${w}`})}return m}async checkAndUpdatePaymentStatus({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.checkAndUpdatePaymentStatus().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.checkAndUpdatePaymentStatus().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > checkAndUpdatePaymentStatus \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.checkAndUpdatePaymentStatus,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.PaymentStatusUpdateResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > checkAndUpdatePaymentStatus \n ${m}`})}return p}async checkAndUpdatePaymentStatusPaymentLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.checkAndUpdatePaymentStatusPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.checkAndUpdatePaymentStatusPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > checkAndUpdatePaymentStatusPaymentLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.checkAndUpdatePaymentStatusPaymentLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.PaymentStatusUpdateResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > checkAndUpdatePaymentStatusPaymentLink \n ${m}`})}return p}async checkCredit({aggregator:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.checkCredit().validate({aggregator:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.checkCredit().validate({aggregator:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > checkCredit \n ${d}`});const p={};p.aggregator=e;const g=await a.execute(this._conf,"get",s({url:this._urls.checkCredit,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.CheckCreditResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > checkCredit \n ${f}`})}return g}async createOrderHandlerPaymentLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.createOrderHandlerPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.createOrderHandlerPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > createOrderHandlerPaymentLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.createOrderHandlerPaymentLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.CreateOrderUserResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > createOrderHandlerPaymentLink \n ${m}`})}return p}async createPaymentLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.createPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.createPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > createPaymentLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.createPaymentLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.CreatePaymentLinkResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > createPaymentLink \n ${m}`})}return p}async createPaymentOrder({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.createPaymentOrder().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.createPaymentOrder().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > createPaymentOrder \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.createPaymentOrder,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.PaymentOrderResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > createPaymentOrder \n ${m}`})}return p}async customerCreditSummary({aggregator:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.customerCreditSummary().validate({aggregator:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.customerCreditSummary().validate({aggregator:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > customerCreditSummary \n ${d}`});const p={};p.aggregator=e;const g=await a.execute(this._conf,"get",s({url:this._urls.customerCreditSummary,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.CustomerCreditSummaryResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > customerCreditSummary \n ${f}`})}return g}async customerOnboard({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.customerOnboard().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.customerOnboard().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > customerOnboard \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.customerOnboard,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.CustomerOnboardingResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > customerOnboard \n ${m}`})}return p}async deleteUserCard({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.deleteUserCard().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.deleteUserCard().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > deleteUserCard \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.deleteUserCard,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.DeleteCardsResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > deleteUserCard \n ${m}`})}return p}async delinkWallet({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.delinkWallet().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.delinkWallet().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > delinkWallet \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.delinkWallet,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.WalletResponseSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > delinkWallet \n ${m}`})}return p}async enableOrDisableRefundTransferMode({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.enableOrDisableRefundTransferMode().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.enableOrDisableRefundTransferMode().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > enableOrDisableRefundTransferMode \n ${d}`});const p=await a.execute(this._conf,"put",s({url:this._urls.enableOrDisableRefundTransferMode,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.UpdateRefundTransferModeResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > enableOrDisableRefundTransferMode \n ${m}`})}return p}async getActiveCardAggregator({refresh:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getActiveCardAggregator().validate({refresh:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getActiveCardAggregator().validate({refresh:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getActiveCardAggregator \n ${d}`});const p={};p.refresh=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getActiveCardAggregator,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.ActiveCardPaymentGatewayResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getActiveCardAggregator \n ${f}`})}return g}async getActiveRefundTransferModes({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getActiveRefundTransferModes().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getActiveRefundTransferModes().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getActiveRefundTransferModes \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getActiveRefundTransferModes,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.TransferModeResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getActiveRefundTransferModes \n ${g}`})}return d}async getActiveUserCards({forceRefresh:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getActiveUserCards().validate({forceRefresh:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getActiveUserCards().validate({forceRefresh:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getActiveUserCards \n ${d}`});const p={};p.force_refresh=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getActiveUserCards,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.ListCardsResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getActiveUserCards \n ${f}`})}return g}async getAggregatorsConfig({xApiToken:e,refresh:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getAggregatorsConfig().validate({xApiToken:e,refresh:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getAggregatorsConfig().validate({xApiToken:e,refresh:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getAggregatorsConfig \n ${p}`});const g={};g.refresh=t;const m={};m["x-api-token"]=e;const f=await a.execute(this._conf,"get",s({url:this._urls.getAggregatorsConfig,params:{}}),g,void 0,{...m,...r},{responseHeaders:u});let w=f;u&&(w=f[0]);const{error:y}=l.AggregatorsConfigDetailResponse().validate(w,{abortEarly:!1,allowUnknown:!0});if(y){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(y));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getAggregatorsConfig \n ${y}`})}return f}async getEpaylaterBannerDetails({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getEpaylaterBannerDetails().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getEpaylaterBannerDetails().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getEpaylaterBannerDetails \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getEpaylaterBannerDetails,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.EpaylaterBannerResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getEpaylaterBannerDetails \n ${g}`})}return d}async getOrderBeneficiariesDetail({orderId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getOrderBeneficiariesDetail().validate({orderId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getOrderBeneficiariesDetail().validate({orderId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getOrderBeneficiariesDetail \n ${d}`});const p={};p.order_id=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getOrderBeneficiariesDetail,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.OrderBeneficiaryResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getOrderBeneficiariesDetail \n ${f}`})}return g}async getPaymentLink({paymentLinkId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getPaymentLink().validate({paymentLinkId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getPaymentLink().validate({paymentLinkId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getPaymentLink \n ${d}`});const p={};p.payment_link_id=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getPaymentLink,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.GetPaymentLinkResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getPaymentLink \n ${f}`})}return g}async getPaymentModeRoutes({amount:e,cartId:t,checkoutMode:r,refresh:u,orderId:d,cardReference:p,userDetails:g,displaySplit:m,advancePayment:f,shipmentId:w,requestHeaders:y}={requestHeaders:{}},{responseHeaders:b}={responseHeaders:!1}){const{error:h}=i.getPaymentModeRoutes().validate({amount:e,cartId:t,checkoutMode:r,refresh:u,orderId:d,cardReference:p,userDetails:g,displaySplit:m,advancePayment:f,shipmentId:w},{abortEarly:!1,allowUnknown:!0});if(h)return Promise.reject(new n(h));const{error:_}=i.getPaymentModeRoutes().validate({amount:e,cartId:t,checkoutMode:r,refresh:u,orderId:d,cardReference:p,userDetails:g,displaySplit:m,advancePayment:f,shipmentId:w},{abortEarly:!1,allowUnknown:!1});_&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getPaymentModeRoutes \n ${_}`});const v={};v.amount=e,v.cart_id=t,v.checkout_mode=r,v.refresh=u,v.order_id=d,v.card_reference=p,v.user_details=g,v.display_split=m,v.advance_payment=f,v.shipment_id=w;const k=await a.execute(this._conf,"get",s({url:this._urls.getPaymentModeRoutes,params:{}}),v,void 0,{...y},{responseHeaders:b});let R=k;b&&(R=k[0]);const{error:P}=l.PaymentModeRouteResponse().validate(R,{abortEarly:!1,allowUnknown:!0});if(P){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(P));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getPaymentModeRoutes \n ${P}`})}return k}async getPaymentModeRoutesPaymentLink({paymentLinkId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getPaymentModeRoutesPaymentLink().validate({paymentLinkId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getPaymentModeRoutesPaymentLink().validate({paymentLinkId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getPaymentModeRoutesPaymentLink \n ${d}`});const p={};p.payment_link_id=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getPaymentModeRoutesPaymentLink,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.PaymentModeRouteResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getPaymentModeRoutesPaymentLink \n ${f}`})}return g}async getPosPaymentModeRoutes({amount:e,pincode:t,orderType:r,cartId:u,checkoutMode:d,refresh:p,cardReference:g,userDetails:m,requestHeaders:f}={requestHeaders:{}},{responseHeaders:w}={responseHeaders:!1}){const{error:y}=i.getPosPaymentModeRoutes().validate({amount:e,pincode:t,orderType:r,cartId:u,checkoutMode:d,refresh:p,cardReference:g,userDetails:m},{abortEarly:!1,allowUnknown:!0});if(y)return Promise.reject(new n(y));const{error:b}=i.getPosPaymentModeRoutes().validate({amount:e,pincode:t,orderType:r,cartId:u,checkoutMode:d,refresh:p,cardReference:g,userDetails:m},{abortEarly:!1,allowUnknown:!1});b&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getPosPaymentModeRoutes \n ${b}`});const h={};h.amount=e,h.cart_id=u,h.pincode=t,h.checkout_mode=d,h.refresh=p,h.card_reference=g,h.order_type=r,h.user_details=m;const _=await a.execute(this._conf,"get",s({url:this._urls.getPosPaymentModeRoutes,params:{}}),h,void 0,{...f},{responseHeaders:w});let v=_;w&&(v=_[0]);const{error:k}=l.PaymentModeRouteResponse().validate(v,{abortEarly:!1,allowUnknown:!0});if(k){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(k));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getPosPaymentModeRoutes \n ${k}`})}return _}async getRupifiBannerDetails({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getRupifiBannerDetails().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getRupifiBannerDetails().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getRupifiBannerDetails \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getRupifiBannerDetails,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.RupifiBannerResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getRupifiBannerDetails \n ${g}`})}return d}async getUserBeneficiariesDetail({orderId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getUserBeneficiariesDetail().validate({orderId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getUserBeneficiariesDetail().validate({orderId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > getUserBeneficiariesDetail \n ${d}`});const p={};p.order_id=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getUserBeneficiariesDetail,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.OrderBeneficiaryResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > getUserBeneficiariesDetail \n ${f}`})}return g}async initialisePayment({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.initialisePayment().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.initialisePayment().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > initialisePayment \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.initialisePayment,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.PaymentInitializationResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > initialisePayment \n ${m}`})}return p}async initialisePaymentPaymentLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.initialisePaymentPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.initialisePaymentPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > initialisePaymentPaymentLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.initialisePaymentPaymentLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.PaymentInitializationResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > initialisePaymentPaymentLink \n ${m}`})}return p}async linkWallet({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.linkWallet().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.linkWallet().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > linkWallet \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.linkWallet,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.WalletResponseSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > linkWallet \n ${m}`})}return p}async outstandingOrderDetails({aggregator:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.outstandingOrderDetails().validate({aggregator:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.outstandingOrderDetails().validate({aggregator:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > outstandingOrderDetails \n ${d}`});const p={};p.aggregator=e;const g=await a.execute(this._conf,"get",s({url:this._urls.outstandingOrderDetails,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.OutstandingOrderDetailsResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > outstandingOrderDetails \n ${f}`})}return g}async paidOrderDetails({aggregator:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.paidOrderDetails().validate({aggregator:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.paidOrderDetails().validate({aggregator:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > paidOrderDetails \n ${d}`});const p={};p.aggregator=e;const g=await a.execute(this._conf,"get",s({url:this._urls.paidOrderDetails,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.PaidOrderDetailsResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > paidOrderDetails \n ${f}`})}return g}async pollingPaymentLink({paymentLinkId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.pollingPaymentLink().validate({paymentLinkId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.pollingPaymentLink().validate({paymentLinkId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > pollingPaymentLink \n ${d}`});const p={};p.payment_link_id=e;const g=await a.execute(this._conf,"get",s({url:this._urls.pollingPaymentLink,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.PollingPaymentLinkResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > pollingPaymentLink \n ${f}`})}return g}async redirectToAggregator({source:e,aggregator:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.redirectToAggregator().validate({source:e,aggregator:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.redirectToAggregator().validate({source:e,aggregator:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > redirectToAggregator \n ${p}`});const g={};g.source=e,g.aggregator=t;const m=await a.execute(this._conf,"get",s({url:this._urls.redirectToAggregator,params:{}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.RedirectToAggregatorResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Payment > redirectToAggregator \n ${w}`})}return m}async renderHTML({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.renderHTML().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.renderHTML().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > renderHTML \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.renderHTML,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.renderHTMLResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > renderHTML \n ${m}`})}return p}async resendOrCancelPayment({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.resendOrCancelPayment().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.resendOrCancelPayment().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > resendOrCancelPayment \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.resendOrCancelPayment,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ResendOrCancelPaymentResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > resendOrCancelPayment \n ${m}`})}return p}async resendPaymentLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.resendPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.resendPaymentLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > resendPaymentLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.resendPaymentLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ResendPaymentLinkResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > resendPaymentLink \n ${m}`})}return p}async updateDefaultBeneficiary({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.updateDefaultBeneficiary().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.updateDefaultBeneficiary().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > updateDefaultBeneficiary \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.updateDefaultBeneficiary,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.SetDefaultBeneficiaryResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > updateDefaultBeneficiary \n ${m}`})}return p}async validateVPA({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.validateVPA().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.validateVPA().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > validateVPA \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.validateVPA,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ValidateVPAResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > validateVPA \n ${m}`})}return p}async verifyAndChargePayment({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.verifyAndChargePayment().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.verifyAndChargePayment().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > verifyAndChargePayment \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.verifyAndChargePayment,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ChargeCustomerResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > verifyAndChargePayment \n ${m}`})}return p}async verifyCustomerForPayment({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.verifyCustomerForPayment().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.verifyCustomerForPayment().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > verifyCustomerForPayment \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.verifyCustomerForPayment,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ValidateCustomerResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > verifyCustomerForPayment \n ${m}`})}return p}async verifyIfscCode({ifscCode:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.verifyIfscCode().validate({ifscCode:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.verifyIfscCode().validate({ifscCode:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > verifyIfscCode \n ${d}`});const p={};p.ifsc_code=e;const g=await a.execute(this._conf,"get",s({url:this._urls.verifyIfscCode,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.IfscCodeResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Payment > verifyIfscCode \n ${f}`})}return g}async verifyOtpAndAddBeneficiaryForBank({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.verifyOtpAndAddBeneficiaryForBank().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.verifyOtpAndAddBeneficiaryForBank().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > verifyOtpAndAddBeneficiaryForBank \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.verifyOtpAndAddBeneficiaryForBank,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.AddBeneficiaryViaOtpVerificationResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > verifyOtpAndAddBeneficiaryForBank \n ${m}`})}return p}async verifyOtpAndAddBeneficiaryForWallet({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.verifyOtpAndAddBeneficiaryForWallet().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.verifyOtpAndAddBeneficiaryForWallet().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > verifyOtpAndAddBeneficiaryForWallet \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.verifyOtpAndAddBeneficiaryForWallet,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.WalletOtpResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > verifyOtpAndAddBeneficiaryForWallet \n ${m}`})}return p}async walletLinkInitiate({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.walletLinkInitiate().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.walletLinkInitiate().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Payment > walletLinkInitiate \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.walletLinkInitiate,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.WalletResponseSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Payment > walletLinkInitiate \n ${m}`})}return p}}},9887:(e,t,r)=>{const a=r(6075);class n{static AggregatorConfigDetail(){return a.object({sdk:a.boolean().allow(null),secret:a.string().allow("").required(),api:a.string().allow("").allow(null),pin:a.string().allow("").allow(null),config_type:a.string().allow("").required(),merchant_key:a.string().allow("").allow(null),verify_api:a.string().allow("").allow(null),key:a.string().allow("").required(),user_id:a.string().allow("").allow(null),merchant_id:a.string().allow("").allow(null)})}static AggregatorsConfigDetailResponse(){return a.object({success:a.boolean().required(),razorpay:n.AggregatorConfigDetail(),juspay:n.AggregatorConfigDetail(),simpl:n.AggregatorConfigDetail(),payumoney:n.AggregatorConfigDetail(),rupifi:n.AggregatorConfigDetail(),mswipe:n.AggregatorConfigDetail(),stripe:n.AggregatorConfigDetail(),ccavenue:n.AggregatorConfigDetail(),env:a.string().allow("").required()})}static ErrorCodeAndDescription(){return a.object({code:a.string().allow("").required(),description:a.string().allow("").required()})}static HttpErrorCodeAndResponse(){return a.object({error:n.ErrorCodeAndDescription(),success:a.boolean().required()})}static AttachCardRequest(){return a.object({nickname:a.string().allow(""),refresh:a.boolean().allow(null),card_id:a.string().allow("").allow(null).required(),name_on_card:a.string().allow("")})}static AttachCardsResponse(){return a.object({data:a.any().required(),success:a.boolean().required(),message:a.string().allow("")})}static CardPaymentGateway(){return a.object({api:a.string().allow("").allow(null),aggregator:a.string().allow("").required(),customer_id:a.string().allow("").allow(null)})}static ActiveCardPaymentGatewayResponse(){return a.object({cards:n.CardPaymentGateway().required(),success:a.boolean().required(),message:a.string().allow("").required()})}static Card(){return a.object({card_number:a.string().allow("").allow(null),card_name:a.string().allow("").allow(null),card_type:a.string().allow("").allow(null),card_brand_image:a.string().allow("").allow(null),card_reference:a.string().allow("").allow(null),card_issuer:a.string().allow("").allow(null),card_brand:a.string().allow("").allow(null),expired:a.boolean().allow(null),compliant_with_tokenisation_guidelines:a.boolean().allow(null),card_isin:a.string().allow("").allow(null),exp_year:a.number().allow(null),nickname:a.string().allow("").allow(null),aggregator_name:a.string().allow("").required(),card_fingerprint:a.string().allow("").allow(null),card_token:a.string().allow("").allow(null),exp_month:a.number().allow(null),card_id:a.string().allow("").allow(null)})}static ListCardsResponse(){return a.object({data:a.array().items(n.Card()),success:a.boolean().required(),message:a.string().allow("").required()})}static DeletehCardRequest(){return a.object({card_id:a.string().allow("").allow(null).required()})}static DeleteCardsResponse(){return a.object({success:a.boolean().required(),message:a.string().allow("").allow(null)})}static ValidateCustomerRequest(){return a.object({aggregator:a.string().allow("").required(),transaction_amount_in_paise:a.number().required(),phone_number:a.string().allow("").required(),billing_address:a.any(),order_items:a.array().items(a.any()),payload:a.string().allow("").allow(null),merchant_params:a.any(),delivery_address:a.any()})}static ValidateCustomerResponse(){return a.object({data:a.any(),success:a.boolean().required(),message:a.string().allow("").required()})}static ChargeCustomerRequest(){return a.object({verified:a.boolean().allow(null),aggregator:a.string().allow("").required(),order_id:a.string().allow("").required(),transaction_token:a.string().allow("").allow(null),amount:a.number().allow(null).required()})}static ChargeCustomerResponse(){return a.object({status:a.string().allow("").required(),cart_id:a.string().allow("").allow(null),success:a.boolean().required(),aggregator:a.string().allow("").required(),message:a.string().allow("").required(),order_id:a.string().allow("").required(),delivery_address_id:a.string().allow("").allow(null)})}static PaymentInitializationRequest(){return a.object({razorpay_payment_id:a.string().allow("").allow(null),method:a.string().allow("").required(),device_id:a.string().allow("").allow(null),aggregator:a.string().allow("").required(),customer_id:a.string().allow("").required(),contact:a.string().allow("").required(),merchant_order_id:a.string().allow("").required(),vpa:a.string().allow("").allow(null),order_id:a.string().allow("").required(),currency:a.string().allow("").required(),timeout:a.number().allow(null),amount:a.number().allow(null).required(),email:a.string().allow("").required()})}static PaymentInitializationResponse(){return a.object({status:a.string().allow(""),razorpay_payment_id:a.string().allow("").allow(null),aggregator_order_id:a.string().allow(""),method:a.string().allow("").required(),success:a.boolean().required(),upi_poll_url:a.string().allow("").allow(null),virtual_id:a.string().allow("").allow(null),device_id:a.string().allow("").allow(null),polling_url:a.string().allow("").required(),aggregator:a.string().allow("").required(),merchant_order_id:a.string().allow("").required(),customer_id:a.string().allow("").allow(null),vpa:a.string().allow("").allow(null),currency:a.string().allow("").allow(null),timeout:a.number().allow(null),amount:a.number().allow(null),bqr_image:a.string().allow("").allow(null)})}static PaymentStatusUpdateRequest(){return a.object({status:a.string().allow(""),merchant_transaction_id:a.string().allow(""),method:a.string().allow("").required(),device_id:a.string().allow("").allow(null),aggregator:a.string().allow("").required(),customer_id:a.string().allow(""),contact:a.string().allow(""),merchant_order_id:a.string().allow("").required(),vpa:a.string().allow(""),order_id:a.string().allow(""),currency:a.string().allow(""),amount:a.number().allow(null),email:a.string().allow("")})}static PaymentStatusUpdateResponse(){return a.object({status:a.string().allow("").required(),success:a.boolean().allow(null),retry:a.boolean().required(),redirect_url:a.string().allow("").allow(null),aggregator_name:a.string().allow("").required()})}static IntentAppErrorList(){return a.object({code:a.string().allow("").allow(null),package_name:a.string().allow("").allow(null)})}static PaymentModeLogo(){return a.object({large:a.string().allow("").required(),small:a.string().allow("").required()})}static IntentApp(){return a.object({code:a.string().allow("").allow(null),package_name:a.string().allow("").allow(null),logos:n.PaymentModeLogo(),display_name:a.string().allow("").allow(null)})}static PaymentModeList(){return a.object({card_number:a.string().allow("").allow(null),merchant_code:a.string().allow("").allow(null),card_reference:a.string().allow("").allow(null),card_issuer:a.string().allow("").allow(null),compliant_with_tokenisation_guidelines:a.boolean().allow(null),code:a.string().allow("").allow(null),cod_limit:a.number().allow(null),intent_flow:a.boolean().allow(null),fynd_vpa:a.string().allow("").allow(null),intent_app_error_dict_list:a.array().items(n.IntentAppErrorList()).allow(null,""),aggregator_name:a.string().allow("").required(),card_fingerprint:a.string().allow("").allow(null),intent_app_error_list:a.array().items(a.string().allow("")).allow(null,""),intent_app:a.array().items(n.IntentApp()).allow(null,""),expired:a.boolean().allow(null),retry_count:a.number().allow(null),exp_year:a.number().allow(null),exp_month:a.number().allow(null),card_id:a.string().allow("").allow(null),remaining_limit:a.number().allow(null),display_priority:a.number().allow(null),card_brand:a.string().allow("").allow(null),cod_limit_per_order:a.number().allow(null),logo_url:n.PaymentModeLogo(),nickname:a.string().allow("").allow(null),card_name:a.string().allow("").allow(null),card_type:a.string().allow("").allow(null),card_brand_image:a.string().allow("").allow(null),display_name:a.string().allow("").allow(null),card_isin:a.string().allow("").allow(null),timeout:a.number().allow(null),card_token:a.string().allow("").allow(null),name:a.string().allow("").allow(null),meta:a.any().allow(null)})}static RootPaymentMode(){return a.object({is_pay_by_card_pl:a.boolean().allow(null),add_card_enabled:a.boolean().allow(null),display_priority:a.number().required(),display_name:a.string().allow("").required(),list:a.array().items(n.PaymentModeList()),save_card:a.boolean().allow(null),aggregator_name:a.string().allow("").allow(null),name:a.string().allow("").required(),anonymous_enable:a.boolean().allow(null)})}static AggregatorRoute(){return a.object({data:a.any().allow(null),payment_flow_data:a.any().allow(null),payment_flow:a.string().allow("").allow(null),api_link:a.string().allow("").allow(null)})}static PaymentDefaultSelection(){return a.object({mode:a.string().allow("").allow(null),identifier:a.string().allow("").allow(null),skip:a.boolean().allow(null)})}static PaymentFlow(){return a.object({bqr_razorpay:n.AggregatorRoute(),fynd:n.AggregatorRoute(),epaylater:n.AggregatorRoute(),razorpay:n.AggregatorRoute(),juspay:n.AggregatorRoute(),ajiodhan:n.AggregatorRoute(),simpl:n.AggregatorRoute(),rupifi:n.AggregatorRoute(),mswipe:n.AggregatorRoute(),stripe:n.AggregatorRoute(),ccavenue:n.AggregatorRoute(),payubiz:n.AggregatorRoute(),jiopay:n.AggregatorRoute(),upi_razorpay:n.AggregatorRoute()})}static PaymentOptionAndFlow(){return a.object({payment_option:a.array().items(n.RootPaymentMode()).required(),payment_flows:n.PaymentFlow().required(),payment_default_selection:n.PaymentDefaultSelection()})}static AdvanceObject(){return a.object({is_active:a.boolean().allow(null),amount:a.number(),time_unit:a.string().allow("").allow(null),description:a.string().allow("").allow(null),display_name:a.string().allow("").allow(null),prepayment_type:a.string().allow("").allow(null),prepayment_value:a.number().allow(null),cancellation_type:a.string().allow("").allow(null),refund_time_limit:a.number().allow(null),all_prepayment_type:a.array().items(a.string().allow("").allow(null)).allow(null,""),allow_custom_advance_amount:a.boolean().allow(null)})}static SplitObject(){return a.object({total_number_of_splits:a.number().allow(null),splits_remaining:a.number().allow(null),amount_remaining:a.number().allow(null)})}static AdvancePaymentObject(){return a.object({name:a.string().allow("").allow(null),display_priority:a.number().allow(null),payment_mode_id:a.number().allow(null),display_name:a.string().allow("").allow(null),list:a.array().items(n.PaymentModeList()).allow(null,""),split:n.SplitObject(),advance:n.AdvanceObject()})}static PaymentModeRouteResponse(){return a.object({payment_options:n.PaymentOptionAndFlow().required(),success:a.boolean().required(),payment_breakup:a.any(),advance_payment:a.array().items(n.AdvancePaymentObject()).allow(null,"")})}static WalletLinkRequestSchema(){return a.object({aggregator:a.string().allow("").required(),mobile:a.string().allow("").required(),wallet_code:a.string().allow("").required()})}static WalletVerifyRequestSchema(){return a.object({aggregator:a.string().allow("").required(),link_token:a.string().allow("").required(),otp:a.number().required()})}static WalletDelinkRequestSchema(){return a.object({aggregator:a.string().allow("").required(),wallet_code:a.string().allow("").required()})}static WalletResponseSchema(){return a.object({data:a.any().required(),success:a.boolean().required()})}static RupifiBannerData(){return a.object({status:a.string().allow(""),kyc_url:a.string().allow("")})}static RupifiBannerResponse(){return a.object({data:n.RupifiBannerData().required(),success:a.boolean().required()})}static EpaylaterBannerData(){return a.object({status:a.string().allow(""),message:a.string().allow(""),display:a.boolean().required()})}static EpaylaterBannerResponse(){return a.object({data:n.EpaylaterBannerData().required(),success:a.boolean().required()})}static ResendOrCancelPaymentRequest(){return a.object({order_id:a.string().allow("").required(),device_id:a.string().allow("").allow(null),request_type:a.string().allow("").required()})}static LinkStatus(){return a.object({status:a.string().allow("").required(),message:a.string().allow("").required(),is_payment_done:a.boolean()})}static ResendOrCancelPaymentResponse(){return a.object({data:n.LinkStatus().required(),success:a.boolean().required()})}static renderHTMLRequest(){return a.object({returntype:a.string().allow("").allow(null),base64_html:a.string().allow("").required()})}static renderHTMLResponse(){return a.object({html:a.string().allow("").required()})}static ValidateVPARequest(){return a.object({upi_vpa:a.string().allow("").required(),aggregator:a.string().allow("")})}static ValidateUPI(){return a.object({status:a.string().allow("").required(),customer_name:a.string().allow("").required(),is_valid:a.boolean().required(),upi_vpa:a.string().allow("").required()})}static ValidateVPAResponse(){return a.object({data:n.ValidateUPI().required(),success:a.boolean().required()})}static CardDetails(){return a.object({status:a.boolean().required(),country:a.string().allow("").required(),bank_code:a.string().allow("").allow(null).required(),id:a.string().allow("").required(),card_exp_year:a.string().allow(""),card_brand:a.string().allow("").required(),type:a.string().allow("").required(),card_sub_type:a.string().allow("").allow(null).required(),is_domestic_card:a.boolean().required(),name_on_card:a.string().allow(""),card_exp_month:a.string().allow(""),extended_card_type:a.string().allow("").required(),card_object:a.string().allow("").required(),card_token:a.string().allow(""),user:a.string().allow(""),bank:a.string().allow("").required()})}static CardDetailsResponse(){return a.object({data:n.CardDetails().required(),success:a.boolean().required()})}static TransferItemsDetails(){return a.object({id:a.number().required(),display_name:a.string().allow(""),logo_large:a.string().allow("").required(),logo_small:a.string().allow("").required(),name:a.string().allow("").required()})}static TransferModeDetails(){return a.object({items:a.array().items(n.TransferItemsDetails()),display_name:a.string().allow("").required()})}static TransferModeResponse(){return a.object({data:a.array().items(n.TransferModeDetails()).required()})}static UpdateRefundTransferModeRequest(){return a.object({enable:a.boolean().required(),transfer_mode:a.string().allow("").required()})}static UpdateRefundTransferModeResponse(){return a.object({success:a.boolean()})}static OrderBeneficiaryDetails(){return a.object({modified_on:a.string().allow("").required(),account_no:a.string().allow("").required(),mobile:a.string().allow(""),bank_name:a.string().allow("").required(),ifsc_code:a.string().allow("").required(),is_active:a.boolean().required(),beneficiary_id:a.string().allow("").required(),account_holder:a.string().allow("").required(),email:a.string().allow("").required(),delights_user_name:a.string().allow("").allow(null),id:a.number().required(),transfer_mode:a.string().allow("").required(),branch_name:a.string().allow(""),created_on:a.string().allow("").required(),subtitle:a.string().allow("").required(),comment:a.string().allow(""),address:a.string().allow("").required(),title:a.string().allow("").required(),display_name:a.string().allow("").required()})}static OrderBeneficiaryResponse(){return a.object({show_beneficiary_details:a.boolean(),beneficiaries:a.array().items(n.OrderBeneficiaryDetails()).allow(null,"")})}static NotFoundResourceError(){return a.object({code:a.string().allow("").required(),description:a.string().allow("").required(),success:a.boolean().required()})}static IfscCodeResponse(){return a.object({branch_name:a.string().allow("").required(),success:a.boolean(),bank_name:a.string().allow("").required()})}static ErrorCodeDescription(){return a.object({code:a.string().allow("").required(),description:a.string().allow("").required(),success:a.boolean().required()})}static AddBeneficiaryViaOtpVerificationRequest(){return a.object({request_id:a.string().allow("").required(),hash_key:a.string().allow("").required(),otp:a.string().allow("").required()})}static AddBeneficiaryViaOtpVerificationResponse(){return a.object({success:a.boolean(),message:a.string().allow("").required()})}static WrongOtpError(){return a.object({is_verified_flag:a.boolean().required(),description:a.string().allow("").required(),success:a.string().allow("").required()})}static BeneficiaryModeDetails(){return a.object({account_no:a.string().allow("").required(),address:a.string().allow(""),mobile:a.string().allow("").required(),bank_name:a.string().allow("").required(),comment:a.string().allow(""),ifsc_code:a.string().allow("").required(),vpa:a.string().allow("").allow(null),branch_name:a.string().allow("").required(),account_holder:a.string().allow("").required(),wallet:a.string().allow("").allow(null),email:a.string().allow("").required()})}static AddBeneficiaryDetailsRequest(){return a.object({delights:a.boolean().required(),shipment_id:a.string().allow("").required(),details:n.BeneficiaryModeDetails().required(),otp:a.string().allow(""),order_id:a.string().allow("").required(),transfer_mode:a.string().allow("").required(),request_id:a.string().allow("")})}static RefundAccountResponse(){return a.object({is_verified_flag:a.boolean(),data:a.any(),success:a.boolean().required(),message:a.string().allow("").required()})}static BankDetailsForOTP(){return a.object({account_no:a.string().allow("").required(),bank_name:a.string().allow("").required(),ifsc_code:a.string().allow("").required(),branch_name:a.string().allow("").required(),account_holder:a.string().allow("").required()})}static AddBeneficiaryDetailsOTPRequest(){return a.object({order_id:a.string().allow("").required(),details:n.BankDetailsForOTP().required()})}static WalletOtpRequest(){return a.object({country_code:a.string().allow("").required(),mobile:a.string().allow("").required()})}static WalletOtpResponse(){return a.object({request_id:a.string().allow("").required(),is_verified_flag:a.string().allow("").required(),success:a.boolean()})}static SetDefaultBeneficiaryRequest(){return a.object({order_id:a.string().allow("").required(),beneficiary_id:a.string().allow("").required()})}static SetDefaultBeneficiaryResponse(){return a.object({is_beneficiary_set:a.boolean().required(),success:a.boolean()})}static GetPaymentLinkResponse(){return a.object({status_code:a.number().required(),payment_link_current_status:a.string().allow("").allow(null),success:a.boolean().required(),polling_timeout:a.number().allow(null),payment_link_url:a.string().allow("").allow(null),external_order_id:a.string().allow("").allow(null),message:a.string().allow("").required(),merchant_name:a.string().allow("").allow(null),amount:a.number().allow(null)})}static ErrorDescription(){return a.object({payment_transaction_id:a.string().allow("").allow(null),expired:a.boolean().allow(null),merchant_order_id:a.string().allow("").allow(null),merchant_name:a.string().allow("").allow(null),msg:a.string().allow("").allow(null),cancelled:a.boolean().allow(null),amount:a.number().allow(null),invalid_id:a.boolean().allow(null)})}static ErrorResponse(){return a.object({status_code:a.number().required(),error:n.ErrorDescription(),message:a.string().allow("").required(),success:a.boolean().required()})}static CreatePaymentLinkMeta(){return a.object({cart_id:a.string().allow("").required(),checkout_mode:a.string().allow("").required(),assign_card_id:a.string().allow("").allow(null),amount:a.string().allow("").required()})}static CreatePaymentLinkRequest(){return a.object({description:a.string().allow("").allow(null),external_order_id:a.string().allow("").required(),mobile_number:a.string().allow("").required(),amount:a.number().required(),meta:n.CreatePaymentLinkMeta().required(),email:a.string().allow("").required()})}static CreatePaymentLinkResponse(){return a.object({status_code:a.number().required(),success:a.boolean().required(),polling_timeout:a.number().allow(null),payment_link_url:a.string().allow("").allow(null),message:a.string().allow("").required(),payment_link_id:a.string().allow("").allow(null)})}static CancelOrResendPaymentLinkRequest(){return a.object({payment_link_id:a.string().allow("").required()})}static ResendPaymentLinkResponse(){return a.object({status_code:a.number().required(),polling_timeout:a.number().allow(null),success:a.boolean().required(),message:a.string().allow("").required()})}static CancelPaymentLinkResponse(){return a.object({status_code:a.number().required(),success:a.boolean().required(),message:a.string().allow("").required()})}static PollingPaymentLinkResponse(){return a.object({status:a.string().allow("").allow(null),status_code:a.number().allow(null),success:a.boolean().allow(null),http_status:a.number().allow(null),message:a.string().allow("").allow(null),order_id:a.string().allow("").allow(null),redirect_url:a.string().allow("").allow(null),payment_link_id:a.string().allow("").allow(null),aggregator_name:a.string().allow("").allow(null),amount:a.number().allow(null)})}static PaymentMethodsMeta(){return a.object({merchant_code:a.string().allow("").required(),payment_gateway:a.string().allow("").required(),payment_identifier:a.string().allow("").required()})}static CreateOrderUserPaymentMethods(){return a.object({name:a.string().allow("").required(),mode:a.string().allow("").required(),meta:n.PaymentMethodsMeta().required()})}static CreateOrderUserRequest(){return a.object({failure_callback_url:a.string().allow("").required(),currency:a.string().allow("").required(),payment_link_id:a.string().allow("").required(),payment_methods:n.CreateOrderUserPaymentMethods().required(),success_callback_url:a.string().allow("").required(),meta:a.any().allow(null)})}static CreateOrderUserData(){return a.object({method:a.string().allow("").allow(null),aggregator:a.string().allow("").allow(null),customer_id:a.string().allow("").allow(null),contact:a.string().allow("").allow(null),merchant_order_id:a.string().allow("").allow(null),order_id:a.string().allow("").allow(null),currency:a.string().allow("").allow(null),callback_url:a.string().allow("").allow(null),amount:a.number().allow(null),email:a.string().allow("").allow(null)})}static CreateOrderUserResponse(){return a.object({status_code:a.number().required(),success:a.boolean().required(),data:n.CreateOrderUserData(),message:a.string().allow("").required(),order_id:a.string().allow("").allow(null),callback_url:a.string().allow("").allow(null),payment_confirm_url:a.string().allow("").allow(null)})}static BalanceDetails(){return a.object({formatted_value:a.string().allow("").allow(null),currency:a.string().allow("").allow(null),value:a.number().allow(null)})}static CreditSummary(){return a.object({total_due_amount:n.BalanceDetails(),status:a.string().allow("").allow(null),limit:n.BalanceDetails(),credit_line_id:a.string().allow("").allow(null),amount_available:n.BalanceDetails(),due_amount:n.BalanceDetails(),due_date:a.string().allow("").allow(null),balance:n.BalanceDetails(),status_message:a.string().allow("").allow(null),repayment_url:a.string().allow("").allow(null),soa_url:a.string().allow("").allow(null),is_eligible_for_txn:a.boolean().allow(null),merchant_customer_ref_id:a.string().allow("").allow(null),buyer_status:a.string().allow("").allow(null),activation_url:a.string().allow("").allow(null)})}static CustomerCreditSummaryResponse(){return a.object({data:n.CreditSummary(),success:a.boolean().required()})}static RedirectURL(){return a.object({status:a.boolean().required(),signup_url:a.string().allow("").required()})}static RedirectToAggregatorResponse(){return a.object({data:n.RedirectURL().required(),success:a.boolean().required()})}static CreditDetail(){return a.object({status:a.boolean().required(),is_registered:a.boolean().required(),signup_url:a.string().allow("").required()})}static CheckCreditResponse(){return a.object({data:n.CreditDetail().required(),success:a.boolean().required()})}static KYCAddress(){return a.object({city:a.string().allow("").required(),addressline2:a.string().allow("").allow(null),state:a.string().allow("").required(),ownership_type:a.string().allow("").allow(null),pincode:a.string().allow("").required(),land_mark:a.string().allow("").allow(null),addressline1:a.string().allow("").required()})}static UserPersonalInfoInDetails(){return a.object({first_name:a.string().allow("").required(),voter_id:a.string().allow("").allow(null),gender:a.string().allow("").allow(null),dob:a.string().allow("").allow(null).required(),passport:a.string().allow("").allow(null),fathers_name:a.string().allow("").allow(null),mothers_name:a.string().allow("").allow(null),middle_name:a.string().allow("").allow(null),last_name:a.string().allow("").allow(null),pan:a.string().allow("").allow(null),driving_license:a.string().allow("").allow(null),email_verified:a.boolean().required(),address_as_per_id:n.KYCAddress().required(),mobile_verified:a.boolean().required(),phone:a.string().allow("").required(),email:a.string().allow("").allow(null)})}static MarketplaceInfo(){return a.object({date_of_joining:a.string().allow("").allow(null),name:a.string().allow("").required(),membership_id:a.string().allow("").required()})}static BusinessDetails(){return a.object({business_ownership_type:a.string().allow("").allow(null),vintage:a.string().allow("").allow(null),gstin:a.string().allow("").allow(null),pan:a.string().allow("").allow(null),entity_type:a.string().allow("").allow(null),shop_and_establishment:a.any(),fssai:a.string().allow("").allow(null),fda:a.string().allow("").allow(null),business_type:a.string().allow("").allow(null),name:a.string().allow("").allow(null),address:n.KYCAddress()})}static DeviceDetails(){return a.object({identification_number:a.string().allow("").allow(null),identifier_type:a.string().allow("").allow(null),device_model:a.string().allow("").allow(null),device_make:a.string().allow("").allow(null),device_type:a.string().allow("").allow(null),os:a.string().allow("").allow(null),os_version:a.string().allow("").allow(null)})}static CustomerOnboardingRequest(){return a.object({personal_info:n.UserPersonalInfoInDetails(),mcc:a.string().allow("").allow(null),aggregator:a.string().allow("").required(),marketplace_info:n.MarketplaceInfo(),source:a.string().allow("").required(),business_info:n.BusinessDetails(),device:n.DeviceDetails()})}static OnboardSummary(){return a.object({redirect_url:a.string().allow(""),session:a.any(),status:a.boolean().required(),status_remark:a.string().allow(""),is_eligible_for_txn:a.boolean(),merchant_customer_ref_id:a.string().allow(""),activation_url:a.string().allow("")})}static CustomerOnboardingResponse(){return a.object({data:n.OnboardSummary().required(),success:a.boolean().required()})}static OutstandingOrderDetailsResponse(){return a.object({status_code:a.number().required(),data:a.array().items(a.any()).allow(null,""),success:a.boolean().required(),message:a.string().allow("").allow(null)})}static PaidOrderDetailsResponse(){return a.object({status_code:a.number().required(),data:a.array().items(a.any()).allow(null,""),success:a.boolean().required(),message:a.string().allow("").allow(null)})}static DeleteRefundAccountResponse(){return a.object({success:a.boolean().required(),message:a.string().allow("").allow(null).required()})}static RefundOptionsDetails(){return a.object({display_name:a.string().allow("").required(),id:a.number().required(),is_active:a.boolean().allow(null),name:a.string().allow("").required()})}static RefundOptions(){return a.object({items:n.RefundOptionsDetails().required()})}static OfflineRefundOptions(){return a.object({items:n.RefundOptionsDetails().required(),payment_modes:a.array().items(a.string().allow("")).required()})}static RefundOptionResponse(){return a.object({offline_refund_options:n.OfflineRefundOptions().required(),success:a.boolean().required(),refund_options:n.RefundOptions().required()})}static SelectedRefundOptionResponse(){return a.object({transfer_mode:a.any().required(),shipment_id:a.string().allow("").allow(null).required(),message:a.string().allow("").allow(null).required(),success:a.boolean().required()})}static WalletBeneficiaryDetails(){return a.object({beneficiary_id:a.string().allow("").required(),modified_on:a.string().allow("").required(),display_name:a.string().allow("").required(),id:a.number().required(),subtitle:a.string().allow("").required(),transfer_mode:a.string().allow("").required(),mobile:a.string().allow(""),is_active:a.boolean().required(),created_on:a.string().allow("").required(),address:a.string().allow("").required(),title:a.string().allow("").required(),wallet_address:a.string().allow("").required(),comment:a.string().allow(""),wallet:a.string().allow(""),email:a.string().allow("").required(),delights_user_name:a.string().allow("").allow(null)})}static UpiBeneficiaryDetails(){return a.object({beneficiary_id:a.string().allow("").required(),modified_on:a.string().allow("").required(),display_name:a.string().allow("").required(),id:a.number().required(),subtitle:a.string().allow("").required(),transfer_mode:a.string().allow("").required(),vpa:a.string().allow(""),mobile:a.string().allow(""),vpa_address:a.string().allow("").required(),created_on:a.string().allow("").required(),address:a.string().allow("").required(),title:a.string().allow("").required(),comment:a.string().allow(""),is_active:a.boolean().required(),email:a.string().allow("").required(),delights_user_name:a.string().allow("").allow(null)})}static BeneficiaryRefundOptions(){return a.object({bank:n.OrderBeneficiaryDetails(),wallet:n.WalletBeneficiaryDetails(),upi:n.UpiBeneficiaryDetails()})}static OrderBeneficiaryResponseSchemaV2(){return a.object({show_beneficiary_details:a.boolean().required(),data:n.BeneficiaryRefundOptions().required(),limit:a.any().required()})}static ValidateValidateAddressRequest(){return a.object({ifsc_code:a.string().allow("").allow(null),upi_vpa:a.string().allow("").allow(null),aggregator:a.string().allow("").allow(null)})}static VPADetails(){return a.object({is_valid:a.boolean().required(),upi_vpa:a.string().allow("").required(),status:a.string().allow("").required(),customer_name:a.string().allow("").required()})}static ValidateValidateAddressResponse(){return a.object({upi:n.VPADetails(),success:a.boolean().required(),ifsc:a.any()})}static PaymentMethodsMetaOrder(){return a.object({merchant_code:a.string().allow("").required(),payment_gateway:a.string().allow("").required(),payment_identifier:a.string().allow("").required()})}static PaymentOrderMethods(){return a.object({amount:a.number().required(),payment:a.string().allow(""),mode:a.string().allow("").required(),meta:n.PaymentMethodsMetaOrder().required(),name:a.string().allow("").required()})}static PaymentOrderRequest(){return a.object({payment_methods:a.array().items(n.PaymentOrderMethods()),order_id:a.string().allow("").required(),shipment_id:a.string().allow("")})}static PaymentOrderData(){return a.object({amount:a.number().allow(null),aggregator:a.string().allow("").allow(null),callback_url:a.string().allow("").allow(null),order_id:a.string().allow("").allow(null),customer_id:a.string().allow("").allow(null),merchant_order_id:a.string().allow("").allow(null),currency:a.string().allow("").allow(null),email:a.string().allow("").allow(null),contact:a.string().allow("").allow(null),method:a.string().allow("").allow(null)})}static PaymentOrderResponse(){return a.object({payment_confirm_url:a.string().allow("").allow(null),callback_url:a.string().allow("").allow(null),order_id:a.string().allow("").allow(null),success:a.boolean(),status_code:a.number().required(),data:n.PaymentOrderData(),message:a.string().allow("").required()})}static ShipmentRefundRequest(){return a.object({shipment_id:a.string().allow("").required(),order_id:a.string().allow("").required(),transfer_mode:a.string().allow("").required(),beneficiary_id:a.string().allow("").allow(null)})}static ShipmentRefundDetail(){return a.object({shipment_id:a.string().allow("").required(),order_id:a.string().allow("").required(),transfer_mode:a.string().allow("").required(),beneficiary_id:a.string().allow("").required()})}static ShipmentRefundResponse(){return a.object({data:n.ShipmentRefundDetail().required(),success:a.boolean().required(),message:a.string().allow("").allow(null).required()})}}e.exports=n},292:(e,t,r)=>{const a=r(6075),n=r(9887);e.exports=class{static addBeneficiaryDetails(){return a.object({body:n.AddBeneficiaryDetailsRequest().required()}).required()}static addRefundBankAccountUsingOTP(){return a.object({body:n.AddBeneficiaryDetailsOTPRequest().required()}).required()}static attachCardToCustomer(){return a.object({body:n.AttachCardRequest().required()}).required()}static cancelPaymentLink(){return a.object({body:n.CancelOrResendPaymentLinkRequest().required()}).required()}static cardDetails(){return a.object({cardInfo:a.string().allow("").required(),aggregator:a.string().allow("")}).required()}static checkAndUpdatePaymentStatus(){return a.object({body:n.PaymentStatusUpdateRequest().required()}).required()}static checkAndUpdatePaymentStatusPaymentLink(){return a.object({body:n.PaymentStatusUpdateRequest().required()}).required()}static checkCredit(){return a.object({aggregator:a.string().allow("")})}static createOrderHandlerPaymentLink(){return a.object({body:n.CreateOrderUserRequest().required()}).required()}static createPaymentLink(){return a.object({body:n.CreatePaymentLinkRequest().required()}).required()}static createPaymentOrder(){return a.object({body:n.PaymentOrderRequest().required()}).required()}static customerCreditSummary(){return a.object({aggregator:a.string().allow("")})}static customerOnboard(){return a.object({body:n.CustomerOnboardingRequest().required()}).required()}static deleteUserCard(){return a.object({body:n.DeletehCardRequest().required()}).required()}static delinkWallet(){return a.object({body:n.WalletDelinkRequestSchema().required()}).required()}static enableOrDisableRefundTransferMode(){return a.object({body:n.UpdateRefundTransferModeRequest().required()}).required()}static getActiveCardAggregator(){return a.object({refresh:a.boolean()})}static getActiveRefundTransferModes(){return a.object({})}static getActiveUserCards(){return a.object({forceRefresh:a.boolean()})}static getAggregatorsConfig(){return a.object({xApiToken:a.string().allow(""),refresh:a.boolean()})}static getEpaylaterBannerDetails(){return a.object({})}static getOrderBeneficiariesDetail(){return a.object({orderId:a.string().allow("").required()}).required()}static getPaymentLink(){return a.object({paymentLinkId:a.string().allow("")})}static getPaymentModeRoutes(){return a.object({amount:a.number().required(),cartId:a.string().allow(""),checkoutMode:a.string().allow(""),refresh:a.boolean(),orderId:a.string().allow(""),cardReference:a.string().allow(""),userDetails:a.string().allow(""),displaySplit:a.boolean(),advancePayment:a.boolean(),shipmentId:a.string().allow("")}).required()}static getPaymentModeRoutesPaymentLink(){return a.object({paymentLinkId:a.string().allow("").required()}).required()}static getPosPaymentModeRoutes(){return a.object({amount:a.number().required(),cartId:a.string().allow(""),pincode:a.string().allow("").required(),checkoutMode:a.string().allow(""),refresh:a.boolean(),cardReference:a.string().allow(""),orderType:a.string().allow("").required(),userDetails:a.string().allow("")}).required()}static getRupifiBannerDetails(){return a.object({})}static getUserBeneficiariesDetail(){return a.object({orderId:a.string().allow("").required()}).required()}static initialisePayment(){return a.object({body:n.PaymentInitializationRequest().required()}).required()}static initialisePaymentPaymentLink(){return a.object({body:n.PaymentInitializationRequest().required()}).required()}static linkWallet(){return a.object({body:n.WalletVerifyRequestSchema().required()}).required()}static outstandingOrderDetails(){return a.object({aggregator:a.string().allow("")})}static paidOrderDetails(){return a.object({aggregator:a.string().allow("")})}static pollingPaymentLink(){return a.object({paymentLinkId:a.string().allow("")})}static redirectToAggregator(){return a.object({source:a.string().allow(""),aggregator:a.string().allow("")})}static renderHTML(){return a.object({body:n.renderHTMLRequest().required()}).required()}static resendOrCancelPayment(){return a.object({body:n.ResendOrCancelPaymentRequest().required()}).required()}static resendPaymentLink(){return a.object({body:n.CancelOrResendPaymentLinkRequest().required()}).required()}static updateDefaultBeneficiary(){return a.object({body:n.SetDefaultBeneficiaryRequest().required()}).required()}static validateVPA(){return a.object({body:n.ValidateVPARequest().required()}).required()}static verifyAndChargePayment(){return a.object({body:n.ChargeCustomerRequest().required()}).required()}static verifyCustomerForPayment(){return a.object({body:n.ValidateCustomerRequest().required()}).required()}static verifyIfscCode(){return a.object({ifscCode:a.string().allow("")})}static verifyOtpAndAddBeneficiaryForBank(){return a.object({body:n.AddBeneficiaryViaOtpVerificationRequest().required()}).required()}static verifyOtpAndAddBeneficiaryForWallet(){return a.object({body:n.WalletOtpRequest().required()}).required()}static walletLinkInitiate(){return a.object({body:n.WalletLinkRequestSchema().required()}).required()}}},3715:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(876)),l=r(231),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={catalogueOrder:"/service/application/rewards/v1.0/catalogue/offer/order/",getOfferByName:"/service/application/rewards/v1.0/offers/{name}/",getOrderDiscount:"/service/application/rewards/v1.0/user/offer/order-discount/",getUserPoints:"/service/application/rewards/v1.0/user/points/",getUserPointsHistory:"/service/application/rewards/v1.0/user/points/history/",getUserReferralDetails:"/service/application/rewards/v1.0/user/referral/",redeemReferralCode:"/service/application/rewards/v1.0/user/referral/redeem/"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async catalogueOrder({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.catalogueOrder().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.catalogueOrder().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Rewards > catalogueOrder \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.catalogueOrder,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.CatalogueOrderResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Rewards > catalogueOrder \n ${m}`})}return p}async getOfferByName({name:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getOfferByName().validate({name:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getOfferByName().validate({name:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Rewards > getOfferByName \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getOfferByName,params:{name:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.Offer().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Rewards > getOfferByName \n ${m}`})}return p}async getOrderDiscount({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getOrderDiscount().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getOrderDiscount().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Rewards > getOrderDiscount \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getOrderDiscount,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.OrderDiscountResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Rewards > getOrderDiscount \n ${m}`})}return p}async getUserPoints({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getUserPoints().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getUserPoints().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Rewards > getUserPoints \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getUserPoints,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.PointsResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Rewards > getUserPoints \n ${g}`})}return d}async getUserPointsHistory({pageId:e,pageSize:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.getUserPointsHistory().validate({pageId:e,pageSize:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.getUserPointsHistory().validate({pageId:e,pageSize:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > Rewards > getUserPointsHistory \n ${p}`});const g={};g.page_id=e,g.page_size=t;const m=await a.execute(this._conf,"get",s({url:this._urls.getUserPointsHistory,params:{}}),g,void 0,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.PointsHistoryResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > Rewards > getUserPointsHistory \n ${w}`})}return m}async getUserReferralDetails({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getUserReferralDetails().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getUserReferralDetails().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Rewards > getUserReferralDetails \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getUserReferralDetails,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.ReferralDetailsResponse().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Rewards > getUserReferralDetails \n ${g}`})}return d}async redeemReferralCode({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.redeemReferralCode().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.redeemReferralCode().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Rewards > redeemReferralCode \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.redeemReferralCode,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.RedeemReferralCodeResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Rewards > redeemReferralCode \n ${m}`})}return p}}},231:(e,t,r)=>{const a=r(6075);class n{static RewardsArticle(){return a.object({id:a.string().allow(""),points:a.number(),price:a.number()})}static CatalogueOrderResponse(){return a.object({articles:a.array().items(n.RewardsArticle())})}static CatalogueOrderRequest(){return a.object({articles:a.array().items(n.RewardsArticle())})}static PointsResponse(){return a.object({points:a.number()})}static ReferralDetailsUser(){return a.object({blocked:a.boolean(),points:a.number(),redeemed:a.boolean(),referral_code:a.string().allow("")})}static Offer(){return a.object({_schedule:n.Schedule(),active:a.boolean(),application_id:a.string().allow(""),banner_image:n.Asset(),created_at:a.string().allow(""),name:a.string().allow(""),rule:a.any(),share:n.ShareMessages(),sub_text:a.string().allow(""),text:a.string().allow(""),type:a.string().allow(""),updated_at:a.string().allow(""),updated_by:a.string().allow(""),url:a.string().allow("")})}static Schedule(){return a.object({duration:a.number(),end:a.string().allow(""),start:a.string().allow(""),cron:a.string().allow("")})}static Error(){return a.object({code:a.number(),exception:a.string().allow(""),info:a.string().allow(""),message:a.string().allow("")})}static Asset(){return a.object({aspect_ratio:a.string().allow(""),id:a.string().allow(""),secure_url:a.string().allow("")})}static ShareMessages(){return a.object({email:a.number(),facebook:a.string().allow(""),fallback:a.string().allow(""),message:a.string().allow(""),messenger:a.string().allow(""),sms:a.string().allow(""),text:a.string().allow(""),twitter:a.string().allow(""),whatsapp:a.string().allow("")})}static ReferralDetailsResponse(){return a.object({referral:n.Offer(),share:n.ShareMessages(),user:n.ReferralDetailsUser(),referrer_info:a.string().allow(""),terms_conditions_link:a.string().allow("")})}static OrderDiscountRequest(){return a.object({order_amount:a.number().required(),currency:a.string().allow("")})}static OrderDiscountRuleBucket(){return a.object({high:a.number(),low:a.number(),max:a.number(),value:a.number(),value_type:a.string().allow("")})}static DiscountProperties(){return a.object({absolute:a.number(),currency:a.string().allow(""),display_absolute:a.string().allow(""),display_percent:a.string().allow(""),percent:a.number()})}static OrderDiscountResponse(){return a.object({order_amount:a.number(),points:a.number(),discount:n.DiscountProperties(),base_discount:n.DiscountProperties(),applied_rule_bucket:n.OrderDiscountRuleBucket()})}static RedeemReferralCodeRequest(){return a.object({device_id:a.string().allow(""),referral_code:a.string().allow("")})}static RedeemReferralCodeResponse(){return a.object({redeemed:a.boolean(),message:a.string().allow(""),referrer_info:a.string().allow(""),referrer_id:a.string().allow(""),points:a.number()})}static PointsHistoryResponse(){return a.object({items:a.array().items(n.PointsHistory()),page:n.Page()})}static PointsHistory(){return a.object({_id:a.string().allow(""),application_id:a.string().allow(""),claimed:a.boolean(),created_at:a.string().allow(""),expires_on:a.string().allow(""),meta:a.any(),points:a.number(),remaining_points:a.number(),text_1:a.string().allow(""),text_2:a.string().allow(""),text_3:a.string().allow(""),txn_name:a.string().allow(""),updated_at:a.string().allow(""),user_id:a.string().allow("")})}static Page(){return a.object({item_total:a.number(),next_id:a.string().allow(""),has_previous:a.boolean(),has_next:a.boolean(),current:a.number(),type:a.string().allow("").required(),size:a.number()})}}e.exports=n},876:(e,t,r)=>{const a=r(6075),n=r(231);e.exports=class{static catalogueOrder(){return a.object({body:n.CatalogueOrderRequest().required()}).required()}static getOfferByName(){return a.object({name:a.string().allow("").required()}).required()}static getOrderDiscount(){return a.object({body:n.OrderDiscountRequest().required()}).required()}static getUserPoints(){return a.object({})}static getUserPointsHistory(){return a.object({pageId:a.string().allow(""),pageSize:a.number()})}static getUserReferralDetails(){return a.object({})}static redeemReferralCode(){return a.object({body:n.RedeemReferralCodeRequest().required()}).required()}}},8651:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(4708)),l=r(7167),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={createShortLink:"/service/application/share/v1.0/links/short-link/",getApplicationQRCode:"/service/application/share/v1.0/qr/",getCollectionQRCodeBySlug:"/service/application/share/v1.0/qr/collection/{slug}/",getOriginalShortLinkByHash:"/service/application/share/v1.0/links/short-link/{hash}/original/",getProductQRCodeBySlug:"/service/application/share/v1.0/qr/products/{slug}/",getShortLinkByHash:"/service/application/share/v1.0/links/short-link/{hash}/",getUrlQRCode:"/service/application/share/v1.0/qr/url/"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async createShortLink({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.createShortLink().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.createShortLink().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Share > createShortLink \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.createShortLink,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ShortLinkRes().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Share > createShortLink \n ${m}`})}return p}async getApplicationQRCode({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getApplicationQRCode().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getApplicationQRCode().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Share > getApplicationQRCode \n ${u}`});const d=await a.execute(this._conf,"post",s({url:this._urls.getApplicationQRCode,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.QRCodeResp().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Share > getApplicationQRCode \n ${g}`})}return d}async getCollectionQRCodeBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getCollectionQRCodeBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getCollectionQRCodeBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Share > getCollectionQRCodeBySlug \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getCollectionQRCodeBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.QRCodeResp().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Share > getCollectionQRCodeBySlug \n ${m}`})}return p}async getOriginalShortLinkByHash({hash:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getOriginalShortLinkByHash().validate({hash:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getOriginalShortLinkByHash().validate({hash:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Share > getOriginalShortLinkByHash \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getOriginalShortLinkByHash,params:{hash:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ShortLinkRes().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Share > getOriginalShortLinkByHash \n ${m}`})}return p}async getProductQRCodeBySlug({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getProductQRCodeBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getProductQRCodeBySlug().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Share > getProductQRCodeBySlug \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.getProductQRCodeBySlug,params:{slug:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.QRCodeResp().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Share > getProductQRCodeBySlug \n ${m}`})}return p}async getShortLinkByHash({hash:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getShortLinkByHash().validate({hash:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getShortLinkByHash().validate({hash:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Share > getShortLinkByHash \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getShortLinkByHash,params:{hash:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ShortLinkRes().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Share > getShortLinkByHash \n ${m}`})}return p}async getUrlQRCode({url:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getUrlQRCode().validate({url:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getUrlQRCode().validate({url:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Share > getUrlQRCode \n ${d}`});const p={};p.url=e;const g=await a.execute(this._conf,"post",s({url:this._urls.getUrlQRCode,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.QRCodeResp().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > Share > getUrlQRCode \n ${f}`})}return g}}},7167:(e,t,r)=>{const a=r(6075);class n{static QRCodeResp(){return a.object({link:a.string().allow(""),svg:a.string().allow("")})}static RedirectDevice(){return a.object({link:a.string().allow(""),type:a.string().allow("")})}static WebRedirect(){return a.object({link:a.string().allow(""),type:a.string().allow("")})}static Redirects(){return a.object({ios:n.RedirectDevice(),android:n.RedirectDevice(),web:n.WebRedirect(),force_web:a.boolean()})}static CampaignShortLink(){return a.object({source:a.string().allow(""),medium:a.string().allow("")})}static Attribution(){return a.object({campaign_cookie_expiry:a.string().allow("")})}static SocialMediaTags(){return a.object({title:a.string().allow(""),description:a.string().allow(""),image:a.string().allow("")})}static ShortLinkReq(){return a.object({title:a.string().allow("").required(),url:a.string().allow("").required(),hash:a.string().allow(""),active:a.boolean(),expire_at:a.string().allow(""),enable_tracking:a.boolean(),personalized:a.boolean(),campaign:n.CampaignShortLink(),redirects:n.Redirects(),attribution:n.Attribution(),social_media_tags:n.SocialMediaTags(),count:a.number()})}static UrlInfo(){return a.object({original:a.string().allow(""),hash:a.string().allow(""),short_url:a.string().allow("")})}static ShortLinkRes(){return a.object({title:a.string().allow(""),url:n.UrlInfo(),created_by:a.string().allow(""),app_redirect:a.boolean(),fallback:a.string().allow(""),active:a.boolean(),_id:a.string().allow(""),enable_tracking:a.boolean(),expire_at:a.string().allow(""),application:a.string().allow(""),user_id:a.string().allow(""),created_at:a.string().allow(""),meta:a.any(),updated_at:a.string().allow(""),personalized:a.boolean(),campaign:n.CampaignShortLink(),redirects:n.Redirects(),attribution:n.Attribution(),social_media_tags:n.SocialMediaTags(),count:a.number()})}static ErrorRes(){return a.object({message:a.string().allow("")})}}e.exports=n},4708:(e,t,r)=>{const a=r(6075),n=r(7167);e.exports=class{static createShortLink(){return a.object({body:n.ShortLinkReq().required()}).required()}static getApplicationQRCode(){return a.object({})}static getCollectionQRCodeBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getOriginalShortLinkByHash(){return a.object({hash:a.string().allow("").required()}).required()}static getProductQRCodeBySlug(){return a.object({slug:a.string().allow("").required()}).required()}static getShortLinkByHash(){return a.object({hash:a.string().allow("").required()}).required()}static getUrlQRCode(){return a.object({url:a.string().allow("").required()}).required()}}},7803:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(7620)),l=r(5423),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={getAllPages:"/service/application/theme/v1.0/{theme_id}/page",getAppliedTheme:"/service/application/theme/v2.0/applied-theme",getPage:"/service/application/theme/v1.0/{theme_id}/{page_value}",getThemeForPreview:"/service/application/theme/v2.0/{theme_id}/preview"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async getAllPages({themeId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getAllPages().validate({themeId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getAllPages().validate({themeId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Theme > getAllPages \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getAllPages,params:{themeId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.AllAvailablePageSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Theme > getAllPages \n ${m}`})}return p}async getAppliedTheme({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getAppliedTheme().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getAppliedTheme().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > Theme > getAppliedTheme \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getAppliedTheme,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.ThemesSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > Theme > getAppliedTheme \n ${g}`})}return d}async getPage({themeId:e,pageValue:t,filters:r,sectionPreviewHash:u,company:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=i.getPage().validate({themeId:e,pageValue:t,filters:r,sectionPreviewHash:u,company:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=i.getPage().validate({themeId:e,pageValue:t,filters:r,sectionPreviewHash:u,company:d},{abortEarly:!1,allowUnknown:!1});f&&c({level:"WARN",message:`Parameter Validation warrnings for application > Theme > getPage \n ${f}`});const w={};w.filters=r,w.section_preview_hash=u,w.company=d;const y=await a.execute(this._conf,"get",s({url:this._urls.getPage,params:{themeId:e,pageValue:t}}),w,void 0,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=l.AvailablePageSchema().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));c({level:"WARN",message:`Response Validation Warnings for application > Theme > getPage \n ${h}`})}return y}async getThemeForPreview({themeId:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getThemeForPreview().validate({themeId:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getThemeForPreview().validate({themeId:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Theme > getThemeForPreview \n ${d}`});const p=await a.execute(this._conf,"get",s({url:this._urls.getThemeForPreview,params:{themeId:e}}),{},void 0,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ThemesSchema().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Theme > getThemeForPreview \n ${m}`})}return p}}},5423:(e,t,r)=>{const a=r(6075);class n{static AllAvailablePageSchema(){return a.object({pages:a.array().items(n.AvailablePageSchema())})}static AvailablePageSchema(){return a.object({value:a.string().allow(""),text:a.string().allow(""),path:a.string().allow(""),type:a.string().allow(""),sections:a.array().items(n.AvailablePageSchemaSections()),sections_meta:a.array().items(n.AvailablePageSectionMetaAttributes()),theme:a.string().allow(""),seo:n.AvailablePageSeo(),props:a.array().items(a.any()),_id:a.string().allow("")})}static AvailablePageSectionMetaAttributes(){return a.object({attributes:a.any()})}static SEOMetaItem(){return a.object({title:a.string().allow(""),items:a.array().items(n.SEOMetaItems())})}static SEOMetaItems(){return a.object({key:a.string().allow(""),value:a.string().allow("")})}static SEOSitemap(){return a.object({priority:a.number(),frequency:a.string().allow("")})}static SEObreadcrumb(){return a.object({url:a.string().allow(""),action:n.Action()})}static Action(){return a.object({type:a.string().allow(""),page:n.ActionPage(),popup:n.ActionPage()})}static AvailablePageSeo(){return a.object({title:a.string().allow(""),description:a.string().allow(""),canonical_url:a.string().allow(""),meta_tags:a.array().items(n.SEOMetaItem()),sitemap:n.SEOSitemap(),breadcrumb:a.array().items(n.SEObreadcrumb()),_id:a.string().allow("")})}static AvailablePageSchemaSections(){return a.object({name:a.string().allow(""),label:a.string().allow(""),source:a.string().allow(""),props:a.any(),blocks:a.array().items(a.any()),preset:a.any(),predicate:n.AvailablePagePredicate()})}static AvailablePagePredicate(){return a.object({screen:n.AvailablePageScreenPredicate(),user:n.AvailablePageUserPredicate(),route:n.AvailablePageRoutePredicate(),schedule:n.AvailablePageSchedulePredicate(),platform:n.AvailablePagePlatformPredicate(),zones:a.array().items(a.string().allow(""))})}static AvailablePageScreenPredicate(){return a.object({mobile:a.boolean(),desktop:a.boolean(),tablet:a.boolean()})}static AvailablePageUserPredicate(){return a.object({authenticated:a.boolean(),anonymous:a.boolean()})}static AvailablePageRoutePredicate(){return a.object({selected:a.string().allow(""),exact_url:a.string().allow(""),query:a.any()})}static AvailablePageSchedulePredicate(){return a.object({cron:a.string().allow(""),start:a.string().allow(""),end:a.string().allow("")})}static ThemesSchema(){return a.object({font:n.Font(),config:n.Config(),applied:a.boolean(),is_private:a.boolean(),tags:a.array().items(a.string().allow("")),_id:a.string().allow(""),application_id:a.string().allow(""),marketplace_theme_id:a.string().allow(""),meta:n.ThemeMeta(),name:a.string().allow(""),template_theme_id:a.string().allow(""),version:a.string().allow(""),styles:a.any(),created_at:a.string().allow(""),updated_at:a.string().allow(""),assets:n.Assets(),available_sections:a.array().items(n.SectionItem()),theme_type:a.string().allow(""),company_id:a.number()})}static Font(){return a.object({variants:n.FontVariants().required(),family:a.string().allow("").required()})}static FontVariants(){return a.object({light:n.FontVariant(),regular:n.FontVariant(),medium:n.FontVariant(),semi_bold:n.FontVariant(),bold:n.FontVariant()})}static FontVariant(){return a.object({name:a.string().allow("").required(),file:a.string().allow("").required()})}static Config(){return a.object({current:a.string().allow("").required(),list:a.array().items(n.ThemeConfiguration()).required(),global_schema:n.GlobalSchema(),preset:n.Preset()})}static ThemeConfiguration(){return a.object({name:a.string().allow(""),global_config:a.any(),page:a.array().items(a.string().allow(""))})}static CustomConfig(){return a.object({props:n.CustomProps()})}static CustomProps(){return a.object({header_bg_color:a.string().allow(""),header_text_color:a.string().allow(""),header_border_color:a.string().allow(""),header_icon_color:a.string().allow(""),header_cart_notification_bg_color:a.string().allow(""),header_cart_notification_text_color:a.string().allow(""),header_nav_hover_color:a.string().allow(""),button_primary_color:a.string().allow(""),button_primary_label_color:a.string().allow(""),button_add_to_cart_color:a.string().allow(""),button_add_to_cart_label_color:a.string().allow(""),button_secondary_color:a.string().allow(""),button_secondary_label_color:a.string().allow(""),button_tertiary_color:a.string().allow(""),button_tertiary_label_color:a.string().allow(""),button_tertiary_hover_color:a.string().allow(""),button_tertiary_hover_text_color:a.string().allow(""),text_heading_link_color:a.string().allow(""),text_body_color:a.string().allow(""),text_price_color:a.string().allow(""),text_sale_price_color:a.string().allow(""),text_strikethrough_price_color:a.string().allow(""),text_discount_color:a.string().allow(""),footer_bg_color:a.string().allow(""),footer_text_color:a.string().allow(""),footer_border_color:a.string().allow(""),footer_nav_hover_color:a.string().allow(""),disable_cart:a.boolean(),is_menu_below_logo:a.boolean(),menu_position:a.string().allow("")})}static GlobalConfig(){return a.object({statics:n.StaticConfig(),custom:n.CustomConfig()})}static GeneralSetting(){return a.object({theme:n.ThemeSetting(),text:n.TextSetting(),button:n.ButtonSetting(),sale_discount:n.SaleDiscountSetting(),header:n.HeaderSetting(),footer:n.FooterSetting()})}static AdvanceSetting(){return a.object({overlay_popup:n.OverlayPopupSetting(),divider_stroke_highlight:n.DividerStrokeHighlightSetting(),user_alerts:n.UserAlertsSetting()})}static UserAlertsSetting(){return a.object({success_background:a.string().allow(""),success_text:a.string().allow(""),error_background:a.string().allow(""),error_text:a.string().allow(""),info_background:a.string().allow(""),info_text:a.string().allow("")})}static ThemeSetting(){return a.object({page_background:a.string().allow(""),theme_accent:a.string().allow("")})}static TextSetting(){return a.object({text_heading:a.string().allow(""),text_body:a.string().allow(""),text_label:a.string().allow(""),text_secondary:a.string().allow("")})}static ButtonSetting(){return a.object({button_primary:a.string().allow(""),button_secondary:a.string().allow(""),button_link:a.string().allow("")})}static SaleDiscountSetting(){return a.object({sale_badge_background:a.string().allow(""),sale_badge_text:a.string().allow(""),sale_discount_text:a.string().allow(""),sale_timer:a.string().allow("")})}static HeaderSetting(){return a.object({header_background:a.string().allow(""),header_nav:a.string().allow(""),header_icon:a.string().allow("")})}static FooterSetting(){return a.object({footer_background:a.string().allow(""),footer_bottom_background:a.string().allow(""),footer_heading_text:a.string().allow(""),footer_body_text:a.string().allow(""),footer_icon:a.string().allow("")})}static OverlayPopupSetting(){return a.object({dialog_backgroung:a.string().allow(""),overlay:a.string().allow("")})}static DividerStrokeHighlightSetting(){return a.object({divider_strokes:a.string().allow(""),highlight:a.string().allow("")})}static StaticConfig(){return a.object({props:n.StaticProps()})}static StaticProps(){return a.object({colors:n.Colors(),auth:n.AuthConfig(),palette:n.PaletteConfig()})}static Colors(){return a.object({primary_color:a.string().allow(""),secondary_color:a.string().allow(""),accent_color:a.string().allow(""),link_color:a.string().allow(""),button_secondary_color:a.string().allow(""),bg_color:a.string().allow("")})}static AuthConfig(){return a.object({show_header_auth:a.boolean(),show_footer_auth:a.boolean()})}static PaletteConfig(){return a.object({general_setting:n.GeneralSetting(),advance_setting:n.AdvanceSetting()})}static ThemeMeta(){return a.object({payment:n.ThemePayment(),description:a.string().allow(""),industry:a.array().items(a.string().allow("")),release:n.Release(),images:n.Images(),slug:a.string().allow(""),name:a.string().allow("")})}static ThemePayment(){return a.object({is_paid:a.boolean(),amount:a.number()})}static Release(){return a.object({notes:a.string().allow(""),version:a.string().allow("")})}static Images(){return a.object({desktop:a.string().allow(""),mobile:a.string().allow("")})}static Assets(){return a.object({umd_js:n.UMDJs(),common_js:n.CommonJS(),css:n.CSS()})}static UMDJs(){return a.object({links:a.array().items(a.string().allow(""))})}static CommonJS(){return a.object({link:a.string().allow("")})}static CSS(){return a.object({links:a.array().items(a.string().allow(""))})}static SectionItem(){return a.object({props:a.array().items(a.any()),blocks:a.array().items(a.any()),name:a.string().allow(""),label:a.string().allow("")})}static GlobalSchema(){return a.object({props:a.array().items(n.Prop())})}static Prop(){return a.object({type:a.string().allow(""),category:a.string().allow(""),id:a.string().allow(""),label:a.string().allow(""),info:a.string().allow("")})}static Preset(){return a.object({pages:a.array().items(n.Page())})}static Page(){return a.object({sections:a.array().items(n.Section()),value:a.string().allow("")})}static SectionProps(){return a.object({title:n.TextProp(),item_margin:n.TextProp(),autoplay:n.CheckboxProp(),slide_interval:n.RangeProp()})}static SectionPreset(){return a.object({blocks:a.array().items(n.Block())})}static ImagePickerProp(){return a.object({type:a.string().allow(""),value:a.string().allow("")})}static UrlProp(){return a.object({type:a.string().allow(""),value:a.string().allow("")})}static BlockProps(){return a.object({image:n.ImagePickerProp(),slide_link:n.UrlProp()})}static TextProp(){return a.object({value:a.string().allow(""),type:a.string().allow("")})}static CheckboxProp(){return a.object({value:a.boolean(),type:a.string().allow("")})}static RangeProp(){return a.object({value:a.number(),type:a.string().allow("")})}static Section(){return a.object({blocks:a.array().items(n.Block()),predicate:n.Predicate(),name:a.string().allow(""),props:n.SectionProps(),preset:n.SectionPreset()})}static Block(){return a.object({type:a.string().allow(""),name:a.string().allow(""),props:n.BlockProps()})}static Predicate(){return a.object({screen:n.Screen(),user:n.ThemeUserSchema(),route:n.Route()})}static Screen(){return a.object({mobile:a.boolean(),desktop:a.boolean(),tablet:a.boolean()})}static ThemeUserSchema(){return a.object({authenticated:a.boolean(),anonymous:a.boolean()})}static Route(){return a.object({selected:a.string().allow(""),exact_url:a.string().allow("")})}static AvailablePagePlatformPredicate(){return a.object({ios:a.boolean(),android:a.boolean(),web:a.boolean()})}static BlitzkriegInternalServerErrorSchema(){return a.object({message:a.string().allow("")})}static BlitzkriegApiErrorSchema(){return a.object({message:a.string().allow("")})}static ActionPage(){return a.object({params:a.object().pattern(/\S/,a.array().items(a.string().allow(""))),query:a.object().pattern(/\S/,a.array().items(a.string().allow(""))),url:a.string().allow(""),type:n.PageType().required()})}static PageType(){return a.string().valid("about-us","addresses","blog","brands","cards","cart","categories","brand","category","collection","collections","custom","contact-us","external","faq","freshchat","home","notification-settings","orders","page","policy","product","product-request","products","profile","profile-order-shipment","profile-basic","profile-company","profile-emails","profile-phones","rate-us","refer-earn","settings","shared-cart","tnc","track-order","wishlist","sections","form","cart-delivery","cart-payment","cart-review","login","register","shipping-policy","return-policy","order-status")}}e.exports=n},7620:(e,t,r)=>{const a=r(6075);r(5423),e.exports=class{static getAllPages(){return a.object({themeId:a.string().allow("").required()}).required()}static getAppliedTheme(){return a.object({})}static getPage(){return a.object({themeId:a.string().allow("").required(),pageValue:a.string().allow("").required(),filters:a.string().allow(""),sectionPreviewHash:a.string().allow(""),company:a.number()}).required()}static getThemeForPreview(){return a.object({themeId:a.string().allow("").required()}).required()}}},8363:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(1092)),l=r(9231),{Logger:c}=r(8572),u=r(6075);e.exports=class{constructor(e){this._conf=e,this._relativeUrls={addEmail:"/service/application/user/profile/v1.0/email",addMobileNumber:"/service/application/user/profile/v1.0/mobile",deleteEmail:"/service/application/user/profile/v1.0/email",deleteMobileNumber:"/service/application/user/profile/v1.0/mobile",deleteUser:"/service/application/user/authentication/v1.0/delete",forgotPassword:"/service/application/user/authentication/v1.0/login/password/reset/forgot",getListOfActiveSessions:"/service/application/user/authentication/v1.0/sessions",getLoggedInUser:"/service/application/user/authentication/v1.0/session",getPlatformConfig:"/service/application/user/platform/v1.0/config",getUserAttributes:"/service/application/user/profile/v1.0/user-attributes",hasPassword:"/service/application/user/authentication/v1.0/has-password",loginWithAppleIOS:"/service/application/user/authentication/v1.0/login/apple-ios",loginWithEmailAndPassword:"/service/application/user/authentication/v1.0/login/password",loginWithFacebook:"/service/application/user/authentication/v1.0/login/facebook-token",loginWithGoogle:"/service/application/user/authentication/v1.0/login/google-token",loginWithGoogleAndroid:"/service/application/user/authentication/v1.0/login/google-android",loginWithGoogleIOS:"/service/application/user/authentication/v1.0/login/google-ios",loginWithOTP:"/service/application/user/authentication/v1.0/login/otp",loginWithToken:"/service/application/user/authentication/v1.0/login/token",logout:"/service/application/user/authentication/v1.0/logout",registerWithForm:"/service/application/user/authentication/v1.0/register/form",resetForgotPassword:"/service/application/user/authentication/v1.0/login/password/forgot",sendForgotOTPOnEmail:"/service/application/user/authentication/v1.0/otp/forgot/email/send",sendForgotOTPOnMobile:"/service/application/user/authentication/v1.0/otp/forgot/mobile/send",sendOTPOnEmail:"/service/application/user/authentication/v1.0/otp/email/send",sendOTPOnMobile:"/service/application/user/authentication/v1.0/otp/mobile/send",sendResetPasswordEmail:"/service/application/user/authentication/v1.0/login/password/reset",sendResetPasswordMobile:"/service/application/user/authentication/v1.0/login/password/mobile/reset",sendResetToken:"/service/application/user/authentication/v1.0/login/password/reset/token",sendVerificationLinkToEmail:"/service/application/user/profile/v1.0/email/link/send",sendVerificationLinkToMobile:"/service/application/user/profile/v1.0/mobile/link/send",setEmailAsPrimary:"/service/application/user/profile/v1.0/email/primary",setMobileNumberAsPrimary:"/service/application/user/profile/v1.0/mobile/primary",updatePassword:"/service/application/user/authentication/v1.0/password",updateProfile:"/service/application/user/profile/v1.0/detail",updateUserAttributes:"/service/application/user/profile/v1.0/user-attributes",userExists:"/service/application/user/authentication/v1.0/user-exists",verifyEmail:"/service/application/user/authentication/v1.0/verify/email",verifyEmailForgotOTP:"/service/application/user/authentication/v1.0/otp/forgot/email/verify",verifyEmailOTP:"/service/application/user/authentication/v1.0/otp/email/verify",verifyMobile:"/service/application/user/authentication/v1.0/verify/mobile",verifyMobileForgotOTP:"/service/application/user/authentication/v1.0/otp/forgot/mobile/verify",verifyMobileOTP:"/service/application/user/authentication/v1.0/otp/mobile/verify"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async addEmail({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.addEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.addEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > addEmail \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"put",s({url:this._urls.addEmail,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.VerifyEmailOTPSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > addEmail \n ${w}`})}return m}async addMobileNumber({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.addMobileNumber().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.addMobileNumber().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > addMobileNumber \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"put",s({url:this._urls.addMobileNumber,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.VerifyMobileOTPSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > addMobileNumber \n ${w}`})}return m}async deleteEmail({active:e,primary:t,verified:r,email:u,platform:d,requestHeaders:p}={requestHeaders:{}},{responseHeaders:g}={responseHeaders:!1}){const{error:m}=i.deleteEmail().validate({active:e,primary:t,verified:r,email:u,platform:d},{abortEarly:!1,allowUnknown:!0});if(m)return Promise.reject(new n(m));const{error:f}=i.deleteEmail().validate({active:e,primary:t,verified:r,email:u,platform:d},{abortEarly:!1,allowUnknown:!1});f&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > deleteEmail \n ${f}`});const w={};w.platform=d,w.active=e,w.primary=t,w.verified=r,w.email=u;const y=await a.execute(this._conf,"delete",s({url:this._urls.deleteEmail,params:{}}),w,void 0,{...p},{responseHeaders:g});let b=y;g&&(b=y[0]);const{error:h}=l.LoginSuccess().validate(b,{abortEarly:!1,allowUnknown:!0});if(h){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(h));c({level:"WARN",message:`Response Validation Warnings for application > User > deleteEmail \n ${h}`})}return y}async deleteMobileNumber({active:e,primary:t,verified:r,countryCode:u,phone:d,platform:p,requestHeaders:g}={requestHeaders:{}},{responseHeaders:m}={responseHeaders:!1}){const{error:f}=i.deleteMobileNumber().validate({active:e,primary:t,verified:r,countryCode:u,phone:d,platform:p},{abortEarly:!1,allowUnknown:!0});if(f)return Promise.reject(new n(f));const{error:w}=i.deleteMobileNumber().validate({active:e,primary:t,verified:r,countryCode:u,phone:d,platform:p},{abortEarly:!1,allowUnknown:!1});w&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > deleteMobileNumber \n ${w}`});const y={};y.platform=p,y.active=e,y.primary=t,y.verified=r,y.country_code=u,y.phone=d;const b=await a.execute(this._conf,"delete",s({url:this._urls.deleteMobileNumber,params:{}}),y,void 0,{...g},{responseHeaders:m});let h=b;m&&(h=b[0]);const{error:_}=l.LoginSuccess().validate(h,{abortEarly:!1,allowUnknown:!0});if(_){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(_));c({level:"WARN",message:`Response Validation Warnings for application > User > deleteMobileNumber \n ${_}`})}return b}async deleteUser({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.deleteUser().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.deleteUser().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > deleteUser \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.deleteUser,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.DeleteUserSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > deleteUser \n ${m}`})}return p}async forgotPassword({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.forgotPassword().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.forgotPassword().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > forgotPassword \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.forgotPassword,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.LoginSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > forgotPassword \n ${m}`})}return p}async getListOfActiveSessions({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getListOfActiveSessions().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getListOfActiveSessions().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > getListOfActiveSessions \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getListOfActiveSessions,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.SessionListSuccess().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > User > getListOfActiveSessions \n ${g}`})}return d}async getLoggedInUser({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.getLoggedInUser().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.getLoggedInUser().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > getLoggedInUser \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.getLoggedInUser,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.UserObjectSchema().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > User > getLoggedInUser \n ${g}`})}return d}async getPlatformConfig({name:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getPlatformConfig().validate({name:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getPlatformConfig().validate({name:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > getPlatformConfig \n ${d}`});const p={};p.name=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getPlatformConfig,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.PlatformSchema().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > User > getPlatformConfig \n ${f}`})}return g}async getUserAttributes({slug:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.getUserAttributes().validate({slug:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.getUserAttributes().validate({slug:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > getUserAttributes \n ${d}`});const p={};p.slug=e;const g=await a.execute(this._conf,"get",s({url:this._urls.getUserAttributes,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.UserAttributes().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > User > getUserAttributes \n ${f}`})}return g}async hasPassword({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.hasPassword().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.hasPassword().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > hasPassword \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.hasPassword,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.HasPasswordSuccess().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > User > hasPassword \n ${g}`})}return d}async loginWithAppleIOS({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.loginWithAppleIOS().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.loginWithAppleIOS().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithAppleIOS \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.loginWithAppleIOS,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.AuthSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithAppleIOS \n ${w}`})}return m}async loginWithEmailAndPassword({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.loginWithEmailAndPassword().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.loginWithEmailAndPassword().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithEmailAndPassword \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.loginWithEmailAndPassword,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.LoginSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithEmailAndPassword \n ${m}`})}return p}async loginWithFacebook({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.loginWithFacebook().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.loginWithFacebook().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithFacebook \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.loginWithFacebook,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.AuthSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithFacebook \n ${w}`})}return m}async loginWithGoogle({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.loginWithGoogle().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.loginWithGoogle().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithGoogle \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.loginWithGoogle,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.AuthSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithGoogle \n ${w}`})}return m}async loginWithGoogleAndroid({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.loginWithGoogleAndroid().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.loginWithGoogleAndroid().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithGoogleAndroid \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.loginWithGoogleAndroid,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.AuthSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithGoogleAndroid \n ${w}`})}return m}async loginWithGoogleIOS({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.loginWithGoogleIOS().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.loginWithGoogleIOS().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithGoogleIOS \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.loginWithGoogleIOS,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.AuthSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithGoogleIOS \n ${w}`})}return m}async loginWithOTP({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.loginWithOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.loginWithOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithOTP \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.loginWithOTP,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.SendOtpResponse().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithOTP \n ${w}`})}return m}async loginWithToken({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.loginWithToken().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.loginWithToken().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > loginWithToken \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.loginWithToken,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.LoginSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > loginWithToken \n ${m}`})}return p}async logout({requestHeaders:e}={requestHeaders:{}},{responseHeaders:t}={responseHeaders:!1}){const{error:r}=i.logout().validate({},{abortEarly:!1,allowUnknown:!0});if(r)return Promise.reject(new n(r));const{error:u}=i.logout().validate({},{abortEarly:!1,allowUnknown:!1});u&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > logout \n ${u}`});const d=await a.execute(this._conf,"get",s({url:this._urls.logout,params:{}}),{},void 0,{...e},{responseHeaders:t});let p=d;t&&(p=d[0]);const{error:g}=l.LogoutSuccess().validate(p,{abortEarly:!1,allowUnknown:!0});if(g){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(g));c({level:"WARN",message:`Response Validation Warnings for application > User > logout \n ${g}`})}return d}async registerWithForm({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.registerWithForm().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.registerWithForm().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > registerWithForm \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.registerWithForm,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.RegisterFormSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > registerWithForm \n ${w}`})}return m}async resetForgotPassword({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.resetForgotPassword().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.resetForgotPassword().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > resetForgotPassword \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.resetForgotPassword,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ResetForgotPasswordSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > resetForgotPassword \n ${m}`})}return p}async sendForgotOTPOnEmail({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendForgotOTPOnEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendForgotOTPOnEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendForgotOTPOnEmail \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendForgotOTPOnEmail,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.EmailOtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendForgotOTPOnEmail \n ${w}`})}return m}async sendForgotOTPOnMobile({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendForgotOTPOnMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendForgotOTPOnMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendForgotOTPOnMobile \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendForgotOTPOnMobile,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.OtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendForgotOTPOnMobile \n ${w}`})}return m}async sendOTPOnEmail({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendOTPOnEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendOTPOnEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendOTPOnEmail \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendOTPOnEmail,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.EmailOtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendOTPOnEmail \n ${w}`})}return m}async sendOTPOnMobile({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendOTPOnMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendOTPOnMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendOTPOnMobile \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendOTPOnMobile,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.OtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendOTPOnMobile \n ${w}`})}return m}async sendResetPasswordEmail({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendResetPasswordEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendResetPasswordEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendResetPasswordEmail \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendResetPasswordEmail,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.ResetPasswordSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendResetPasswordEmail \n ${w}`})}return m}async sendResetPasswordMobile({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:l}={responseHeaders:!1}){const{error:d}=i.sendResetPasswordMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendResetPasswordMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendResetPasswordMobile \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendResetPasswordMobile,params:{}}),g,e,{...r},{responseHeaders:l});let f=m;l&&(f=m[0]);const{error:w}=u.string().allow("").validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendResetPasswordMobile \n ${w}`})}return m}async sendResetToken({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.sendResetToken().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.sendResetToken().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendResetToken \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.sendResetToken,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ResetPasswordSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > sendResetToken \n ${m}`})}return p}async sendVerificationLinkToEmail({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendVerificationLinkToEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendVerificationLinkToEmail().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendVerificationLinkToEmail \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendVerificationLinkToEmail,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.SendEmailVerifyLinkSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendVerificationLinkToEmail \n ${w}`})}return m}async sendVerificationLinkToMobile({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.sendVerificationLinkToMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.sendVerificationLinkToMobile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > sendVerificationLinkToMobile \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.sendVerificationLinkToMobile,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.SendMobileVerifyLinkSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > sendVerificationLinkToMobile \n ${w}`})}return m}async setEmailAsPrimary({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.setEmailAsPrimary().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.setEmailAsPrimary().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > setEmailAsPrimary \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.setEmailAsPrimary,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.LoginSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > setEmailAsPrimary \n ${m}`})}return p}async setMobileNumberAsPrimary({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.setMobileNumberAsPrimary().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.setMobileNumberAsPrimary().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > setMobileNumberAsPrimary \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.setMobileNumberAsPrimary,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.LoginSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > setMobileNumberAsPrimary \n ${m}`})}return p}async updatePassword({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.updatePassword().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.updatePassword().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > updatePassword \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.updatePassword,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.VerifyEmailSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > updatePassword \n ${m}`})}return p}async updateProfile({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.updateProfile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.updateProfile().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > updateProfile \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.updateProfile,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.ProfileEditSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > updateProfile \n ${w}`})}return m}async updateUserAttributes({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.updateUserAttributes().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.updateUserAttributes().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > updateUserAttributes \n ${d}`});const p=await a.execute(this._conf,"patch",s({url:this._urls.updateUserAttributes,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.UserAttributes().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > updateUserAttributes \n ${m}`})}return p}async userExists({q:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.userExists().validate({q:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.userExists().validate({q:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > userExists \n ${d}`});const p={};p.q=e;const g=await a.execute(this._conf,"get",s({url:this._urls.userExists,params:{}}),p,void 0,{...t},{responseHeaders:r});let m=g;r&&(m=g[0]);const{error:f}=l.UserExistsResponse().validate(m,{abortEarly:!1,allowUnknown:!0});if(f){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(f));c({level:"WARN",message:`Response Validation Warnings for application > User > userExists \n ${f}`})}return g}async verifyEmail({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.verifyEmail().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.verifyEmail().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > verifyEmail \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.verifyEmail,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.VerifyEmailSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > verifyEmail \n ${m}`})}return p}async verifyEmailForgotOTP({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.verifyEmailForgotOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.verifyEmailForgotOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > verifyEmailForgotOTP \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.verifyEmailForgotOTP,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.VerifyForgotOtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > verifyEmailForgotOTP \n ${w}`})}return m}async verifyEmailOTP({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.verifyEmailOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.verifyEmailOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > verifyEmailOTP \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.verifyEmailOTP,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.VerifyOtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > verifyEmailOTP \n ${w}`})}return m}async verifyMobile({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.verifyMobile().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.verifyMobile().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > verifyMobile \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.verifyMobile,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.VerifyEmailSuccess().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > User > verifyMobile \n ${m}`})}return p}async verifyMobileForgotOTP({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.verifyMobileForgotOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.verifyMobileForgotOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > verifyMobileForgotOTP \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.verifyMobileForgotOTP,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.VerifyForgotOtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > verifyMobileForgotOTP \n ${w}`})}return m}async verifyMobileOTP({body:e,platform:t,requestHeaders:r}={requestHeaders:{}},{responseHeaders:u}={responseHeaders:!1}){const{error:d}=i.verifyMobileOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!0});if(d)return Promise.reject(new n(d));const{error:p}=i.verifyMobileOTP().validate({body:e,platform:t},{abortEarly:!1,allowUnknown:!1});p&&c({level:"WARN",message:`Parameter Validation warrnings for application > User > verifyMobileOTP \n ${p}`});const g={};g.platform=t;const m=await a.execute(this._conf,"post",s({url:this._urls.verifyMobileOTP,params:{}}),g,e,{...r},{responseHeaders:u});let f=m;u&&(f=m[0]);const{error:w}=l.VerifyOtpSuccess().validate(f,{abortEarly:!1,allowUnknown:!0});if(w){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(w));c({level:"WARN",message:`Response Validation Warnings for application > User > verifyMobileOTP \n ${w}`})}return m}}},9231:(e,t,r)=>{const a=r(6075);class n{static UpdateUserAttributesRequest(){return a.object({attributes:a.any()})}static UserAttributes(){return a.object({attributes:a.any()})}static DeleteApplicationUserRequestSchema(){return a.object({user_id:a.string().allow(""),reason:a.string().allow(""),reason_id:a.string().allow(""),request_id:a.string().allow(""),otp:a.string().allow("")})}static EditEmailRequestSchema(){return a.object({email:a.string().allow("")})}static SendVerificationLinkMobileRequestSchema(){return a.object({verified:a.boolean(),active:a.boolean(),country_code:a.string().allow(""),phone:a.string().allow(""),primary:a.boolean()})}static EditMobileRequestSchema(){return a.object({country_code:a.string().allow(""),phone:a.string().allow("")})}static EditProfileRequestSchema(){return a.object({encrypt_otp:a.boolean(),first_name:a.string().allow(""),last_name:a.string().allow(""),mobile:n.EditProfileMobileSchema(),country_code:a.string().allow(""),email:a.string().allow(""),gender:a.string().allow(""),dob:a.string().allow(""),profile_pic_url:a.string().allow(""),android_hash:a.string().allow(""),sender:a.string().allow(""),register_token:a.string().allow("")})}static EditProfileMobileSchema(){return a.object({phone:a.string().allow(""),country_code:a.string().allow("")})}static SendEmailOtpRequestSchema(){return a.object({email:a.string().allow(""),action:a.string().allow(""),token:a.string().allow(""),register_token:a.string().allow("")})}static SendEmailForgotOtpRequestSchema(){return a.object({email:a.string().allow(""),action:a.string().allow(""),token:a.string().allow("")})}static VerifyEmailOtpRequestSchema(){return a.object({email:a.string().allow(""),action:a.string().allow(""),register_token:a.string().allow(""),otp:a.string().allow("")})}static VerifyEmailForgotOtpRequestSchema(){return a.object({email:a.string().allow(""),otp:a.string().allow("")})}static VerifyOtpRequestSchema(){return a.object({request_id:a.string().allow(""),register_token:a.string().allow(""),otp:a.string().allow("")})}static VerifyMobileForgotOtpRequestSchema(){return a.object({request_id:a.string().allow(""),otp:a.string().allow("")})}static SendMobileOtpRequestSchema(){return a.object({encrypt_otp:a.boolean(),mobile:a.string().allow(""),country_code:a.string().allow(""),action:a.string().allow(""),token:a.string().allow(""),android_hash:a.string().allow(""),force:a.string().allow("")})}static SendMobileForgotOtpRequestSchema(){return a.object({mobile:a.string().allow(""),country_code:a.string().allow(""),action:a.string().allow(""),token:a.string().allow(""),android_hash:a.string().allow("")})}static UpdatePasswordRequestSchema(){return a.object({old_password:a.string().allow(""),new_password:a.string().allow("")})}static FormRegisterRequestSchema(){return a.object({first_name:a.string().allow(""),last_name:a.string().allow(""),gender:a.string().allow(""),email:a.string().allow(""),password:a.string().allow(""),phone:n.FormRegisterRequestSchemaPhone(),register_token:a.string().allow("")})}static TokenRequestBodySchema(){return a.object({token:a.string().allow("")})}static ForgotPasswordRequestSchema(){return a.object({code:a.string().allow(""),password:a.string().allow("")})}static CodeRequestBodySchema(){return a.object({code:a.string().allow("")})}static SendResetPasswordEmailRequestSchema(){return a.object({email:a.string().allow("")})}static SendResetPasswordMobileRequestSchema(){return a.object({country_code:a.string().allow(""),mobile:a.string().allow("")})}static PasswordLoginRequestSchema(){return a.object({password:a.string().allow(""),username:a.string().allow("")})}static SendOtpRequestSchema(){return a.object({encrypt_otp:a.boolean(),country_code:a.string().allow(""),mobile:a.string().allow(""),android_hash:a.string().allow("")})}static OAuthRequestSchema(){return a.object({is_signed_in:a.boolean(),oauth2:n.OAuthRequestSchemaOauth2(),profile:n.OAuthRequestSchemaProfile()})}static OAuthRequestAppleSchema(){return a.object({user_identifier:a.string().allow(""),oauth:n.OAuthRequestAppleSchemaOauth(),profile:n.OAuthRequestAppleSchemaProfile()})}static UserObjectSchema(){return a.object({user:n.UserSchema()})}static AuthSuccess(){return a.object({register_token:a.string().allow(""),user_exists:a.boolean(),user:n.UserSchema()})}static UserExistsResponse(){return a.object({user_exists:a.boolean()})}static SendOtpResponse(){return a.object({resend_timer:a.number(),resend_token:a.string().allow(""),success:a.boolean(),request_id:a.string().allow(""),message:a.string().allow(""),mobile:a.string().allow(""),country_code:a.string().allow(""),email:a.string().allow(""),resend_email_token:a.string().allow(""),register_token:a.string().allow(""),verify_email_otp:a.boolean(),verify_mobile_otp:a.boolean(),user_exists:a.boolean()})}static ProfileEditSuccess(){return a.object({user:n.UserSchema(),register_token:a.string().allow(""),resend_email_token:a.string().allow(""),user_exists:a.boolean(),verify_email_link:a.boolean(),verify_email_otp:a.boolean(),verify_mobile_otp:a.boolean(),email:a.string().allow(""),request_id:a.string().allow(""),country_code:a.string().allow(""),mobile:a.string().allow(""),success:a.boolean(),message:a.string().allow(""),resend_timer:a.number(),resend_token:a.string().allow("")})}static LoginSuccess(){return a.object({user:n.UserSchema(),request_id:a.string().allow(""),register_token:a.string().allow("")})}static ResetForgotPasswordSuccess(){return a.object({success:a.boolean()})}static VerifyOtpSuccess(){return a.object({user:n.UserSchema(),user_exists:a.boolean(),register_token:a.string().allow("")})}static VerifyForgotOtpSuccess(){return a.object({success:a.boolean(),forgot_token:a.string().allow("")})}static ResetPasswordSuccess(){return a.object({status:a.string().allow("")})}static RegisterFormSuccess(){return a.object({email:a.string().allow(""),resend_timer:a.number(),resend_token:a.string().allow(""),resend_email_token:a.string().allow(""),register_token:a.string().allow(""),success:a.boolean(),request_id:a.string().allow(""),message:a.string().allow(""),mobile:a.string().allow(""),country_code:a.string().allow(""),verify_email_otp:a.boolean(),verify_mobile_otp:a.boolean(),user_exists:a.boolean()})}static VerifyEmailSuccess(){return a.object({message:a.string().allow("")})}static HasPasswordSuccess(){return a.object({result:a.number()})}static LogoutSuccess(){return a.object({logout:a.boolean()})}static DeleteUserSuccess(){return a.object({success:a.boolean()})}static OtpSuccess(){return a.object({resend_timer:a.number(),resend_token:a.string().allow(""),register_token:a.string().allow(""),success:a.boolean(),request_id:a.string().allow(""),message:a.string().allow(""),mobile:a.string().allow(""),country_code:a.string().allow("")})}static EmailOtpSuccess(){return a.object({success:a.boolean(),resend_email_token:a.string().allow("")})}static SessionListSuccess(){return a.object({sessions:a.array().items(a.string().allow(""))})}static VerifyMobileOTPSuccess(){return a.object({user:n.UserSchema(),verify_mobile_link:a.boolean()})}static VerifyEmailOTPSuccess(){return a.object({user:n.UserSchema(),verify_email_link:a.boolean()})}static SendMobileVerifyLinkSuccess(){return a.object({verify_mobile_link:a.boolean()})}static SendEmailVerifyLinkSuccess(){return a.object({verify_email_link:a.boolean()})}static APIError(){return a.object({code:a.string().allow(""),message:a.string().allow(""),info:a.string().allow(""),request_id:a.string().allow(""),error:a.string().allow(""),meta:a.any(),authenticated:a.boolean()})}static FormRegisterRequestSchemaPhone(){return a.object({country_code:a.string().allow(""),mobile:a.string().allow("")})}static OAuthRequestSchemaOauth2(){return a.object({access_token:a.string().allow(""),expiry:a.number(),refresh_token:a.string().allow("")})}static OAuthRequestSchemaProfile(){return a.object({last_name:a.string().allow(""),image:a.string().allow(""),id:a.string().allow(""),email:a.string().allow(""),full_name:a.string().allow(""),first_name:a.string().allow("")})}static OAuthRequestAppleSchemaOauth(){return a.object({identity_token:a.string().allow("")})}static OAuthRequestAppleSchemaProfile(){return a.object({last_name:a.string().allow(""),full_name:a.string().allow(""),first_name:a.string().allow("")})}static PlatformSchema(){return a.object({display:a.string().allow(""),look_and_feel:n.LookAndFeel(),updated_at:a.string().allow(""),active:a.boolean(),forgot_password:a.boolean(),login:n.Login(),skip_captcha:a.boolean(),name:a.string().allow(""),meta:n.MetaSchema(),_id:a.string().allow(""),social:n.Social(),required_fields:n.RequiredFields(),register_required_fields:n.RegisterRequiredFields(),skip_login:a.boolean(),flash_card:n.FlashCard(),subtext:a.string().allow(""),social_tokens:n.SocialTokens(),created_at:a.string().allow(""),register:a.boolean(),mobile_image:a.string().allow(""),desktop_image:a.string().allow(""),delete_account_day:a.number(),delete_account_reasons:a.array().items(n.DeleteAccountReasons()),delete_account_consent:n.DeleteAccountConsent(),session_config:n.SessionExpiry(),__v:a.number()})}static LookAndFeel(){return a.object({card_position:a.string().allow(""),background_color:a.string().allow("")})}static Login(){return a.object({password:a.boolean(),otp:a.boolean()})}static MetaSchema(){return a.object({fynd_default:a.boolean()})}static Social(){return a.object({account_kit:a.boolean(),facebook:a.boolean(),google:a.boolean(),apple:a.boolean()})}static RequiredFields(){return a.object({email:n.PlatformEmail(),mobile:n.PlatformMobile()})}static PlatformEmail(){return a.object({is_required:a.boolean(),level:a.string().allow("")})}static PlatformMobile(){return a.object({is_required:a.boolean(),level:a.string().allow("")})}static RegisterRequiredFields(){return a.object({email:n.RegisterRequiredFieldsEmail(),mobile:n.RegisterRequiredFieldsMobile()})}static RegisterRequiredFieldsEmail(){return a.object({is_required:a.boolean(),level:a.string().allow("")})}static RegisterRequiredFieldsMobile(){return a.object({is_required:a.boolean(),level:a.string().allow("")})}static FlashCard(){return a.object({text:a.string().allow(""),text_color:a.string().allow(""),background_color:a.string().allow("")})}static SocialTokens(){return a.object({facebook:n.Facebook(),accountkit:n.Accountkit(),google:n.Google()})}static DeleteAccountReasons(){return a.object({reason_text:a.string().allow(""),reason_id:a.string().allow(""),show_text_area:a.boolean()})}static DeleteAccountConsent(){return a.object({consent_text:a.string().allow("")})}static Facebook(){return a.object({app_id:a.string().allow("")})}static Accountkit(){return a.object({app_id:a.string().allow("")})}static Google(){return a.object({app_id:a.string().allow("")})}static SessionExpiry(){return a.object({duration:a.number(),type:a.string().allow(""),is_rolling:a.boolean()})}static UserSchema(){return a.object({application_id:a.string().allow(""),user_id:a.string().allow(""),first_name:a.string().allow(""),meta:a.any(),last_name:a.string().allow(""),phone_numbers:a.array().items(n.PhoneNumber()),emails:a.array().items(n.Email()),gender:a.string().allow(""),dob:a.string().allow(""),active:a.boolean(),profile_pic_url:a.string().allow(""),username:a.string().allow(""),account_type:a.string().allow(""),_id:a.string().allow(""),created_at:a.string().allow(""),updated_at:a.string().allow(""),external_id:a.string().allow(""),rr_id:a.string().allow("")})}static PhoneNumber(){return a.object({phone:a.string().allow(""),country_code:a.number(),active:a.boolean(),primary:a.boolean(),verified:a.boolean()})}static Email(){return a.object({email:a.string().allow(""),active:a.boolean(),primary:a.boolean(),verified:a.boolean()})}}e.exports=n},1092:(e,t,r)=>{const a=r(6075),n=r(9231);e.exports=class{static addEmail(){return a.object({platform:a.string().allow(""),body:n.EditEmailRequestSchema().required()}).required()}static addMobileNumber(){return a.object({platform:a.string().allow(""),body:n.EditMobileRequestSchema().required()}).required()}static deleteEmail(){return a.object({platform:a.string().allow(""),active:a.boolean().required(),primary:a.boolean().required(),verified:a.boolean().required(),email:a.string().allow("").required()}).required()}static deleteMobileNumber(){return a.object({platform:a.string().allow(""),active:a.boolean().required(),primary:a.boolean().required(),verified:a.boolean().required(),countryCode:a.string().allow("").required(),phone:a.string().allow("").required()}).required()}static deleteUser(){return a.object({body:n.DeleteApplicationUserRequestSchema().required()}).required()}static forgotPassword(){return a.object({body:n.ForgotPasswordRequestSchema().required()}).required()}static getListOfActiveSessions(){return a.object({})}static getLoggedInUser(){return a.object({})}static getPlatformConfig(){return a.object({name:a.string().allow("")})}static getUserAttributes(){return a.object({slug:a.string().allow("")})}static hasPassword(){return a.object({})}static loginWithAppleIOS(){return a.object({platform:a.string().allow(""),body:n.OAuthRequestAppleSchema().required()}).required()}static loginWithEmailAndPassword(){return a.object({body:n.PasswordLoginRequestSchema().required()}).required()}static loginWithFacebook(){return a.object({platform:a.string().allow(""),body:n.OAuthRequestSchema().required()}).required()}static loginWithGoogle(){return a.object({platform:a.string().allow(""),body:n.OAuthRequestSchema().required()}).required()}static loginWithGoogleAndroid(){return a.object({platform:a.string().allow(""),body:n.OAuthRequestSchema().required()}).required()}static loginWithGoogleIOS(){return a.object({platform:a.string().allow(""),body:n.OAuthRequestSchema().required()}).required()}static loginWithOTP(){return a.object({platform:a.string().allow(""),body:n.SendOtpRequestSchema().required()}).required()}static loginWithToken(){return a.object({body:n.TokenRequestBodySchema().required()}).required()}static logout(){return a.object({})}static registerWithForm(){return a.object({platform:a.string().allow(""),body:n.FormRegisterRequestSchema().required()}).required()}static resetForgotPassword(){return a.object({body:n.ForgotPasswordRequestSchema().required()}).required()}static sendForgotOTPOnEmail(){return a.object({platform:a.string().allow(""),body:n.SendEmailForgotOtpRequestSchema().required()}).required()}static sendForgotOTPOnMobile(){return a.object({platform:a.string().allow(""),body:n.SendMobileForgotOtpRequestSchema().required()}).required()}static sendOTPOnEmail(){return a.object({platform:a.string().allow(""),body:n.SendEmailOtpRequestSchema().required()}).required()}static sendOTPOnMobile(){return a.object({platform:a.string().allow(""),body:n.SendMobileOtpRequestSchema().required()}).required()}static sendResetPasswordEmail(){return a.object({platform:a.string().allow(""),body:n.SendResetPasswordEmailRequestSchema().required()}).required()}static sendResetPasswordMobile(){return a.object({platform:a.string().allow(""),body:n.SendResetPasswordMobileRequestSchema().required()}).required()}static sendResetToken(){return a.object({body:n.CodeRequestBodySchema().required()}).required()}static sendVerificationLinkToEmail(){return a.object({platform:a.string().allow(""),body:n.EditEmailRequestSchema().required()}).required()}static sendVerificationLinkToMobile(){return a.object({platform:a.string().allow(""),body:n.SendVerificationLinkMobileRequestSchema().required()}).required()}static setEmailAsPrimary(){return a.object({body:n.EditEmailRequestSchema().required()}).required()}static setMobileNumberAsPrimary(){return a.object({body:n.SendVerificationLinkMobileRequestSchema().required()}).required()}static updatePassword(){return a.object({body:n.UpdatePasswordRequestSchema().required()}).required()}static updateProfile(){return a.object({platform:a.string().allow(""),body:n.EditProfileRequestSchema().required()}).required()}static updateUserAttributes(){return a.object({body:n.UpdateUserAttributesRequest().required()}).required()}static userExists(){return a.object({q:a.string().allow("").required()}).required()}static verifyEmail(){return a.object({body:n.CodeRequestBodySchema().required()}).required()}static verifyEmailForgotOTP(){return a.object({platform:a.string().allow(""),body:n.VerifyEmailForgotOtpRequestSchema().required()}).required()}static verifyEmailOTP(){return a.object({platform:a.string().allow(""),body:n.VerifyEmailOtpRequestSchema().required()}).required()}static verifyMobile(){return a.object({body:n.CodeRequestBodySchema().required()}).required()}static verifyMobileForgotOTP(){return a.object({platform:a.string().allow(""),body:n.VerifyMobileForgotOtpRequestSchema().required()}).required()}static verifyMobileOTP(){return a.object({platform:a.string().allow(""),body:n.VerifyOtpRequestSchema().required()}).required()}}},3567:(e,t,r)=>{const a=r(7534),{FDKClientValidationError:n,FDKResponseValidationError:o}=r(1235),s=r(1205),i=(r(1121),r(7496)),l=r(7379),{Logger:c}=r(8572);r(6075),e.exports=class{constructor(e){this._conf=e,this._relativeUrls={saveClickEvent:"/service/application/webhook/v1.0/click-analytics/events"},this._urls=Object.entries(this._relativeUrls).reduce(((t,[r,a])=>(t[r]=`${e.domain}${a}`,t)),{})}updateUrls(e){this._urls={...this._urls,...e}}async saveClickEvent({body:e,requestHeaders:t}={requestHeaders:{}},{responseHeaders:r}={responseHeaders:!1}){const{error:u}=i.saveClickEvent().validate({body:e},{abortEarly:!1,allowUnknown:!0});if(u)return Promise.reject(new n(u));const{error:d}=i.saveClickEvent().validate({body:e},{abortEarly:!1,allowUnknown:!1});d&&c({level:"WARN",message:`Parameter Validation warrnings for application > Webhook > saveClickEvent \n ${d}`});const p=await a.execute(this._conf,"post",s({url:this._urls.saveClickEvent,params:{}}),{},e,{...t},{responseHeaders:r});let g=p;r&&(g=p[0]);const{error:m}=l.ClickEventResponse().validate(g,{abortEarly:!1,allowUnknown:!0});if(m){if(!0===this._conf.options.strictResponseCheck)return Promise.reject(new o(m));c({level:"WARN",message:`Response Validation Warnings for application > Webhook > saveClickEvent \n ${m}`})}return p}}},7379:(e,t,r)=>{const a=r(6075);class n{static ClickEventBatch(){return a.object({event_name:a.string().allow("")})}static ClickEventRequest(){return a.object({batch:a.array().items(n.ClickEventBatch())})}static ClickEventResponse(){return a.object({success_count:a.number(),failed_count:a.number(),failed_events:a.array().items(n.ClickEventBatch())})}}e.exports=n},7496:(e,t,r)=>{const a=r(6075),n=r(7379);e.exports=class{static saveClickEvent(){return a.object({body:n.ClickEventRequest().required()}).required()}}},1205:(e,t,r)=>{const a=r(2729);e.exports=({url:e,params:t})=>e.split("/").map((e=>("{"===e[0]&&"}"===e[e.length-1]&&(e=t[a(e.slice(1,e.length-1))]),e))).join("/")},3775:(e,t,r)=>{e.exports={ApplicationConfig:r(8163),ApplicationClient:r(9418),ApplicationModel:{CartApplicationModel:r(7785),CatalogApplicationModel:r(103),CommonApplicationModel:r(5443),CommunicationApplicationModel:r(8007),ConfigurationApplicationModel:r(1775),ContentApplicationModel:r(9079),FileStorageApplicationModel:r(6751),LeadApplicationModel:r(2201),LogisticApplicationModel:r(8297),OrderApplicationModel:r(4079),PaymentApplicationModel:r(9887),RewardsApplicationModel:r(231),ShareApplicationModel:r(7167),ThemeApplicationModel:r(5423),UserApplicationModel:r(9231),WebhookApplicationModel:r(7379)}}},128:(e,t,r)=>{const{isAbsoluteURL:a,combineURLs:n}=r(8879),o=r(6425).default,s=r(6663),{sign:i}=r(1331),{FDKServerResponseError:l}=r(1235),{log:c,Logger:u,getLoggerLevel:d}=r(8572),p=r(4790),{version:g}=r(8330),m=o.create({withCredentials:!0,paramsSerializer:e=>s.stringify(e)});m.interceptors.request.use((function(e){try{if(d()<=c.levels.DEBUG){const t=p(e);c.debug(t)}}catch(e){u({level:"ERROR",message:`Error Generating Curl: ${e}`})}finally{return e}}),(function(e){u({level:"ERROR",message:e.data||e.message,stack:e.data.stack||e.stack})})),m.interceptors.request.use((e=>{if(!e.url)throw new Error("No URL present in request config, unable to sign request");let t=e.url;e.baseURL&&!a(e.url)&&(t=n(e.baseURL,e.url));const{host:r,pathname:o,search:l}=new URL(t),{data:c,headers:u,method:d,params:p}=e;u["x-fp-sdk-version"]=g;let m=s.parse(l);m={...m,...p};let f,w="";if(m&&Object.keys(m).length&&""!==s.stringify(m).trim()&&(w=`?${s.stringify(m)}`),"get"!=d){const t=function(e){const{transformRequest:t}=e;if(t){if("function"==typeof t)return t;if(t.length)return t[0]}throw new Error("Could not get default transformRequest function from Axios defaults")}(e);f=t(c,u)}const{common:y,delete:b,get:h,head:_,post:v,put:k,patch:R,...P}=u,j={method:d&&d.toUpperCase(),host:r,path:o+l+w,body:f,headers:P},C=i(j);return e.headers["x-fp-date"]=C["x-fp-date"],e.headers["x-fp-signature"]=C["x-fp-signature"],e})),m.interceptors.response.use((function(e){return"head"==e.config.method?e.headers:(u({level:"DEBUG",type:"RESPONSE",message:e.data,url:e.config.url}),e.config.responseHeaders?[e.data,e.headers]:e.data)}),(function(e){if(e.response){const t=e.response.data;throw u({level:"ERROR",message:t&&t.message?t.message:e.message,stack:t&&t.stack?t.stack:e.stack,request:{method:e.config&&e.config.url?e.config.url:void 0,url:e.config&&e.config.method?e.config.method:void 0,headers:e.config&&e.config.headers?e.config.headers:void 0}}),new l(t&&t.message?t.message:e.message,"",e.response.statusText,e.response.status,t)}throw e.request?(u({level:"ERROR",message:e.message,stack:e.stack,request:{method:e.config&&e.config.url?e.config.url:void 0,url:e.config&&e.config.method?e.config.method:void 0,headers:e.config&&e.config.headers?e.config.headers:void 0}}),new l(e.message,e.stack,e.code,e.code)):(u({level:"ERROR",message:e.message}),new l(e.message,e.stack))})),e.exports={fdkAxios:m}},3010:(e,t,r)=>{const a=r(5379),{Logger:n}=r(8572),o=function(e,t=null){try{return e()}catch(e){return t}},s=function(e){if(!e||!Object.keys(e).length)return{query:null,position:null};if("search"===e.utm_medium)try{const t=e.utm_content?atob(e.utm_content):null;if(t){const e=t.split(":::");return{query:e[0]||null,position:e[1]||null}}}catch(e){return{query:null,position:null}}return{query:null,position:null}},i=function(){const e=(new Date).toISOString(),t=o((()=>window.config.application),null);return t&&Object.keys(t).length?{company_id:o((()=>t.company_id),0),company_mode:o((()=>t.mode),"live"),company_created_on:o((()=>t.company_created_on),e)}:{company_id:0,company_mode:"live",company_created_on:e}};"undefined"!=typeof window&&(window.FPI.event.on("user.login",(e=>{n({level:"DEBUG",message:e}),a.identify(e.user_id,{event_type:"identity",email:o((()=>e.email)),phone:o((()=>e.phone_number)),login_value:o((()=>e.login_value)),method:o((()=>e.method)),...i()}).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("user.update",(e=>{n({level:"DEBUG",message:e}),a.identify(e.used_id,{event_type:"identity",email:o((()=>e.email)),phone:o((()=>e.phone_number)),method:o((()=>e.method)),...i()}).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("user.logout",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("user_logout",{event_type:"identity",...i()}).catch((e=>{n({level:"ERROR",message:e})})),a.reset().catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("wishlist.add",(e=>{n({level:"DEBUG",message:e});const t={wishlist_name:"TODO",wishlist_id:"TODO",event_type:"engagement",product_id:o((()=>e.item.uid)),brand:o((()=>e.item.brand.name)),l3_category:o((()=>e.item.categories[0].name)),mrp:o((()=>e.item.price.marked.max)),quantity:"TODO",esp:o((()=>e.item.price.effective.min)),currency:o((()=>e.item.price.effective.currency_code)),value:"TODO",source_url:"TODO",...i()},r=s(e.utm_params);a.sendEvent("product_wishlist_add",{...t,...r}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("wishlist.remove",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("product_wishlist_remove",{wishlist_name:"TODO",wishlist_id:"TODO",event_type:"engagement",product_id:o((()=>e.item.uid)),brand:o((()=>e.item.brand.name)),l3_category:o((()=>e.item.categories[0].name)),mrp:o((()=>e.item.price.marked.max)),quantity:"TODO",esp:o((()=>e.item.price.effective.min)),currency:o((()=>e.item.price.effective.currency_code)),value:"TODO",source_url:"TODO",...i()}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("cart.newProduct",(e=>{n({level:"DEBUG",message:e});const t={cart_id:e.cart_id,event_type:"engagement",product_id:o((()=>e.products[0].uid)),article_id:o((()=>e.products[0].article.uid)),brand:o((()=>e.products[0].brand.name)),l3_category:o((()=>e.products[0].category.name)),l1_category:"TODO",currency:o((()=>e.products[0].price.currency_code)),price:o((()=>e.products[0].price.selling)),quantity:o((()=>e.products[0].quantity.current)),source_url:"TODO",position:null,query:null,value:"TODO",...i()},r=s(e.utm_params);a.sendEvent("add_to_cart",{...t,...r}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("cart.remove",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("remove_from_cart",{cart_id:e.cart_id,event_type:"engagement",product_id:o((()=>e.products[0].uid)),brand:o((()=>e.products[0].brand.name)),l3_category:o((()=>e.products[0].category.name)),l1_category:"TODO",currency:o((()=>e.products[0].price.currency_code)),price:o((()=>e.products[0].price.selling)),quantity:o((()=>e.products[0].quantity.current)),source_url:"TODO",position:null,value:"TODO",...i()}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("order.processed",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("order_complete",{event_type:"conversion",...e,...i()}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("refund.success",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("order_refunded",{event_type:"conversion",...e,...i()}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("order.checkout",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("order_checkout",{event_type:"conversion",cart_id:e.cart_id,cart_total:o((()=>e.breakup_values_raw.mrp_total)),items:o((()=>e.products.lenght)),shipping:o((()=>e.breakup_values_raw.delivery_charge)),tax:o((()=>e.breakup_values_raw.gst_charges)),order_total:o((()=>e.breakup_values_raw.total)),currency:o((()=>e.products[0].price.currency_code)),products:e.products.map((e=>({product_id:e.uid,l3_category:o((()=>e.category.name)),l1_category:"TODO",quantity:o((()=>e.quantity.current)),price:o((()=>e.price.marked)),value:o((()=>e.price.effective)),currency:o((()=>e.price.currency_code)),article_id:o((()=>e.article.uid))}))),...i()}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("order.checkedout",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("order_checkedout",{event_type:"conversion",cart_id:e.cart_id,cart_total:o((()=>e.breakup_values_raw.mrp_total)),item_total:o((()=>e.products.length)),shipping:o((()=>e.breakup_values_raw.delivery_charge)),tax:o((()=>e.breakup_values_raw.gst_charges)),order_total:o((()=>e.breakup_values_raw.total)),currency:o((()=>e.products[0].price.currency_code)),order_id:o((()=>e.order_id)),products:e.products.map((e=>({product_id:e.uid,l3_category:o((()=>e.category.name)),l1_category:"TODO",quantity:o((()=>e.quantity.current)),price:o((()=>e.price.marked)),value:o((()=>e.price.effective)),currency:o((()=>e.price.currency_code)),article_id:o((()=>e.article.uid))}))),...i()}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("product_list.view",(e=>{n({level:"DEBUG",message:e}),a.sendEvent("product_listing",{event_type:"impression",query:o((()=>e.slug.q)),products:e.items.map((e=>({product_id:e.uid,name:e.name,currency:o((()=>e.price.effective.currency_code)),mrp:o((()=>e.price.effective.max)),esp:o((()=>e.price.effective.min)),source_url:e.url,brand:o((()=>e.brand.name))}))),item_total:o((()=>e.page.item_total)),...i()})})),window.FPI.event.on("product.view",(e=>{n({level:"DEBUG",message:e});const t={event_type:"click",product_id:o((()=>e.product.uid)),currency:o((()=>e.product.price.currency_code)),brand:o((()=>e.product.brand.name)),l3_category:o((()=>e.product.l3_category)),mrp:o((()=>e.product.price.max)),esp:o((()=>e.product.price.min)),l1_category:o((()=>e.product.l1_category)),source_url:o((()=>e.product.source_url)),quantity:o((()=>e.product.sizes[0].quantity)),position:null,query:null},r=s(e.utm_params);a.sendEvent("product_view",{...t,...r,...i()}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("search.products",(e=>{n({level:"DEBUG",message:e});const t={event_type:"search",query:e.search_text,products:[],item_total:null};let r=[];e.data&&e.data.length>0&&(r=e.data.filter((e=>{if("product"===e.type&&e.categories||e.product)return!0})).map((e=>e.display||e.name)));const s=o((()=>e.page.item_total?e.page.item_total:0));t.query&&a.sendEvent("product_search",{...t,products:r,item_total:s,...i()}).then((e=>{n({level:"DEBUG",message:"Click event sent"})})).catch((e=>{n({level:"ERROR",message:e})}))})),window.FPI.event.on("product_list.filter",(e=>{n({level:"DEBUG",message:e})})))},1235:e=>{class t extends Error{constructor(e,t,r=null,a=null,n=null){super(e),this.name="FDKServerResponseError",this.stackTrace=t,this.status=r,this.code=a,this.details=n}}class r extends Error{constructor(e){super(e.message),this.name="FDKClientValidationError",this.details=e.details}}class a extends Error{constructor(e){super(e.message),this.name="FDKResponseValidationError",this.details=JSON.parse(JSON.stringify(e.details))}}class n extends Error{constructor(e){super(e),this.name="FDKInvalidCredentialError"}}class o extends Error{constructor(e){super(e),this.name="FDKTokenIssueError"}}class s extends Error{constructor(e){super(e),this.name="FDKOAuthCodeError"}}class i extends Error{constructor(e){super(e),this.name="FDKException"}}e.exports={FDKServerResponseError:t,FDKClientValidationError:r,FDKResponseValidationError:a,FDKInvalidCredentialError:n,FDKTokenIssueError:o,FDKOAuthCodeError:s,FDKException:i}},8572:(e,t,r)=>{const a=r(3065),n=r(8330).version;function o(){return(new Date).toString()}e.exports={log:a,Logger:function(e){const{level:t,message:r,...s}=e;"TRACE"===t&&a.trace(JSON.stringify({level:t,detail:r,...s,time:o(),version:n})),"DEBUG"===t&&a.debug(JSON.stringify({level:t,detail:r,...s,time:o(),version:n})),"INFO"===t&&a.info(JSON.stringify({level:t,detail:r,...s,time:o(),version:n})),"WARN"===t&&a.warn(JSON.stringify({level:t,detail:r,...s,time:o(),version:n})),"ERROR"===t&&a.error(JSON.stringify({level:t,detail:r,...s,time:o(),version:n}))},setLoggerLevel:function(e){a.setLevel(e)},getLoggerLevel:function(){return a.getLevel()}}},1121:e=>{e.exports=class{constructor(e){this.pageNo=e,this.callback=void 0}setCallback(e){this.callback=e}hasNext(){return this.isNext}setPaginator({hasNext:e,nextId:t,pageNo:r=1}){this.isNext=e,this.nextId=t,this.pageNo=r}next(){return this.callback()}}},4790:(e,t,r)=>{const a=r(6663),{combineURLs:n,isAbsoluteURL:o}=r(8879);let s;e.exports=function(e){return s=e,`curl ${`--request ${s.method.toUpperCase()}`.trim()} "${function(){let e=s.url;s.baseURL&&!o(e)&&(e=n(s.baseURL,e).trim());let{search:t}=new URL(e);queryParamObject={...a.parse(t),...s.params};let r="";return queryParamObject&&Object.keys(queryParamObject).length&&""!==a.stringify(queryParamObject).trim()&&(r=`?${a.stringify(queryParamObject).trim()}`),`${e}${t.trim()}${r}`}()}" ${function(){let e=["common","delete","get","head","post","put","patch"],t={};s.headers[s.method]&&(t=s.headers[s.method]),t=Object.keys(t).reduce(((e,r)=>(e[r.toLowerCase()]=t[r],e)),{});for(let r in s.headers)e.includes(r)||(s.headers[r]instanceof Object?t[r.toLowerCase()]=JSON.stringify(s.headers[r]):t[r.toLowerCase()]=s.headers[r]);let r="";for(let e in t)r+=` --header '${e}: ${t[e]}'`;return r.trim()}()} ${"GET"!==s.method.toUpperCase()&&null!==s.data&&""!==s.data&&s.data?`--data-raw '${JSON.stringify(s.data)}'`.trim():""}`.trim()}},8879:(e,t,r)=>{const{FDKException:a}=r(1235),n=":::",o=e=>{let t="";for(const r in e)if("object"!=typeof e[r]&&e[r]){const a=encodeURIComponent(e[r]);t+=`${r}=${a}&`}else Array.isArray(e[r])?e[r].forEach((e=>{const a=encodeURIComponent(e);t+=`${r}=${a}&`})):"object"==typeof e[r]&&e[r]&&(t+=o(e[r]));return t?t.slice(0,-1):t},s=(e="",t="/")=>{for(;e.charAt(0)==t;)e=e.substring(1);for(;e.charAt(e.length-1)==t;)e=e.substring(0,e.length-1);return e},i=()=>"undefined"!=typeof window&&void 0!==window.document,l=()=>"undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node;e.exports={transformRequestOptions:o,getParamsFromItem:e=>{let t="";for(let r in e)if(Array.isArray(e[r])){for(let a=0;a{let t=e.split("?");if(t.length>1){const e=new URLSearchParams(t[1]);let r={};for(let t of e){let e=t[0],a=t[1];r[e]=r[e]?[...r[e],a]:[a]}return r}return{}},trimChar:s,generateUrlWithParams:(e={},t)=>{if(!e||!e.link)return"";if(!t)return`/${s(e.link.split(":")[0])}`;const r={};for(let e in t)if(Array.isArray(t[e])){let a="";for(let r=0;r{let r={value:"",params:{}};t=s(t);for(let a=0;a{if(l())return Buffer.from(e,"utf-8").toString("base64");if(i())return window.btoa(e);throw new a("Base64 conversion error: Unsupported environment")},isBrowser:i,isNode:l,NAV_TYPE:{PAGE:"page",POPUP:"popup"},combineURLs:function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e},isAbsoluteURL:function(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}}},6425:(e,t,r)=>{"use strict";function a(e,t){return function(){return e.apply(t,arguments)}}const{toString:n}=Object.prototype,{getPrototypeOf:o}=Object,s=(i=Object.create(null),e=>{const t=n.call(e);return i[t]||(i[t]=t.slice(8,-1).toLowerCase())});var i;const l=e=>(e=e.toLowerCase(),t=>s(t)===e),c=e=>t=>typeof t===e,{isArray:u}=Array,d=c("undefined"),p=l("ArrayBuffer"),g=c("string"),m=c("function"),f=c("number"),w=e=>null!==e&&"object"==typeof e,y=e=>{if("object"!==s(e))return!1;const t=o(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},b=l("Date"),h=l("File"),_=l("Blob"),v=l("FileList"),k=l("URLSearchParams"),[R,P,j,C]=["ReadableStream","Request","Response","Headers"].map(l);function q(e,t,{allOwnKeys:r=!1}={}){if(null==e)return;let a,n;if("object"!=typeof e&&(e=[e]),u(e))for(a=0,n=e.length;a0;)if(a=r[n],t===a.toLowerCase())return a;return null}const A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:r.g,E=e=>!d(e)&&e!==A,U=(H="undefined"!=typeof Uint8Array&&o(Uint8Array),e=>H&&e instanceof H);var H;const x=l("HTMLFormElement"),O=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),I=l("RegExp"),$=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),a={};q(r,((r,n)=>{let o;!1!==(o=t(r,n,e))&&(a[n]=o||r)})),Object.defineProperties(e,a)},N="abcdefghijklmnopqrstuvwxyz",D="0123456789",W={DIGIT:D,ALPHA:N,ALPHA_DIGIT:N+N.toUpperCase()+D},L=l("AsyncFunction"),T=(V="function"==typeof setImmediate,B=m(A.postMessage),V?setImmediate:B?(F=`axios@${Math.random()}`,M=[],A.addEventListener("message",(({source:e,data:t})=>{e===A&&t===F&&M.length&&M.shift()()}),!1),e=>{M.push(e),A.postMessage(F,"*")}):e=>setTimeout(e));var V,B,F,M;const z="undefined"!=typeof queueMicrotask?queueMicrotask.bind(A):"undefined"!=typeof process&&process.nextTick||T;var G={isArray:u,isArrayBuffer:p,isBuffer:function(e){return null!==e&&!d(e)&&null!==e.constructor&&!d(e.constructor)&&m(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||m(e.append)&&("formdata"===(t=s(e))||"object"===t&&m(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&p(e.buffer),t},isString:g,isNumber:f,isBoolean:e=>!0===e||!1===e,isObject:w,isPlainObject:y,isReadableStream:R,isRequest:P,isResponse:j,isHeaders:C,isUndefined:d,isDate:b,isFile:h,isBlob:_,isRegExp:I,isFunction:m,isStream:e=>w(e)&&m(e.pipe),isURLSearchParams:k,isTypedArray:U,isFileList:v,forEach:q,merge:function e(){const{caseless:t}=E(this)&&this||{},r={},a=(a,n)=>{const o=t&&S(r,n)||n;y(r[o])&&y(a)?r[o]=e(r[o],a):y(a)?r[o]=e({},a):u(a)?r[o]=a.slice():r[o]=a};for(let e=0,t=arguments.length;e(q(t,((t,n)=>{r&&m(t)?e[n]=a(t,r):e[n]=t}),{allOwnKeys:n}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,r,a)=>{e.prototype=Object.create(t.prototype,a),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},toFlatObject:(e,t,r,a)=>{let n,s,i;const l={};if(t=t||{},null==e)return t;do{for(n=Object.getOwnPropertyNames(e),s=n.length;s-- >0;)i=n[s],a&&!a(i,e,t)||l[i]||(t[i]=e[i],l[i]=!0);e=!1!==r&&o(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:s,kindOfTest:l,endsWith:(e,t,r)=>{e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;const a=e.indexOf(t,r);return-1!==a&&a===r},toArray:e=>{if(!e)return null;if(u(e))return e;let t=e.length;if(!f(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},forEachEntry:(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let a;for(;(a=r.next())&&!a.done;){const r=a.value;t.call(e,r[0],r[1])}},matchAll:(e,t)=>{let r;const a=[];for(;null!==(r=e.exec(t));)a.push(r);return a},isHTMLForm:x,hasOwnProperty:O,hasOwnProp:O,reduceDescriptors:$,freezeMethods:e=>{$(e,((t,r)=>{if(m(e)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;const a=e[r];m(a)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:(e,t)=>{const r={},a=e=>{e.forEach((e=>{r[e]=!0}))};return u(e)?a(e):a(String(e).split(t)),r},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:S,global:A,isContextDefined:E,ALPHABET:W,generateString:(e=16,t=W.ALPHA_DIGIT)=>{let r="";const{length:a}=t;for(;e--;)r+=t[Math.random()*a|0];return r},isSpecCompliantForm:function(e){return!!(e&&m(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),r=(e,a)=>{if(w(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[a]=e;const n=u(e)?[]:{};return q(e,((e,t)=>{const o=r(e,a+1);!d(o)&&(n[t]=o)})),t[a]=void 0,n}}return e};return r(e,0)},isAsyncFn:L,isThenable:e=>e&&(w(e)||m(e))&&m(e.then)&&m(e.catch),setImmediate:T,asap:z};function K(e,t,r,a,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),a&&(this.request=a),n&&(this.response=n)}G.inherits(K,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:G.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Q=K.prototype,J={};function Z(e){return G.isPlainObject(e)||G.isArray(e)}function Y(e){return G.endsWith(e,"[]")?e.slice(0,-2):e}function X(e,t,r){return e?e.concat(t).map((function(e,t){return e=Y(e),!r&&t?"["+e+"]":e})).join(r?".":""):t}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{J[e]={value:e}})),Object.defineProperties(K,J),Object.defineProperty(Q,"isAxiosError",{value:!0}),K.from=(e,t,r,a,n,o)=>{const s=Object.create(Q);return G.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),K.call(s,e.message,t,r,a,n),s.cause=e,s.name=e.name,o&&Object.assign(s,o),s};const ee=G.toFlatObject(G,{},null,(function(e){return/^is[A-Z]/.test(e)}));function te(e,t,r){if(!G.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const a=(r=G.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!G.isUndefined(t[e])}))).metaTokens,n=r.visitor||c,o=r.dots,s=r.indexes,i=(r.Blob||"undefined"!=typeof Blob&&Blob)&&G.isSpecCompliantForm(t);if(!G.isFunction(n))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(G.isDate(e))return e.toISOString();if(!i&&G.isBlob(e))throw new K("Blob is not supported. Use a Buffer instead.");return G.isArrayBuffer(e)||G.isTypedArray(e)?i&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,r,n){let i=e;if(e&&!n&&"object"==typeof e)if(G.endsWith(r,"{}"))r=a?r:r.slice(0,-2),e=JSON.stringify(e);else if(G.isArray(e)&&function(e){return G.isArray(e)&&!e.some(Z)}(e)||(G.isFileList(e)||G.endsWith(r,"[]"))&&(i=G.toArray(e)))return r=Y(r),i.forEach((function(e,a){!G.isUndefined(e)&&null!==e&&t.append(!0===s?X([r],a,o):null===s?r:r+"[]",l(e))})),!1;return!!Z(e)||(t.append(X(n,r,o),l(e)),!1)}const u=[],d=Object.assign(ee,{defaultVisitor:c,convertValue:l,isVisitable:Z});if(!G.isObject(e))throw new TypeError("data must be an object");return function e(r,a){if(!G.isUndefined(r)){if(-1!==u.indexOf(r))throw Error("Circular reference detected in "+a.join("."));u.push(r),G.forEach(r,(function(r,o){!0===(!(G.isUndefined(r)||null===r)&&n.call(t,r,G.isString(o)?o.trim():o,a,d))&&e(r,a?a.concat(o):[o])})),u.pop()}}(e),t}function re(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function ae(e,t){this._pairs=[],e&&te(e,this,t)}const ne=ae.prototype;function oe(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function se(e,t,r){if(!t)return e;const a=r&&r.encode||oe,n=r&&r.serialize;let o;if(o=n?n(t,r):G.isURLSearchParams(t)?t.toString():new ae(t,r).toString(a),o){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}ne.append=function(e,t){this._pairs.push([e,t])},ne.toString=function(e){const t=e?function(t){return e.call(this,t,re)}:re;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var ie=class{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){G.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},le={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},ce={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:ae,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]};const ue="undefined"!=typeof window&&"undefined"!=typeof document,de=(pe="undefined"!=typeof navigator&&navigator.product,ue&&["ReactNative","NativeScript","NS"].indexOf(pe)<0);var pe;const ge="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,me=ue&&window.location.href||"http://localhost";var fe={...Object.freeze({__proto__:null,hasBrowserEnv:ue,hasStandardBrowserWebWorkerEnv:ge,hasStandardBrowserEnv:de,origin:me}),...ce};function we(e){function t(e,r,a,n){let o=e[n++];if("__proto__"===o)return!0;const s=Number.isFinite(+o),i=n>=e.length;return o=!o&&G.isArray(a)?a.length:o,i?(G.hasOwnProp(a,o)?a[o]=[a[o],r]:a[o]=r,!s):(a[o]&&G.isObject(a[o])||(a[o]=[]),t(e,r,a[o],n)&&G.isArray(a[o])&&(a[o]=function(e){const t={},r=Object.keys(e);let a;const n=r.length;let o;for(a=0;a{t(function(e){return G.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),a,r,0)})),r}return null}const ye={transitional:le,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const r=t.getContentType()||"",a=r.indexOf("application/json")>-1,n=G.isObject(e);if(n&&G.isHTMLForm(e)&&(e=new FormData(e)),G.isFormData(e))return a?JSON.stringify(we(e)):e;if(G.isArrayBuffer(e)||G.isBuffer(e)||G.isStream(e)||G.isFile(e)||G.isBlob(e)||G.isReadableStream(e))return e;if(G.isArrayBufferView(e))return e.buffer;if(G.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let o;if(n){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return te(e,new fe.classes.URLSearchParams,Object.assign({visitor:function(e,t,r,a){return fe.isNode&&G.isBuffer(e)?(this.append(t,e.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((o=G.isFileList(e))||r.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return te(o?{"files[]":e}:e,t&&new t,this.formSerializer)}}return n||a?(t.setContentType("application/json",!1),function(e){if(G.isString(e))try{return(0,JSON.parse)(e),G.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||ye.transitional,r=t&&t.forcedJSONParsing,a="json"===this.responseType;if(G.isResponse(e)||G.isReadableStream(e))return e;if(e&&G.isString(e)&&(r&&!this.responseType||a)){const r=!(t&&t.silentJSONParsing)&&a;try{return JSON.parse(e)}catch(e){if(r){if("SyntaxError"===e.name)throw K.from(e,K.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:fe.classes.FormData,Blob:fe.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};G.forEach(["delete","get","head","post","put","patch"],(e=>{ye.headers[e]={}}));var be=ye;const he=G.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),_e=Symbol("internals");function ve(e){return e&&String(e).trim().toLowerCase()}function ke(e){return!1===e||null==e?e:G.isArray(e)?e.map(ke):String(e)}function Re(e,t,r,a,n){return G.isFunction(a)?a.call(this,t,r):(n&&(t=r),G.isString(t)?G.isString(a)?-1!==t.indexOf(a):G.isRegExp(a)?a.test(t):void 0:void 0)}class Pe{constructor(e){e&&this.set(e)}set(e,t,r){const a=this;function n(e,t,r){const n=ve(t);if(!n)throw new Error("header name must be a non-empty string");const o=G.findKey(a,n);(!o||void 0===a[o]||!0===r||void 0===r&&!1!==a[o])&&(a[o||t]=ke(e))}const o=(e,t)=>G.forEach(e,((e,r)=>n(e,r,t)));if(G.isPlainObject(e)||e instanceof this.constructor)o(e,t);else if(G.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))o((e=>{const t={};let r,a,n;return e&&e.split("\n").forEach((function(e){n=e.indexOf(":"),r=e.substring(0,n).trim().toLowerCase(),a=e.substring(n+1).trim(),!r||t[r]&&he[r]||("set-cookie"===r?t[r]?t[r].push(a):t[r]=[a]:t[r]=t[r]?t[r]+", "+a:a)})),t})(e),t);else if(G.isHeaders(e))for(const[t,a]of e.entries())n(a,t,r);else null!=e&&n(t,e,r);return this}get(e,t){if(e=ve(e)){const r=G.findKey(this,e);if(r){const e=this[r];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let a;for(;a=r.exec(e);)t[a[1]]=a[2];return t}(e);if(G.isFunction(t))return t.call(this,e,r);if(G.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=ve(e)){const r=G.findKey(this,e);return!(!r||void 0===this[r]||t&&!Re(0,this[r],r,t))}return!1}delete(e,t){const r=this;let a=!1;function n(e){if(e=ve(e)){const n=G.findKey(r,e);!n||t&&!Re(0,r[n],n,t)||(delete r[n],a=!0)}}return G.isArray(e)?e.forEach(n):n(e),a}clear(e){const t=Object.keys(this);let r=t.length,a=!1;for(;r--;){const n=t[r];e&&!Re(0,this[n],n,e,!0)||(delete this[n],a=!0)}return a}normalize(e){const t=this,r={};return G.forEach(this,((a,n)=>{const o=G.findKey(r,n);if(o)return t[o]=ke(a),void delete t[n];const s=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,r)=>t.toUpperCase()+r))}(n):String(n).trim();s!==n&&delete t[n],t[s]=ke(a),r[s]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return G.forEach(this,((r,a)=>{null!=r&&!1!==r&&(t[a]=e&&G.isArray(r)?r.join(", "):r)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);return t.forEach((e=>r.set(e))),r}static accessor(e){const t=(this[_e]=this[_e]={accessors:{}}).accessors,r=this.prototype;function a(e){const a=ve(e);t[a]||(function(e,t){const r=G.toCamelCase(" "+t);["get","set","has"].forEach((a=>{Object.defineProperty(e,a+r,{value:function(e,r,n){return this[a].call(this,t,e,r,n)},configurable:!0})}))}(r,e),t[a]=!0)}return G.isArray(e)?e.forEach(a):a(e),this}}Pe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),G.reduceDescriptors(Pe.prototype,(({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[r]=e}}})),G.freezeMethods(Pe);var je=Pe;function Ce(e,t){const r=this||be,a=t||r,n=je.from(a.headers);let o=a.data;return G.forEach(e,(function(e){o=e.call(r,o,n.normalize(),t?t.status:void 0)})),n.normalize(),o}function qe(e){return!(!e||!e.__CANCEL__)}function Se(e,t,r){K.call(this,null==e?"canceled":e,K.ERR_CANCELED,t,r),this.name="CanceledError"}function Ae(e,t,r){const a=r.config.validateStatus;r.status&&a&&!a(r.status)?t(new K("Request failed with status code "+r.status,[K.ERR_BAD_REQUEST,K.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):e(r)}G.inherits(Se,K,{__CANCEL__:!0});const Ee=(e,t,r=3)=>{let a=0;const n=function(e,t){e=e||10;const r=new Array(e),a=new Array(e);let n,o=0,s=0;return t=void 0!==t?t:1e3,function(i){const l=Date.now(),c=a[s];n||(n=l),r[o]=i,a[o]=l;let u=s,d=0;for(;u!==o;)d+=r[u++],u%=e;if(o=(o+1)%e,o===s&&(s=(s+1)%e),l-n{n=o,r=null,a&&(clearTimeout(a),a=null),e.apply(null,t)};return[(...e)=>{const t=Date.now(),i=t-n;i>=o?s(e,t):(r=e,a||(a=setTimeout((()=>{a=null,s(r)}),o-i)))},()=>r&&s(r)]}((r=>{const o=r.loaded,s=r.lengthComputable?r.total:void 0,i=o-a,l=n(i);a=o,e({loaded:o,total:s,progress:s?o/s:void 0,bytes:i,rate:l||void 0,estimated:l&&s&&o<=s?(s-o)/l:void 0,event:r,lengthComputable:null!=s,[t?"download":"upload"]:!0})}),r)},Ue=(e,t)=>{const r=null!=e;return[a=>t[0]({lengthComputable:r,total:e,loaded:a}),t[1]]},He=e=>(...t)=>G.asap((()=>e(...t)));var xe=fe.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let r;function a(r){let a=r;return e&&(t.setAttribute("href",a),a=t.href),t.setAttribute("href",a),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return r=a(window.location.href),function(e){const t=G.isString(e)?a(e):e;return t.protocol===r.protocol&&t.host===r.host}}():function(){return!0},Oe=fe.hasStandardBrowserEnv?{write(e,t,r,a,n,o){const s=[e+"="+encodeURIComponent(t)];G.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),G.isString(a)&&s.push("path="+a),G.isString(n)&&s.push("domain="+n),!0===o&&s.push("secure"),document.cookie=s.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function Ie(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const $e=e=>e instanceof je?{...e}:e;function Ne(e,t){t=t||{};const r={};function a(e,t,r){return G.isPlainObject(e)&&G.isPlainObject(t)?G.merge.call({caseless:r},e,t):G.isPlainObject(t)?G.merge({},t):G.isArray(t)?t.slice():t}function n(e,t,r){return G.isUndefined(t)?G.isUndefined(e)?void 0:a(void 0,e,r):a(e,t,r)}function o(e,t){if(!G.isUndefined(t))return a(void 0,t)}function s(e,t){return G.isUndefined(t)?G.isUndefined(e)?void 0:a(void 0,e):a(void 0,t)}function i(r,n,o){return o in t?a(r,n):o in e?a(void 0,r):void 0}const l={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:i,headers:(e,t)=>n($e(e),$e(t),!0)};return G.forEach(Object.keys(Object.assign({},e,t)),(function(a){const o=l[a]||n,s=o(e[a],t[a],a);G.isUndefined(s)&&o!==i||(r[a]=s)})),r}var De=e=>{const t=Ne({},e);let r,{data:a,withXSRFToken:n,xsrfHeaderName:o,xsrfCookieName:s,headers:i,auth:l}=t;if(t.headers=i=je.from(i),t.url=se(Ie(t.baseURL,t.url),e.params,e.paramsSerializer),l&&i.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):""))),G.isFormData(a))if(fe.hasStandardBrowserEnv||fe.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(!1!==(r=i.getContentType())){const[e,...t]=r?r.split(";").map((e=>e.trim())).filter(Boolean):[];i.setContentType([e||"multipart/form-data",...t].join("; "))}if(fe.hasStandardBrowserEnv&&(n&&G.isFunction(n)&&(n=n(t)),n||!1!==n&&xe(t.url))){const e=o&&s&&Oe.read(s);e&&i.set(o,e)}return t},We="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,r){const a=De(e);let n=a.data;const o=je.from(a.headers).normalize();let s,i,l,c,u,{responseType:d,onUploadProgress:p,onDownloadProgress:g}=a;function m(){c&&c(),u&&u(),a.cancelToken&&a.cancelToken.unsubscribe(s),a.signal&&a.signal.removeEventListener("abort",s)}let f=new XMLHttpRequest;function w(){if(!f)return;const a=je.from("getAllResponseHeaders"in f&&f.getAllResponseHeaders());Ae((function(e){t(e),m()}),(function(e){r(e),m()}),{data:d&&"text"!==d&&"json"!==d?f.response:f.responseText,status:f.status,statusText:f.statusText,headers:a,config:e,request:f}),f=null}f.open(a.method.toUpperCase(),a.url,!0),f.timeout=a.timeout,"onloadend"in f?f.onloadend=w:f.onreadystatechange=function(){f&&4===f.readyState&&(0!==f.status||f.responseURL&&0===f.responseURL.indexOf("file:"))&&setTimeout(w)},f.onabort=function(){f&&(r(new K("Request aborted",K.ECONNABORTED,e,f)),f=null)},f.onerror=function(){r(new K("Network Error",K.ERR_NETWORK,e,f)),f=null},f.ontimeout=function(){let t=a.timeout?"timeout of "+a.timeout+"ms exceeded":"timeout exceeded";const n=a.transitional||le;a.timeoutErrorMessage&&(t=a.timeoutErrorMessage),r(new K(t,n.clarifyTimeoutError?K.ETIMEDOUT:K.ECONNABORTED,e,f)),f=null},void 0===n&&o.setContentType(null),"setRequestHeader"in f&&G.forEach(o.toJSON(),(function(e,t){f.setRequestHeader(t,e)})),G.isUndefined(a.withCredentials)||(f.withCredentials=!!a.withCredentials),d&&"json"!==d&&(f.responseType=a.responseType),g&&([l,u]=Ee(g,!0),f.addEventListener("progress",l)),p&&f.upload&&([i,c]=Ee(p),f.upload.addEventListener("progress",i),f.upload.addEventListener("loadend",c)),(a.cancelToken||a.signal)&&(s=t=>{f&&(r(!t||t.type?new Se(null,e,f):t),f.abort(),f=null)},a.cancelToken&&a.cancelToken.subscribe(s),a.signal&&(a.signal.aborted?s():a.signal.addEventListener("abort",s)));const y=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(a.url);y&&-1===fe.protocols.indexOf(y)?r(new K("Unsupported protocol "+y+":",K.ERR_BAD_REQUEST,e)):f.send(n||null)}))},Le=(e,t)=>{let r,a=new AbortController;const n=function(e){if(!r){r=!0,s();const t=e instanceof Error?e:this.reason;a.abort(t instanceof K?t:new Se(t instanceof Error?t.message:t))}};let o=t&&setTimeout((()=>{n(new K(`timeout ${t} of ms exceeded`,K.ETIMEDOUT))}),t);const s=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach((e=>{e&&(e.removeEventListener?e.removeEventListener("abort",n):e.unsubscribe(n))})),e=null)};e.forEach((e=>e&&e.addEventListener&&e.addEventListener("abort",n)));const{signal:i}=a;return i.unsubscribe=s,[i,()=>{o&&clearTimeout(o),o=null}]};const Te=function*(e,t){let r=e.byteLength;if(!t||r{const o=async function*(e,t,r){for await(const a of e)yield*Te(ArrayBuffer.isView(a)?a:await r(String(a)),t)}(e,t,n);let s,i=0,l=e=>{s||(s=!0,a&&a(e))};return new ReadableStream({async pull(e){try{const{done:t,value:a}=await o.next();if(t)return l(),void e.close();let n=a.byteLength;if(r){let e=i+=n;r(e)}e.enqueue(new Uint8Array(a))}catch(e){throw l(e),e}},cancel:e=>(l(e),o.return())},{highWaterMark:2})},Be="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,Fe=Be&&"function"==typeof ReadableStream,Me=Be&&("function"==typeof TextEncoder?(ze=new TextEncoder,e=>ze.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var ze;const Ge=(e,...t)=>{try{return!!e(...t)}catch(e){return!1}},Ke=Fe&&Ge((()=>{let e=!1;const t=new Request(fe.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})),Qe=Fe&&Ge((()=>G.isReadableStream(new Response("").body))),Je={stream:Qe&&(e=>e.body)};var Ze;Be&&(Ze=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!Je[e]&&(Je[e]=G.isFunction(Ze[e])?t=>t[e]():(t,r)=>{throw new K(`Response type '${e}' is not supported`,K.ERR_NOT_SUPPORT,r)})})));const Ye={http:null,xhr:We,fetch:Be&&(async e=>{let{url:t,method:r,data:a,signal:n,cancelToken:o,timeout:s,onDownloadProgress:i,onUploadProgress:l,responseType:c,headers:u,withCredentials:d="same-origin",fetchOptions:p}=De(e);c=c?(c+"").toLowerCase():"text";let g,m,[f,w]=n||o||s?Le([n,o],s):[];const y=()=>{!g&&setTimeout((()=>{f&&f.unsubscribe()})),g=!0};let b;try{if(l&&Ke&&"get"!==r&&"head"!==r&&0!==(b=await(async(e,t)=>{const r=G.toFiniteNumber(e.getContentLength());return null==r?(async e=>null==e?0:G.isBlob(e)?e.size:G.isSpecCompliantForm(e)?(await new Request(e).arrayBuffer()).byteLength:G.isArrayBufferView(e)||G.isArrayBuffer(e)?e.byteLength:(G.isURLSearchParams(e)&&(e+=""),G.isString(e)?(await Me(e)).byteLength:void 0))(t):r})(u,a))){let e,r=new Request(t,{method:"POST",body:a,duplex:"half"});if(G.isFormData(a)&&(e=r.headers.get("content-type"))&&u.setContentType(e),r.body){const[e,t]=Ue(b,Ee(He(l)));a=Ve(r.body,65536,e,t,Me)}}G.isString(d)||(d=d?"include":"omit"),m=new Request(t,{...p,signal:f,method:r.toUpperCase(),headers:u.normalize().toJSON(),body:a,duplex:"half",credentials:d});let n=await fetch(m);const o=Qe&&("stream"===c||"response"===c);if(Qe&&(i||o)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=n[t]}));const t=G.toFiniteNumber(n.headers.get("content-length")),[r,a]=i&&Ue(t,Ee(He(i),!0))||[];n=new Response(Ve(n.body,65536,r,(()=>{a&&a(),o&&y()}),Me),e)}c=c||"text";let s=await Je[G.findKey(Je,c)||"text"](n,e);return!o&&y(),w&&w(),await new Promise(((t,r)=>{Ae(t,r,{data:s,headers:je.from(n.headers),status:n.status,statusText:n.statusText,config:e,request:m})}))}catch(t){if(y(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new K("Network Error",K.ERR_NETWORK,e,m),{cause:t.cause||t});throw K.from(t,t&&t.code,e,m)}})};G.forEach(Ye,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const Xe=e=>`- ${e}`,et=e=>G.isFunction(e)||null===e||!1===e;var tt=e=>{e=G.isArray(e)?e:[e];const{length:t}=e;let r,a;const n={};for(let o=0;o`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));throw new K("There is no suitable adapter to dispatch the request "+(t?e.length>1?"since :\n"+e.map(Xe).join("\n"):" "+Xe(e[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return a};function rt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Se(null,e)}function at(e){return rt(e),e.headers=je.from(e.headers),e.data=Ce.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),tt(e.adapter||be.adapter)(e).then((function(t){return rt(e),t.data=Ce.call(e,e.transformResponse,t),t.headers=je.from(t.headers),t}),(function(t){return qe(t)||(rt(e),t&&t.response&&(t.response.data=Ce.call(e,e.transformResponse,t.response),t.response.headers=je.from(t.response.headers))),Promise.reject(t)}))}const nt={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{nt[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));const ot={};nt.transitional=function(e,t,r){function a(e,t){return"[Axios v1.7.4] Transitional option '"+e+"'"+t+(r?". "+r:"")}return(r,n,o)=>{if(!1===e)throw new K(a(n," has been removed"+(t?" in "+t:"")),K.ERR_DEPRECATED);return t&&!ot[n]&&(ot[n]=!0,console.warn(a(n," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,n,o)}};var st={assertOptions:function(e,t,r){if("object"!=typeof e)throw new K("options must be an object",K.ERR_BAD_OPTION_VALUE);const a=Object.keys(e);let n=a.length;for(;n-- >0;){const o=a[n],s=t[o];if(s){const t=e[o],r=void 0===t||s(t,o,e);if(!0!==r)throw new K("option "+o+" must be "+r,K.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new K("Unknown option "+o,K.ERR_BAD_OPTION)}},validators:nt};const it=st.validators;class lt{constructor(e){this.defaults=e,this.interceptors={request:new ie,response:new ie}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const r=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?r&&!String(e.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+r):e.stack=r}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Ne(this.defaults,t);const{transitional:r,paramsSerializer:a,headers:n}=t;void 0!==r&&st.assertOptions(r,{silentJSONParsing:it.transitional(it.boolean),forcedJSONParsing:it.transitional(it.boolean),clarifyTimeoutError:it.transitional(it.boolean)},!1),null!=a&&(G.isFunction(a)?t.paramsSerializer={serialize:a}:st.assertOptions(a,{encode:it.function,serialize:it.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=n&&G.merge(n.common,n[t.method]);n&&G.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete n[e]})),t.headers=je.concat(o,n);const s=[];let i=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(i=i&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));const l=[];let c;this.interceptors.response.forEach((function(e){l.push(e.fulfilled,e.rejected)}));let u,d=0;if(!i){const e=[at.bind(this),void 0];for(e.unshift.apply(e,s),e.push.apply(e,l),u=e.length,c=Promise.resolve(t);d{if(!r._listeners)return;let t=r._listeners.length;for(;t-- >0;)r._listeners[t](e);r._listeners=null})),this.promise.then=e=>{let t;const a=new Promise((e=>{r.subscribe(e),t=e})).then(e);return a.cancel=function(){r.unsubscribe(t)},a},e((function(e,a,n){r.reason||(r.reason=new Se(e,a,n),t(r.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new ut((function(t){e=t})),cancel:e}}}var dt=ut;const pt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(pt).forEach((([e,t])=>{pt[t]=e}));var gt=pt;const mt=function e(t){const r=new ct(t),n=a(ct.prototype.request,r);return G.extend(n,ct.prototype,r,{allOwnKeys:!0}),G.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return e(Ne(t,r))},n}(be);mt.Axios=ct,mt.CanceledError=Se,mt.CancelToken=dt,mt.isCancel=qe,mt.VERSION="1.7.4",mt.toFormData=te,mt.AxiosError=K,mt.Cancel=mt.CanceledError,mt.all=function(e){return Promise.all(e)},mt.spread=function(e){return function(t){return e.apply(null,t)}},mt.isAxiosError=function(e){return G.isObject(e)&&!0===e.isAxiosError},mt.mergeConfig=Ne,mt.AxiosHeaders=je,mt.formToJSON=e=>we(G.isHTMLForm(e)?new FormData(e):e),mt.getAdapter=tt,mt.HttpStatusCode=gt,mt.default=mt,e.exports=mt},8330:e=>{"use strict";e.exports=JSON.parse('{"name":"@gofynd/fdk-client-javascript","version":"1.4.10-beta.1","description":"","main":"index.js","scripts":{"test":"jest --coverage","lint":"eslint","test:standalone":"npm run build && npx cypress run","build":"webpack","prettier":"npx prettier -w ./sdk ./tests && npx tsc"},"author":"Jigar Dafda","license":"ISC","dependencies":{"axios":"^1.6.4","camelcase":"^6.3.0","joi":"^17.7.0","loglevel":"^1.8.1","query-string":"^7.1.3","@gofynd/fp-signature":"^1.0.1","@gofynd/flick":"^1.0.8"},"devDependencies":{"axios-cookiejar-support":"^4.0.6","axios-mock-adapter":"^1.21.2","clean-webpack-plugin":"^4.0.0","coveralls":"^3.1.1","eslint":"^8.57.0","cypress":"^9.2.0","dotenv":"^16.0.3","jest":"^29.5.0","tough-cookie":"^4.1.2","webpack":"^5.81.0","webpack-cli":"^5.0.2"},"files":["sdk/**/*.js","sdk/**/*.d.ts","./*.js","./*.d.ts","!**.config.*","!dist","!cypress"]}')}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var o=t[a]={exports:{}};return e[a].call(o.exports,o,o.exports,r),o.exports}r.amdO={},r.d=(e,t)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a=r(2675),n=window;for(var o in a)n[o]=a[o];a.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index edab4c903..67b77e38f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "@gofynd/fdk-client-javascript", - "version": "1.4.8-beta.3", + "version": "1.4.10-beta.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@gofynd/fdk-client-javascript", - "version": "1.4.8-beta.3", + "version": "1.4.10-beta.1", "license": "ISC", "dependencies": { - "@gofynd/flick": "^1.0.7", + "@gofynd/flick": "^1.0.8", "@gofynd/fp-signature": "^1.0.1", "axios": "^1.6.4", "camelcase": "^6.3.0", @@ -58,30 +58,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", - "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", + "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", - "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helpers": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -106,12 +106,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", - "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", + "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", "dev": true, "dependencies": { - "@babel/types": "^7.24.7", + "@babel/types": "^7.25.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -121,14 +121,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", - "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -145,43 +145,6 @@ "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", - "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", - "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-imports": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", @@ -196,16 +159,15 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", - "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-module-imports": "^7.24.7", "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -215,9 +177,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", - "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", "dev": true, "engines": { "node": ">=6.9.0" @@ -236,22 +198,10 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", - "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -267,22 +217,22 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", - "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", - "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", + "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", "dev": true, "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -375,10 +325,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", - "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", + "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", "dev": true, + "dependencies": { + "@babel/types": "^7.25.2" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -422,6 +375,36 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", @@ -533,6 +516,21 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", @@ -564,33 +562,30 @@ } }, "node_modules/@babel/template": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", - "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "dev": true, "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", - "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", + "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.2", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -608,12 +603,12 @@ } }, "node_modules/@babel/types": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", - "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", + "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, @@ -724,9 +719,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", - "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -783,9 +778,9 @@ } }, "node_modules/@gofynd/flick": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@gofynd/flick/-/flick-1.0.7.tgz", - "integrity": "sha512-uVJMdzuSWf16seNzcjUH3Dfw4x/xcQkasKLttCeqTV0MTuaQ02laG5svKER8dqyE6/rNkAG0zIsQuqf9Q05CMA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@gofynd/flick/-/flick-1.0.8.tgz", + "integrity": "sha512-W+vTo50dccPqOHpQK57/p6JLI9Ohyx+qClOn/9T/46AMbniQv42PWjJCRX+Q6jreh67cdlG0YpfcvvPEbzEqRg==", "dependencies": { "@gofynd/fp-signature": "^1.0.1", "@types/es6-promise": "^3.3.0", @@ -1269,9 +1264,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { @@ -1412,9 +1407,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.56.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", - "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.0.tgz", + "integrity": "sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==", "dev": true, "dependencies": { "@types/estree": "*", @@ -1527,9 +1522,9 @@ "integrity": "sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==" }, "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -1760,9 +1755,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -1990,9 +1985,9 @@ } }, "node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "dev": true }, "node_modules/asynckit": { @@ -2019,15 +2014,15 @@ } }, "node_modules/aws4": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.0.tgz", - "integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.1.tgz", + "integrity": "sha512-u5w79Rd7SU4JaIlA/zFqG+gOiuq25q5VLyZ8E+ijJeILuTxVzZgp2CaGw/UTw6pXYN9XMO9yiqj/nEHmhTG5CA==", "dev": true }, "node_modules/axios": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", - "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", + "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -2144,23 +2139,26 @@ } }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "dev": true, "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -2252,9 +2250,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", - "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -2271,10 +2269,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001629", - "electron-to-chromium": "^1.4.796", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.16" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -2380,9 +2378,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001637", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001637.tgz", - "integrity": "sha512-1x0qRI1mD1o9e+7mBI7XtzFAP4XszbHaVWsMiGbSPLYekKTJF7K+FNk6AsXH4sUpc+qrsI3pVgf1Jdl/uGkuSQ==", + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", "dev": true, "funding": [ { @@ -2798,15 +2796,15 @@ } }, "node_modules/dayjs": { - "version": "1.11.11", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz", - "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==", + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", "dev": true }, "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -2953,9 +2951,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.812", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.812.tgz", - "integrity": "sha512-7L8fC2Ey/b6SePDFKR2zHAy4mbdp1/38Yk5TsARO66W3hC5KEaeKMMHoxwtuH+jcu2AYLSn9QX04i95t6Fl1Hg==", + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", "dev": true }, "node_modules/emittery": { @@ -2986,9 +2984,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", - "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -3217,9 +3215,9 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -3988,9 +3986,9 @@ ] }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "engines": { "node": ">= 4" @@ -4013,9 +4011,9 @@ } }, "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, "dependencies": { "pkg-dir": "^4.2.0", @@ -4126,9 +4124,9 @@ } }, "node_modules/is-core-module": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", - "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dev": true, "dependencies": { "hasown": "^2.0.2" @@ -4319,9 +4317,9 @@ } }, "node_modules/istanbul-lib-instrument": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", - "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, "dependencies": { "@babel/core": "^7.23.9", @@ -5452,9 +5450,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "node_modules/normalize-path": { @@ -6303,9 +6301,9 @@ } }, "node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -6619,9 +6617,9 @@ } }, "node_modules/terser": { - "version": "5.31.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz", - "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==", + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -6893,9 +6891,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -6987,9 +6985,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -7000,9 +6998,9 @@ } }, "node_modules/webpack": { - "version": "5.92.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", - "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", + "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", diff --git a/package.json b/package.json index 51c87250b..89b60d6a7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@gofynd/fdk-client-javascript", - "version": "1.4.8-beta.3", + "version": "1.4.10-beta.1", "description": "", "main": "index.js", "scripts": { @@ -19,7 +19,7 @@ "loglevel": "^1.8.1", "query-string": "^7.1.3", "@gofynd/fp-signature": "^1.0.1", - "@gofynd/flick": "^1.0.7" + "@gofynd/flick": "^1.0.8" }, "devDependencies": { "axios-cookiejar-support": "^4.0.6", diff --git a/sdk/application/ApplicationClient.d.ts b/sdk/application/ApplicationClient.d.ts index f6266642a..53a980491 100644 --- a/sdk/application/ApplicationClient.d.ts +++ b/sdk/application/ApplicationClient.d.ts @@ -55,6 +55,14 @@ declare class ApplicationClient { * @throws {FDKClientValidationError} When the provided header is not an object. */ setExtraHeaders(header: object): void; + request({ method, url, query, body, headers, responseHeaders, }: { + method: any; + url: any; + query: any; + body: any; + headers: any; + responseHeaders?: boolean; + }): Promise>; } import Cart = require("./Cart/CartApplicationClient"); import Catalog = require("./Catalog/CatalogApplicationClient"); diff --git a/sdk/application/ApplicationClient.js b/sdk/application/ApplicationClient.js index a951eb2b4..01d92fd43 100644 --- a/sdk/application/ApplicationClient.js +++ b/sdk/application/ApplicationClient.js @@ -17,6 +17,7 @@ const Webhook = require("./Webhook/WebhookApplicationClient"); const { FDKClientValidationError } = require("../common/FDKError"); const { Logger } = require("../common/Logger"); const { convertStringToBase64 } = require("../common/utils"); +const { execute } = require("./ApplicationAPIClient"); /** * Represents the client for the application. @@ -119,6 +120,19 @@ class ApplicationClient { throw new FDKClientValidationError("Context value should be an object"); } } + + async request({ + method, + url, + query, + body, + headers, + responseHeaders = false, + }) { + return await execute(this.config, method, url, query, body, headers, { + responseHeaders, + }); + } } module.exports = ApplicationClient; diff --git a/sdk/application/Cart/CartApplicationClient.d.ts b/sdk/application/Cart/CartApplicationClient.d.ts index 73aeca72f..608162ba1 100644 --- a/sdk/application/Cart/CartApplicationClient.d.ts +++ b/sdk/application/Cart/CartApplicationClient.d.ts @@ -42,7 +42,7 @@ declare class Cart { * @returns {Promise} - Success response * @name addAddress * @summary: Create a new address - * @description: Customers can add a new address to their cart to save details such as name, email, contact information, and address. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/addAddress/). + * @description: Add a new address to their cart to save details such as name, email, contact information, and address. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/addAddress/). */ addAddress({ body, requestHeaders }?: CartApplicationValidator.AddAddressParam, { responseHeaders }?: object): Promise; /** @@ -62,7 +62,7 @@ declare class Cart { * @returns {Promise} - Success response * @name applyCoupon * @summary: Apply coupon - * @description: Apply a coupon code to the customer's cart to trigger discounts on eligible items - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/applyCoupon/). + * @description: Apply a coupon code to the cart to trigger discounts on eligible items. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/applyCoupon/). */ applyCoupon({ body, i, b, p, id, buyNow, cartType, requestHeaders }?: CartApplicationValidator.ApplyCouponParam, { responseHeaders }?: object): Promise; /** @@ -113,7 +113,7 @@ declare class Cart { * @returns {Promise} - Success response * @name getAddressById * @summary: Get a address - * @description: Retrieve a specific customer address stored in the system by providing its unique identifier. This API provides detailed information about the address, including the recipient's name, address, city, postal code, and other relevant details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getAddressById/). + * @description: Get a specific customer address stored in the system by providing its unique identifier. This API provides detailed information about the address, including the recipient's name, address, city, postal code, and other relevant details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getAddressById/). */ getAddressById({ id, cartId, buyNow, mobileNo, checkoutMode, tags, isDefault, requestHeaders, }?: CartApplicationValidator.GetAddressByIdParam, { responseHeaders }?: object): Promise; /** @@ -123,7 +123,7 @@ declare class Cart { * @returns {Promise} - Success response * @name getAddresses * @summary: List customer addresses - * @description: Retrieve a list of all addresses saved by the customer, simplifying the checkout process by offering pre-saved address options for delivery. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getAddresses/). + * @description: List all addresses saved by the customer, simplifying the checkout process by offering pre-saved address options for delivery. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getAddresses/). */ getAddresses({ cartId, buyNow, mobileNo, checkoutMode, tags, isDefault, requestHeaders, }?: CartApplicationValidator.GetAddressesParam, { responseHeaders }?: object): Promise; /** @@ -133,7 +133,7 @@ declare class Cart { * @returns {Promise} - Success response * @name getBulkDiscountOffers * @summary: List bulk discounts - * @description: Retrieve a list of offer discounts with information about quantity and seller. One offer is marked with a "best" flag, indicating it as the best offer among the list. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getBulkDiscountOffers/). + * @description: List offer discounts with information about quantity and seller. One offer is marked with a "best" flag, indicating it as the best offer among the list. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getBulkDiscountOffers/). */ getBulkDiscountOffers({ itemId, articleId, uid, slug, requestHeaders }?: CartApplicationValidator.GetBulkDiscountOffersParam, { responseHeaders }?: object): Promise; /** @@ -143,7 +143,7 @@ declare class Cart { * @returns {Promise} - Success response * @name getCart * @summary: Get a cart - * @description: Retrieve details of a cart linked to a specific customer using either the customer's ID or a unique cart ID. It offers an overview of the items, quantities, prices, and other relevant information associated with the cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getCart/). + * @description: Get details of a cart linked to a specific customer using a unique cart ID. It offers an overview of the items, quantities, prices, and other relevant information associated with the cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getCart/). */ getCart({ id, i, b, c, assignCardId, areaCode, buyNow, orderType, requestHeaders, }?: CartApplicationValidator.GetCartParam, { responseHeaders }?: object): Promise; /** @@ -174,7 +174,7 @@ declare class Cart { * @returns {Promise} - Success response * @name getCartSharedItems * @summary: List shared cart items - * @description: Retrieve the cart items from the shared cart link based on unique token. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getCartSharedItems/). + * @description: Get cart items from the shared cart link based on unique token. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getCartSharedItems/). */ getCartSharedItems({ token, requestHeaders }?: CartApplicationValidator.GetCartSharedItemsParam, { responseHeaders }?: object): Promise; /** @@ -184,7 +184,7 @@ declare class Cart { * @returns {Promise} - Success response * @name getCoupons * @summary: List available coupons - * @description: Retrieve a list of all available coupons that customer can apply to their carts. It provides details about each coupon, including its code, discount amount, and applicable conditions. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getCoupons/). + * @description: List all available coupons that customer can apply to their carts. It provides details about each coupon, including its code, discount amount, and applicable conditions. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getCoupons/). */ getCoupons({ id, buyNow, slug, storeId, requestHeaders }?: CartApplicationValidator.GetCouponsParam, { responseHeaders }?: object): Promise; /** @@ -194,7 +194,7 @@ declare class Cart { * @returns {Promise} - Success response * @name getItemCount * @summary: Get a cart items count - * @description: Retrieve the total count of items currently present in the customer's cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getItemCount/). + * @description: Get total count of items currently present in the customer's cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getItemCount/). */ getItemCount({ id, buyNow, requestHeaders }?: CartApplicationValidator.GetItemCountParam, { responseHeaders }?: object): Promise; /** @@ -204,7 +204,7 @@ declare class Cart { * @returns {Promise} - Success response * @name getLadderOffers * @summary: List ladder offers - * @description: Retrieve ladder offers associated for the items in the cart. Ladder offers provide discounts or special pricing based on item quantity, allowing users to benefit from bulk purchases or promotional deals. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getLadderOffers/). + * @description: Get ladder offers associated for the items in the cart. Ladder offers provide discounts or special pricing based on item quantity, allowing users to benefit from bulk purchases or promotional deals. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getLadderOffers/). */ getLadderOffers({ slug, storeId, promotionId, pageSize, requestHeaders }?: CartApplicationValidator.GetLadderOffersParam, { responseHeaders }?: object): Promise; /** @@ -214,7 +214,7 @@ declare class Cart { * @returns {Promise} - Success response * @name getPromotionOffers * @summary: List available promotion offers - * @description: Retrieve a list of all promotional offers available for the items in the cart, including details such as offer text, unique promotion ID, and validity period. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getPromotionOffers/). + * @description: List all promotional offers available for the items in the cart, including details such as offer text, unique promotion ID, and validity period. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getPromotionOffers/). */ getPromotionOffers({ slug, pageSize, promotionGroup, storeId, cartType, requestHeaders }?: CartApplicationValidator.GetPromotionOffersParam, { responseHeaders }?: object): Promise; /** @@ -226,7 +226,7 @@ declare class Cart { * * @name getPromotionPaymentOffers * @summary: Fetch available promotions payment offers - * @description: Use this API to get top 5 payment offers available for current product - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getPromotionPaymentOffers/). + * @description: Use this API to get top 5 payment offers available for current product. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getPromotionPaymentOffers/). */ getPromotionPaymentOffers({ id, uid, requestHeaders }?: CartApplicationValidator.GetPromotionPaymentOffersParam, { responseHeaders }?: object): Promise; /** @@ -236,7 +236,7 @@ declare class Cart { * @returns {Promise} - Success response * @name getShipments * @summary: List shipments - * @description: Retrieve shipment details for the items in a cart, specific to the selected address. Shipment details include delivery promises, seller information, item details, and other relevant information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getShipments/). + * @description: Get shipment details for the items in a cart, specific to the selected address. Shipment details include delivery promises, seller information, item details, and other relevant information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getShipments/). */ getShipments({ p, id, buyNow, addressId, areaCode, orderType, requestHeaders }?: CartApplicationValidator.GetShipmentsParam, { responseHeaders }?: object): Promise; /** @@ -246,7 +246,7 @@ declare class Cart { * @returns {Promise} - Success response * @name removeAddress * @summary: Delete a address - * @description: Removes an existing customer address from the system. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/removeAddress/). + * @description: Delete an existing customer address from the system. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/removeAddress/). */ removeAddress({ id, requestHeaders }?: CartApplicationValidator.RemoveAddressParam, { responseHeaders }?: object): Promise; /** @@ -266,7 +266,7 @@ declare class Cart { * @returns {Promise} - Success response * @name selectAddress * @summary: Select a delivery address - * @description: Selects an address from the saved customer addresses and validates the availability of items in the cart. Additionally, it verifies and updates the delivery promise based on the selected address. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/selectAddress/). + * @description: Select an address from the saved customer addresses and validates the availability of items in the cart. Additionally, it verifies and updates the delivery promise based on the selected address. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/selectAddress/). */ selectAddress({ body, cartId, buyNow, i, b, requestHeaders }?: CartApplicationValidator.SelectAddressParam, { responseHeaders }?: object): Promise; /** @@ -276,7 +276,7 @@ declare class Cart { * @returns {Promise} - Success response * @name selectPaymentMode * @summary: Select payment mode - * @description: Customers can select a preferred payment mode from available options during the cart checkout process to securely and efficiently complete their transaction. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/selectPaymentMode/). + * @description: Select a preferred payment mode from available options during the cart checkout process to securely and efficiently complete their transaction. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/selectPaymentMode/). */ selectPaymentMode({ body, id, buyNow, requestHeaders }?: CartApplicationValidator.SelectPaymentModeParam, { responseHeaders }?: object): Promise; /** @@ -286,7 +286,7 @@ declare class Cart { * @returns {Promise} - Success response * @name updateAddress * @summary: Update a address - * @description: Customer can modify the details of a previously saved addresses. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateAddress/). + * @description: Customer can modify the details of a previously saved addresses. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateAddress/). */ updateAddress({ id, body, requestHeaders }?: CartApplicationValidator.UpdateAddressParam, { responseHeaders }?: object): Promise; /** @@ -297,7 +297,7 @@ declare class Cart { * Success response * @name updateCart * @summary: Update cart items - * @description: Customers can modify added product attributes such as quantity and size, as well as remove items from the cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateCart/). + * @description: Update cart. Customers can modify added product attributes such as quantity and size, as well as remove items from the cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateCart/). */ updateCart({ body, id, i, b, areaCode, buyNow, cartType, orderType, requestHeaders, }?: CartApplicationValidator.UpdateCartParam, { responseHeaders }?: object): Promise; /** @@ -307,7 +307,7 @@ declare class Cart { * @returns {Promise} - Success response * @name updateCartMeta * @summary: Update cart metadata - * @description: Add or modify metadata associated with a cart, which includes customer preferences, delivery instructions, or any special requirements related to the cart items. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateCartMeta/). + * @description: Update metadata associated with a cart, which includes customer preferences, delivery instructions, or any special requirements related to the cart items. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateCartMeta/). */ updateCartMeta({ body, id, buyNow, requestHeaders }?: CartApplicationValidator.UpdateCartMetaParam, { responseHeaders }?: object): Promise; /** @@ -317,7 +317,7 @@ declare class Cart { * @returns {Promise} - Success response * @name updateCartWithSharedItems * @summary: Update with shared items - * @description: Customer can either merge or replace shared cart items with existing cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateCartWithSharedItems/). + * @description: Merge or replace shared cart items with existing cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateCartWithSharedItems/). */ updateCartWithSharedItems({ token, action, requestHeaders }?: CartApplicationValidator.UpdateCartWithSharedItemsParam, { responseHeaders }?: object): Promise; /** diff --git a/sdk/application/Cart/CartApplicationClient.js b/sdk/application/Cart/CartApplicationClient.js index 5ad4ec28b..f3b53d0d2 100644 --- a/sdk/application/Cart/CartApplicationClient.js +++ b/sdk/application/Cart/CartApplicationClient.js @@ -70,7 +70,7 @@ class Cart { * @returns {Promise} - Success response * @name addAddress * @summary: Create a new address - * @description: Customers can add a new address to their cart to save details such as name, email, contact information, and address. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/addAddress/). + * @description: Add a new address to their cart to save details such as name, email, contact information, and address. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/addAddress/). */ async addAddress( { body, requestHeaders } = { requestHeaders: {} }, @@ -230,7 +230,7 @@ class Cart { * @returns {Promise} - Success response * @name applyCoupon * @summary: Apply coupon - * @description: Apply a coupon code to the customer's cart to trigger discounts on eligible items - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/applyCoupon/). + * @description: Apply a coupon code to the cart to trigger discounts on eligible items. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/applyCoupon/). */ async applyCoupon( { body, i, b, p, id, buyNow, cartType, requestHeaders } = { @@ -634,7 +634,7 @@ class Cart { * @returns {Promise} - Success response * @name getAddressById * @summary: Get a address - * @description: Retrieve a specific customer address stored in the system by providing its unique identifier. This API provides detailed information about the address, including the recipient's name, address, city, postal code, and other relevant details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getAddressById/). + * @description: Get a specific customer address stored in the system by providing its unique identifier. This API provides detailed information about the address, including the recipient's name, address, city, postal code, and other relevant details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getAddressById/). */ async getAddressById( { @@ -727,7 +727,7 @@ class Cart { * @returns {Promise} - Success response * @name getAddresses * @summary: List customer addresses - * @description: Retrieve a list of all addresses saved by the customer, simplifying the checkout process by offering pre-saved address options for delivery. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getAddresses/). + * @description: List all addresses saved by the customer, simplifying the checkout process by offering pre-saved address options for delivery. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getAddresses/). */ async getAddresses( { @@ -819,7 +819,7 @@ class Cart { * @returns {Promise} - Success response * @name getBulkDiscountOffers * @summary: List bulk discounts - * @description: Retrieve a list of offer discounts with information about quantity and seller. One offer is marked with a "best" flag, indicating it as the best offer among the list. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getBulkDiscountOffers/). + * @description: List offer discounts with information about quantity and seller. One offer is marked with a "best" flag, indicating it as the best offer among the list. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getBulkDiscountOffers/). */ async getBulkDiscountOffers( { itemId, articleId, uid, slug, requestHeaders } = { requestHeaders: {} }, @@ -901,7 +901,7 @@ class Cart { * @returns {Promise} - Success response * @name getCart * @summary: Get a cart - * @description: Retrieve details of a cart linked to a specific customer using either the customer's ID or a unique cart ID. It offers an overview of the items, quantities, prices, and other relevant information associated with the cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getCart/). + * @description: Get details of a cart linked to a specific customer using a unique cart ID. It offers an overview of the items, quantities, prices, and other relevant information associated with the cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getCart/). */ async getCart( { @@ -1150,7 +1150,7 @@ class Cart { * @returns {Promise} - Success response * @name getCartSharedItems * @summary: List shared cart items - * @description: Retrieve the cart items from the shared cart link based on unique token. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getCartSharedItems/). + * @description: Get cart items from the shared cart link based on unique token. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getCartSharedItems/). */ async getCartSharedItems( { token, requestHeaders } = { requestHeaders: {} }, @@ -1228,7 +1228,7 @@ class Cart { * @returns {Promise} - Success response * @name getCoupons * @summary: List available coupons - * @description: Retrieve a list of all available coupons that customer can apply to their carts. It provides details about each coupon, including its code, discount amount, and applicable conditions. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getCoupons/). + * @description: List all available coupons that customer can apply to their carts. It provides details about each coupon, including its code, discount amount, and applicable conditions. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getCoupons/). */ async getCoupons( { id, buyNow, slug, storeId, requestHeaders } = { requestHeaders: {} }, @@ -1308,7 +1308,7 @@ class Cart { * @returns {Promise} - Success response * @name getItemCount * @summary: Get a cart items count - * @description: Retrieve the total count of items currently present in the customer's cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getItemCount/). + * @description: Get total count of items currently present in the customer's cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getItemCount/). */ async getItemCount( { id, buyNow, requestHeaders } = { requestHeaders: {} }, @@ -1388,7 +1388,7 @@ class Cart { * @returns {Promise} - Success response * @name getLadderOffers * @summary: List ladder offers - * @description: Retrieve ladder offers associated for the items in the cart. Ladder offers provide discounts or special pricing based on item quantity, allowing users to benefit from bulk purchases or promotional deals. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getLadderOffers/). + * @description: Get ladder offers associated for the items in the cart. Ladder offers provide discounts or special pricing based on item quantity, allowing users to benefit from bulk purchases or promotional deals. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getLadderOffers/). */ async getLadderOffers( { slug, storeId, promotionId, pageSize, requestHeaders } = { @@ -1472,7 +1472,7 @@ class Cart { * @returns {Promise} - Success response * @name getPromotionOffers * @summary: List available promotion offers - * @description: Retrieve a list of all promotional offers available for the items in the cart, including details such as offer text, unique promotion ID, and validity period. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getPromotionOffers/). + * @description: List all promotional offers available for the items in the cart, including details such as offer text, unique promotion ID, and validity period. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getPromotionOffers/). */ async getPromotionOffers( { slug, pageSize, promotionGroup, storeId, cartType, requestHeaders } = { @@ -1559,7 +1559,7 @@ class Cart { * * @name getPromotionPaymentOffers * @summary: Fetch available promotions payment offers - * @description: Use this API to get top 5 payment offers available for current product - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getPromotionPaymentOffers/). + * @description: Use this API to get top 5 payment offers available for current product. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getPromotionPaymentOffers/). */ async getPromotionPaymentOffers( { id, uid, requestHeaders } = { requestHeaders: {} }, @@ -1641,7 +1641,7 @@ class Cart { * @returns {Promise} - Success response * @name getShipments * @summary: List shipments - * @description: Retrieve shipment details for the items in a cart, specific to the selected address. Shipment details include delivery promises, seller information, item details, and other relevant information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getShipments/). + * @description: Get shipment details for the items in a cart, specific to the selected address. Shipment details include delivery promises, seller information, item details, and other relevant information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/getShipments/). */ async getShipments( { p, id, buyNow, addressId, areaCode, orderType, requestHeaders } = { @@ -1727,7 +1727,7 @@ class Cart { * @returns {Promise} - Success response * @name removeAddress * @summary: Delete a address - * @description: Removes an existing customer address from the system. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/removeAddress/). + * @description: Delete an existing customer address from the system. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/removeAddress/). */ async removeAddress( { id, requestHeaders } = { requestHeaders: {} }, @@ -1885,7 +1885,7 @@ class Cart { * @returns {Promise} - Success response * @name selectAddress * @summary: Select a delivery address - * @description: Selects an address from the saved customer addresses and validates the availability of items in the cart. Additionally, it verifies and updates the delivery promise based on the selected address. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/selectAddress/). + * @description: Select an address from the saved customer addresses and validates the availability of items in the cart. Additionally, it verifies and updates the delivery promise based on the selected address. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/selectAddress/). */ async selectAddress( { body, cartId, buyNow, i, b, requestHeaders } = { requestHeaders: {} }, @@ -1967,7 +1967,7 @@ class Cart { * @returns {Promise} - Success response * @name selectPaymentMode * @summary: Select payment mode - * @description: Customers can select a preferred payment mode from available options during the cart checkout process to securely and efficiently complete their transaction. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/selectPaymentMode/). + * @description: Select a preferred payment mode from available options during the cart checkout process to securely and efficiently complete their transaction. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/selectPaymentMode/). */ async selectPaymentMode( { body, id, buyNow, requestHeaders } = { requestHeaders: {} }, @@ -2047,7 +2047,7 @@ class Cart { * @returns {Promise} - Success response * @name updateAddress * @summary: Update a address - * @description: Customer can modify the details of a previously saved addresses. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateAddress/). + * @description: Customer can modify the details of a previously saved addresses. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateAddress/). */ async updateAddress( { id, body, requestHeaders } = { requestHeaders: {} }, @@ -2126,7 +2126,7 @@ class Cart { * Success response * @name updateCart * @summary: Update cart items - * @description: Customers can modify added product attributes such as quantity and size, as well as remove items from the cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateCart/). + * @description: Update cart. Customers can modify added product attributes such as quantity and size, as well as remove items from the cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateCart/). */ async updateCart( { @@ -2219,7 +2219,7 @@ class Cart { * @returns {Promise} - Success response * @name updateCartMeta * @summary: Update cart metadata - * @description: Add or modify metadata associated with a cart, which includes customer preferences, delivery instructions, or any special requirements related to the cart items. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateCartMeta/). + * @description: Update metadata associated with a cart, which includes customer preferences, delivery instructions, or any special requirements related to the cart items. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateCartMeta/). */ async updateCartMeta( { body, id, buyNow, requestHeaders } = { requestHeaders: {} }, @@ -2299,7 +2299,7 @@ class Cart { * @returns {Promise} - Success response * @name updateCartWithSharedItems * @summary: Update with shared items - * @description: Customer can either merge or replace shared cart items with existing cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateCartWithSharedItems/). + * @description: Merge or replace shared cart items with existing cart. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/cart/updateCartWithSharedItems/). */ async updateCartWithSharedItems( { token, action, requestHeaders } = { requestHeaders: {} }, diff --git a/sdk/application/Cart/CartApplicationModel.d.ts b/sdk/application/Cart/CartApplicationModel.d.ts index d4a2eab9e..08675fb72 100644 --- a/sdk/application/Cart/CartApplicationModel.d.ts +++ b/sdk/application/Cart/CartApplicationModel.d.ts @@ -1,58 +1,58 @@ export = CartApplicationModel; /** * @typedef BuyRules - * @property {Object} [item_criteria] - Item criteria of promotion - * @property {Object} [cart_conditions] - Cart conditions details for promotion + * @property {Object} [item_criteria] - Item criteria of promotion. + * @property {Object} [cart_conditions] - Cart conditions details for promotion. */ /** * @typedef DiscountRulesApp - * @property {string[]} [matched_buy_rules] - Matched buy rules for promotion - * @property {Object} [raw_offer] - Raw offer details for promotion - * @property {Object} [offer] - Offer for promotion - * @property {Object} [item_criteria] - Item criteria of promotion + * @property {string[]} [matched_buy_rules] - Matched buy rules for promotion. + * @property {Object} [raw_offer] - Raw offer details for promotion. + * @property {Object} [offer] - Offer for promotion. + * @property {Object} [item_criteria] - Item criteria of promotion. */ /** * @typedef Ownership - * @property {string} [payable_category] - Promo amount payable category - * @property {string} [payable_by] - Promo amount bearable party + * @property {string} [payable_category] - Promotion amount payable category. + * @property {string} [payable_by] - Promotion amount bearable party. */ /** * @typedef AppliedFreeArticles - * @property {FreeGiftItems} [free_gift_item_details] - Free gift items details - * @property {string} [parent_item_identifier] - Parent item identifier for free article - * @property {number} [quantity] - Free article quantity - * @property {string} [article_id] - Free article id + * @property {FreeGiftItems} [free_gift_item_details] - Free gift items details. + * @property {string} [parent_item_identifier] - Parent item identifier for free article. + * @property {number} [quantity] - Quantity of free articles. + * @property {string} [article_id] - IDs of free articles. */ /** * @typedef AppliedPromotion - * @property {string} [promo_id] - Promotion id - * @property {BuyRules[]} [buy_rules] - Buy rules for promotions - * @property {string} [offer_text] - Offer text of current promotion - * @property {string} [promotion_group] - Promotion group for the promotion + * @property {string} [promo_id] - Promotion id. + * @property {BuyRules[]} [buy_rules] - Buy rules for promotions. + * @property {string} [offer_text] - Offer text of current promotion. + * @property {string} [promotion_group] - Promotion group for the promotion. * @property {boolean} [mrp_promotion] - If applied promotion is applied on - * product MRP or ESP - * @property {string} [promotion_name] - Promotion name of current promotion - * @property {number} [amount] - Per unit discount amount applied with current promotion - * @property {DiscountRulesApp[]} [discount_rules] - Discount rules for promotions - * @property {Ownership} [ownership] - Ownership of promotion + * product MRP or ESP. + * @property {string} [promotion_name] - Promotion name of current promotion. + * @property {number} [amount] - Per unit discount amount applied with current promotion. + * @property {DiscountRulesApp[]} [discount_rules] - Discount rules for promotions. + * @property {Ownership} [ownership] - Ownership of promotion. * @property {number} [article_quantity] - Quantity of article on which - * promotion is applicable + * promotion is applicable. * @property {AppliedFreeArticles[]} [applied_free_articles] - Applied free - * article for free gift item promotions - * @property {string} [promotion_type] - Promotion type of current promotion - * @property {Object} [meta] - Meta object for extra data - * @property {string} [code] - Promotion code + * article for free gift item promotions. + * @property {string} [promotion_type] - Promotion type of current promotion. + * @property {Object} [meta] - Meta object for extra data. + * @property {string} [code] - Promotion code. */ /** * @typedef PaymentSelectionLock - * @property {boolean} [enabled] - * @property {string} [default_options] - * @property {string} [payment_identifier] + * @property {boolean} [enabled] - Denotes if default payment selection is enable. + * @property {string} [default_options] - Default Selection Payment Mode. + * @property {string} [payment_identifier] - Identifier for Payment Mode. */ /** * @typedef PromiseFormatted - * @property {string} [max] - * @property {string} [min] + * @property {string} [max] - Maximum Delivery promise formatted timestamp. + * @property {string} [min] - Minimum Delivery promise formatted timestamp. */ /** * @typedef PromiseISOFormat @@ -61,8 +61,8 @@ export = CartApplicationModel; */ /** * @typedef PromiseTimestamp - * @property {number} [max] - * @property {number} [min] + * @property {number} [max] - Maximum Promise for the shipment. + * @property {number} [min] - Minimum delivery promise time for the shipment. */ /** * @typedef ShipmentPromise @@ -72,10 +72,11 @@ export = CartApplicationModel; */ /** * @typedef BasePrice - * @property {number} [effective] - * @property {string} [currency_symbol] - * @property {number} [marked] - * @property {string} [currency_code] + * @property {number} [effective] - Current per unit price of product after + * existing deductions. + * @property {string} [currency_symbol] - Currency symbol of the currncy used for price. + * @property {number} [marked] - Original price of product. + * @property {string} [currency_code] - Currency code for all amounts. */ /** * @typedef ArticlePriceInfo @@ -84,69 +85,83 @@ export = CartApplicationModel; */ /** * @typedef BaseInfo - * @property {number} [uid] - * @property {string} [name] + * @property {number} [uid] - Unique identifier of entities like brand or seller. + * @property {string} [name] - Name of entities like brand or seller. */ /** * @typedef StoreInfo - * @property {string} [store_code] - * @property {number} [uid] - * @property {string} [name] + * @property {string} [store_code] - A unique code or identifier for the store, + * often used for internal reference. + * @property {number} [uid] - Unique identifiers of the store from where product + * is fulfileld. + * @property {string} [name] - Store name of the store from where the product is + * fulfiled . */ /** * @typedef ProductArticle * @property {ArticlePriceInfo} [price] - * @property {string[]} [product_group_tags] - * @property {Object} [extra_meta] - * @property {number} [quantity] - * @property {Object} [_custom_json] - * @property {Object} [meta] - * @property {string} [size] - * @property {number} [mto_quantity] + * @property {string[]} [product_group_tags] - List fot the unique identifier + * for the product grouping. + * @property {Object} [extra_meta] - Field to update extra meta of the article in cart. + * @property {number} [quantity] - Quantity of the article added in cart. + * @property {Object} [_custom_json] - Field to update custom json of the article in cart. + * @property {Object} [meta] - Article meta data. + * @property {string} [size] - Size of the article added in cart. + * @property {number} [mto_quantity] - Quantity of the product which will + * specially manufactured as not available in stock. * @property {BaseInfo} [seller] - * @property {string} [seller_identifier] - * @property {Object} [parent_item_identifiers] - * @property {Object} [identifier] + * @property {string} [seller_identifier] - List of identifiers used by sellers + * for the product size. + * @property {Object} [parent_item_identifiers] - Fields to determine parent + * product of the product. + * @property {Object} [identifier] - Unique identifier of the article. * @property {StoreInfo} [store] - * @property {Object} [cart_item_meta] - * @property {string} [uid] - * @property {Object} [gift_card] - * @property {boolean} [is_gift_visible] - * @property {string} [type] - * @property {string[]} [tags] - A list of article tags + * @property {Object} [cart_item_meta] - Meta details of the article added from cart. + * @property {string} [uid] - This unique identifier is assigned to the specific + * article. This represents item x size x location. + * @property {Object} [gift_card] - Gift card detail if gift card applied to the + * product which indicates gift price, gift applicable flag and display + * message for the gift. + * @property {boolean} [is_gift_visible] - Whether the product can be purchased + * as a gift. It is true if the product is available for gifting and false otherwise. + * @property {string} [type] - Type of the data sent in response. Possible value + * is article. + * @property {string[]} [tags] - A list of article tags. */ /** * @typedef CartProductIdentifer - * @property {string} [identifier] - Article idenfier generated by cart + * @property {string} [identifier] - Article idenfier generated by cart. */ /** * @typedef PromoMeta - * @property {string} [message] + * @property {string} [message] - Loyalty points message denotes how much + * loyalty points and applied and how much left with the user. */ /** * @typedef ChargesAmount - * @property {number} [value] - This is the value of amount added - * @property {string} [currency] - This is destination currency of value + * @property {number} [value] - This is the value of amount added. + * @property {string} [currency] - This is destination currency of value. */ /** * @typedef Charges - * @property {Object} [meta] - This object contains the meta data realted to - * charges price adjustment + * @property {Object} [meta] - Meta data realted to charges price adjustment. * @property {ChargesAmount} [amount] - * @property {string} [name] - This is the name of the charge applied - * @property {boolean} [allow_refund] - This boolean value defines that refund - * is allowed or not for the charge - * @property {string} [code] - This is the code of the charge applied - * @property {string} [type] - This is the type of the charge applied + * @property {string} [name] - Name of the charge applied. + * @property {boolean} [allow_refund] - Whether refund is allowed or not for the charge. + * @property {string} [code] - Code of the charge applied. + * @property {string} [type] - Type of the charge applied. */ /** * @typedef ProductPrice - * @property {string} [currency_symbol] - * @property {number} [selling] - * @property {string} [currency_code] - * @property {number} [add_on] - * @property {number} [effective] - * @property {number} [marked] + * @property {string} [currency_symbol] - Currency symbol of the price defined + * for the product. + * @property {number} [selling] - Selling price of the product . + * @property {string} [currency_code] - Currency code of the price defined for + * the product. + * @property {number} [add_on] - Price before promotion and coupon amount + * applied for calculation. + * @property {number} [effective] - Selling price of the product . + * @property {number} [marked] - Maximum price of the product . */ /** * @typedef ProductPriceInfo @@ -155,12 +170,15 @@ export = CartApplicationModel; */ /** * @typedef ProductPricePerUnit - * @property {string} [currency_symbol] - * @property {number} [selling_price] - * @property {string} [currency_code] - * @property {number} [add_on] - * @property {number} [effective] - * @property {number} [marked] + * @property {string} [currency_symbol] - Currency symbol of the price defined + * for the product. + * @property {number} [selling_price] - Selling price of the product . + * @property {string} [currency_code] - Currency code of the price defined for + * the product. + * @property {number} [add_on] - Price before promotion and coupon amount + * applied for calculation. + * @property {number} [effective] - Selling price of the product . + * @property {number} [marked] - Maximum price of the product . */ /** * @typedef ProductPricePerUnitInfo @@ -169,183 +187,223 @@ export = CartApplicationModel; */ /** * @typedef ProductAvailabilitySize - * @property {string} [display] - * @property {string} [value] - * @property {boolean} [is_available] + * @property {string} [display] - Display size of the product. + * @property {string} [value] - Actual value of the size. + * @property {boolean} [is_available] - Available flag for the size of the + * product if that is available. */ /** * @typedef ProductAvailability - * @property {boolean} [out_of_stock] - * @property {boolean} [deliverable] - * @property {ProductAvailabilitySize[]} [available_sizes] - * @property {boolean} [is_valid] - * @property {number} [other_store_quantity] - * @property {string[]} [sizes] + * @property {boolean} [out_of_stock] - Denotes if the product is available in stock. + * @property {boolean} [deliverable] - Deliverable flag denotes if the product + * is deliverable or not. + * @property {ProductAvailabilitySize[]} [available_sizes] - Product sizes availability. + * @property {boolean} [is_valid] - Valid flag for the product if the product + * added in cart is valid to place the order. + * @property {number} [other_store_quantity] - Quantity of the product available + * on other store. + * @property {string[]} [sizes] - All sizes of the product. */ /** * @typedef ActionQuery - * @property {string[]} [product_slug] - Contains list of product slug + * @property {string[]} [product_slug] - Contains list of product slug. */ /** * @typedef ProductAction * @property {ActionQuery} [query] - * @property {string} [url] - * @property {string} [type] + * @property {string} [url] - Url of the product to render the product . + * @property {string} [type] - Type of action. */ /** * @typedef Tags - * @property {Object} [tags] + * @property {Object} [tags] - Tags is a lable or batch that is attached to a + * product in cart. */ /** * @typedef ProductImage - * @property {string} [secure_url] - * @property {string} [aspect_ratio] - * @property {string} [url] + * @property {string} [secure_url] - Secured url of the product image. + * @property {string} [aspect_ratio] - Aspect ratio of the product image. + * @property {string} [url] - Bucket link url for product image. */ /** * @typedef CategoryInfo - * @property {number} [uid] - Product Category Id - * @property {string} [name] + * @property {number} [uid] - Product Category Id. + * @property {string} [name] - Category name of the product . */ /** * @typedef CartProduct - * @property {Object} [_custom_json] + * @property {Object} [_custom_json] - Field to add custom json of the product in cart. * @property {BaseInfo} [brand] * @property {ProductAction} [action] * @property {Tags} [teaser_tag] * @property {string} [slug] - Unique product url name generated via product - * name and other meta data - * @property {ProductImage[]} [images] - * @property {number} [uid] - * @property {string} [name] - * @property {string} [item_code] - * @property {CategoryInfo[]} [categories] - * @property {string[]} [tags] - * @property {string} [type] - * @property {Object} [attributes] + * name and other meta data. + * @property {ProductImage[]} [images] - Product Images urls of different types + * like secure url, aspect ration url and url. + * @property {number} [uid] - Unique identifier of the product in cart. + * @property {string} [name] - Product name of the product in cart which is + * defined on platform. + * @property {string} [item_code] - Product code of the product while defining + * product on platform. + * @property {CategoryInfo[]} [categories] - Product category information which + * incldes category name and category id. + * @property {string[]} [tags] - Products tags that are added to each product to + * identify the set of products. + * @property {string} [type] - Type of product in cart. + * @property {Object} [attributes] - Product attributes defined on platform. */ /** * @typedef CouponDetails - * @property {number} [discount_single_quantity] - * @property {string} [code] - * @property {number} [discount_total_quantity] + * @property {number} [discount_single_quantity] - Discout amount applied from + * coupon for single quantity of the product. + * @property {string} [code] - Coupon code of the coupon applied. + * @property {number} [discount_total_quantity] - Total discount earned from + * coupon applied to cart. */ /** * @typedef CartProductInfo * @property {ProductArticle} [article] - * @property {Object} [moq] + * @property {Object} [moq] - An Integer indication the Minimum Order Quantity + * of a product, e.g. 100. * @property {CartProductIdentifer} identifiers * @property {PromoMeta} [promo_meta] * @property {ProductPriceInfo} [price] - * @property {number} [quantity] - * @property {Charges[]} [charges] - * @property {string} [discount] + * @property {number} [quantity] - Quantity of the product added in cart. + * @property {Charges[]} [charges] - Charges information which denotes types of + * charges and amount of charge applied to that product in cart. + * @property {string} [discount] - Discount amount of the product in cart. * @property {ProductAvailability} [availability] * @property {ShipmentPromise} [delivery_promise] * @property {CartProduct} [product] - * @property {string} [product_ean_id] - * @property {Object} [bulk_offer] - * @property {Object} [parent_item_identifiers] + * @property {string} [product_ean_id] - European Article Number of the product + * (limited upto 50 EAN identifier in a single request). + * @property {Object} [bulk_offer] - Bulk offer information for the product + * which denotes if any bulk offer is applied to the product in cart. + * @property {Object} [parent_item_identifiers] - Parent item information of the + * product which identifies the parent of the product in cart. * @property {CouponDetails} [coupon] - * @property {Object} [custom_order] - * @property {string} [coupon_message] - * @property {string} [key] - * @property {string} [message] - * @property {boolean} [is_set] + * @property {Object} [custom_order] - Whether MTO (Make to Order) is enabled or not. + * @property {string} [coupon_message] - Message for the coupon denotes which + * coupon is applied and empty if not applied. + * @property {string} [key] - The attribute key associated with the size. + * @property {string} [message] - Product level message which denotes error + * information to display over the product in cart. + * @property {boolean} [is_set] - Whether or not the product is a set of items. * @property {ProductPricePerUnitInfo} [price_per_unit] - * @property {AppliedPromotion[]} [promotions_applied] + * @property {AppliedPromotion[]} [promotions_applied] - List of applicable + * promotion for the product in cart. */ /** * @typedef DisplayBreakup - * @property {string} [currency_symbol] - * @property {string} [key] - * @property {string} [display] - * @property {string[]} [message] - * @property {string} [currency_code] - * @property {number} [value] - * @property {number} [preset] + * @property {string} [currency_symbol] - Currency symbol for the price. + * @property {string} [key] - Key of the price like total_mrp, total, subtotal etc. + * @property {string} [display] - Display key field that to be shown against the value. + * @property {string[]} [message] - List of message at price level to be displayed. + * @property {string} [currency_code] - Currency code for the price . + * @property {number} [value] - Numeric value of the price. + * @property {number} [preset] - Value for the price which is set from platform + * if applicable. */ /** * @typedef RawBreakup - * @property {number} [vog] - * @property {number} [subtotal] - * @property {number} [fynd_cash] - * @property {number} [discount] - * @property {number} [convenience_fee] - * @property {number} [delivery_charge] - * @property {number} [gst_charges] - * @property {number} [mrp_total] - * @property {number} [mop_total] - * @property {number} [total_charge] - * @property {number} [coupon] - * @property {number} [total] - * @property {number} [gift_card] - * @property {number} [you_saved] - * @property {number} [cod_charge] + * @property {number} [vog] - Total value of goods after all discount, coupons + * and promotion applied of all products in cart. + * @property {number} [subtotal] - Selling price amount of all products in cart. + * @property {number} [fynd_cash] - Loyalty points applied on cart. + * @property {number} [discount] - Discount amount recieved on cart. + * @property {number} [convenience_fee] - Convenience fee amount applied to cart. + * @property {number} [delivery_charge] - Delivery charge applied to cart. + * @property {number} [gst_charges] - GST charges applied on cart. + * @property {number} [mrp_total] - Maximum price total amount of all products in cart. + * @property {number} [mop_total] - Total of payment modes by which payment is + * going to be done. + * @property {number} [total_charge] - Total amount of charges applied on cart. + * @property {number} [coupon] - Coupon amount applied to cart. + * @property {number} [total] - Total payable amount by the customer. + * @property {number} [gift_card] - Gift cart amount applied on cart. + * @property {number} [you_saved] - Total amount will be saved if customer + * places the order. + * @property {number} [cod_charge] - Cod charge value applied to cart. This is + * applied when user select payment mode as COD. */ /** * @typedef CouponBreakup - * @property {number} [coupon_value] - * @property {string} [title] - * @property {string} [sub_title] - * @property {number} [minimum_cart_value] - * @property {string} [message] - * @property {string} [coupon_type] - * @property {string} [uid] - * @property {number} [value] - * @property {number} [max_discount_value] - * @property {boolean} [is_applied] - * @property {string} [description] - * @property {string} [code] - * @property {string} [type] + * @property {number} [coupon_value] - Value of the coupon applied to cart. + * @property {string} [title] - Coupon Title of the coupon applied denotes name + * of the coupon. + * @property {string} [sub_title] - Coupon subtitle of the coupon applied to + * cart which is used to display. + * @property {number} [minimum_cart_value] - Minumum cart value of cart after + * which the coupon can be applied. + * @property {string} [message] - Coupon message of the coupon applied to cart. + * @property {string} [coupon_type] - Type of the coupon applied to cart. + * @property {string} [uid] - Unique identifier of the coupon applied to cart. + * @property {number} [value] - Coupon value of the coupon applied to cart. + * @property {number} [max_discount_value] - Maximum discount value of the + * coupon applied to cart. + * @property {boolean} [is_applied] - Applied flag which denotes if any coupon + * is applied to cart. + * @property {string} [description] - Coupon description of the coupon applied to cart. + * @property {string} [code] - Coupon code of the coupon applied. + * @property {string} [type] - Type of the coupon applied to cart. */ /** * @typedef LoyaltyPoints - * @property {number} [total] - * @property {string} [description] - * @property {number} [applicable] - * @property {boolean} [is_applied] + * @property {number} [total] - Total loyalty points available with user. + * @property {string} [description] - Description for loyalty points. + * @property {number} [applicable] - Whether the loyalty points are applicable + * for the cart . + * @property {boolean} [is_applied] - Whether the loyalty points are applied on the cart . */ /** * @typedef CartBreakup - * @property {DisplayBreakup[]} [display] + * @property {DisplayBreakup[]} [display] - List of breakup data which is used + * to display the breakup to the customer like MRP total, Discount, Sub total, + * coupon value, promotion value and final total. * @property {RawBreakup} [raw] * @property {CouponBreakup} [coupon] * @property {LoyaltyPoints} [loyalty_points] */ /** * @typedef CartCurrency - * @property {string} [code] - Currency code defined by ISO 4217:2015 - * @property {string} [symbol] + * @property {string} [code] - Currency code defined by ISO 4217:2015. + * @property {string} [symbol] - Currency symbol for currency of user cart prices. */ /** * @typedef CartDetailCoupon - * @property {number} [cashback_amount] - * @property {string} [cashback_message_primary] - * @property {string} [cashback_message_secondary] - * @property {string} [coupon_code] - * @property {string} [coupon_description] - * @property {string} [coupon_id] - * @property {string} [coupon_subtitle] - * @property {string} [coupon_title] - * @property {string} [coupon_type] - * @property {number} [coupon_value] - * @property {number} [discount] - * @property {boolean} [is_applied] - * @property {boolean} [is_valid] - * @property {number} [maximum_discount_value] - * @property {string} [message] - * @property {number} [minimum_cart_value] + * @property {number} [cashback_amount] - Fields denotes cashback amount applied to cart. + * @property {string} [cashback_message_primary] - Primary cashback message for + * coupon applied to cart. + * @property {string} [cashback_message_secondary] - Secondary cashback message + * for coupon applied to cart. + * @property {string} [coupon_code] - Coupon code to be applied to cart. + * @property {string} [coupon_description] - Coupon description of the coupon + * applied to cart. + * @property {string} [coupon_id] - Unique identifier of the coupon applied to cart. + * @property {string} [coupon_subtitle] - Coupon subtitle of the coupon applied to cart. + * @property {string} [coupon_title] - Coupon Title of the coupon applied. + * @property {string} [coupon_type] - Type of the coupon applied to cart. + * @property {number} [coupon_value] - Value of the coupon applied to cart. + * @property {number} [discount] - Total discount earned from coupon applied to cart. + * @property {boolean} [is_applied] - Flag to determine where the coupon is + * applied to cart or not. + * @property {boolean} [is_valid] - Determine where the coupon applied to cart is valid. + * @property {number} [maximum_discount_value] - Maximum discount value of the + * coupon applied to cart. + * @property {string} [message] - Coupon message of the coupon applied to cart. + * @property {number} [minimum_cart_value] - Minimum cart value of the coupon + * applied to cart. */ /** * @typedef ChargesThreshold - * @property {number} [charges] - * @property {number} [threshold] + * @property {number} [charges] - Charges amount to be applied on cart. + * @property {number} [threshold] - Threshold of cart value on which the charge + * should be applied . */ /** * @typedef DeliveryChargesConfig - * @property {boolean} [enabled] - * @property {ChargesThreshold[]} [charges] + * @property {boolean} [enabled] - Delivery charge enabled for the cart or not. + * @property {ChargesThreshold[]} [charges] - Charges applicable based on threshold. */ /** * @typedef CartCommonConfig @@ -353,60 +411,84 @@ export = CartApplicationModel; */ /** * @typedef CartDetailResponse - * @property {number} [cart_id] - * @property {string} [uid] - * @property {AppliedPromotion[]} [applied_promo_details] - * @property {string} [checkout_mode] - * @property {string} [pan_no] - * @property {boolean} [is_valid] - * @property {string} [id] + * @property {number} [cart_id] - Unique identifier of the user cart. + * @property {string} [uid] - Unique identifier of the user cart. + * @property {AppliedPromotion[]} [applied_promo_details] - List of applied + * promotions data to cart which includes promotion id, promotion name, offer + * text, description, buy rules, discount rules and promotion type. + * @property {string} [checkout_mode] - Checkout mode of user cart. + * @property {string} [pan_no] - Permanent Account Number of the user. + * @property {boolean} [is_valid] - Cart validity flag determines the if the + * response is valid or not. + * @property {string} [id] - Unique identifier of the user cart. * @property {PaymentSelectionLock} [payment_selection_lock] * @property {ShipmentPromise} [delivery_promise] - * @property {string} [comment] - * @property {CartProductInfo[]} [items] - * @property {string} [delivery_charge_info] + * @property {string} [comment] - Comment message to be added in user cart. + * @property {CartProductInfo[]} [items] - Items data list in user cart that + * includes item id, item size, store id, available sizes and rest of the item + * related data. + * @property {string} [delivery_charge_info] - Delivery charge in information + * message on shipment . * @property {CartCommonConfig} [common_config] * @property {CartDetailCoupon} [coupon] - * @property {string} [message] - * @property {Object} [notification] - * @property {string} [staff_user_id] - * @property {boolean} [success] - * @property {string} [gstin] - * @property {boolean} [restrict_checkout] - * @property {string} [last_modified] + * @property {string} [message] - Message of the get cart detail API response. + * @property {Object} [notification] - Notification object which denotes + * notification data for user cart. + * @property {string} [staff_user_id] - Staff employee user id if cart is + * created by staff employee for the customer. + * @property {boolean} [success] - Success flag of get cart detail API response. + * @property {string} [gstin] - GSTIN added in user cart. + * @property {boolean} [restrict_checkout] - Restrict checkout flag to restrict + * the checkout process. + * @property {string} [last_modified] - Last modified timestamp of cart. * @property {CartBreakup} [breakup_values] * @property {CartCurrency} [currency] - * @property {string} [coupon_text] - * @property {boolean} [buy_now] - * @property {Object} [pan_config] - * @property {Object} [custom_cart_meta] + * @property {string} [coupon_text] - Coupon text of coupon applied on cart. + * @property {boolean} [buy_now] - Buy now flag for the cart which denotes user + * is doing fast checkout for the cart using buy now. + * @property {Object} [pan_config] - Pan card config states at what condition + * user should enter the pan card. + * @property {Object} [custom_cart_meta] - Custom meta details added cart + * checkout API payload . */ /** * @typedef AddProductCart - * @property {Object} [article_assignment] - * @property {string[]} [product_group_tags] - * @property {Object} [extra_meta] - * @property {number} [quantity] - * @property {Object} [_custom_json] - * @property {string} [item_size] - * @property {number} [store_id] - * @property {string} [display] - * @property {string} [article_id] - * @property {Object[]} [parent_item_identifiers] - * @property {number} [seller_id] - * @property {boolean} [pos] - * @property {number} [item_id] - * @property {Object} [meta] - * @property {string} [seller_identifier] - Add items using seller identifier for store os + * @property {Object} [article_assignment] - Field to determine how article + * assignment should happen by article assignment level and strategy. + * @property {string[]} [product_group_tags] - Field to specify the product + * groups of the product that the user is trying to add in cart. + * @property {Object} [extra_meta] - Extra meta data to be added at article + * level while add items to cart. + * @property {number} [quantity] - Field to specify the product quantity that + * user wants to buy. + * @property {Object} [_custom_json] - Field to add custom json at article level + * while add items to cart . + * @property {string} [item_size] - Field to determine size of the product. + * @property {number} [store_id] - Unique identifier of the store selected by + * the user from which user want to buy a product. + * @property {string} [display] - Display field at article level . + * @property {string} [article_id] - Unique identifier of an article . + * @property {Object[]} [parent_item_identifiers] - Fields to determine parent + * product of the product. + * @property {number} [seller_id] - Unique idetifier of the seller selected by + * the user from which user want to buy a product . + * @property {boolean} [pos] - Filed to determine whether user is making request + * from pos or not. + * @property {number} [item_id] - Unique identifier to identify product. + * @property {Object} [meta] - Field to add meta data at article level. + * @property {string} [seller_identifier] - Add items using seller identifier + * for store os. */ /** * @typedef AddCartRequest - * @property {AddProductCart[]} [items] - * @property {boolean} [new_cart] + * @property {AddProductCart[]} [items] - List of items detail which need to be + * added to cart like item id, item size, and item quantity. + * @property {boolean} [new_cart] - Field to create to new cart whille user adds + * item to cart. */ /** * @typedef AddCartDetailResponse - * @property {string} [message] + * @property {string} [message] - Message of add to cart API response. * @property {boolean} [partial] - When adding multiple items check if all * added. True if only few are added. * @property {CartDetailResponse} [cart] @@ -415,335 +497,424 @@ export = CartApplicationModel; */ /** * @typedef UpdateProductCart - * @property {Object} [extra_meta] - * @property {Object} [_custom_json] - * @property {number} [quantity] - * @property {string} [item_size] - * @property {number} [item_index] + * @property {Object} [extra_meta] - Field to update extra meta of the product in cart. + * @property {Object} [_custom_json] - Field to update custom json of the product in cart. + * @property {number} [quantity] - Field to update the quantity of the item in cart. + * @property {string} [item_size] - Field to update the size of the product in cart. + * @property {number} [item_index] - Item index determines on which index the + * product falls to be updated. * @property {CartProductIdentifer} identifiers - * @property {string} [article_id] - * @property {Object} [parent_item_identifiers] - * @property {number} [item_id] - * @property {Object} [meta] + * @property {string} [article_id] - Article id of the product in cart. + * @property {Object} [parent_item_identifiers] - Field to update parent product + * of the item in cart. + * @property {number} [item_id] - Item id of the product that needs to be updated. + * @property {Object} [meta] - Field to update meta of the item in cart. */ /** * @typedef UpdateCartRequest - * @property {UpdateProductCart[]} [items] - * @property {string} operation + * @property {UpdateProductCart[]} [items] - List items data that needs to be + * updated in cart. + * @property {string} operation - Field to determine if item to be removed from + * cart or it needs to be updated. */ /** * @typedef UpdateCartDetailResponse - * @property {string} [message] + * @property {string} [message] - Message of update cart API response. * @property {CartDetailResponse} [cart] * @property {boolean} [success] - True if all items are added successfully. * False if partially added or not added. */ /** * @typedef DeleteCartDetailResponse - * @property {string} [message] + * @property {string} [message] - Message for delete cart response. * @property {boolean} [success] - True if cart is archived successfully. False * if not archived. */ /** * @typedef CartItemCountResponse - * @property {number} [user_cart_items_count] - Item count present in cart + * @property {number} [user_cart_items_count] - Item count present in cart. */ /** * @typedef PageCoupon - * @property {number} [total_item_count] - * @property {boolean} [has_next] - * @property {number} [total] - * @property {number} [current] - * @property {boolean} [has_previous] + * @property {number} [total_item_count] - Total coupons are available for the cart. + * @property {boolean} [has_next] - Denotes if next page of coupon is available. + * @property {number} [total] - Total pages of coupon availalbe. + * @property {number} [current] - Current page number. + * @property {boolean} [has_previous] - Denotes if previous page of the coupon + * is available. */ /** * @typedef Coupon - * @property {number} [coupon_amount] - The amount based on cart value - * @property {number} [coupon_value] - * @property {string} [title] - * @property {number} [minimum_cart_value] - * @property {string} [sub_title] - * @property {string} [expires_on] - * @property {string} [message] - * @property {string} [coupon_type] - * @property {number} [max_discount_value] - * @property {string} [coupon_code] - * @property {boolean} [is_applicable] - * @property {string} [description] - * @property {boolean} [is_applied] - * @property {string} [start_date] - * @property {string} [end_date] - * @property {string} [coupon_applicable_message] - * @property {string} [offer_text] - * @property {boolean} [is_bank_offer] + * @property {number} [coupon_amount] - The amount based on cart value. + * @property {number} [coupon_value] - Coupon value of the coupon applied to cart. + * @property {string} [title] - Coupon Title of the coupon applied denotes name + * of the coupon. + * @property {number} [minimum_cart_value] - Minimum cart value of the coupon + * applied to cart. + * @property {string} [sub_title] - Coupon subtitle of the coupon applied to + * cart which is used to display. + * @property {string} [expires_on] - Message to display to user for expiry of the coupon . + * @property {string} [message] - Coupon message of the coupon applied to cart. + * @property {string} [coupon_type] - Type of the coupon applied to cart. + * @property {number} [max_discount_value] - Maximum discount value of the + * coupon applied to cart. + * @property {string} [coupon_code] - Coupon code of the coupon applied on cart. + * @property {boolean} [is_applicable] - Flag to determine where the coupon is + * applicable to cart or not. + * @property {string} [description] - Coupon description of the coupon applied to cart. + * @property {boolean} [is_applied] - Flag to determine where the coupon is + * applied to cart or not. + * @property {string} [start_date] - Start date of the coupon when the coupon + * will be live for the users to apply on cart. + * @property {string} [end_date] - End date of the coupon on which the coupon expires. + * @property {string} [coupon_applicable_message] - Message which is used to + * display to the customer if the coupon is applied successfully. + * @property {string} [offer_text] - Offer text of the coupon which highligts + * coupon offer defined while creating coupon . + * @property {boolean} [is_bank_offer] - Bank offer flag for the coupon if the + * coupon is applicable for only if payment done by bank or mode specified in coupon. */ /** * @typedef GetCouponResponse * @property {PageCoupon} [page] - * @property {Coupon[]} [available_coupon_list] + * @property {Coupon[]} [available_coupon_list] - List of available coupon which + * can be applied on cart. */ /** * @typedef ApplyCouponRequest - * @property {string} coupon_code - Coupon code to be applied + * @property {string} coupon_code - Coupon code to be applied. */ /** * @typedef OfferPrice - * @property {string} [currency_symbol] - Currency symbol for currency + * @property {string} [currency_symbol] - Currency symbol for currency. * @property {number} [bulk_effective] - Discounted per unit price for current - * offer object - * @property {string} [currency_code] - Currency code for all amounts - * @property {number} [effective] - Current per unit price of product after - * existing deductions - * @property {number} [marked] - Original price of product + * offer object. + * @property {string} [currency_code] - The currency code for an offer price is + * the three-letter code that corresponds to the currency in which the offer + * price is denominated. + * @property {number} [effective] - The "effective price" is the actual price + * paid by the consumer after accounting for product discounts. It represents + * the true cost of a product or service after all adjustments have been made. + * @property {number} [marked] - The price at which the product is sold to the + * end consumer, typically the original price before discounts. */ /** * @typedef OfferItem * @property {OfferPrice} [price] - * @property {number} [margin] - Percentage value of discount - * @property {number} [quantity] - Quantity on which offer is applicable + * @property {number} [margin] - Percentage value of discount. + * @property {number} [quantity] - Quantity on which offer is applicable. * @property {boolean} [best] - Is true for best offer from all offers present - * for all sellers - * @property {number} [total] - Total price of offer quantity with discount - * @property {boolean} [auto_applied] - Whether offer discount is auto applied in cart - * @property {string} [type] - Offer type + * for all sellers. + * @property {number} [total] - Total price of offer quantity with discount. + * @property {boolean} [auto_applied] - Whether offer discount is auto applied in cart. + * @property {string} [type] - Type of the offer. */ /** * @typedef OfferSeller - * @property {number} [uid] - Seller id - * @property {string} [name] + * @property {number} [uid] - Unique identifier for a seller. + * @property {string} [name] - Name of a seller. */ /** * @typedef BulkPriceOffer - * @property {OfferItem[]} [offers] + * @property {OfferItem[]} [offers] - Offers is the list of Offer item, which + * consists of margin percentage, price, quantity, offer type and offer price. * @property {OfferSeller} [seller] */ /** * @typedef BulkPriceResponse - * @property {BulkPriceOffer[]} [data] - Consist of offers from multiple seller + * @property {BulkPriceOffer[]} [data] - Actual data to be in response consist + * of offers from multiple seller. */ /** * @typedef RewardPointRequest - * @property {boolean} points + * @property {boolean} points - Points to be applied for cart. */ /** * @typedef GeoLocation - * @property {number} [latitude] - * @property {number} [longitude] + * @property {number} [latitude] - Latitude coordinate for address. + * @property {number} [longitude] - Longitude coordinate for address. */ /** * @typedef Address - * @property {string} [country_iso_code] - * @property {string} [area] - * @property {string} [phone] - * @property {string} [country_phone_code] - * @property {string} [checkout_mode] - * @property {string} [address] - * @property {string} [area_code_slug] + * @property {string} [country_iso_code] - Country iso code for address. + * @property {string} [area] - Area description for address. + * @property {string} [phone] - Phone number for address. + * @property {string} [country_phone_code] - Country phone code for address. + * @property {string} [checkout_mode] - Checkout mode of address on which + * address to be used for which checkout mode of cart. + * @property {string} [address] - Address description for address data. + * @property {string} [area_code_slug] - Area code slug for address. example + * pincode is slug for India. * @property {GeoLocation} [geo_location] - * @property {string} [id] - * @property {Object} [_custom_json] - * @property {string} [city] - * @property {string} [sector] - * @property {string} [state_code] - State code for international address - * @property {string} [created_by_user_id] - * @property {string} [landmark] - * @property {string} [user_id] - * @property {string} [name] - * @property {Object} [google_map_point] - * @property {boolean} [is_active] - * @property {string[]} [tags] - * @property {string} [country_code] - * @property {string} [address_type] - * @property {string} [country] - * @property {boolean} [is_default_address] - * @property {string} [area_code] - * @property {string} [email] - * @property {string} [state] - * @property {Object} [meta] + * @property {string} [id] - Id of the address. + * @property {Object} [_custom_json] - Custom json of the address. + * @property {string} [city] - City of the address. + * @property {string} [sector] - Sector of the address. + * @property {string} [state_code] - State code for address. + * @property {string} [created_by_user_id] - Created by user id of address. + * @property {string} [landmark] - Landmark of address. + * @property {string} [user_id] - User id of address for which address is created. + * @property {string} [name] - Name of person in address data to whom it belongs to. + * @property {Object} [google_map_point] - Google map point of the address. + * @property {boolean} [is_active] - States whether address is active or not. + * @property {string[]} [tags] - Tags of address from which it can be identified. + * @property {string} [country_code] - Country code of address. + * @property {string} [address_type] - Address type of address. + * @property {string} [country] - Country of address. + * @property {boolean} [is_default_address] - Default address flag if no address + * selected then this should be the default address selected. + * @property {string} [area_code] - Area code of the address. + * @property {string} [email] - Email address for address data. + * @property {string} [state] - State of the address. + * @property {Object} [meta] - Metadata of the address. */ /** * @typedef GetAddressesResponse - * @property {boolean} [pii_masking] - * @property {Address[]} [address] + * @property {boolean} [pii_masking] - Personally Identifiable Information + * masking flag to denote if the user data in address is masked or not. + * @property {Address[]} [address] - Address description for address data. */ /** * @typedef SaveAddressResponse - * @property {string} [id] - * @property {boolean} [success] - * @property {boolean} [is_default_address] + * @property {string} [id] - Id of the address. + * @property {boolean} [success] - Success flag of save address Response. + * @property {boolean} [is_default_address] - Default address flag if no address + * selected then this should be the default address selected. */ /** * @typedef UpdateAddressResponse - * @property {boolean} [is_updated] - * @property {string} [id] - * @property {boolean} [success] - * @property {boolean} [is_default_address] + * @property {boolean} [is_updated] - Updated flag for update address operation + * if the address updated or not. + * @property {string} [id] - ID of an address. + * @property {boolean} [success] - Success flag of update address response. + * @property {boolean} [is_default_address] - Default address flag if no address + * selected then this should be the default address selected. */ /** * @typedef DeleteAddressResponse - * @property {string} [id] - * @property {boolean} [is_deleted] + * @property {string} [id] - Id of the address. + * @property {boolean} [is_deleted] - Deleted flag in delete address response + * states whether the address was deleted or not. */ /** * @typedef SelectCartAddressRequest - * @property {string} [id] - * @property {string} [billing_address_id] - * @property {string} [cart_id] + * @property {string} [id] - Address is selected by user on which shipment to be + * delivered. + * @property {string} [billing_address_id] - Billing address id selected by user + * on which shipment bill to be generated. + * @property {string} [cart_id] - Cart id of the user cart for which the select + * address operation performed. */ /** * @typedef UpdateCartPaymentRequest - * @property {string} [id] - * @property {string} [payment_identifier] - * @property {string} [address_id] - * @property {string} [merchant_code] - * @property {string} [aggregator_name] - * @property {string} [payment_mode] + * @property {string} [id] - Cart id of the user cart for which the update cart + * payment operation performed. + * @property {string} [payment_identifier] - Payment identifier of the payment + * mode selected to do the payment. + * @property {string} [address_id] - Address id of the user address selected to + * deliver the shipment. + * @property {string} [merchant_code] - Merchant code of the payment mode + * selected to do the payment. + * @property {string} [aggregator_name] - Aggregator name of the payment gateway. + * @property {string} [payment_mode] - Payment mode of the payment selected to + * do the payment. */ /** * @typedef CouponValidity - * @property {string} [title] - * @property {number} [discount] - * @property {boolean} [next_validation_required] - * @property {boolean} [valid] - * @property {string} [display_message_en] - * @property {string} [code] + * @property {string} [title] - Coupon Title of the coupon applied. + * @property {number} [discount] - Coupon discount value of the coupon applied. + * @property {boolean} [next_validation_required] - Flag for coupon validation + * required on next page or not. + * @property {boolean} [valid] - Valid flag which denotes if the applied coupon + * is valid or not. + * @property {string} [display_message_en] - Display message for coupon validity. + * @property {string} [code] - Coupon code of the coupon applied. */ /** * @typedef PaymentCouponValidate - * @property {string} [message] + * @property {string} [message] - Payment mode valid message for coupon. * @property {CouponValidity} [coupon_validity] - * @property {boolean} success + * @property {boolean} success - Success flag of coupon payment mode validity + * API response. */ /** * @typedef ShipmentResponse - * @property {number} [shipments] + * @property {number} [shipments] - Count of shipments that will be shipped. * @property {ShipmentPromise} [promise] - * @property {string} [order_type] - * @property {string} [box_type] - * @property {string} [shipment_type] - * @property {Object} [dp_options] - * @property {string} [dp_id] - * @property {CartProductInfo[]} [items] - * @property {string} [fulfillment_type] - * @property {number} [fulfillment_id] + * @property {string} [order_type] - Order type of the shipment like pickAtStore + * or HomeDelivery. + * @property {string} [box_type] - Box type of the shipment in which the + * shipment will be delivered. + * @property {string} [shipment_type] - Shipment type of the shipment returned + * in get shipments API like single_shipment or multiple shipment. Single + * Shipment means 1 item in 1 shipment and vice versa in the other one. + * @property {Object} [dp_options] - Delivery partner options that are available + * to deliver the shipment. + * @property {string} [dp_id] - Delivery partner id of the shipment. + * @property {CartProductInfo[]} [items] - Item details in the shipment. + * @property {string} [fulfillment_type] - Fulfilment type of shipment. + * @property {number} [fulfillment_id] - Fulfilment id of the shipment. */ /** * @typedef CartShipmentsResponse - * @property {string} [delivery_charge_info] - * @property {string} [checkout_mode] - * @property {string} [message] - * @property {string} [gstin] - * @property {boolean} [restrict_checkout] - * @property {string} [last_modified] - * @property {number} [cart_id] - * @property {boolean} [is_valid] + * @property {string} [delivery_charge_info] - Delivery charge in information + * message on shipment. + * @property {string} [checkout_mode] - Checkout mode of cart. + * @property {string} [message] - Response message of get shipments API. + * @property {string} [gstin] - GSTIN number added in cart. + * @property {boolean} [restrict_checkout] - Restrict checkout flag to restrict + * the checkout process. + * @property {string} [last_modified] - Last modified timestamp of cart. + * @property {number} [cart_id] - Cart id of the user cart. + * @property {boolean} [is_valid] - Cart validity flag determines the if the + * response is valid or not. * @property {CartBreakup} [breakup_values] * @property {CartCurrency} [currency] - * @property {string} [id] - * @property {ShipmentResponse[]} [shipments] + * @property {string} [id] - Cart id of the user cart. + * @property {ShipmentResponse[]} [shipments] - List of Shipments which includes + * shipment data like shipment items, shipment promise, Shipment type, + * shipment order type, shipment dp options etc. * @property {PaymentSelectionLock} [payment_selection_lock] - * @property {string} [coupon_text] + * @property {string} [coupon_text] - Coupon text of coupon applied on cart. * @property {ShipmentPromise} [delivery_promise] - * @property {boolean} [error] - * @property {string} [comment] - * @property {boolean} [buy_now] - * @property {string} [uid] - * @property {Object} [custom_cart_meta] + * @property {boolean} [error] - Error details if any error occurs which + * includes type of error, error code and error message. + * @property {string} [comment] - Comment message added in cart. + * @property {boolean} [buy_now] - Buy now flag of user cart. + * @property {string} [uid] - Cart id of the user cart. + * @property {Object} [custom_cart_meta] - Custom meta details added cart + * checkout API payload. */ /** * @typedef CartCheckoutCustomMeta - * @property {string} key - * @property {string} value + * @property {string} key - Key name of custom meta. + * @property {string} value - Value to be added in key. */ /** * @typedef CustomerDetails - * @property {string} [email] - * @property {string} mobile - * @property {string} [name] + * @property {string} [email] - Email address of the customer to be added in + * customer detail while checkout. + * @property {string} mobile - Mobile number of customer to be added in customer + * detail while checkout. + * @property {string} [name] - Name of customer to be added in customer detail + * while checkout. */ /** * @typedef StaffCheckout - * @property {string} [employee_code] - * @property {string} user - * @property {string} last_name - * @property {string} first_name - * @property {string} _id + * @property {string} [employee_code] - Employee code of staff who does checkout + * on behalf of customer. + * @property {string} user - User id of the employee who does checkout on behalf + * of customer. + * @property {string} last_name - Last name of staff employee who does checkout + * on behalf of customer. + * @property {string} first_name - First name of staff emplyee who does checkout + * on behalf of customer. + * @property {string} _id - Id of staff who does checkout on behalf of customer. */ /** * @typedef CartCheckoutDetailRequest - * @property {CartCheckoutCustomMeta[]} [custom_meta] - * @property {Object} [customer_details] - Customer details - * @property {string} [merchant_code] - * @property {string} [id] - * @property {boolean} [payment_auto_confirm] - * @property {string} payment_mode - * @property {string} [aggregator] - * @property {string} [address_id] - * @property {string} [callback_url] - * @property {Object} [delivery_address] + * @property {CartCheckoutCustomMeta[]} [custom_meta] - Custom meta data to be + * added in order. + * @property {Object} [customer_details] - Customer details to be added in order. + * @property {string} [merchant_code] - Merchant code of the payment mode + * selected to do the payment. + * @property {string} [id] - Cart id of the user cart. + * @property {boolean} [payment_auto_confirm] - Payment auto confirm flag if + * payment need not to be collected from user. + * @property {string} payment_mode - Payment mode from which the payment to be + * done for the order. + * @property {string} [aggregator] - Aggregator name of the payment gateway. + * @property {string} [address_id] - Address id of the user on which the order + * to be delivered. + * @property {string} [callback_url] - Callback url to be redirected after + * payment received/failed. + * @property {Object} [delivery_address] - Delivery address data which includes + * customer address, customer phone, customer email, customer pincode, + * customer landmark and customer name. * @property {StaffCheckout} [staff] - * @property {string} [order_type] - * @property {number} [ordering_store] - * @property {Object} [extra_meta] - * @property {string} [payment_identifier] - * @property {Object} [billing_address] - * @property {Object} [payment_params] - * @property {string} [billing_address_id] - * @property {Object} [meta] - * @property {Object} [payment_extra_identifiers] - * @property {string} [iin] - * @property {string} [network] - * @property {string} [type] - * @property {string} [card_id] + * @property {string} [order_type] - Order type of the order being placed like + * pickAtStore or HomeDelivery. + * @property {number} [ordering_store] - Ordering store id of the store from + * which the order is getting placed. + * @property {Object} [extra_meta] - Extra meta to be added while checkout in order. + * @property {string} [payment_identifier] - Payment identifier of the payment + * mode selected to do the payment. + * @property {Object} [billing_address] - Billing address json which includes + * customer address, customer phone, customer email, customer pincode, + * customer landmark and customer name. + * @property {Object} [payment_params] - Payment params which includes payment + * identifier and merchant code. + * @property {string} [billing_address_id] - Billing address id of the customer + * on which the invoice to be generated after the order is placed. + * @property {Object} [meta] - Meta data to be added in order. + * @property {Object} [payment_extra_identifiers] - Payment extra identifier for + * the payment mode to do the payment. + * @property {string} [iin] - Issuer Identification Number' number of card if + * payment mode is card. + * @property {string} [network] - Network of card if payment mode is card to do + * the payment. + * @property {string} [type] - Type of cart if payment mode is card to do the payment. + * @property {string} [card_id] - Saved card id if payment mode is card to do the payment. */ /** * @typedef CheckCart - * @property {string} [checkout_mode] - * @property {string} [user_type] - * @property {string} [cod_message] - * @property {number} [cart_id] - * @property {boolean} [is_valid] - * @property {number} [delivery_charges] - * @property {string} [id] + * @property {string} [checkout_mode] - Checkout mode of user cart. + * @property {string} [user_type] - User type of the cart who places the order. + * @property {string} [cod_message] - Cash On Delivery message for the order placed. + * @property {number} [cart_id] - Cart id of the user cart for which the order placed. + * @property {boolean} [is_valid] - Valid flag fotr the checkout response if + * order placed was valid. + * @property {number} [delivery_charges] - Delivery charges of the order placed + * via checkout API. + * @property {string} [id] - Cart id of the user cart. * @property {PaymentSelectionLock} [payment_selection_lock] - * @property {string} [error_message] + * @property {string} [error_message] - Error details if any error occurs which + * includes type of error, error code and error message. * @property {ShipmentPromise} [delivery_promise] - * @property {string} [comment] - * @property {CartProductInfo[]} [items] - * @property {string} [uid] - * @property {number} [delivery_charge_order_value] - * @property {string} [delivery_charge_info] - * @property {boolean} [cod_available] - * @property {boolean} [success] - * @property {string} [store_code] - * @property {string} [message] - * @property {string} [gstin] - * @property {boolean} [restrict_checkout] - * @property {string} [last_modified] - * @property {string} [order_id] + * @property {string} [comment] - Comment message added in cart after order placed. + * @property {CartProductInfo[]} [items] - Items details in cart after order placed. + * @property {string} [uid] - Cart id of user cart. + * @property {number} [delivery_charge_order_value] - Delivery charge order value. + * @property {string} [delivery_charge_info] - Delivery charge in information + * message on shipment. + * @property {boolean} [cod_available] - Whether Cash On Delivery available. + * @property {boolean} [success] - Success flag of checkout cart API response. + * @property {string} [store_code] - Store code from which the order placed. + * @property {string} [message] - Message of the cart checkout API response. + * @property {string} [gstin] - GSTIN number added in cart. + * @property {boolean} [restrict_checkout] - Restrict checkout flag to restrict + * the checkout process. + * @property {string} [last_modified] - Last modified timestamp of cart. + * @property {string} [order_id] - Order id generated after placing order. * @property {CartBreakup} [breakup_values] * @property {CartCurrency} [currency] - * @property {Object[]} [store_emps] - * @property {string} [coupon_text] - * @property {boolean} [buy_now] - * @property {number} [cod_charges] - * @property {Object} [custom_cart_meta] + * @property {Object[]} [store_emps] - Store employees data. + * @property {string} [coupon_text] - Coupon text of the applied coupon on order placed. + * @property {boolean} [buy_now] - Buy now flag of user cart. + * @property {number} [cod_charges] - Cash On Delivery charges of the user cart. + * @property {Object} [custom_cart_meta] - Meta data for customCart of user. */ /** * @typedef CartCheckoutResponse - * @property {string} [payment_confirm_url] - * @property {string} [app_intercept_url] - * @property {boolean} [success] - * @property {string} [callback_url] - * @property {string} [message] - * @property {Object} [data] - * @property {string} [order_id] + * @property {string} [payment_confirm_url] - Payment confirm url used to + * redirect after payment is confirmed. + * @property {string} [app_intercept_url] - App intercept url which is used to + * redirect on app after payment in confirmed/failed. + * @property {boolean} [success] - Success flag of cart checkout API response. + * @property {string} [callback_url] - Callback url to be redirected after + * payment received/failed. + * @property {string} [message] - Message of the cart checkout v2 API response. + * @property {Object} [data] - Data of the user cart checkout includes cart + * data, address, user id, order type etc. + * @property {string} [order_id] - Order id generated after placing order. * @property {CheckCart} [cart] */ /** * @typedef GiftDetail - * @property {boolean} [is_gift_applied] - * @property {string} [gift_message] + * @property {boolean} [is_gift_applied] - Is gift applied flag which determines + * if this is a gift oder not. + * @property {string} [gift_message] - Gift message for the one while receive + * the delivery of the order with this message. */ /** * @typedef ArticleGiftDetail @@ -751,216 +922,276 @@ export = CartApplicationModel; */ /** * @typedef CartMetaRequest - * @property {Object} [delivery_slots] + * @property {Object} [delivery_slots] - Delivery slots details includes article + * level time slot when the shipment can be delivered. * @property {ArticleGiftDetail} [gift_details] * @property {Object} [pick_up_customer_details] - Customer contact details for - * customer pickup at store - * @property {string} [checkout_mode] - * @property {string} [comment] - * @property {string} [gstin] - * @property {Object} [custom_cart_meta] + * customer pickup at store. + * @property {string} [checkout_mode] - Checkout mode of user cart. + * @property {string} [comment] - Comment message to be added in user cart. + * @property {string} [gstin] - GSTIN number to be added in user cart. + * @property {Object} [custom_cart_meta] - Custom cart meta json to be added in + * order meta which can be further received in cart API response and order + * meta in order detail API or webhook. */ /** * @typedef CartMetaResponse - * @property {string} [message] - * @property {boolean} [is_valid] + * @property {string} [message] - Detailed message. + * @property {boolean} [is_valid] - Whether added meta was vaild. */ /** * @typedef CartMetaMissingResponse - * @property {string[]} [errors] + * @property {string[]} [errors] - Detailed errors for invalid cart meta request. */ /** * @typedef GetShareCartLinkRequest - * @property {string} [id] - Cart uid for generating sharing + * @property {string} [id] - Cart id of user cart for generating cart sharing token. * @property {Object} [meta] - Staff, Ordering store or any other data. This * data will be used to generate link as well as sent as shared details. */ /** * @typedef GetShareCartLinkResponse - * @property {string} [token] - Short url unique id - * @property {string} [share_url] - Short shareable final url + * @property {string} [token] - Short url unique id of the cart which is opted + * to share with other user. + * @property {string} [share_url] - Short shareable final url which can populate + * shared cart items in one's cart or replaced one's cart with shared cart items. */ /** * @typedef SharedCartDetails - * @property {string} [token] - Short link id - * @property {Object} [user] - User details of who generated share link - * @property {string} [created_on] - * @property {Object} [source] - Share link device and other source information - * @property {Object} [meta] - Meta data sent while generating share cart link + * @property {string} [token] - Short link id of the user cart that needs to be shared. + * @property {Object} [user] - User details of who generated share link. + * @property {string} [created_on] - Created on timestamp of user cart. + * @property {Object} [source] - Share link device and other source information. + * @property {Object} [meta] - Meta data sent while generating share cart link. */ /** * @typedef SharedCart - * @property {string} [checkout_mode] - * @property {number} [cart_id] - * @property {boolean} [is_valid] - * @property {string} [id] + * @property {string} [checkout_mode] - Checkout mode of address on which + * address to be used for which checkout mode of cart. + * @property {number} [cart_id] - Cart id of user cart for generating cart sharing token. + * @property {boolean} [is_valid] - Valid flag for get shared cart detail API. + * @property {string} [id] - Cart id of shared cart. * @property {PaymentSelectionLock} [payment_selection_lock] * @property {ShipmentPromise} [delivery_promise] - * @property {string} [comment] - * @property {CartProductInfo[]} [items] - * @property {string} [uid] - * @property {string} [delivery_charge_info] - * @property {string} [message] - * @property {string} [gstin] + * @property {string} [comment] - Comment message added in user cart. + * @property {CartProductInfo[]} [items] - Items data list in user cart that + * includes item id, item size, store id, available sizes and rest of the item + * related data. + * @property {string} [uid] - Cart id of the user cart. + * @property {string} [delivery_charge_info] - Delivery charge info message of + * the user cart. + * @property {string} [message] - Message of the get shared cart API response. + * @property {string} [gstin] - GSTIN added in user cart. * @property {SharedCartDetails} [shared_cart_details] - * @property {boolean} [restrict_checkout] - * @property {string} [last_modified] + * @property {boolean} [restrict_checkout] - Restrict checkout flag to restrict + * the checkout process. + * @property {string} [last_modified] - Last modified timestamp of user cart. * @property {CartBreakup} [breakup_values] * @property {CartCurrency} [currency] - * @property {string} [coupon_text] - * @property {boolean} [buy_now] - * @property {Object} [custom_cart_meta] + * @property {string} [coupon_text] - Coupon text of the applied coupon on user cart. + * @property {boolean} [buy_now] - Buy now flag of user cart. + * @property {Object} [custom_cart_meta] - Custom cart meta of user cart added + * via update cart meta API. */ /** * @typedef SharedCartResponse - * @property {string} [error] + * @property {string} [error] - Error details if any error occurs which includes + * type of error, error code and error message. * @property {SharedCart} [cart] */ /** * @typedef PriceMinMax - * @property {number} [min] - * @property {number} [max] + * @property {number} [min] - Min price of article added in user cart. + * @property {number} [max] - Max price of article added in user cart. */ /** * @typedef ItemPriceDetails * @property {PriceMinMax} [marked] * @property {PriceMinMax} [effective] - * @property {string} [currency] + * @property {string} [currency] - Currency of the article added in cart. */ /** * @typedef FreeGiftItems - * @property {string} [item_slug] - Item slug - * @property {string} [item_name] - Item name + * @property {string} [item_slug] - Slug for an item. + * @property {string} [item_name] - Name of the free gift item received via free + * gift promotion. * @property {ItemPriceDetails} [item_price_details] - * @property {string} [item_brand_name] - Item brand name - * @property {number} [item_id] - Item id - * @property {string[]} [item_images_url] - Item images URL + * @property {string} [item_brand_name] - Item brand name of the free gift item + * promotion applied on cart. + * @property {number} [item_id] - Item id of the free gift item. + * @property {string[]} [item_images_url] - Images URLs for free gift items. */ /** * @typedef PromotionOffer - * @property {string} [id] - Promotion id - * @property {Object} [buy_rules] - Buy rules of promotions - * @property {string} [offer_text] - Offer title - * @property {string} [promotion_type] - Promotion type - * @property {string} [promotion_name] - Name of the promotion - * @property {string} [promotion_group] - Group of promotion belongs to - * @property {string} [valid_till] - Datetime ISOString for promotion end date - * @property {Object[]} [discount_rules] - Discount rules of promotions + * @property {string} [id] - Promotion id of the promotion which is available on product. + * @property {Object} [buy_rules] - Buy rules of promotion which is available on product. + * @property {string} [offer_text] - Offer title of the promotion which is + * available on product. + * @property {string} [promotion_type] - Promotion type of the promotion which + * is availalbe on product. + * @property {string} [promotion_name] - Name of the promotion which is + * available on product. + * @property {string} [promotion_group] - Group of the promotion which is + * available on product. + * @property {string} [valid_till] - Datetime ISO String for promotion end date + * which is available on product. + * @property {Object[]} [discount_rules] - Discount rules of promotions which is + * avaiable on product. * @property {FreeGiftItems[]} [free_gift_items] - Details of free gift items - * @property {string} [description] - Offer details including T&C + * which included item id, brand name, item name, item slug, item price and + * item image url. + * @property {string} [description] - Offer details including T&C of the + * promotion which is avaiable on product. */ /** * @typedef PromotionOffersResponse - * @property {PromotionOffer[]} [available_promotions] + * @property {PromotionOffer[]} [available_promotions] - Available promotion + * details which are available on product which includes promotion data like + * promotion id, promotion name, buy rules, discount rules validity dates etc. */ /** * @typedef PromotionPaymentOffer - * @property {string} [application_id] - Application id - * @property {Object[]} [buy_rules] - Buy rules of promotions - * @property {string} [calculate_on] - Price on which promotion calculated - * @property {string} [description] - Offer details including T&C - * @property {Object[]} [discount_rules] - Discount rules of promotions - * @property {string} [id] - Promotion id - * @property {string} [offer_text] - Offer title - * @property {string} [promotion_group] - Group of promotion belongs to - * @property {string} [promotion_type] - Promotion type - * @property {string} [promotion_name] - Name of the promotion + * @property {string} [application_id] - Application id on which the promotion + * was created. + * @property {Object[]} [buy_rules] - Buy rules of promotions which denotes if + * the rules matches than only promotion is applicable. + * @property {string} [calculate_on] - Article Price on which promotion + * calculated like effective price or marked price. + * @property {string} [description] - Offer details including T&C of the + * promotion which is avaiable on cart. + * @property {Object[]} [discount_rules] - Discount rules of promotions which is + * avaiable on cart. + * @property {string} [id] - Promotion id of the promotion which is available on cart. + * @property {string} [offer_text] - Offer title of the promotion which is + * available on cart. + * @property {string} [promotion_group] - Group promotion which is available on cart. + * @property {string} [promotion_type] - Promotion type of the promotion which + * is availalbe on cart. + * @property {string} [promotion_name] - Name of the promotion which is available on cart. */ /** * @typedef PromotionPaymentOffersResponse - * @property {boolean} [success] - * @property {PromotionPaymentOffer[]} [promotions] + * @property {boolean} [success] - Success flag of get payment offers API response. + * @property {PromotionPaymentOffer[]} [promotions] - List of promotions data + * which are applicable on cart/product. */ /** * @typedef OperationErrorResponse - * @property {string} [message] - * @property {boolean} [success] + * @property {string} [message] - Message of get payment offer API response. + * @property {boolean} [success] - Success flag of get payment offer API response. */ /** * @typedef LadderPrice - * @property {string} [currency_symbol] - Currency symbol for currency - * @property {number} [offer_price] - Discounted per unit price for current offer object - * @property {string} [currency_code] - Currency code for all amounts + * @property {string} [currency_symbol] - Currency symbol for currency of ladder + * price product. + * @property {number} [offer_price] - Discounted per unit price for current offer object. + * @property {string} [currency_code] - Currency code for all amounts. * @property {number} [effective] - Current per unit price of product after - * existing deductions - * @property {number} [marked] - Original price of product + * existing deductions. + * @property {number} [marked] - Original price of product. */ /** * @typedef LadderOfferItem * @property {LadderPrice} [price] - * @property {number} [margin] - Percentage value of discount + * @property {number} [margin] - Percentage value of discount. * @property {number} [max_quantity] - Minimum quantity upto which offer is - * applicable. If not present that offer is applicable on all quantities - * @property {number} [min_quantity] - Minimum quantity from which offer is applicable - * @property {string} [type] - Offer type + * applicable. If not present that offer is applicable on all quantities. + * @property {number} [min_quantity] - Minimum quantity from which offer is applicable. + * @property {string} [type] - Offer type of the ladder promotion. */ /** * @typedef LadderPriceOffer - * @property {string} [id] - Promotion id - * @property {Object} [buy_rules] - Buy rules of promotions + * @property {string} [id] - ID of the promotion. + * @property {Object} [buy_rules] - Buy rules of ladder price promotion + * applicable on product. * @property {string} [calculate_on] - If this ladder offer is to be calculated - * on MRP or ESP price - * @property {string} [offer_text] - Offer title - * @property {string} [promotion_group] - Group of promotion belongs to - * @property {string} [valid_till] - Datetime ISOString for promotion end date - * @property {Object[]} [discount_rules] - Discount rules of promotions - * @property {LadderOfferItem[]} [offer_prices] - * @property {FreeGiftItems[]} [free_gift_items] - Details of free gift items - * @property {string} [description] - Offer details including T&C + * on MRP or ESP price. + * @property {string} [offer_text] - Offer title of ladder price promotion + * applicable on product. + * @property {string} [promotion_group] - Group of ladder price promotion + * applicable on product. + * @property {string} [valid_till] - Datetime ISO String for promotion end date. + * @property {Object[]} [discount_rules] - Discount rules of ladder price + * promotion applicable on product. + * @property {LadderOfferItem[]} [offer_prices] - Offer prices for ladder price + * promotion applicable on product. + * @property {FreeGiftItems[]} [free_gift_items] - Details of free gift items list. + * @property {string} [description] - Offer details including T&C of ladder + * price promotion applicable on product. */ /** * @typedef CurrencyInfo - * @property {string} [code] - * @property {string} [symbol] + * @property {string} [code] - Currency code of ladder price promotion. + * @property {string} [symbol] - Currency symbol for currency of ladder price product. */ /** * @typedef LadderPriceOffers - * @property {LadderPriceOffer[]} [available_offers] + * @property {LadderPriceOffer[]} [available_offers] - Available ladder + * promotions offers list. * @property {CurrencyInfo} [currency] */ /** * @typedef PaymentMeta - * @property {string} [merchant_code] - * @property {string} [type] - * @property {string} [payment_gateway] - * @property {string} [payment_identifier] + * @property {string} [merchant_code] - Merchant code of the payment mode + * selected to do the payment. + * @property {string} [type] - Type of card if payment mode is card to do the payment. + * @property {string} [payment_gateway] - Payment gateway used to do the payment. + * @property {string} [payment_identifier] - Payment identifier of the payment + * mode selected to do the payment. */ /** * @typedef PaymentMethod * @property {PaymentMeta} payment_meta - * @property {string} mode - * @property {string} [payment] - * @property {number} [amount] - * @property {string} [name] - * @property {Object} [payment_extra_identifiers] + * @property {string} mode - Payment mode of payment method used to make payment. + * @property {string} [payment] - Payment name of payment method used to make payment. + * @property {number} [amount] - Amount of the payment mode to be paid. + * @property {string} [name] - Name of the payment mode used to make payment. + * @property {Object} [payment_extra_identifiers] - Payment extra identifier for + * the payment mode to do the payment. */ /** * @typedef CartCheckoutDetailV2Request - * @property {Object} [custom_meta] - * @property {Object} [customer_details] - Customer details - * @property {string} [merchant_code] - * @property {string} [cart_id] - * @property {string} [id] - * @property {boolean} [payment_auto_confirm] - * @property {PaymentMethod[]} payment_methods - * @property {string} payment_mode - * @property {string} [aggregator] - * @property {string} [address_id] - * @property {string} [callback_url] - * @property {Object} [delivery_address] + * @property {Object} [custom_meta] - Custom meta data to be added in order. + * @property {Object} [customer_details] - Customer details to be added in order. + * @property {string} [merchant_code] - Merchant code of the payment mode + * selected to do the payment. + * @property {string} [cart_id] - Cart id of the user cart. + * @property {string} [id] - Cart id of the user cart. + * @property {boolean} [payment_auto_confirm] - Payment auto confirm flag if + * payment need not to be collected from user. + * @property {PaymentMethod[]} payment_methods - Payment methods list used to + * make the payment. + * @property {string} payment_mode - Payment mode of the payment selected to do + * the payment. + * @property {string} [aggregator] - Aggregator of payment mode to do the payment. + * @property {string} [address_id] - Address id of the user where the order to + * be delivered. + * @property {string} [callback_url] - Callback url after payment received/failed. + * @property {Object} [delivery_address] - Delivery address data which includes + * customer address, customer phone, customer email, customer pincode, + * customer landmark and customer name. * @property {StaffCheckout} [staff] - * @property {string} [order_type] - * @property {number} [ordering_store] - * @property {Object} [extra_meta] - * @property {string} [payment_identifier] - * @property {Object} [billing_address] - * @property {Object} [payment_params] - * @property {string} [billing_address_id] - * @property {Object} [meta] - * @property {string} [iin] - * @property {string} [network] - * @property {string} [type] - * @property {string} [card_id] + * @property {string} [order_type] - Order type of the order being placed like + * pickAtStore or HomeDelivery. + * @property {number} [ordering_store] - Ordering store id of the store from + * which the order is getting placed. + * @property {Object} [extra_meta] - Extra meta to be added while checkout in order. + * @property {string} [payment_identifier] - Payment identifier of the payment + * mode selected to do the payment. + * @property {Object} [billing_address] - Billing address json which includes + * customer address, customer phone, customer email, customer pincode, + * customer landmark and customer name. + * @property {Object} [payment_params] - Payment params which includes payment + * identifier and merchant code. + * @property {string} [billing_address_id] - Billing address id selected by user + * on which shipment bill to be generated. + * @property {Object} [meta] - Meta data sent while checkout v2. + * @property {string} [iin] - Issuer Identification Number' number of card if + * payment mode is card to do the payment. + * @property {string} [network] - Network of card if payment mode is card to do + * the payment. + * @property {string} [type] - Type of cart if payment mode is card to do the payment. + * @property {string} [card_id] - Saved card id if payment mode is card to do the payment. */ declare class CartApplicationModel { } @@ -971,11 +1202,11 @@ declare namespace CartApplicationModel { declare function BuyRules(): BuyRules; type BuyRules = { /** - * - Item criteria of promotion + * - Item criteria of promotion. */ item_criteria?: any; /** - * - Cart conditions details for promotion + * - Cart conditions details for promotion. */ cart_conditions?: any; }; @@ -983,19 +1214,19 @@ type BuyRules = { declare function DiscountRulesApp(): DiscountRulesApp; type DiscountRulesApp = { /** - * - Matched buy rules for promotion + * - Matched buy rules for promotion. */ matched_buy_rules?: string[]; /** - * - Raw offer details for promotion + * - Raw offer details for promotion. */ raw_offer?: any; /** - * - Offer for promotion + * - Offer for promotion. */ offer?: any; /** - * - Item criteria of promotion + * - Item criteria of promotion. */ item_criteria?: any; }; @@ -1003,11 +1234,11 @@ type DiscountRulesApp = { declare function Ownership(): Ownership; type Ownership = { /** - * - Promo amount payable category + * - Promotion amount payable category. */ payable_category?: string; /** - * - Promo amount bearable party + * - Promotion amount bearable party. */ payable_by?: string; }; @@ -1015,19 +1246,19 @@ type Ownership = { declare function AppliedFreeArticles(): AppliedFreeArticles; type AppliedFreeArticles = { /** - * - Free gift items details + * - Free gift items details. */ free_gift_item_details?: FreeGiftItems; /** - * - Parent item identifier for free article + * - Parent item identifier for free article. */ parent_item_identifier?: string; /** - * - Free article quantity + * - Quantity of free articles. */ quantity?: number; /** - * - Free article id + * - IDs of free articles. */ article_id?: string; }; @@ -1035,76 +1266,91 @@ type AppliedFreeArticles = { declare function AppliedPromotion(): AppliedPromotion; type AppliedPromotion = { /** - * - Promotion id + * - Promotion id. */ promo_id?: string; /** - * - Buy rules for promotions + * - Buy rules for promotions. */ buy_rules?: BuyRules[]; /** - * - Offer text of current promotion + * - Offer text of current promotion. */ offer_text?: string; /** - * - Promotion group for the promotion + * - Promotion group for the promotion. */ promotion_group?: string; /** * - If applied promotion is applied on - * product MRP or ESP + * product MRP or ESP. */ mrp_promotion?: boolean; /** - * - Promotion name of current promotion + * - Promotion name of current promotion. */ promotion_name?: string; /** - * - Per unit discount amount applied with current promotion + * - Per unit discount amount applied with current promotion. */ amount?: number; /** - * - Discount rules for promotions + * - Discount rules for promotions. */ discount_rules?: DiscountRulesApp[]; /** - * - Ownership of promotion + * - Ownership of promotion. */ ownership?: Ownership; /** * - Quantity of article on which - * promotion is applicable + * promotion is applicable. */ article_quantity?: number; /** * - Applied free - * article for free gift item promotions + * article for free gift item promotions. */ applied_free_articles?: AppliedFreeArticles[]; /** - * - Promotion type of current promotion + * - Promotion type of current promotion. */ promotion_type?: string; /** - * - Meta object for extra data + * - Meta object for extra data. */ meta?: any; /** - * - Promotion code + * - Promotion code. */ code?: string; }; /** @returns {PaymentSelectionLock} */ declare function PaymentSelectionLock(): PaymentSelectionLock; type PaymentSelectionLock = { + /** + * - Denotes if default payment selection is enable. + */ enabled?: boolean; + /** + * - Default Selection Payment Mode. + */ default_options?: string; + /** + * - Identifier for Payment Mode. + */ payment_identifier?: string; }; /** @returns {PromiseFormatted} */ declare function PromiseFormatted(): PromiseFormatted; type PromiseFormatted = { + /** + * - Maximum Delivery promise formatted timestamp. + */ max?: string; + /** + * - Minimum Delivery promise formatted timestamp. + */ min?: string; }; /** @returns {PromiseISOFormat} */ @@ -1122,7 +1368,13 @@ type PromiseISOFormat = { /** @returns {PromiseTimestamp} */ declare function PromiseTimestamp(): PromiseTimestamp; type PromiseTimestamp = { + /** + * - Maximum Promise for the shipment. + */ max?: number; + /** + * - Minimum delivery promise time for the shipment. + */ min?: number; }; /** @returns {ShipmentPromise} */ @@ -1135,9 +1387,22 @@ type ShipmentPromise = { /** @returns {BasePrice} */ declare function BasePrice(): BasePrice; type BasePrice = { + /** + * - Current per unit price of product after + * existing deductions. + */ effective?: number; + /** + * - Currency symbol of the currncy used for price. + */ currency_symbol?: string; + /** + * - Original price of product. + */ marked?: number; + /** + * - Currency code for all amounts. + */ currency_code?: string; }; /** @returns {ArticlePriceInfo} */ @@ -1149,39 +1414,111 @@ type ArticlePriceInfo = { /** @returns {BaseInfo} */ declare function BaseInfo(): BaseInfo; type BaseInfo = { + /** + * - Unique identifier of entities like brand or seller. + */ uid?: number; + /** + * - Name of entities like brand or seller. + */ name?: string; }; /** @returns {StoreInfo} */ declare function StoreInfo(): StoreInfo; type StoreInfo = { + /** + * - A unique code or identifier for the store, + * often used for internal reference. + */ store_code?: string; + /** + * - Unique identifiers of the store from where product + * is fulfileld. + */ uid?: number; + /** + * - Store name of the store from where the product is + * fulfiled . + */ name?: string; }; /** @returns {ProductArticle} */ declare function ProductArticle(): ProductArticle; type ProductArticle = { price?: ArticlePriceInfo; + /** + * - List fot the unique identifier + * for the product grouping. + */ product_group_tags?: string[]; + /** + * - Field to update extra meta of the article in cart. + */ extra_meta?: any; + /** + * - Quantity of the article added in cart. + */ quantity?: number; + /** + * - Field to update custom json of the article in cart. + */ _custom_json?: any; + /** + * - Article meta data. + */ meta?: any; + /** + * - Size of the article added in cart. + */ size?: string; + /** + * - Quantity of the product which will + * specially manufactured as not available in stock. + */ mto_quantity?: number; seller?: BaseInfo; + /** + * - List of identifiers used by sellers + * for the product size. + */ seller_identifier?: string; + /** + * - Fields to determine parent + * product of the product. + */ parent_item_identifiers?: any; + /** + * - Unique identifier of the article. + */ identifier?: any; store?: StoreInfo; + /** + * - Meta details of the article added from cart. + */ cart_item_meta?: any; + /** + * - This unique identifier is assigned to the specific + * article. This represents item x size x location. + */ uid?: string; + /** + * - Gift card detail if gift card applied to the + * product which indicates gift price, gift applicable flag and display + * message for the gift. + */ gift_card?: any; + /** + * - Whether the product can be purchased + * as a gift. It is true if the product is available for gifting and false otherwise. + */ is_gift_visible?: boolean; + /** + * - Type of the data sent in response. Possible value + * is article. + */ type?: string; /** - * - A list of article tags + * - A list of article tags. */ tags?: string[]; }; @@ -1189,24 +1526,28 @@ type ProductArticle = { declare function CartProductIdentifer(): CartProductIdentifer; type CartProductIdentifer = { /** - * - Article idenfier generated by cart + * - Article idenfier generated by cart. */ identifier?: string; }; /** @returns {PromoMeta} */ declare function PromoMeta(): PromoMeta; type PromoMeta = { + /** + * - Loyalty points message denotes how much + * loyalty points and applied and how much left with the user. + */ message?: string; }; /** @returns {ChargesAmount} */ declare function ChargesAmount(): ChargesAmount; type ChargesAmount = { /** - * - This is the value of amount added + * - This is the value of amount added. */ value?: number; /** - * - This is destination currency of value + * - This is destination currency of value. */ currency?: string; }; @@ -1214,37 +1555,56 @@ type ChargesAmount = { declare function Charges(): Charges; type Charges = { /** - * - This object contains the meta data realted to - * charges price adjustment + * - Meta data realted to charges price adjustment. */ meta?: any; amount?: ChargesAmount; /** - * - This is the name of the charge applied + * - Name of the charge applied. */ name?: string; /** - * - This boolean value defines that refund - * is allowed or not for the charge + * - Whether refund is allowed or not for the charge. */ allow_refund?: boolean; /** - * - This is the code of the charge applied + * - Code of the charge applied. */ code?: string; /** - * - This is the type of the charge applied + * - Type of the charge applied. */ type?: string; }; /** @returns {ProductPrice} */ declare function ProductPrice(): ProductPrice; type ProductPrice = { + /** + * - Currency symbol of the price defined + * for the product. + */ currency_symbol?: string; + /** + * - Selling price of the product . + */ selling?: number; + /** + * - Currency code of the price defined for + * the product. + */ currency_code?: string; + /** + * - Price before promotion and coupon amount + * applied for calculation. + */ add_on?: number; + /** + * - Selling price of the product . + */ effective?: number; + /** + * - Maximum price of the product . + */ marked?: number; }; /** @returns {ProductPriceInfo} */ @@ -1256,11 +1616,32 @@ type ProductPriceInfo = { /** @returns {ProductPricePerUnit} */ declare function ProductPricePerUnit(): ProductPricePerUnit; type ProductPricePerUnit = { + /** + * - Currency symbol of the price defined + * for the product. + */ currency_symbol?: string; + /** + * - Selling price of the product . + */ selling_price?: number; + /** + * - Currency code of the price defined for + * the product. + */ currency_code?: string; + /** + * - Price before promotion and coupon amount + * applied for calculation. + */ add_on?: number; + /** + * - Selling price of the product . + */ effective?: number; + /** + * - Maximum price of the product . + */ marked?: number; }; /** @returns {ProductPricePerUnitInfo} */ @@ -1272,25 +1653,56 @@ type ProductPricePerUnitInfo = { /** @returns {ProductAvailabilitySize} */ declare function ProductAvailabilitySize(): ProductAvailabilitySize; type ProductAvailabilitySize = { + /** + * - Display size of the product. + */ display?: string; + /** + * - Actual value of the size. + */ value?: string; + /** + * - Available flag for the size of the + * product if that is available. + */ is_available?: boolean; }; /** @returns {ProductAvailability} */ declare function ProductAvailability(): ProductAvailability; type ProductAvailability = { + /** + * - Denotes if the product is available in stock. + */ out_of_stock?: boolean; + /** + * - Deliverable flag denotes if the product + * is deliverable or not. + */ deliverable?: boolean; + /** + * - Product sizes availability. + */ available_sizes?: ProductAvailabilitySize[]; + /** + * - Valid flag for the product if the product + * added in cart is valid to place the order. + */ is_valid?: boolean; + /** + * - Quantity of the product available + * on other store. + */ other_store_quantity?: number; + /** + * - All sizes of the product. + */ sizes?: string[]; }; /** @returns {ActionQuery} */ declare function ActionQuery(): ActionQuery; type ActionQuery = { /** - * - Contains list of product slug + * - Contains list of product slug. */ product_slug?: string[]; }; @@ -1298,142 +1710,387 @@ type ActionQuery = { declare function ProductAction(): ProductAction; type ProductAction = { query?: ActionQuery; + /** + * - Url of the product to render the product . + */ url?: string; + /** + * - Type of action. + */ type?: string; }; /** @returns {Tags} */ declare function Tags(): Tags; type Tags = { + /** + * - Tags is a lable or batch that is attached to a + * product in cart. + */ tags?: any; }; /** @returns {ProductImage} */ declare function ProductImage(): ProductImage; type ProductImage = { + /** + * - Secured url of the product image. + */ secure_url?: string; + /** + * - Aspect ratio of the product image. + */ aspect_ratio?: string; + /** + * - Bucket link url for product image. + */ url?: string; }; /** @returns {CategoryInfo} */ declare function CategoryInfo(): CategoryInfo; type CategoryInfo = { /** - * - Product Category Id + * - Product Category Id. */ uid?: number; + /** + * - Category name of the product . + */ name?: string; }; /** @returns {CartProduct} */ declare function CartProduct(): CartProduct; type CartProduct = { + /** + * - Field to add custom json of the product in cart. + */ _custom_json?: any; brand?: BaseInfo; action?: ProductAction; teaser_tag?: Tags; /** * - Unique product url name generated via product - * name and other meta data + * name and other meta data. */ slug?: string; + /** + * - Product Images urls of different types + * like secure url, aspect ration url and url. + */ images?: ProductImage[]; + /** + * - Unique identifier of the product in cart. + */ uid?: number; + /** + * - Product name of the product in cart which is + * defined on platform. + */ name?: string; + /** + * - Product code of the product while defining + * product on platform. + */ item_code?: string; + /** + * - Product category information which + * incldes category name and category id. + */ categories?: CategoryInfo[]; + /** + * - Products tags that are added to each product to + * identify the set of products. + */ tags?: string[]; + /** + * - Type of product in cart. + */ type?: string; + /** + * - Product attributes defined on platform. + */ attributes?: any; }; /** @returns {CouponDetails} */ declare function CouponDetails(): CouponDetails; type CouponDetails = { + /** + * - Discout amount applied from + * coupon for single quantity of the product. + */ discount_single_quantity?: number; + /** + * - Coupon code of the coupon applied. + */ code?: string; + /** + * - Total discount earned from + * coupon applied to cart. + */ discount_total_quantity?: number; }; /** @returns {CartProductInfo} */ declare function CartProductInfo(): CartProductInfo; type CartProductInfo = { article?: ProductArticle; + /** + * - An Integer indication the Minimum Order Quantity + * of a product, e.g. 100. + */ moq?: any; identifiers: CartProductIdentifer; promo_meta?: PromoMeta; price?: ProductPriceInfo; + /** + * - Quantity of the product added in cart. + */ quantity?: number; + /** + * - Charges information which denotes types of + * charges and amount of charge applied to that product in cart. + */ charges?: Charges[]; + /** + * - Discount amount of the product in cart. + */ discount?: string; availability?: ProductAvailability; delivery_promise?: ShipmentPromise; product?: CartProduct; + /** + * - European Article Number of the product + * (limited upto 50 EAN identifier in a single request). + */ product_ean_id?: string; + /** + * - Bulk offer information for the product + * which denotes if any bulk offer is applied to the product in cart. + */ bulk_offer?: any; + /** + * - Parent item information of the + * product which identifies the parent of the product in cart. + */ parent_item_identifiers?: any; coupon?: CouponDetails; + /** + * - Whether MTO (Make to Order) is enabled or not. + */ custom_order?: any; + /** + * - Message for the coupon denotes which + * coupon is applied and empty if not applied. + */ coupon_message?: string; + /** + * - The attribute key associated with the size. + */ key?: string; + /** + * - Product level message which denotes error + * information to display over the product in cart. + */ message?: string; + /** + * - Whether or not the product is a set of items. + */ is_set?: boolean; price_per_unit?: ProductPricePerUnitInfo; + /** + * - List of applicable + * promotion for the product in cart. + */ promotions_applied?: AppliedPromotion[]; }; /** @returns {DisplayBreakup} */ declare function DisplayBreakup(): DisplayBreakup; type DisplayBreakup = { + /** + * - Currency symbol for the price. + */ currency_symbol?: string; + /** + * - Key of the price like total_mrp, total, subtotal etc. + */ key?: string; + /** + * - Display key field that to be shown against the value. + */ display?: string; + /** + * - List of message at price level to be displayed. + */ message?: string[]; + /** + * - Currency code for the price . + */ currency_code?: string; + /** + * - Numeric value of the price. + */ value?: number; + /** + * - Value for the price which is set from platform + * if applicable. + */ preset?: number; }; /** @returns {RawBreakup} */ declare function RawBreakup(): RawBreakup; type RawBreakup = { + /** + * - Total value of goods after all discount, coupons + * and promotion applied of all products in cart. + */ vog?: number; + /** + * - Selling price amount of all products in cart. + */ subtotal?: number; + /** + * - Loyalty points applied on cart. + */ fynd_cash?: number; + /** + * - Discount amount recieved on cart. + */ discount?: number; + /** + * - Convenience fee amount applied to cart. + */ convenience_fee?: number; + /** + * - Delivery charge applied to cart. + */ delivery_charge?: number; + /** + * - GST charges applied on cart. + */ gst_charges?: number; + /** + * - Maximum price total amount of all products in cart. + */ mrp_total?: number; + /** + * - Total of payment modes by which payment is + * going to be done. + */ mop_total?: number; + /** + * - Total amount of charges applied on cart. + */ total_charge?: number; + /** + * - Coupon amount applied to cart. + */ coupon?: number; + /** + * - Total payable amount by the customer. + */ total?: number; + /** + * - Gift cart amount applied on cart. + */ gift_card?: number; + /** + * - Total amount will be saved if customer + * places the order. + */ you_saved?: number; + /** + * - Cod charge value applied to cart. This is + * applied when user select payment mode as COD. + */ cod_charge?: number; }; /** @returns {CouponBreakup} */ declare function CouponBreakup(): CouponBreakup; type CouponBreakup = { + /** + * - Value of the coupon applied to cart. + */ coupon_value?: number; + /** + * - Coupon Title of the coupon applied denotes name + * of the coupon. + */ title?: string; + /** + * - Coupon subtitle of the coupon applied to + * cart which is used to display. + */ sub_title?: string; + /** + * - Minumum cart value of cart after + * which the coupon can be applied. + */ minimum_cart_value?: number; + /** + * - Coupon message of the coupon applied to cart. + */ message?: string; + /** + * - Type of the coupon applied to cart. + */ coupon_type?: string; + /** + * - Unique identifier of the coupon applied to cart. + */ uid?: string; + /** + * - Coupon value of the coupon applied to cart. + */ value?: number; + /** + * - Maximum discount value of the + * coupon applied to cart. + */ max_discount_value?: number; + /** + * - Applied flag which denotes if any coupon + * is applied to cart. + */ is_applied?: boolean; + /** + * - Coupon description of the coupon applied to cart. + */ description?: string; + /** + * - Coupon code of the coupon applied. + */ code?: string; + /** + * - Type of the coupon applied to cart. + */ type?: string; }; /** @returns {LoyaltyPoints} */ declare function LoyaltyPoints(): LoyaltyPoints; type LoyaltyPoints = { + /** + * - Total loyalty points available with user. + */ total?: number; + /** + * - Description for loyalty points. + */ description?: string; + /** + * - Whether the loyalty points are applicable + * for the cart . + */ applicable?: number; + /** + * - Whether the loyalty points are applied on the cart . + */ is_applied?: boolean; }; /** @returns {CartBreakup} */ declare function CartBreakup(): CartBreakup; type CartBreakup = { + /** + * - List of breakup data which is used + * to display the breakup to the customer like MRP total, Discount, Sub total, + * coupon value, promotion value and final total. + */ display?: DisplayBreakup[]; raw?: RawBreakup; coupon?: CouponBreakup; @@ -1443,41 +2100,111 @@ type CartBreakup = { declare function CartCurrency(): CartCurrency; type CartCurrency = { /** - * - Currency code defined by ISO 4217:2015 + * - Currency code defined by ISO 4217:2015. */ code?: string; + /** + * - Currency symbol for currency of user cart prices. + */ symbol?: string; }; /** @returns {CartDetailCoupon} */ declare function CartDetailCoupon(): CartDetailCoupon; type CartDetailCoupon = { + /** + * - Fields denotes cashback amount applied to cart. + */ cashback_amount?: number; + /** + * - Primary cashback message for + * coupon applied to cart. + */ cashback_message_primary?: string; + /** + * - Secondary cashback message + * for coupon applied to cart. + */ cashback_message_secondary?: string; + /** + * - Coupon code to be applied to cart. + */ coupon_code?: string; + /** + * - Coupon description of the coupon + * applied to cart. + */ coupon_description?: string; + /** + * - Unique identifier of the coupon applied to cart. + */ coupon_id?: string; + /** + * - Coupon subtitle of the coupon applied to cart. + */ coupon_subtitle?: string; + /** + * - Coupon Title of the coupon applied. + */ coupon_title?: string; + /** + * - Type of the coupon applied to cart. + */ coupon_type?: string; + /** + * - Value of the coupon applied to cart. + */ coupon_value?: number; + /** + * - Total discount earned from coupon applied to cart. + */ discount?: number; + /** + * - Flag to determine where the coupon is + * applied to cart or not. + */ is_applied?: boolean; + /** + * - Determine where the coupon applied to cart is valid. + */ is_valid?: boolean; + /** + * - Maximum discount value of the + * coupon applied to cart. + */ maximum_discount_value?: number; + /** + * - Coupon message of the coupon applied to cart. + */ message?: string; + /** + * - Minimum cart value of the coupon + * applied to cart. + */ minimum_cart_value?: number; }; /** @returns {ChargesThreshold} */ declare function ChargesThreshold(): ChargesThreshold; type ChargesThreshold = { + /** + * - Charges amount to be applied on cart. + */ charges?: number; + /** + * - Threshold of cart value on which the charge + * should be applied . + */ threshold?: number; }; /** @returns {DeliveryChargesConfig} */ declare function DeliveryChargesConfig(): DeliveryChargesConfig; type DeliveryChargesConfig = { + /** + * - Delivery charge enabled for the cart or not. + */ enabled?: boolean; + /** + * - Charges applicable based on threshold. + */ charges?: ChargesThreshold[]; }; /** @returns {CartCommonConfig} */ @@ -1488,65 +2215,203 @@ type CartCommonConfig = { /** @returns {CartDetailResponse} */ declare function CartDetailResponse(): CartDetailResponse; type CartDetailResponse = { + /** + * - Unique identifier of the user cart. + */ cart_id?: number; + /** + * - Unique identifier of the user cart. + */ uid?: string; + /** + * - List of applied + * promotions data to cart which includes promotion id, promotion name, offer + * text, description, buy rules, discount rules and promotion type. + */ applied_promo_details?: AppliedPromotion[]; + /** + * - Checkout mode of user cart. + */ checkout_mode?: string; + /** + * - Permanent Account Number of the user. + */ pan_no?: string; + /** + * - Cart validity flag determines the if the + * response is valid or not. + */ is_valid?: boolean; + /** + * - Unique identifier of the user cart. + */ id?: string; payment_selection_lock?: PaymentSelectionLock; delivery_promise?: ShipmentPromise; + /** + * - Comment message to be added in user cart. + */ comment?: string; + /** + * - Items data list in user cart that + * includes item id, item size, store id, available sizes and rest of the item + * related data. + */ items?: CartProductInfo[]; + /** + * - Delivery charge in information + * message on shipment . + */ delivery_charge_info?: string; common_config?: CartCommonConfig; coupon?: CartDetailCoupon; + /** + * - Message of the get cart detail API response. + */ message?: string; + /** + * - Notification object which denotes + * notification data for user cart. + */ notification?: any; + /** + * - Staff employee user id if cart is + * created by staff employee for the customer. + */ staff_user_id?: string; + /** + * - Success flag of get cart detail API response. + */ success?: boolean; + /** + * - GSTIN added in user cart. + */ gstin?: string; + /** + * - Restrict checkout flag to restrict + * the checkout process. + */ restrict_checkout?: boolean; + /** + * - Last modified timestamp of cart. + */ last_modified?: string; breakup_values?: CartBreakup; currency?: CartCurrency; + /** + * - Coupon text of coupon applied on cart. + */ coupon_text?: string; + /** + * - Buy now flag for the cart which denotes user + * is doing fast checkout for the cart using buy now. + */ buy_now?: boolean; + /** + * - Pan card config states at what condition + * user should enter the pan card. + */ pan_config?: any; + /** + * - Custom meta details added cart + * checkout API payload . + */ custom_cart_meta?: any; }; /** @returns {AddProductCart} */ declare function AddProductCart(): AddProductCart; type AddProductCart = { + /** + * - Field to determine how article + * assignment should happen by article assignment level and strategy. + */ article_assignment?: any; + /** + * - Field to specify the product + * groups of the product that the user is trying to add in cart. + */ product_group_tags?: string[]; + /** + * - Extra meta data to be added at article + * level while add items to cart. + */ extra_meta?: any; + /** + * - Field to specify the product quantity that + * user wants to buy. + */ quantity?: number; + /** + * - Field to add custom json at article level + * while add items to cart . + */ _custom_json?: any; + /** + * - Field to determine size of the product. + */ item_size?: string; + /** + * - Unique identifier of the store selected by + * the user from which user want to buy a product. + */ store_id?: number; + /** + * - Display field at article level . + */ display?: string; + /** + * - Unique identifier of an article . + */ article_id?: string; + /** + * - Fields to determine parent + * product of the product. + */ parent_item_identifiers?: any[]; + /** + * - Unique idetifier of the seller selected by + * the user from which user want to buy a product . + */ seller_id?: number; + /** + * - Filed to determine whether user is making request + * from pos or not. + */ pos?: boolean; + /** + * - Unique identifier to identify product. + */ item_id?: number; + /** + * - Field to add meta data at article level. + */ meta?: any; /** - * - Add items using seller identifier for store os + * - Add items using seller identifier + * for store os. */ seller_identifier?: string; }; /** @returns {AddCartRequest} */ declare function AddCartRequest(): AddCartRequest; type AddCartRequest = { + /** + * - List of items detail which need to be + * added to cart like item id, item size, and item quantity. + */ items?: AddProductCart[]; + /** + * - Field to create to new cart whille user adds + * item to cart. + */ new_cart?: boolean; }; /** @returns {AddCartDetailResponse} */ declare function AddCartDetailResponse(): AddCartDetailResponse; type AddCartDetailResponse = { + /** + * - Message of add to cart API response. + */ message?: string; /** * - When adding multiple items check if all @@ -1563,26 +2428,66 @@ type AddCartDetailResponse = { /** @returns {UpdateProductCart} */ declare function UpdateProductCart(): UpdateProductCart; type UpdateProductCart = { + /** + * - Field to update extra meta of the product in cart. + */ extra_meta?: any; + /** + * - Field to update custom json of the product in cart. + */ _custom_json?: any; + /** + * - Field to update the quantity of the item in cart. + */ quantity?: number; + /** + * - Field to update the size of the product in cart. + */ item_size?: string; + /** + * - Item index determines on which index the + * product falls to be updated. + */ item_index?: number; identifiers: CartProductIdentifer; + /** + * - Article id of the product in cart. + */ article_id?: string; + /** + * - Field to update parent product + * of the item in cart. + */ parent_item_identifiers?: any; + /** + * - Item id of the product that needs to be updated. + */ item_id?: number; + /** + * - Field to update meta of the item in cart. + */ meta?: any; }; /** @returns {UpdateCartRequest} */ declare function UpdateCartRequest(): UpdateCartRequest; type UpdateCartRequest = { + /** + * - List items data that needs to be + * updated in cart. + */ items?: UpdateProductCart[]; + /** + * - Field to determine if item to be removed from + * cart or it needs to be updated. + */ operation: string; }; /** @returns {UpdateCartDetailResponse} */ declare function UpdateCartDetailResponse(): UpdateCartDetailResponse; type UpdateCartDetailResponse = { + /** + * - Message of update cart API response. + */ message?: string; cart?: CartDetailResponse; /** @@ -1594,6 +2499,9 @@ type UpdateCartDetailResponse = { /** @returns {DeleteCartDetailResponse} */ declare function DeleteCartDetailResponse(): DeleteCartDetailResponse; type DeleteCartDetailResponse = { + /** + * - Message for delete cart response. + */ message?: string; /** * - True if cart is archived successfully. False @@ -1605,55 +2513,136 @@ type DeleteCartDetailResponse = { declare function CartItemCountResponse(): CartItemCountResponse; type CartItemCountResponse = { /** - * - Item count present in cart + * - Item count present in cart. */ user_cart_items_count?: number; }; /** @returns {PageCoupon} */ declare function PageCoupon(): PageCoupon; type PageCoupon = { + /** + * - Total coupons are available for the cart. + */ total_item_count?: number; + /** + * - Denotes if next page of coupon is available. + */ has_next?: boolean; + /** + * - Total pages of coupon availalbe. + */ total?: number; + /** + * - Current page number. + */ current?: number; + /** + * - Denotes if previous page of the coupon + * is available. + */ has_previous?: boolean; }; /** @returns {Coupon} */ declare function Coupon(): Coupon; type Coupon = { /** - * - The amount based on cart value + * - The amount based on cart value. */ coupon_amount?: number; + /** + * - Coupon value of the coupon applied to cart. + */ coupon_value?: number; + /** + * - Coupon Title of the coupon applied denotes name + * of the coupon. + */ title?: string; + /** + * - Minimum cart value of the coupon + * applied to cart. + */ minimum_cart_value?: number; + /** + * - Coupon subtitle of the coupon applied to + * cart which is used to display. + */ sub_title?: string; + /** + * - Message to display to user for expiry of the coupon . + */ expires_on?: string; + /** + * - Coupon message of the coupon applied to cart. + */ message?: string; + /** + * - Type of the coupon applied to cart. + */ coupon_type?: string; + /** + * - Maximum discount value of the + * coupon applied to cart. + */ max_discount_value?: number; + /** + * - Coupon code of the coupon applied on cart. + */ coupon_code?: string; + /** + * - Flag to determine where the coupon is + * applicable to cart or not. + */ is_applicable?: boolean; + /** + * - Coupon description of the coupon applied to cart. + */ description?: string; + /** + * - Flag to determine where the coupon is + * applied to cart or not. + */ is_applied?: boolean; + /** + * - Start date of the coupon when the coupon + * will be live for the users to apply on cart. + */ start_date?: string; + /** + * - End date of the coupon on which the coupon expires. + */ end_date?: string; + /** + * - Message which is used to + * display to the customer if the coupon is applied successfully. + */ coupon_applicable_message?: string; + /** + * - Offer text of the coupon which highligts + * coupon offer defined while creating coupon . + */ offer_text?: string; + /** + * - Bank offer flag for the coupon if the + * coupon is applicable for only if payment done by bank or mode specified in coupon. + */ is_bank_offer?: boolean; }; /** @returns {GetCouponResponse} */ declare function GetCouponResponse(): GetCouponResponse; type GetCouponResponse = { page?: PageCoupon; + /** + * - List of available coupon which + * can be applied on cart. + */ available_coupon_list?: Coupon[]; }; /** @returns {ApplyCouponRequest} */ declare function ApplyCouponRequest(): ApplyCouponRequest; type ApplyCouponRequest = { /** - * - Coupon code to be applied + * - Coupon code to be applied. */ coupon_code: string; }; @@ -1661,25 +2650,29 @@ type ApplyCouponRequest = { declare function OfferPrice(): OfferPrice; type OfferPrice = { /** - * - Currency symbol for currency + * - Currency symbol for currency. */ currency_symbol?: string; /** * - Discounted per unit price for current - * offer object + * offer object. */ bulk_effective?: number; /** - * - Currency code for all amounts + * - The currency code for an offer price is + * the three-letter code that corresponds to the currency in which the offer + * price is denominated. */ currency_code?: string; /** - * - Current per unit price of product after - * existing deductions + * - The "effective price" is the actual price + * paid by the consumer after accounting for product discounts. It represents + * the true cost of a product or service after all adjustments have been made. */ effective?: number; /** - * - Original price of product + * - The price at which the product is sold to the + * end consumer, typically the original price before discounts. */ marked?: number; }; @@ -1688,28 +2681,28 @@ declare function OfferItem(): OfferItem; type OfferItem = { price?: OfferPrice; /** - * - Percentage value of discount + * - Percentage value of discount. */ margin?: number; /** - * - Quantity on which offer is applicable + * - Quantity on which offer is applicable. */ quantity?: number; /** * - Is true for best offer from all offers present - * for all sellers + * for all sellers. */ best?: boolean; /** - * - Total price of offer quantity with discount + * - Total price of offer quantity with discount. */ total?: number; /** - * - Whether offer discount is auto applied in cart + * - Whether offer discount is auto applied in cart. */ auto_applied?: boolean; /** - * - Offer type + * - Type of the offer. */ type?: string; }; @@ -1717,14 +2710,21 @@ type OfferItem = { declare function OfferSeller(): OfferSeller; type OfferSeller = { /** - * - Seller id + * - Unique identifier for a seller. */ uid?: number; + /** + * - Name of a seller. + */ name?: string; }; /** @returns {BulkPriceOffer} */ declare function BulkPriceOffer(): BulkPriceOffer; type BulkPriceOffer = { + /** + * - Offers is the list of Offer item, which + * consists of margin percentage, price, quantity, offer type and offer price. + */ offers?: OfferItem[]; seller?: OfferSeller; }; @@ -1732,258 +2732,773 @@ type BulkPriceOffer = { declare function BulkPriceResponse(): BulkPriceResponse; type BulkPriceResponse = { /** - * - Consist of offers from multiple seller + * - Actual data to be in response consist + * of offers from multiple seller. */ data?: BulkPriceOffer[]; }; /** @returns {RewardPointRequest} */ declare function RewardPointRequest(): RewardPointRequest; type RewardPointRequest = { + /** + * - Points to be applied for cart. + */ points: boolean; }; /** @returns {GeoLocation} */ declare function GeoLocation(): GeoLocation; type GeoLocation = { + /** + * - Latitude coordinate for address. + */ latitude?: number; + /** + * - Longitude coordinate for address. + */ longitude?: number; }; /** @returns {Address} */ declare function Address(): Address; type Address = { + /** + * - Country iso code for address. + */ country_iso_code?: string; + /** + * - Area description for address. + */ area?: string; + /** + * - Phone number for address. + */ phone?: string; + /** + * - Country phone code for address. + */ country_phone_code?: string; + /** + * - Checkout mode of address on which + * address to be used for which checkout mode of cart. + */ checkout_mode?: string; + /** + * - Address description for address data. + */ address?: string; + /** + * - Area code slug for address. example + * pincode is slug for India. + */ area_code_slug?: string; geo_location?: GeoLocation; + /** + * - Id of the address. + */ id?: string; + /** + * - Custom json of the address. + */ _custom_json?: any; + /** + * - City of the address. + */ city?: string; + /** + * - Sector of the address. + */ sector?: string; /** - * - State code for international address + * - State code for address. */ state_code?: string; + /** + * - Created by user id of address. + */ created_by_user_id?: string; + /** + * - Landmark of address. + */ landmark?: string; + /** + * - User id of address for which address is created. + */ user_id?: string; + /** + * - Name of person in address data to whom it belongs to. + */ name?: string; + /** + * - Google map point of the address. + */ google_map_point?: any; + /** + * - States whether address is active or not. + */ is_active?: boolean; + /** + * - Tags of address from which it can be identified. + */ tags?: string[]; + /** + * - Country code of address. + */ country_code?: string; + /** + * - Address type of address. + */ address_type?: string; + /** + * - Country of address. + */ country?: string; + /** + * - Default address flag if no address + * selected then this should be the default address selected. + */ is_default_address?: boolean; + /** + * - Area code of the address. + */ area_code?: string; + /** + * - Email address for address data. + */ email?: string; + /** + * - State of the address. + */ state?: string; + /** + * - Metadata of the address. + */ meta?: any; }; /** @returns {GetAddressesResponse} */ declare function GetAddressesResponse(): GetAddressesResponse; type GetAddressesResponse = { + /** + * - Personally Identifiable Information + * masking flag to denote if the user data in address is masked or not. + */ pii_masking?: boolean; + /** + * - Address description for address data. + */ address?: Address[]; }; /** @returns {SaveAddressResponse} */ declare function SaveAddressResponse(): SaveAddressResponse; type SaveAddressResponse = { + /** + * - Id of the address. + */ id?: string; + /** + * - Success flag of save address Response. + */ success?: boolean; + /** + * - Default address flag if no address + * selected then this should be the default address selected. + */ is_default_address?: boolean; }; /** @returns {UpdateAddressResponse} */ declare function UpdateAddressResponse(): UpdateAddressResponse; type UpdateAddressResponse = { + /** + * - Updated flag for update address operation + * if the address updated or not. + */ is_updated?: boolean; + /** + * - ID of an address. + */ id?: string; + /** + * - Success flag of update address response. + */ success?: boolean; + /** + * - Default address flag if no address + * selected then this should be the default address selected. + */ is_default_address?: boolean; }; /** @returns {DeleteAddressResponse} */ declare function DeleteAddressResponse(): DeleteAddressResponse; type DeleteAddressResponse = { + /** + * - Id of the address. + */ id?: string; + /** + * - Deleted flag in delete address response + * states whether the address was deleted or not. + */ is_deleted?: boolean; }; /** @returns {SelectCartAddressRequest} */ declare function SelectCartAddressRequest(): SelectCartAddressRequest; type SelectCartAddressRequest = { + /** + * - Address is selected by user on which shipment to be + * delivered. + */ id?: string; + /** + * - Billing address id selected by user + * on which shipment bill to be generated. + */ billing_address_id?: string; + /** + * - Cart id of the user cart for which the select + * address operation performed. + */ cart_id?: string; }; /** @returns {UpdateCartPaymentRequest} */ declare function UpdateCartPaymentRequest(): UpdateCartPaymentRequest; type UpdateCartPaymentRequest = { + /** + * - Cart id of the user cart for which the update cart + * payment operation performed. + */ id?: string; + /** + * - Payment identifier of the payment + * mode selected to do the payment. + */ payment_identifier?: string; + /** + * - Address id of the user address selected to + * deliver the shipment. + */ address_id?: string; + /** + * - Merchant code of the payment mode + * selected to do the payment. + */ merchant_code?: string; + /** + * - Aggregator name of the payment gateway. + */ aggregator_name?: string; + /** + * - Payment mode of the payment selected to + * do the payment. + */ payment_mode?: string; }; /** @returns {CouponValidity} */ declare function CouponValidity(): CouponValidity; type CouponValidity = { + /** + * - Coupon Title of the coupon applied. + */ title?: string; + /** + * - Coupon discount value of the coupon applied. + */ discount?: number; + /** + * - Flag for coupon validation + * required on next page or not. + */ next_validation_required?: boolean; + /** + * - Valid flag which denotes if the applied coupon + * is valid or not. + */ valid?: boolean; + /** + * - Display message for coupon validity. + */ display_message_en?: string; + /** + * - Coupon code of the coupon applied. + */ code?: string; }; /** @returns {PaymentCouponValidate} */ declare function PaymentCouponValidate(): PaymentCouponValidate; type PaymentCouponValidate = { + /** + * - Payment mode valid message for coupon. + */ message?: string; coupon_validity?: CouponValidity; + /** + * - Success flag of coupon payment mode validity + * API response. + */ success: boolean; }; /** @returns {ShipmentResponse} */ declare function ShipmentResponse(): ShipmentResponse; type ShipmentResponse = { + /** + * - Count of shipments that will be shipped. + */ shipments?: number; promise?: ShipmentPromise; + /** + * - Order type of the shipment like pickAtStore + * or HomeDelivery. + */ order_type?: string; + /** + * - Box type of the shipment in which the + * shipment will be delivered. + */ box_type?: string; + /** + * - Shipment type of the shipment returned + * in get shipments API like single_shipment or multiple shipment. Single + * Shipment means 1 item in 1 shipment and vice versa in the other one. + */ shipment_type?: string; + /** + * - Delivery partner options that are available + * to deliver the shipment. + */ dp_options?: any; + /** + * - Delivery partner id of the shipment. + */ dp_id?: string; + /** + * - Item details in the shipment. + */ items?: CartProductInfo[]; + /** + * - Fulfilment type of shipment. + */ fulfillment_type?: string; + /** + * - Fulfilment id of the shipment. + */ fulfillment_id?: number; }; /** @returns {CartShipmentsResponse} */ declare function CartShipmentsResponse(): CartShipmentsResponse; type CartShipmentsResponse = { + /** + * - Delivery charge in information + * message on shipment. + */ delivery_charge_info?: string; + /** + * - Checkout mode of cart. + */ checkout_mode?: string; + /** + * - Response message of get shipments API. + */ message?: string; + /** + * - GSTIN number added in cart. + */ gstin?: string; + /** + * - Restrict checkout flag to restrict + * the checkout process. + */ restrict_checkout?: boolean; + /** + * - Last modified timestamp of cart. + */ last_modified?: string; + /** + * - Cart id of the user cart. + */ cart_id?: number; + /** + * - Cart validity flag determines the if the + * response is valid or not. + */ is_valid?: boolean; breakup_values?: CartBreakup; currency?: CartCurrency; + /** + * - Cart id of the user cart. + */ id?: string; + /** + * - List of Shipments which includes + * shipment data like shipment items, shipment promise, Shipment type, + * shipment order type, shipment dp options etc. + */ shipments?: ShipmentResponse[]; payment_selection_lock?: PaymentSelectionLock; + /** + * - Coupon text of coupon applied on cart. + */ coupon_text?: string; delivery_promise?: ShipmentPromise; + /** + * - Error details if any error occurs which + * includes type of error, error code and error message. + */ error?: boolean; + /** + * - Comment message added in cart. + */ comment?: string; + /** + * - Buy now flag of user cart. + */ buy_now?: boolean; + /** + * - Cart id of the user cart. + */ uid?: string; + /** + * - Custom meta details added cart + * checkout API payload. + */ custom_cart_meta?: any; }; /** @returns {CartCheckoutCustomMeta} */ declare function CartCheckoutCustomMeta(): CartCheckoutCustomMeta; type CartCheckoutCustomMeta = { + /** + * - Key name of custom meta. + */ key: string; + /** + * - Value to be added in key. + */ value: string; }; /** @returns {CustomerDetails} */ declare function CustomerDetails(): CustomerDetails; type CustomerDetails = { + /** + * - Email address of the customer to be added in + * customer detail while checkout. + */ email?: string; + /** + * - Mobile number of customer to be added in customer + * detail while checkout. + */ mobile: string; + /** + * - Name of customer to be added in customer detail + * while checkout. + */ name?: string; }; /** @returns {StaffCheckout} */ declare function StaffCheckout(): StaffCheckout; type StaffCheckout = { + /** + * - Employee code of staff who does checkout + * on behalf of customer. + */ employee_code?: string; + /** + * - User id of the employee who does checkout on behalf + * of customer. + */ user: string; + /** + * - Last name of staff employee who does checkout + * on behalf of customer. + */ last_name: string; + /** + * - First name of staff emplyee who does checkout + * on behalf of customer. + */ first_name: string; + /** + * - Id of staff who does checkout on behalf of customer. + */ _id: string; }; /** @returns {CartCheckoutDetailRequest} */ declare function CartCheckoutDetailRequest(): CartCheckoutDetailRequest; type CartCheckoutDetailRequest = { + /** + * - Custom meta data to be + * added in order. + */ custom_meta?: CartCheckoutCustomMeta[]; /** - * - Customer details + * - Customer details to be added in order. */ customer_details?: any; + /** + * - Merchant code of the payment mode + * selected to do the payment. + */ merchant_code?: string; + /** + * - Cart id of the user cart. + */ id?: string; + /** + * - Payment auto confirm flag if + * payment need not to be collected from user. + */ payment_auto_confirm?: boolean; + /** + * - Payment mode from which the payment to be + * done for the order. + */ payment_mode: string; + /** + * - Aggregator name of the payment gateway. + */ aggregator?: string; + /** + * - Address id of the user on which the order + * to be delivered. + */ address_id?: string; + /** + * - Callback url to be redirected after + * payment received/failed. + */ callback_url?: string; + /** + * - Delivery address data which includes + * customer address, customer phone, customer email, customer pincode, + * customer landmark and customer name. + */ delivery_address?: any; staff?: StaffCheckout; + /** + * - Order type of the order being placed like + * pickAtStore or HomeDelivery. + */ order_type?: string; + /** + * - Ordering store id of the store from + * which the order is getting placed. + */ ordering_store?: number; + /** + * - Extra meta to be added while checkout in order. + */ extra_meta?: any; + /** + * - Payment identifier of the payment + * mode selected to do the payment. + */ payment_identifier?: string; + /** + * - Billing address json which includes + * customer address, customer phone, customer email, customer pincode, + * customer landmark and customer name. + */ billing_address?: any; + /** + * - Payment params which includes payment + * identifier and merchant code. + */ payment_params?: any; + /** + * - Billing address id of the customer + * on which the invoice to be generated after the order is placed. + */ billing_address_id?: string; + /** + * - Meta data to be added in order. + */ meta?: any; + /** + * - Payment extra identifier for + * the payment mode to do the payment. + */ payment_extra_identifiers?: any; + /** + * - Issuer Identification Number' number of card if + * payment mode is card. + */ iin?: string; + /** + * - Network of card if payment mode is card to do + * the payment. + */ network?: string; + /** + * - Type of cart if payment mode is card to do the payment. + */ type?: string; + /** + * - Saved card id if payment mode is card to do the payment. + */ card_id?: string; }; /** @returns {CheckCart} */ declare function CheckCart(): CheckCart; type CheckCart = { + /** + * - Checkout mode of user cart. + */ checkout_mode?: string; + /** + * - User type of the cart who places the order. + */ user_type?: string; + /** + * - Cash On Delivery message for the order placed. + */ cod_message?: string; + /** + * - Cart id of the user cart for which the order placed. + */ cart_id?: number; + /** + * - Valid flag fotr the checkout response if + * order placed was valid. + */ is_valid?: boolean; + /** + * - Delivery charges of the order placed + * via checkout API. + */ delivery_charges?: number; + /** + * - Cart id of the user cart. + */ id?: string; payment_selection_lock?: PaymentSelectionLock; + /** + * - Error details if any error occurs which + * includes type of error, error code and error message. + */ error_message?: string; delivery_promise?: ShipmentPromise; + /** + * - Comment message added in cart after order placed. + */ comment?: string; + /** + * - Items details in cart after order placed. + */ items?: CartProductInfo[]; + /** + * - Cart id of user cart. + */ uid?: string; + /** + * - Delivery charge order value. + */ delivery_charge_order_value?: number; + /** + * - Delivery charge in information + * message on shipment. + */ delivery_charge_info?: string; + /** + * - Whether Cash On Delivery available. + */ cod_available?: boolean; + /** + * - Success flag of checkout cart API response. + */ success?: boolean; + /** + * - Store code from which the order placed. + */ store_code?: string; + /** + * - Message of the cart checkout API response. + */ message?: string; + /** + * - GSTIN number added in cart. + */ gstin?: string; + /** + * - Restrict checkout flag to restrict + * the checkout process. + */ restrict_checkout?: boolean; + /** + * - Last modified timestamp of cart. + */ last_modified?: string; + /** + * - Order id generated after placing order. + */ order_id?: string; breakup_values?: CartBreakup; currency?: CartCurrency; + /** + * - Store employees data. + */ store_emps?: any[]; + /** + * - Coupon text of the applied coupon on order placed. + */ coupon_text?: string; + /** + * - Buy now flag of user cart. + */ buy_now?: boolean; + /** + * - Cash On Delivery charges of the user cart. + */ cod_charges?: number; + /** + * - Meta data for customCart of user. + */ custom_cart_meta?: any; }; /** @returns {CartCheckoutResponse} */ declare function CartCheckoutResponse(): CartCheckoutResponse; type CartCheckoutResponse = { + /** + * - Payment confirm url used to + * redirect after payment is confirmed. + */ payment_confirm_url?: string; + /** + * - App intercept url which is used to + * redirect on app after payment in confirmed/failed. + */ app_intercept_url?: string; + /** + * - Success flag of cart checkout API response. + */ success?: boolean; + /** + * - Callback url to be redirected after + * payment received/failed. + */ callback_url?: string; + /** + * - Message of the cart checkout v2 API response. + */ message?: string; + /** + * - Data of the user cart checkout includes cart + * data, address, user id, order type etc. + */ data?: any; + /** + * - Order id generated after placing order. + */ order_id?: string; cart?: CheckCart; }; /** @returns {GiftDetail} */ declare function GiftDetail(): GiftDetail; type GiftDetail = { + /** + * - Is gift applied flag which determines + * if this is a gift oder not. + */ is_gift_applied?: boolean; + /** + * - Gift message for the one while receive + * the delivery of the order with this message. + */ gift_message?: string; }; /** @returns {ArticleGiftDetail} */ @@ -1994,34 +3509,61 @@ type ArticleGiftDetail = { /** @returns {CartMetaRequest} */ declare function CartMetaRequest(): CartMetaRequest; type CartMetaRequest = { + /** + * - Delivery slots details includes article + * level time slot when the shipment can be delivered. + */ delivery_slots?: any; gift_details?: ArticleGiftDetail; /** * - Customer contact details for - * customer pickup at store + * customer pickup at store. */ pick_up_customer_details?: any; + /** + * - Checkout mode of user cart. + */ checkout_mode?: string; + /** + * - Comment message to be added in user cart. + */ comment?: string; + /** + * - GSTIN number to be added in user cart. + */ gstin?: string; + /** + * - Custom cart meta json to be added in + * order meta which can be further received in cart API response and order + * meta in order detail API or webhook. + */ custom_cart_meta?: any; }; /** @returns {CartMetaResponse} */ declare function CartMetaResponse(): CartMetaResponse; type CartMetaResponse = { + /** + * - Detailed message. + */ message?: string; + /** + * - Whether added meta was vaild. + */ is_valid?: boolean; }; /** @returns {CartMetaMissingResponse} */ declare function CartMetaMissingResponse(): CartMetaMissingResponse; type CartMetaMissingResponse = { + /** + * - Detailed errors for invalid cart meta request. + */ errors?: string[]; }; /** @returns {GetShareCartLinkRequest} */ declare function GetShareCartLinkRequest(): GetShareCartLinkRequest; type GetShareCartLinkRequest = { /** - * - Cart uid for generating sharing + * - Cart id of user cart for generating cart sharing token. */ id?: string; /** @@ -2034,11 +3576,13 @@ type GetShareCartLinkRequest = { declare function GetShareCartLinkResponse(): GetShareCartLinkResponse; type GetShareCartLinkResponse = { /** - * - Short url unique id + * - Short url unique id of the cart which is opted + * to share with other user. */ token?: string; /** - * - Short shareable final url + * - Short shareable final url which can populate + * shared cart items in one's cart or replaced one's cart with shared cart items. */ share_url?: string; }; @@ -2046,57 +3590,121 @@ type GetShareCartLinkResponse = { declare function SharedCartDetails(): SharedCartDetails; type SharedCartDetails = { /** - * - Short link id + * - Short link id of the user cart that needs to be shared. */ token?: string; /** - * - User details of who generated share link + * - User details of who generated share link. */ user?: any; + /** + * - Created on timestamp of user cart. + */ created_on?: string; /** - * - Share link device and other source information + * - Share link device and other source information. */ source?: any; /** - * - Meta data sent while generating share cart link + * - Meta data sent while generating share cart link. */ meta?: any; }; /** @returns {SharedCart} */ declare function SharedCart(): SharedCart; type SharedCart = { + /** + * - Checkout mode of address on which + * address to be used for which checkout mode of cart. + */ checkout_mode?: string; + /** + * - Cart id of user cart for generating cart sharing token. + */ cart_id?: number; + /** + * - Valid flag for get shared cart detail API. + */ is_valid?: boolean; + /** + * - Cart id of shared cart. + */ id?: string; payment_selection_lock?: PaymentSelectionLock; delivery_promise?: ShipmentPromise; + /** + * - Comment message added in user cart. + */ comment?: string; + /** + * - Items data list in user cart that + * includes item id, item size, store id, available sizes and rest of the item + * related data. + */ items?: CartProductInfo[]; + /** + * - Cart id of the user cart. + */ uid?: string; + /** + * - Delivery charge info message of + * the user cart. + */ delivery_charge_info?: string; + /** + * - Message of the get shared cart API response. + */ message?: string; + /** + * - GSTIN added in user cart. + */ gstin?: string; shared_cart_details?: SharedCartDetails; + /** + * - Restrict checkout flag to restrict + * the checkout process. + */ restrict_checkout?: boolean; + /** + * - Last modified timestamp of user cart. + */ last_modified?: string; breakup_values?: CartBreakup; currency?: CartCurrency; + /** + * - Coupon text of the applied coupon on user cart. + */ coupon_text?: string; + /** + * - Buy now flag of user cart. + */ buy_now?: boolean; + /** + * - Custom cart meta of user cart added + * via update cart meta API. + */ custom_cart_meta?: any; }; /** @returns {SharedCartResponse} */ declare function SharedCartResponse(): SharedCartResponse; type SharedCartResponse = { + /** + * - Error details if any error occurs which includes + * type of error, error code and error message. + */ error?: string; cart?: SharedCart; }; /** @returns {PriceMinMax} */ declare function PriceMinMax(): PriceMinMax; type PriceMinMax = { + /** + * - Min price of article added in user cart. + */ min?: number; + /** + * - Max price of article added in user cart. + */ max?: number; }; /** @returns {ItemPriceDetails} */ @@ -2104,30 +3712,35 @@ declare function ItemPriceDetails(): ItemPriceDetails; type ItemPriceDetails = { marked?: PriceMinMax; effective?: PriceMinMax; + /** + * - Currency of the article added in cart. + */ currency?: string; }; /** @returns {FreeGiftItems} */ declare function FreeGiftItems(): FreeGiftItems; type FreeGiftItems = { /** - * - Item slug + * - Slug for an item. */ item_slug?: string; /** - * - Item name + * - Name of the free gift item received via free + * gift promotion. */ item_name?: string; item_price_details?: ItemPriceDetails; /** - * - Item brand name + * - Item brand name of the free gift item + * promotion applied on cart. */ item_brand_name?: string; /** - * - Item id + * - Item id of the free gift item. */ item_id?: number; /** - * - Item images URL + * - Images URLs for free gift items. */ item_images_url?: string[]; }; @@ -2135,129 +3748,164 @@ type FreeGiftItems = { declare function PromotionOffer(): PromotionOffer; type PromotionOffer = { /** - * - Promotion id + * - Promotion id of the promotion which is available on product. */ id?: string; /** - * - Buy rules of promotions + * - Buy rules of promotion which is available on product. */ buy_rules?: any; /** - * - Offer title + * - Offer title of the promotion which is + * available on product. */ offer_text?: string; /** - * - Promotion type + * - Promotion type of the promotion which + * is availalbe on product. */ promotion_type?: string; /** - * - Name of the promotion + * - Name of the promotion which is + * available on product. */ promotion_name?: string; /** - * - Group of promotion belongs to + * - Group of the promotion which is + * available on product. */ promotion_group?: string; /** - * - Datetime ISOString for promotion end date + * - Datetime ISO String for promotion end date + * which is available on product. */ valid_till?: string; /** - * - Discount rules of promotions + * - Discount rules of promotions which is + * avaiable on product. */ discount_rules?: any[]; /** * - Details of free gift items + * which included item id, brand name, item name, item slug, item price and + * item image url. */ free_gift_items?: FreeGiftItems[]; /** - * - Offer details including T&C + * - Offer details including T&C of the + * promotion which is avaiable on product. */ description?: string; }; /** @returns {PromotionOffersResponse} */ declare function PromotionOffersResponse(): PromotionOffersResponse; type PromotionOffersResponse = { + /** + * - Available promotion + * details which are available on product which includes promotion data like + * promotion id, promotion name, buy rules, discount rules validity dates etc. + */ available_promotions?: PromotionOffer[]; }; /** @returns {PromotionPaymentOffer} */ declare function PromotionPaymentOffer(): PromotionPaymentOffer; type PromotionPaymentOffer = { /** - * - Application id + * - Application id on which the promotion + * was created. */ application_id?: string; /** - * - Buy rules of promotions + * - Buy rules of promotions which denotes if + * the rules matches than only promotion is applicable. */ buy_rules?: any[]; /** - * - Price on which promotion calculated + * - Article Price on which promotion + * calculated like effective price or marked price. */ calculate_on?: string; /** - * - Offer details including T&C + * - Offer details including T&C of the + * promotion which is avaiable on cart. */ description?: string; /** - * - Discount rules of promotions + * - Discount rules of promotions which is + * avaiable on cart. */ discount_rules?: any[]; /** - * - Promotion id + * - Promotion id of the promotion which is available on cart. */ id?: string; /** - * - Offer title + * - Offer title of the promotion which is + * available on cart. */ offer_text?: string; /** - * - Group of promotion belongs to + * - Group promotion which is available on cart. */ promotion_group?: string; /** - * - Promotion type + * - Promotion type of the promotion which + * is availalbe on cart. */ promotion_type?: string; /** - * - Name of the promotion + * - Name of the promotion which is available on cart. */ promotion_name?: string; }; /** @returns {PromotionPaymentOffersResponse} */ declare function PromotionPaymentOffersResponse(): PromotionPaymentOffersResponse; type PromotionPaymentOffersResponse = { + /** + * - Success flag of get payment offers API response. + */ success?: boolean; + /** + * - List of promotions data + * which are applicable on cart/product. + */ promotions?: PromotionPaymentOffer[]; }; /** @returns {OperationErrorResponse} */ declare function OperationErrorResponse(): OperationErrorResponse; type OperationErrorResponse = { + /** + * - Message of get payment offer API response. + */ message?: string; + /** + * - Success flag of get payment offer API response. + */ success?: boolean; }; /** @returns {LadderPrice} */ declare function LadderPrice(): LadderPrice; type LadderPrice = { /** - * - Currency symbol for currency + * - Currency symbol for currency of ladder + * price product. */ currency_symbol?: string; /** - * - Discounted per unit price for current offer object + * - Discounted per unit price for current offer object. */ offer_price?: number; /** - * - Currency code for all amounts + * - Currency code for all amounts. */ currency_code?: string; /** * - Current per unit price of product after - * existing deductions + * existing deductions. */ effective?: number; /** - * - Original price of product + * - Original price of product. */ marked?: number; }; @@ -2266,20 +3914,20 @@ declare function LadderOfferItem(): LadderOfferItem; type LadderOfferItem = { price?: LadderPrice; /** - * - Percentage value of discount + * - Percentage value of discount. */ margin?: number; /** * - Minimum quantity upto which offer is - * applicable. If not present that offer is applicable on all quantities + * applicable. If not present that offer is applicable on all quantities. */ max_quantity?: number; /** - * - Minimum quantity from which offer is applicable + * - Minimum quantity from which offer is applicable. */ min_quantity?: number; /** - * - Offer type + * - Offer type of the ladder promotion. */ type?: string; }; @@ -2287,103 +3935,237 @@ type LadderOfferItem = { declare function LadderPriceOffer(): LadderPriceOffer; type LadderPriceOffer = { /** - * - Promotion id + * - ID of the promotion. */ id?: string; /** - * - Buy rules of promotions + * - Buy rules of ladder price promotion + * applicable on product. */ buy_rules?: any; /** * - If this ladder offer is to be calculated - * on MRP or ESP price + * on MRP or ESP price. */ calculate_on?: string; /** - * - Offer title + * - Offer title of ladder price promotion + * applicable on product. */ offer_text?: string; /** - * - Group of promotion belongs to + * - Group of ladder price promotion + * applicable on product. */ promotion_group?: string; /** - * - Datetime ISOString for promotion end date + * - Datetime ISO String for promotion end date. */ valid_till?: string; /** - * - Discount rules of promotions + * - Discount rules of ladder price + * promotion applicable on product. */ discount_rules?: any[]; + /** + * - Offer prices for ladder price + * promotion applicable on product. + */ offer_prices?: LadderOfferItem[]; /** - * - Details of free gift items + * - Details of free gift items list. */ free_gift_items?: FreeGiftItems[]; /** - * - Offer details including T&C + * - Offer details including T&C of ladder + * price promotion applicable on product. */ description?: string; }; /** @returns {CurrencyInfo} */ declare function CurrencyInfo(): CurrencyInfo; type CurrencyInfo = { + /** + * - Currency code of ladder price promotion. + */ code?: string; + /** + * - Currency symbol for currency of ladder price product. + */ symbol?: string; }; /** @returns {LadderPriceOffers} */ declare function LadderPriceOffers(): LadderPriceOffers; type LadderPriceOffers = { + /** + * - Available ladder + * promotions offers list. + */ available_offers?: LadderPriceOffer[]; currency?: CurrencyInfo; }; /** @returns {PaymentMeta} */ declare function PaymentMeta(): PaymentMeta; type PaymentMeta = { + /** + * - Merchant code of the payment mode + * selected to do the payment. + */ merchant_code?: string; + /** + * - Type of card if payment mode is card to do the payment. + */ type?: string; + /** + * - Payment gateway used to do the payment. + */ payment_gateway?: string; + /** + * - Payment identifier of the payment + * mode selected to do the payment. + */ payment_identifier?: string; }; /** @returns {PaymentMethod} */ declare function PaymentMethod(): PaymentMethod; type PaymentMethod = { payment_meta: PaymentMeta; + /** + * - Payment mode of payment method used to make payment. + */ mode: string; + /** + * - Payment name of payment method used to make payment. + */ payment?: string; + /** + * - Amount of the payment mode to be paid. + */ amount?: number; + /** + * - Name of the payment mode used to make payment. + */ name?: string; + /** + * - Payment extra identifier for + * the payment mode to do the payment. + */ payment_extra_identifiers?: any; }; /** @returns {CartCheckoutDetailV2Request} */ declare function CartCheckoutDetailV2Request(): CartCheckoutDetailV2Request; type CartCheckoutDetailV2Request = { + /** + * - Custom meta data to be added in order. + */ custom_meta?: any; /** - * - Customer details + * - Customer details to be added in order. */ customer_details?: any; + /** + * - Merchant code of the payment mode + * selected to do the payment. + */ merchant_code?: string; + /** + * - Cart id of the user cart. + */ cart_id?: string; + /** + * - Cart id of the user cart. + */ id?: string; + /** + * - Payment auto confirm flag if + * payment need not to be collected from user. + */ payment_auto_confirm?: boolean; + /** + * - Payment methods list used to + * make the payment. + */ payment_methods: PaymentMethod[]; + /** + * - Payment mode of the payment selected to do + * the payment. + */ payment_mode: string; + /** + * - Aggregator of payment mode to do the payment. + */ aggregator?: string; + /** + * - Address id of the user where the order to + * be delivered. + */ address_id?: string; + /** + * - Callback url after payment received/failed. + */ callback_url?: string; + /** + * - Delivery address data which includes + * customer address, customer phone, customer email, customer pincode, + * customer landmark and customer name. + */ delivery_address?: any; staff?: StaffCheckout; + /** + * - Order type of the order being placed like + * pickAtStore or HomeDelivery. + */ order_type?: string; + /** + * - Ordering store id of the store from + * which the order is getting placed. + */ ordering_store?: number; + /** + * - Extra meta to be added while checkout in order. + */ extra_meta?: any; + /** + * - Payment identifier of the payment + * mode selected to do the payment. + */ payment_identifier?: string; + /** + * - Billing address json which includes + * customer address, customer phone, customer email, customer pincode, + * customer landmark and customer name. + */ billing_address?: any; + /** + * - Payment params which includes payment + * identifier and merchant code. + */ payment_params?: any; + /** + * - Billing address id selected by user + * on which shipment bill to be generated. + */ billing_address_id?: string; + /** + * - Meta data sent while checkout v2. + */ meta?: any; + /** + * - Issuer Identification Number' number of card if + * payment mode is card to do the payment. + */ iin?: string; + /** + * - Network of card if payment mode is card to do + * the payment. + */ network?: string; + /** + * - Type of cart if payment mode is card to do the payment. + */ type?: string; + /** + * - Saved card id if payment mode is card to do the payment. + */ card_id?: string; }; diff --git a/sdk/application/Cart/CartApplicationModel.js b/sdk/application/Cart/CartApplicationModel.js index fde54b072..c1244cb8f 100644 --- a/sdk/application/Cart/CartApplicationModel.js +++ b/sdk/application/Cart/CartApplicationModel.js @@ -2,64 +2,64 @@ const Joi = require("joi"); /** * @typedef BuyRules - * @property {Object} [item_criteria] - Item criteria of promotion - * @property {Object} [cart_conditions] - Cart conditions details for promotion + * @property {Object} [item_criteria] - Item criteria of promotion. + * @property {Object} [cart_conditions] - Cart conditions details for promotion. */ /** * @typedef DiscountRulesApp - * @property {string[]} [matched_buy_rules] - Matched buy rules for promotion - * @property {Object} [raw_offer] - Raw offer details for promotion - * @property {Object} [offer] - Offer for promotion - * @property {Object} [item_criteria] - Item criteria of promotion + * @property {string[]} [matched_buy_rules] - Matched buy rules for promotion. + * @property {Object} [raw_offer] - Raw offer details for promotion. + * @property {Object} [offer] - Offer for promotion. + * @property {Object} [item_criteria] - Item criteria of promotion. */ /** * @typedef Ownership - * @property {string} [payable_category] - Promo amount payable category - * @property {string} [payable_by] - Promo amount bearable party + * @property {string} [payable_category] - Promotion amount payable category. + * @property {string} [payable_by] - Promotion amount bearable party. */ /** * @typedef AppliedFreeArticles - * @property {FreeGiftItems} [free_gift_item_details] - Free gift items details - * @property {string} [parent_item_identifier] - Parent item identifier for free article - * @property {number} [quantity] - Free article quantity - * @property {string} [article_id] - Free article id + * @property {FreeGiftItems} [free_gift_item_details] - Free gift items details. + * @property {string} [parent_item_identifier] - Parent item identifier for free article. + * @property {number} [quantity] - Quantity of free articles. + * @property {string} [article_id] - IDs of free articles. */ /** * @typedef AppliedPromotion - * @property {string} [promo_id] - Promotion id - * @property {BuyRules[]} [buy_rules] - Buy rules for promotions - * @property {string} [offer_text] - Offer text of current promotion - * @property {string} [promotion_group] - Promotion group for the promotion + * @property {string} [promo_id] - Promotion id. + * @property {BuyRules[]} [buy_rules] - Buy rules for promotions. + * @property {string} [offer_text] - Offer text of current promotion. + * @property {string} [promotion_group] - Promotion group for the promotion. * @property {boolean} [mrp_promotion] - If applied promotion is applied on - * product MRP or ESP - * @property {string} [promotion_name] - Promotion name of current promotion - * @property {number} [amount] - Per unit discount amount applied with current promotion - * @property {DiscountRulesApp[]} [discount_rules] - Discount rules for promotions - * @property {Ownership} [ownership] - Ownership of promotion + * product MRP or ESP. + * @property {string} [promotion_name] - Promotion name of current promotion. + * @property {number} [amount] - Per unit discount amount applied with current promotion. + * @property {DiscountRulesApp[]} [discount_rules] - Discount rules for promotions. + * @property {Ownership} [ownership] - Ownership of promotion. * @property {number} [article_quantity] - Quantity of article on which - * promotion is applicable + * promotion is applicable. * @property {AppliedFreeArticles[]} [applied_free_articles] - Applied free - * article for free gift item promotions - * @property {string} [promotion_type] - Promotion type of current promotion - * @property {Object} [meta] - Meta object for extra data - * @property {string} [code] - Promotion code + * article for free gift item promotions. + * @property {string} [promotion_type] - Promotion type of current promotion. + * @property {Object} [meta] - Meta object for extra data. + * @property {string} [code] - Promotion code. */ /** * @typedef PaymentSelectionLock - * @property {boolean} [enabled] - * @property {string} [default_options] - * @property {string} [payment_identifier] + * @property {boolean} [enabled] - Denotes if default payment selection is enable. + * @property {string} [default_options] - Default Selection Payment Mode. + * @property {string} [payment_identifier] - Identifier for Payment Mode. */ /** * @typedef PromiseFormatted - * @property {string} [max] - * @property {string} [min] + * @property {string} [max] - Maximum Delivery promise formatted timestamp. + * @property {string} [min] - Minimum Delivery promise formatted timestamp. */ /** @@ -70,8 +70,8 @@ const Joi = require("joi"); /** * @typedef PromiseTimestamp - * @property {number} [max] - * @property {number} [min] + * @property {number} [max] - Maximum Promise for the shipment. + * @property {number} [min] - Minimum delivery promise time for the shipment. */ /** @@ -83,10 +83,11 @@ const Joi = require("joi"); /** * @typedef BasePrice - * @property {number} [effective] - * @property {string} [currency_symbol] - * @property {number} [marked] - * @property {string} [currency_code] + * @property {number} [effective] - Current per unit price of product after + * existing deductions. + * @property {string} [currency_symbol] - Currency symbol of the currncy used for price. + * @property {number} [marked] - Original price of product. + * @property {string} [currency_code] - Currency code for all amounts. */ /** @@ -97,76 +98,90 @@ const Joi = require("joi"); /** * @typedef BaseInfo - * @property {number} [uid] - * @property {string} [name] + * @property {number} [uid] - Unique identifier of entities like brand or seller. + * @property {string} [name] - Name of entities like brand or seller. */ /** * @typedef StoreInfo - * @property {string} [store_code] - * @property {number} [uid] - * @property {string} [name] + * @property {string} [store_code] - A unique code or identifier for the store, + * often used for internal reference. + * @property {number} [uid] - Unique identifiers of the store from where product + * is fulfileld. + * @property {string} [name] - Store name of the store from where the product is + * fulfiled . */ /** * @typedef ProductArticle * @property {ArticlePriceInfo} [price] - * @property {string[]} [product_group_tags] - * @property {Object} [extra_meta] - * @property {number} [quantity] - * @property {Object} [_custom_json] - * @property {Object} [meta] - * @property {string} [size] - * @property {number} [mto_quantity] + * @property {string[]} [product_group_tags] - List fot the unique identifier + * for the product grouping. + * @property {Object} [extra_meta] - Field to update extra meta of the article in cart. + * @property {number} [quantity] - Quantity of the article added in cart. + * @property {Object} [_custom_json] - Field to update custom json of the article in cart. + * @property {Object} [meta] - Article meta data. + * @property {string} [size] - Size of the article added in cart. + * @property {number} [mto_quantity] - Quantity of the product which will + * specially manufactured as not available in stock. * @property {BaseInfo} [seller] - * @property {string} [seller_identifier] - * @property {Object} [parent_item_identifiers] - * @property {Object} [identifier] + * @property {string} [seller_identifier] - List of identifiers used by sellers + * for the product size. + * @property {Object} [parent_item_identifiers] - Fields to determine parent + * product of the product. + * @property {Object} [identifier] - Unique identifier of the article. * @property {StoreInfo} [store] - * @property {Object} [cart_item_meta] - * @property {string} [uid] - * @property {Object} [gift_card] - * @property {boolean} [is_gift_visible] - * @property {string} [type] - * @property {string[]} [tags] - A list of article tags + * @property {Object} [cart_item_meta] - Meta details of the article added from cart. + * @property {string} [uid] - This unique identifier is assigned to the specific + * article. This represents item x size x location. + * @property {Object} [gift_card] - Gift card detail if gift card applied to the + * product which indicates gift price, gift applicable flag and display + * message for the gift. + * @property {boolean} [is_gift_visible] - Whether the product can be purchased + * as a gift. It is true if the product is available for gifting and false otherwise. + * @property {string} [type] - Type of the data sent in response. Possible value + * is article. + * @property {string[]} [tags] - A list of article tags. */ /** * @typedef CartProductIdentifer - * @property {string} [identifier] - Article idenfier generated by cart + * @property {string} [identifier] - Article idenfier generated by cart. */ /** * @typedef PromoMeta - * @property {string} [message] + * @property {string} [message] - Loyalty points message denotes how much + * loyalty points and applied and how much left with the user. */ /** * @typedef ChargesAmount - * @property {number} [value] - This is the value of amount added - * @property {string} [currency] - This is destination currency of value + * @property {number} [value] - This is the value of amount added. + * @property {string} [currency] - This is destination currency of value. */ /** * @typedef Charges - * @property {Object} [meta] - This object contains the meta data realted to - * charges price adjustment + * @property {Object} [meta] - Meta data realted to charges price adjustment. * @property {ChargesAmount} [amount] - * @property {string} [name] - This is the name of the charge applied - * @property {boolean} [allow_refund] - This boolean value defines that refund - * is allowed or not for the charge - * @property {string} [code] - This is the code of the charge applied - * @property {string} [type] - This is the type of the charge applied + * @property {string} [name] - Name of the charge applied. + * @property {boolean} [allow_refund] - Whether refund is allowed or not for the charge. + * @property {string} [code] - Code of the charge applied. + * @property {string} [type] - Type of the charge applied. */ /** * @typedef ProductPrice - * @property {string} [currency_symbol] - * @property {number} [selling] - * @property {string} [currency_code] - * @property {number} [add_on] - * @property {number} [effective] - * @property {number} [marked] + * @property {string} [currency_symbol] - Currency symbol of the price defined + * for the product. + * @property {number} [selling] - Selling price of the product . + * @property {string} [currency_code] - Currency code of the price defined for + * the product. + * @property {number} [add_on] - Price before promotion and coupon amount + * applied for calculation. + * @property {number} [effective] - Selling price of the product . + * @property {number} [marked] - Maximum price of the product . */ /** @@ -177,12 +192,15 @@ const Joi = require("joi"); /** * @typedef ProductPricePerUnit - * @property {string} [currency_symbol] - * @property {number} [selling_price] - * @property {string} [currency_code] - * @property {number} [add_on] - * @property {number} [effective] - * @property {number} [marked] + * @property {string} [currency_symbol] - Currency symbol of the price defined + * for the product. + * @property {number} [selling_price] - Selling price of the product . + * @property {string} [currency_code] - Currency code of the price defined for + * the product. + * @property {number} [add_on] - Price before promotion and coupon amount + * applied for calculation. + * @property {number} [effective] - Selling price of the product . + * @property {number} [marked] - Maximum price of the product . */ /** @@ -193,160 +211,193 @@ const Joi = require("joi"); /** * @typedef ProductAvailabilitySize - * @property {string} [display] - * @property {string} [value] - * @property {boolean} [is_available] + * @property {string} [display] - Display size of the product. + * @property {string} [value] - Actual value of the size. + * @property {boolean} [is_available] - Available flag for the size of the + * product if that is available. */ /** * @typedef ProductAvailability - * @property {boolean} [out_of_stock] - * @property {boolean} [deliverable] - * @property {ProductAvailabilitySize[]} [available_sizes] - * @property {boolean} [is_valid] - * @property {number} [other_store_quantity] - * @property {string[]} [sizes] + * @property {boolean} [out_of_stock] - Denotes if the product is available in stock. + * @property {boolean} [deliverable] - Deliverable flag denotes if the product + * is deliverable or not. + * @property {ProductAvailabilitySize[]} [available_sizes] - Product sizes availability. + * @property {boolean} [is_valid] - Valid flag for the product if the product + * added in cart is valid to place the order. + * @property {number} [other_store_quantity] - Quantity of the product available + * on other store. + * @property {string[]} [sizes] - All sizes of the product. */ /** * @typedef ActionQuery - * @property {string[]} [product_slug] - Contains list of product slug + * @property {string[]} [product_slug] - Contains list of product slug. */ /** * @typedef ProductAction * @property {ActionQuery} [query] - * @property {string} [url] - * @property {string} [type] + * @property {string} [url] - Url of the product to render the product . + * @property {string} [type] - Type of action. */ /** * @typedef Tags - * @property {Object} [tags] + * @property {Object} [tags] - Tags is a lable or batch that is attached to a + * product in cart. */ /** * @typedef ProductImage - * @property {string} [secure_url] - * @property {string} [aspect_ratio] - * @property {string} [url] + * @property {string} [secure_url] - Secured url of the product image. + * @property {string} [aspect_ratio] - Aspect ratio of the product image. + * @property {string} [url] - Bucket link url for product image. */ /** * @typedef CategoryInfo - * @property {number} [uid] - Product Category Id - * @property {string} [name] + * @property {number} [uid] - Product Category Id. + * @property {string} [name] - Category name of the product . */ /** * @typedef CartProduct - * @property {Object} [_custom_json] + * @property {Object} [_custom_json] - Field to add custom json of the product in cart. * @property {BaseInfo} [brand] * @property {ProductAction} [action] * @property {Tags} [teaser_tag] * @property {string} [slug] - Unique product url name generated via product - * name and other meta data - * @property {ProductImage[]} [images] - * @property {number} [uid] - * @property {string} [name] - * @property {string} [item_code] - * @property {CategoryInfo[]} [categories] - * @property {string[]} [tags] - * @property {string} [type] - * @property {Object} [attributes] + * name and other meta data. + * @property {ProductImage[]} [images] - Product Images urls of different types + * like secure url, aspect ration url and url. + * @property {number} [uid] - Unique identifier of the product in cart. + * @property {string} [name] - Product name of the product in cart which is + * defined on platform. + * @property {string} [item_code] - Product code of the product while defining + * product on platform. + * @property {CategoryInfo[]} [categories] - Product category information which + * incldes category name and category id. + * @property {string[]} [tags] - Products tags that are added to each product to + * identify the set of products. + * @property {string} [type] - Type of product in cart. + * @property {Object} [attributes] - Product attributes defined on platform. */ /** * @typedef CouponDetails - * @property {number} [discount_single_quantity] - * @property {string} [code] - * @property {number} [discount_total_quantity] + * @property {number} [discount_single_quantity] - Discout amount applied from + * coupon for single quantity of the product. + * @property {string} [code] - Coupon code of the coupon applied. + * @property {number} [discount_total_quantity] - Total discount earned from + * coupon applied to cart. */ /** * @typedef CartProductInfo * @property {ProductArticle} [article] - * @property {Object} [moq] + * @property {Object} [moq] - An Integer indication the Minimum Order Quantity + * of a product, e.g. 100. * @property {CartProductIdentifer} identifiers * @property {PromoMeta} [promo_meta] * @property {ProductPriceInfo} [price] - * @property {number} [quantity] - * @property {Charges[]} [charges] - * @property {string} [discount] + * @property {number} [quantity] - Quantity of the product added in cart. + * @property {Charges[]} [charges] - Charges information which denotes types of + * charges and amount of charge applied to that product in cart. + * @property {string} [discount] - Discount amount of the product in cart. * @property {ProductAvailability} [availability] * @property {ShipmentPromise} [delivery_promise] * @property {CartProduct} [product] - * @property {string} [product_ean_id] - * @property {Object} [bulk_offer] - * @property {Object} [parent_item_identifiers] + * @property {string} [product_ean_id] - European Article Number of the product + * (limited upto 50 EAN identifier in a single request). + * @property {Object} [bulk_offer] - Bulk offer information for the product + * which denotes if any bulk offer is applied to the product in cart. + * @property {Object} [parent_item_identifiers] - Parent item information of the + * product which identifies the parent of the product in cart. * @property {CouponDetails} [coupon] - * @property {Object} [custom_order] - * @property {string} [coupon_message] - * @property {string} [key] - * @property {string} [message] - * @property {boolean} [is_set] + * @property {Object} [custom_order] - Whether MTO (Make to Order) is enabled or not. + * @property {string} [coupon_message] - Message for the coupon denotes which + * coupon is applied and empty if not applied. + * @property {string} [key] - The attribute key associated with the size. + * @property {string} [message] - Product level message which denotes error + * information to display over the product in cart. + * @property {boolean} [is_set] - Whether or not the product is a set of items. * @property {ProductPricePerUnitInfo} [price_per_unit] - * @property {AppliedPromotion[]} [promotions_applied] + * @property {AppliedPromotion[]} [promotions_applied] - List of applicable + * promotion for the product in cart. */ /** * @typedef DisplayBreakup - * @property {string} [currency_symbol] - * @property {string} [key] - * @property {string} [display] - * @property {string[]} [message] - * @property {string} [currency_code] - * @property {number} [value] - * @property {number} [preset] + * @property {string} [currency_symbol] - Currency symbol for the price. + * @property {string} [key] - Key of the price like total_mrp, total, subtotal etc. + * @property {string} [display] - Display key field that to be shown against the value. + * @property {string[]} [message] - List of message at price level to be displayed. + * @property {string} [currency_code] - Currency code for the price . + * @property {number} [value] - Numeric value of the price. + * @property {number} [preset] - Value for the price which is set from platform + * if applicable. */ /** * @typedef RawBreakup - * @property {number} [vog] - * @property {number} [subtotal] - * @property {number} [fynd_cash] - * @property {number} [discount] - * @property {number} [convenience_fee] - * @property {number} [delivery_charge] - * @property {number} [gst_charges] - * @property {number} [mrp_total] - * @property {number} [mop_total] - * @property {number} [total_charge] - * @property {number} [coupon] - * @property {number} [total] - * @property {number} [gift_card] - * @property {number} [you_saved] - * @property {number} [cod_charge] + * @property {number} [vog] - Total value of goods after all discount, coupons + * and promotion applied of all products in cart. + * @property {number} [subtotal] - Selling price amount of all products in cart. + * @property {number} [fynd_cash] - Loyalty points applied on cart. + * @property {number} [discount] - Discount amount recieved on cart. + * @property {number} [convenience_fee] - Convenience fee amount applied to cart. + * @property {number} [delivery_charge] - Delivery charge applied to cart. + * @property {number} [gst_charges] - GST charges applied on cart. + * @property {number} [mrp_total] - Maximum price total amount of all products in cart. + * @property {number} [mop_total] - Total of payment modes by which payment is + * going to be done. + * @property {number} [total_charge] - Total amount of charges applied on cart. + * @property {number} [coupon] - Coupon amount applied to cart. + * @property {number} [total] - Total payable amount by the customer. + * @property {number} [gift_card] - Gift cart amount applied on cart. + * @property {number} [you_saved] - Total amount will be saved if customer + * places the order. + * @property {number} [cod_charge] - Cod charge value applied to cart. This is + * applied when user select payment mode as COD. */ /** * @typedef CouponBreakup - * @property {number} [coupon_value] - * @property {string} [title] - * @property {string} [sub_title] - * @property {number} [minimum_cart_value] - * @property {string} [message] - * @property {string} [coupon_type] - * @property {string} [uid] - * @property {number} [value] - * @property {number} [max_discount_value] - * @property {boolean} [is_applied] - * @property {string} [description] - * @property {string} [code] - * @property {string} [type] + * @property {number} [coupon_value] - Value of the coupon applied to cart. + * @property {string} [title] - Coupon Title of the coupon applied denotes name + * of the coupon. + * @property {string} [sub_title] - Coupon subtitle of the coupon applied to + * cart which is used to display. + * @property {number} [minimum_cart_value] - Minumum cart value of cart after + * which the coupon can be applied. + * @property {string} [message] - Coupon message of the coupon applied to cart. + * @property {string} [coupon_type] - Type of the coupon applied to cart. + * @property {string} [uid] - Unique identifier of the coupon applied to cart. + * @property {number} [value] - Coupon value of the coupon applied to cart. + * @property {number} [max_discount_value] - Maximum discount value of the + * coupon applied to cart. + * @property {boolean} [is_applied] - Applied flag which denotes if any coupon + * is applied to cart. + * @property {string} [description] - Coupon description of the coupon applied to cart. + * @property {string} [code] - Coupon code of the coupon applied. + * @property {string} [type] - Type of the coupon applied to cart. */ /** * @typedef LoyaltyPoints - * @property {number} [total] - * @property {string} [description] - * @property {number} [applicable] - * @property {boolean} [is_applied] + * @property {number} [total] - Total loyalty points available with user. + * @property {string} [description] - Description for loyalty points. + * @property {number} [applicable] - Whether the loyalty points are applicable + * for the cart . + * @property {boolean} [is_applied] - Whether the loyalty points are applied on the cart . */ /** * @typedef CartBreakup - * @property {DisplayBreakup[]} [display] + * @property {DisplayBreakup[]} [display] - List of breakup data which is used + * to display the breakup to the customer like MRP total, Discount, Sub total, + * coupon value, promotion value and final total. * @property {RawBreakup} [raw] * @property {CouponBreakup} [coupon] * @property {LoyaltyPoints} [loyalty_points] @@ -354,40 +405,47 @@ const Joi = require("joi"); /** * @typedef CartCurrency - * @property {string} [code] - Currency code defined by ISO 4217:2015 - * @property {string} [symbol] + * @property {string} [code] - Currency code defined by ISO 4217:2015. + * @property {string} [symbol] - Currency symbol for currency of user cart prices. */ /** * @typedef CartDetailCoupon - * @property {number} [cashback_amount] - * @property {string} [cashback_message_primary] - * @property {string} [cashback_message_secondary] - * @property {string} [coupon_code] - * @property {string} [coupon_description] - * @property {string} [coupon_id] - * @property {string} [coupon_subtitle] - * @property {string} [coupon_title] - * @property {string} [coupon_type] - * @property {number} [coupon_value] - * @property {number} [discount] - * @property {boolean} [is_applied] - * @property {boolean} [is_valid] - * @property {number} [maximum_discount_value] - * @property {string} [message] - * @property {number} [minimum_cart_value] + * @property {number} [cashback_amount] - Fields denotes cashback amount applied to cart. + * @property {string} [cashback_message_primary] - Primary cashback message for + * coupon applied to cart. + * @property {string} [cashback_message_secondary] - Secondary cashback message + * for coupon applied to cart. + * @property {string} [coupon_code] - Coupon code to be applied to cart. + * @property {string} [coupon_description] - Coupon description of the coupon + * applied to cart. + * @property {string} [coupon_id] - Unique identifier of the coupon applied to cart. + * @property {string} [coupon_subtitle] - Coupon subtitle of the coupon applied to cart. + * @property {string} [coupon_title] - Coupon Title of the coupon applied. + * @property {string} [coupon_type] - Type of the coupon applied to cart. + * @property {number} [coupon_value] - Value of the coupon applied to cart. + * @property {number} [discount] - Total discount earned from coupon applied to cart. + * @property {boolean} [is_applied] - Flag to determine where the coupon is + * applied to cart or not. + * @property {boolean} [is_valid] - Determine where the coupon applied to cart is valid. + * @property {number} [maximum_discount_value] - Maximum discount value of the + * coupon applied to cart. + * @property {string} [message] - Coupon message of the coupon applied to cart. + * @property {number} [minimum_cart_value] - Minimum cart value of the coupon + * applied to cart. */ /** * @typedef ChargesThreshold - * @property {number} [charges] - * @property {number} [threshold] + * @property {number} [charges] - Charges amount to be applied on cart. + * @property {number} [threshold] - Threshold of cart value on which the charge + * should be applied . */ /** * @typedef DeliveryChargesConfig - * @property {boolean} [enabled] - * @property {ChargesThreshold[]} [charges] + * @property {boolean} [enabled] - Delivery charge enabled for the cart or not. + * @property {ChargesThreshold[]} [charges] - Charges applicable based on threshold. */ /** @@ -397,63 +455,87 @@ const Joi = require("joi"); /** * @typedef CartDetailResponse - * @property {number} [cart_id] - * @property {string} [uid] - * @property {AppliedPromotion[]} [applied_promo_details] - * @property {string} [checkout_mode] - * @property {string} [pan_no] - * @property {boolean} [is_valid] - * @property {string} [id] + * @property {number} [cart_id] - Unique identifier of the user cart. + * @property {string} [uid] - Unique identifier of the user cart. + * @property {AppliedPromotion[]} [applied_promo_details] - List of applied + * promotions data to cart which includes promotion id, promotion name, offer + * text, description, buy rules, discount rules and promotion type. + * @property {string} [checkout_mode] - Checkout mode of user cart. + * @property {string} [pan_no] - Permanent Account Number of the user. + * @property {boolean} [is_valid] - Cart validity flag determines the if the + * response is valid or not. + * @property {string} [id] - Unique identifier of the user cart. * @property {PaymentSelectionLock} [payment_selection_lock] * @property {ShipmentPromise} [delivery_promise] - * @property {string} [comment] - * @property {CartProductInfo[]} [items] - * @property {string} [delivery_charge_info] + * @property {string} [comment] - Comment message to be added in user cart. + * @property {CartProductInfo[]} [items] - Items data list in user cart that + * includes item id, item size, store id, available sizes and rest of the item + * related data. + * @property {string} [delivery_charge_info] - Delivery charge in information + * message on shipment . * @property {CartCommonConfig} [common_config] * @property {CartDetailCoupon} [coupon] - * @property {string} [message] - * @property {Object} [notification] - * @property {string} [staff_user_id] - * @property {boolean} [success] - * @property {string} [gstin] - * @property {boolean} [restrict_checkout] - * @property {string} [last_modified] + * @property {string} [message] - Message of the get cart detail API response. + * @property {Object} [notification] - Notification object which denotes + * notification data for user cart. + * @property {string} [staff_user_id] - Staff employee user id if cart is + * created by staff employee for the customer. + * @property {boolean} [success] - Success flag of get cart detail API response. + * @property {string} [gstin] - GSTIN added in user cart. + * @property {boolean} [restrict_checkout] - Restrict checkout flag to restrict + * the checkout process. + * @property {string} [last_modified] - Last modified timestamp of cart. * @property {CartBreakup} [breakup_values] * @property {CartCurrency} [currency] - * @property {string} [coupon_text] - * @property {boolean} [buy_now] - * @property {Object} [pan_config] - * @property {Object} [custom_cart_meta] + * @property {string} [coupon_text] - Coupon text of coupon applied on cart. + * @property {boolean} [buy_now] - Buy now flag for the cart which denotes user + * is doing fast checkout for the cart using buy now. + * @property {Object} [pan_config] - Pan card config states at what condition + * user should enter the pan card. + * @property {Object} [custom_cart_meta] - Custom meta details added cart + * checkout API payload . */ /** * @typedef AddProductCart - * @property {Object} [article_assignment] - * @property {string[]} [product_group_tags] - * @property {Object} [extra_meta] - * @property {number} [quantity] - * @property {Object} [_custom_json] - * @property {string} [item_size] - * @property {number} [store_id] - * @property {string} [display] - * @property {string} [article_id] - * @property {Object[]} [parent_item_identifiers] - * @property {number} [seller_id] - * @property {boolean} [pos] - * @property {number} [item_id] - * @property {Object} [meta] - * @property {string} [seller_identifier] - Add items using seller identifier for store os + * @property {Object} [article_assignment] - Field to determine how article + * assignment should happen by article assignment level and strategy. + * @property {string[]} [product_group_tags] - Field to specify the product + * groups of the product that the user is trying to add in cart. + * @property {Object} [extra_meta] - Extra meta data to be added at article + * level while add items to cart. + * @property {number} [quantity] - Field to specify the product quantity that + * user wants to buy. + * @property {Object} [_custom_json] - Field to add custom json at article level + * while add items to cart . + * @property {string} [item_size] - Field to determine size of the product. + * @property {number} [store_id] - Unique identifier of the store selected by + * the user from which user want to buy a product. + * @property {string} [display] - Display field at article level . + * @property {string} [article_id] - Unique identifier of an article . + * @property {Object[]} [parent_item_identifiers] - Fields to determine parent + * product of the product. + * @property {number} [seller_id] - Unique idetifier of the seller selected by + * the user from which user want to buy a product . + * @property {boolean} [pos] - Filed to determine whether user is making request + * from pos or not. + * @property {number} [item_id] - Unique identifier to identify product. + * @property {Object} [meta] - Field to add meta data at article level. + * @property {string} [seller_identifier] - Add items using seller identifier + * for store os. */ /** * @typedef AddCartRequest - * @property {AddProductCart[]} [items] - * @property {boolean} [new_cart] + * @property {AddProductCart[]} [items] - List of items detail which need to be + * added to cart like item id, item size, and item quantity. + * @property {boolean} [new_cart] - Field to create to new cart whille user adds + * item to cart. */ /** * @typedef AddCartDetailResponse - * @property {string} [message] + * @property {string} [message] - Message of add to cart API response. * @property {boolean} [partial] - When adding multiple items check if all * added. True if only few are added. * @property {CartDetailResponse} [cart] @@ -463,27 +545,31 @@ const Joi = require("joi"); /** * @typedef UpdateProductCart - * @property {Object} [extra_meta] - * @property {Object} [_custom_json] - * @property {number} [quantity] - * @property {string} [item_size] - * @property {number} [item_index] + * @property {Object} [extra_meta] - Field to update extra meta of the product in cart. + * @property {Object} [_custom_json] - Field to update custom json of the product in cart. + * @property {number} [quantity] - Field to update the quantity of the item in cart. + * @property {string} [item_size] - Field to update the size of the product in cart. + * @property {number} [item_index] - Item index determines on which index the + * product falls to be updated. * @property {CartProductIdentifer} identifiers - * @property {string} [article_id] - * @property {Object} [parent_item_identifiers] - * @property {number} [item_id] - * @property {Object} [meta] + * @property {string} [article_id] - Article id of the product in cart. + * @property {Object} [parent_item_identifiers] - Field to update parent product + * of the item in cart. + * @property {number} [item_id] - Item id of the product that needs to be updated. + * @property {Object} [meta] - Field to update meta of the item in cart. */ /** * @typedef UpdateCartRequest - * @property {UpdateProductCart[]} [items] - * @property {string} operation + * @property {UpdateProductCart[]} [items] - List items data that needs to be + * updated in cart. + * @property {string} operation - Field to determine if item to be removed from + * cart or it needs to be updated. */ /** * @typedef UpdateCartDetailResponse - * @property {string} [message] + * @property {string} [message] - Message of update cart API response. * @property {CartDetailResponse} [cart] * @property {boolean} [success] - True if all items are added successfully. * False if partially added or not added. @@ -491,340 +577,425 @@ const Joi = require("joi"); /** * @typedef DeleteCartDetailResponse - * @property {string} [message] + * @property {string} [message] - Message for delete cart response. * @property {boolean} [success] - True if cart is archived successfully. False * if not archived. */ /** * @typedef CartItemCountResponse - * @property {number} [user_cart_items_count] - Item count present in cart + * @property {number} [user_cart_items_count] - Item count present in cart. */ /** * @typedef PageCoupon - * @property {number} [total_item_count] - * @property {boolean} [has_next] - * @property {number} [total] - * @property {number} [current] - * @property {boolean} [has_previous] + * @property {number} [total_item_count] - Total coupons are available for the cart. + * @property {boolean} [has_next] - Denotes if next page of coupon is available. + * @property {number} [total] - Total pages of coupon availalbe. + * @property {number} [current] - Current page number. + * @property {boolean} [has_previous] - Denotes if previous page of the coupon + * is available. */ /** * @typedef Coupon - * @property {number} [coupon_amount] - The amount based on cart value - * @property {number} [coupon_value] - * @property {string} [title] - * @property {number} [minimum_cart_value] - * @property {string} [sub_title] - * @property {string} [expires_on] - * @property {string} [message] - * @property {string} [coupon_type] - * @property {number} [max_discount_value] - * @property {string} [coupon_code] - * @property {boolean} [is_applicable] - * @property {string} [description] - * @property {boolean} [is_applied] - * @property {string} [start_date] - * @property {string} [end_date] - * @property {string} [coupon_applicable_message] - * @property {string} [offer_text] - * @property {boolean} [is_bank_offer] + * @property {number} [coupon_amount] - The amount based on cart value. + * @property {number} [coupon_value] - Coupon value of the coupon applied to cart. + * @property {string} [title] - Coupon Title of the coupon applied denotes name + * of the coupon. + * @property {number} [minimum_cart_value] - Minimum cart value of the coupon + * applied to cart. + * @property {string} [sub_title] - Coupon subtitle of the coupon applied to + * cart which is used to display. + * @property {string} [expires_on] - Message to display to user for expiry of the coupon . + * @property {string} [message] - Coupon message of the coupon applied to cart. + * @property {string} [coupon_type] - Type of the coupon applied to cart. + * @property {number} [max_discount_value] - Maximum discount value of the + * coupon applied to cart. + * @property {string} [coupon_code] - Coupon code of the coupon applied on cart. + * @property {boolean} [is_applicable] - Flag to determine where the coupon is + * applicable to cart or not. + * @property {string} [description] - Coupon description of the coupon applied to cart. + * @property {boolean} [is_applied] - Flag to determine where the coupon is + * applied to cart or not. + * @property {string} [start_date] - Start date of the coupon when the coupon + * will be live for the users to apply on cart. + * @property {string} [end_date] - End date of the coupon on which the coupon expires. + * @property {string} [coupon_applicable_message] - Message which is used to + * display to the customer if the coupon is applied successfully. + * @property {string} [offer_text] - Offer text of the coupon which highligts + * coupon offer defined while creating coupon . + * @property {boolean} [is_bank_offer] - Bank offer flag for the coupon if the + * coupon is applicable for only if payment done by bank or mode specified in coupon. */ /** * @typedef GetCouponResponse * @property {PageCoupon} [page] - * @property {Coupon[]} [available_coupon_list] + * @property {Coupon[]} [available_coupon_list] - List of available coupon which + * can be applied on cart. */ /** * @typedef ApplyCouponRequest - * @property {string} coupon_code - Coupon code to be applied + * @property {string} coupon_code - Coupon code to be applied. */ /** * @typedef OfferPrice - * @property {string} [currency_symbol] - Currency symbol for currency + * @property {string} [currency_symbol] - Currency symbol for currency. * @property {number} [bulk_effective] - Discounted per unit price for current - * offer object - * @property {string} [currency_code] - Currency code for all amounts - * @property {number} [effective] - Current per unit price of product after - * existing deductions - * @property {number} [marked] - Original price of product + * offer object. + * @property {string} [currency_code] - The currency code for an offer price is + * the three-letter code that corresponds to the currency in which the offer + * price is denominated. + * @property {number} [effective] - The "effective price" is the actual price + * paid by the consumer after accounting for product discounts. It represents + * the true cost of a product or service after all adjustments have been made. + * @property {number} [marked] - The price at which the product is sold to the + * end consumer, typically the original price before discounts. */ /** * @typedef OfferItem * @property {OfferPrice} [price] - * @property {number} [margin] - Percentage value of discount - * @property {number} [quantity] - Quantity on which offer is applicable + * @property {number} [margin] - Percentage value of discount. + * @property {number} [quantity] - Quantity on which offer is applicable. * @property {boolean} [best] - Is true for best offer from all offers present - * for all sellers - * @property {number} [total] - Total price of offer quantity with discount - * @property {boolean} [auto_applied] - Whether offer discount is auto applied in cart - * @property {string} [type] - Offer type + * for all sellers. + * @property {number} [total] - Total price of offer quantity with discount. + * @property {boolean} [auto_applied] - Whether offer discount is auto applied in cart. + * @property {string} [type] - Type of the offer. */ /** * @typedef OfferSeller - * @property {number} [uid] - Seller id - * @property {string} [name] + * @property {number} [uid] - Unique identifier for a seller. + * @property {string} [name] - Name of a seller. */ /** * @typedef BulkPriceOffer - * @property {OfferItem[]} [offers] + * @property {OfferItem[]} [offers] - Offers is the list of Offer item, which + * consists of margin percentage, price, quantity, offer type and offer price. * @property {OfferSeller} [seller] */ /** * @typedef BulkPriceResponse - * @property {BulkPriceOffer[]} [data] - Consist of offers from multiple seller + * @property {BulkPriceOffer[]} [data] - Actual data to be in response consist + * of offers from multiple seller. */ /** * @typedef RewardPointRequest - * @property {boolean} points + * @property {boolean} points - Points to be applied for cart. */ /** * @typedef GeoLocation - * @property {number} [latitude] - * @property {number} [longitude] + * @property {number} [latitude] - Latitude coordinate for address. + * @property {number} [longitude] - Longitude coordinate for address. */ /** * @typedef Address - * @property {string} [country_iso_code] - * @property {string} [area] - * @property {string} [phone] - * @property {string} [country_phone_code] - * @property {string} [checkout_mode] - * @property {string} [address] - * @property {string} [area_code_slug] + * @property {string} [country_iso_code] - Country iso code for address. + * @property {string} [area] - Area description for address. + * @property {string} [phone] - Phone number for address. + * @property {string} [country_phone_code] - Country phone code for address. + * @property {string} [checkout_mode] - Checkout mode of address on which + * address to be used for which checkout mode of cart. + * @property {string} [address] - Address description for address data. + * @property {string} [area_code_slug] - Area code slug for address. example + * pincode is slug for India. * @property {GeoLocation} [geo_location] - * @property {string} [id] - * @property {Object} [_custom_json] - * @property {string} [city] - * @property {string} [sector] - * @property {string} [state_code] - State code for international address - * @property {string} [created_by_user_id] - * @property {string} [landmark] - * @property {string} [user_id] - * @property {string} [name] - * @property {Object} [google_map_point] - * @property {boolean} [is_active] - * @property {string[]} [tags] - * @property {string} [country_code] - * @property {string} [address_type] - * @property {string} [country] - * @property {boolean} [is_default_address] - * @property {string} [area_code] - * @property {string} [email] - * @property {string} [state] - * @property {Object} [meta] + * @property {string} [id] - Id of the address. + * @property {Object} [_custom_json] - Custom json of the address. + * @property {string} [city] - City of the address. + * @property {string} [sector] - Sector of the address. + * @property {string} [state_code] - State code for address. + * @property {string} [created_by_user_id] - Created by user id of address. + * @property {string} [landmark] - Landmark of address. + * @property {string} [user_id] - User id of address for which address is created. + * @property {string} [name] - Name of person in address data to whom it belongs to. + * @property {Object} [google_map_point] - Google map point of the address. + * @property {boolean} [is_active] - States whether address is active or not. + * @property {string[]} [tags] - Tags of address from which it can be identified. + * @property {string} [country_code] - Country code of address. + * @property {string} [address_type] - Address type of address. + * @property {string} [country] - Country of address. + * @property {boolean} [is_default_address] - Default address flag if no address + * selected then this should be the default address selected. + * @property {string} [area_code] - Area code of the address. + * @property {string} [email] - Email address for address data. + * @property {string} [state] - State of the address. + * @property {Object} [meta] - Metadata of the address. */ /** * @typedef GetAddressesResponse - * @property {boolean} [pii_masking] - * @property {Address[]} [address] + * @property {boolean} [pii_masking] - Personally Identifiable Information + * masking flag to denote if the user data in address is masked or not. + * @property {Address[]} [address] - Address description for address data. */ /** * @typedef SaveAddressResponse - * @property {string} [id] - * @property {boolean} [success] - * @property {boolean} [is_default_address] + * @property {string} [id] - Id of the address. + * @property {boolean} [success] - Success flag of save address Response. + * @property {boolean} [is_default_address] - Default address flag if no address + * selected then this should be the default address selected. */ /** * @typedef UpdateAddressResponse - * @property {boolean} [is_updated] - * @property {string} [id] - * @property {boolean} [success] - * @property {boolean} [is_default_address] + * @property {boolean} [is_updated] - Updated flag for update address operation + * if the address updated or not. + * @property {string} [id] - ID of an address. + * @property {boolean} [success] - Success flag of update address response. + * @property {boolean} [is_default_address] - Default address flag if no address + * selected then this should be the default address selected. */ /** * @typedef DeleteAddressResponse - * @property {string} [id] - * @property {boolean} [is_deleted] + * @property {string} [id] - Id of the address. + * @property {boolean} [is_deleted] - Deleted flag in delete address response + * states whether the address was deleted or not. */ /** * @typedef SelectCartAddressRequest - * @property {string} [id] - * @property {string} [billing_address_id] - * @property {string} [cart_id] + * @property {string} [id] - Address is selected by user on which shipment to be + * delivered. + * @property {string} [billing_address_id] - Billing address id selected by user + * on which shipment bill to be generated. + * @property {string} [cart_id] - Cart id of the user cart for which the select + * address operation performed. */ /** * @typedef UpdateCartPaymentRequest - * @property {string} [id] - * @property {string} [payment_identifier] - * @property {string} [address_id] - * @property {string} [merchant_code] - * @property {string} [aggregator_name] - * @property {string} [payment_mode] + * @property {string} [id] - Cart id of the user cart for which the update cart + * payment operation performed. + * @property {string} [payment_identifier] - Payment identifier of the payment + * mode selected to do the payment. + * @property {string} [address_id] - Address id of the user address selected to + * deliver the shipment. + * @property {string} [merchant_code] - Merchant code of the payment mode + * selected to do the payment. + * @property {string} [aggregator_name] - Aggregator name of the payment gateway. + * @property {string} [payment_mode] - Payment mode of the payment selected to + * do the payment. */ /** * @typedef CouponValidity - * @property {string} [title] - * @property {number} [discount] - * @property {boolean} [next_validation_required] - * @property {boolean} [valid] - * @property {string} [display_message_en] - * @property {string} [code] + * @property {string} [title] - Coupon Title of the coupon applied. + * @property {number} [discount] - Coupon discount value of the coupon applied. + * @property {boolean} [next_validation_required] - Flag for coupon validation + * required on next page or not. + * @property {boolean} [valid] - Valid flag which denotes if the applied coupon + * is valid or not. + * @property {string} [display_message_en] - Display message for coupon validity. + * @property {string} [code] - Coupon code of the coupon applied. */ /** * @typedef PaymentCouponValidate - * @property {string} [message] + * @property {string} [message] - Payment mode valid message for coupon. * @property {CouponValidity} [coupon_validity] - * @property {boolean} success + * @property {boolean} success - Success flag of coupon payment mode validity + * API response. */ /** * @typedef ShipmentResponse - * @property {number} [shipments] + * @property {number} [shipments] - Count of shipments that will be shipped. * @property {ShipmentPromise} [promise] - * @property {string} [order_type] - * @property {string} [box_type] - * @property {string} [shipment_type] - * @property {Object} [dp_options] - * @property {string} [dp_id] - * @property {CartProductInfo[]} [items] - * @property {string} [fulfillment_type] - * @property {number} [fulfillment_id] + * @property {string} [order_type] - Order type of the shipment like pickAtStore + * or HomeDelivery. + * @property {string} [box_type] - Box type of the shipment in which the + * shipment will be delivered. + * @property {string} [shipment_type] - Shipment type of the shipment returned + * in get shipments API like single_shipment or multiple shipment. Single + * Shipment means 1 item in 1 shipment and vice versa in the other one. + * @property {Object} [dp_options] - Delivery partner options that are available + * to deliver the shipment. + * @property {string} [dp_id] - Delivery partner id of the shipment. + * @property {CartProductInfo[]} [items] - Item details in the shipment. + * @property {string} [fulfillment_type] - Fulfilment type of shipment. + * @property {number} [fulfillment_id] - Fulfilment id of the shipment. */ /** * @typedef CartShipmentsResponse - * @property {string} [delivery_charge_info] - * @property {string} [checkout_mode] - * @property {string} [message] - * @property {string} [gstin] - * @property {boolean} [restrict_checkout] - * @property {string} [last_modified] - * @property {number} [cart_id] - * @property {boolean} [is_valid] + * @property {string} [delivery_charge_info] - Delivery charge in information + * message on shipment. + * @property {string} [checkout_mode] - Checkout mode of cart. + * @property {string} [message] - Response message of get shipments API. + * @property {string} [gstin] - GSTIN number added in cart. + * @property {boolean} [restrict_checkout] - Restrict checkout flag to restrict + * the checkout process. + * @property {string} [last_modified] - Last modified timestamp of cart. + * @property {number} [cart_id] - Cart id of the user cart. + * @property {boolean} [is_valid] - Cart validity flag determines the if the + * response is valid or not. * @property {CartBreakup} [breakup_values] * @property {CartCurrency} [currency] - * @property {string} [id] - * @property {ShipmentResponse[]} [shipments] + * @property {string} [id] - Cart id of the user cart. + * @property {ShipmentResponse[]} [shipments] - List of Shipments which includes + * shipment data like shipment items, shipment promise, Shipment type, + * shipment order type, shipment dp options etc. * @property {PaymentSelectionLock} [payment_selection_lock] - * @property {string} [coupon_text] + * @property {string} [coupon_text] - Coupon text of coupon applied on cart. * @property {ShipmentPromise} [delivery_promise] - * @property {boolean} [error] - * @property {string} [comment] - * @property {boolean} [buy_now] - * @property {string} [uid] - * @property {Object} [custom_cart_meta] + * @property {boolean} [error] - Error details if any error occurs which + * includes type of error, error code and error message. + * @property {string} [comment] - Comment message added in cart. + * @property {boolean} [buy_now] - Buy now flag of user cart. + * @property {string} [uid] - Cart id of the user cart. + * @property {Object} [custom_cart_meta] - Custom meta details added cart + * checkout API payload. */ /** * @typedef CartCheckoutCustomMeta - * @property {string} key - * @property {string} value + * @property {string} key - Key name of custom meta. + * @property {string} value - Value to be added in key. */ /** * @typedef CustomerDetails - * @property {string} [email] - * @property {string} mobile - * @property {string} [name] + * @property {string} [email] - Email address of the customer to be added in + * customer detail while checkout. + * @property {string} mobile - Mobile number of customer to be added in customer + * detail while checkout. + * @property {string} [name] - Name of customer to be added in customer detail + * while checkout. */ /** * @typedef StaffCheckout - * @property {string} [employee_code] - * @property {string} user - * @property {string} last_name - * @property {string} first_name - * @property {string} _id + * @property {string} [employee_code] - Employee code of staff who does checkout + * on behalf of customer. + * @property {string} user - User id of the employee who does checkout on behalf + * of customer. + * @property {string} last_name - Last name of staff employee who does checkout + * on behalf of customer. + * @property {string} first_name - First name of staff emplyee who does checkout + * on behalf of customer. + * @property {string} _id - Id of staff who does checkout on behalf of customer. */ /** * @typedef CartCheckoutDetailRequest - * @property {CartCheckoutCustomMeta[]} [custom_meta] - * @property {Object} [customer_details] - Customer details - * @property {string} [merchant_code] - * @property {string} [id] - * @property {boolean} [payment_auto_confirm] - * @property {string} payment_mode - * @property {string} [aggregator] - * @property {string} [address_id] - * @property {string} [callback_url] - * @property {Object} [delivery_address] + * @property {CartCheckoutCustomMeta[]} [custom_meta] - Custom meta data to be + * added in order. + * @property {Object} [customer_details] - Customer details to be added in order. + * @property {string} [merchant_code] - Merchant code of the payment mode + * selected to do the payment. + * @property {string} [id] - Cart id of the user cart. + * @property {boolean} [payment_auto_confirm] - Payment auto confirm flag if + * payment need not to be collected from user. + * @property {string} payment_mode - Payment mode from which the payment to be + * done for the order. + * @property {string} [aggregator] - Aggregator name of the payment gateway. + * @property {string} [address_id] - Address id of the user on which the order + * to be delivered. + * @property {string} [callback_url] - Callback url to be redirected after + * payment received/failed. + * @property {Object} [delivery_address] - Delivery address data which includes + * customer address, customer phone, customer email, customer pincode, + * customer landmark and customer name. * @property {StaffCheckout} [staff] - * @property {string} [order_type] - * @property {number} [ordering_store] - * @property {Object} [extra_meta] - * @property {string} [payment_identifier] - * @property {Object} [billing_address] - * @property {Object} [payment_params] - * @property {string} [billing_address_id] - * @property {Object} [meta] - * @property {Object} [payment_extra_identifiers] - * @property {string} [iin] - * @property {string} [network] - * @property {string} [type] - * @property {string} [card_id] + * @property {string} [order_type] - Order type of the order being placed like + * pickAtStore or HomeDelivery. + * @property {number} [ordering_store] - Ordering store id of the store from + * which the order is getting placed. + * @property {Object} [extra_meta] - Extra meta to be added while checkout in order. + * @property {string} [payment_identifier] - Payment identifier of the payment + * mode selected to do the payment. + * @property {Object} [billing_address] - Billing address json which includes + * customer address, customer phone, customer email, customer pincode, + * customer landmark and customer name. + * @property {Object} [payment_params] - Payment params which includes payment + * identifier and merchant code. + * @property {string} [billing_address_id] - Billing address id of the customer + * on which the invoice to be generated after the order is placed. + * @property {Object} [meta] - Meta data to be added in order. + * @property {Object} [payment_extra_identifiers] - Payment extra identifier for + * the payment mode to do the payment. + * @property {string} [iin] - Issuer Identification Number' number of card if + * payment mode is card. + * @property {string} [network] - Network of card if payment mode is card to do + * the payment. + * @property {string} [type] - Type of cart if payment mode is card to do the payment. + * @property {string} [card_id] - Saved card id if payment mode is card to do the payment. */ /** * @typedef CheckCart - * @property {string} [checkout_mode] - * @property {string} [user_type] - * @property {string} [cod_message] - * @property {number} [cart_id] - * @property {boolean} [is_valid] - * @property {number} [delivery_charges] - * @property {string} [id] + * @property {string} [checkout_mode] - Checkout mode of user cart. + * @property {string} [user_type] - User type of the cart who places the order. + * @property {string} [cod_message] - Cash On Delivery message for the order placed. + * @property {number} [cart_id] - Cart id of the user cart for which the order placed. + * @property {boolean} [is_valid] - Valid flag fotr the checkout response if + * order placed was valid. + * @property {number} [delivery_charges] - Delivery charges of the order placed + * via checkout API. + * @property {string} [id] - Cart id of the user cart. * @property {PaymentSelectionLock} [payment_selection_lock] - * @property {string} [error_message] + * @property {string} [error_message] - Error details if any error occurs which + * includes type of error, error code and error message. * @property {ShipmentPromise} [delivery_promise] - * @property {string} [comment] - * @property {CartProductInfo[]} [items] - * @property {string} [uid] - * @property {number} [delivery_charge_order_value] - * @property {string} [delivery_charge_info] - * @property {boolean} [cod_available] - * @property {boolean} [success] - * @property {string} [store_code] - * @property {string} [message] - * @property {string} [gstin] - * @property {boolean} [restrict_checkout] - * @property {string} [last_modified] - * @property {string} [order_id] + * @property {string} [comment] - Comment message added in cart after order placed. + * @property {CartProductInfo[]} [items] - Items details in cart after order placed. + * @property {string} [uid] - Cart id of user cart. + * @property {number} [delivery_charge_order_value] - Delivery charge order value. + * @property {string} [delivery_charge_info] - Delivery charge in information + * message on shipment. + * @property {boolean} [cod_available] - Whether Cash On Delivery available. + * @property {boolean} [success] - Success flag of checkout cart API response. + * @property {string} [store_code] - Store code from which the order placed. + * @property {string} [message] - Message of the cart checkout API response. + * @property {string} [gstin] - GSTIN number added in cart. + * @property {boolean} [restrict_checkout] - Restrict checkout flag to restrict + * the checkout process. + * @property {string} [last_modified] - Last modified timestamp of cart. + * @property {string} [order_id] - Order id generated after placing order. * @property {CartBreakup} [breakup_values] * @property {CartCurrency} [currency] - * @property {Object[]} [store_emps] - * @property {string} [coupon_text] - * @property {boolean} [buy_now] - * @property {number} [cod_charges] - * @property {Object} [custom_cart_meta] + * @property {Object[]} [store_emps] - Store employees data. + * @property {string} [coupon_text] - Coupon text of the applied coupon on order placed. + * @property {boolean} [buy_now] - Buy now flag of user cart. + * @property {number} [cod_charges] - Cash On Delivery charges of the user cart. + * @property {Object} [custom_cart_meta] - Meta data for customCart of user. */ /** * @typedef CartCheckoutResponse - * @property {string} [payment_confirm_url] - * @property {string} [app_intercept_url] - * @property {boolean} [success] - * @property {string} [callback_url] - * @property {string} [message] - * @property {Object} [data] - * @property {string} [order_id] + * @property {string} [payment_confirm_url] - Payment confirm url used to + * redirect after payment is confirmed. + * @property {string} [app_intercept_url] - App intercept url which is used to + * redirect on app after payment in confirmed/failed. + * @property {boolean} [success] - Success flag of cart checkout API response. + * @property {string} [callback_url] - Callback url to be redirected after + * payment received/failed. + * @property {string} [message] - Message of the cart checkout v2 API response. + * @property {Object} [data] - Data of the user cart checkout includes cart + * data, address, user id, order type etc. + * @property {string} [order_id] - Order id generated after placing order. * @property {CheckCart} [cart] */ /** * @typedef GiftDetail - * @property {boolean} [is_gift_applied] - * @property {string} [gift_message] + * @property {boolean} [is_gift_applied] - Is gift applied flag which determines + * if this is a gift oder not. + * @property {string} [gift_message] - Gift message for the one while receive + * the delivery of the order with this message. */ /** @@ -834,239 +1005,299 @@ const Joi = require("joi"); /** * @typedef CartMetaRequest - * @property {Object} [delivery_slots] + * @property {Object} [delivery_slots] - Delivery slots details includes article + * level time slot when the shipment can be delivered. * @property {ArticleGiftDetail} [gift_details] * @property {Object} [pick_up_customer_details] - Customer contact details for - * customer pickup at store - * @property {string} [checkout_mode] - * @property {string} [comment] - * @property {string} [gstin] - * @property {Object} [custom_cart_meta] + * customer pickup at store. + * @property {string} [checkout_mode] - Checkout mode of user cart. + * @property {string} [comment] - Comment message to be added in user cart. + * @property {string} [gstin] - GSTIN number to be added in user cart. + * @property {Object} [custom_cart_meta] - Custom cart meta json to be added in + * order meta which can be further received in cart API response and order + * meta in order detail API or webhook. */ /** * @typedef CartMetaResponse - * @property {string} [message] - * @property {boolean} [is_valid] + * @property {string} [message] - Detailed message. + * @property {boolean} [is_valid] - Whether added meta was vaild. */ /** * @typedef CartMetaMissingResponse - * @property {string[]} [errors] + * @property {string[]} [errors] - Detailed errors for invalid cart meta request. */ /** * @typedef GetShareCartLinkRequest - * @property {string} [id] - Cart uid for generating sharing + * @property {string} [id] - Cart id of user cart for generating cart sharing token. * @property {Object} [meta] - Staff, Ordering store or any other data. This * data will be used to generate link as well as sent as shared details. */ /** * @typedef GetShareCartLinkResponse - * @property {string} [token] - Short url unique id - * @property {string} [share_url] - Short shareable final url + * @property {string} [token] - Short url unique id of the cart which is opted + * to share with other user. + * @property {string} [share_url] - Short shareable final url which can populate + * shared cart items in one's cart or replaced one's cart with shared cart items. */ /** * @typedef SharedCartDetails - * @property {string} [token] - Short link id - * @property {Object} [user] - User details of who generated share link - * @property {string} [created_on] - * @property {Object} [source] - Share link device and other source information - * @property {Object} [meta] - Meta data sent while generating share cart link + * @property {string} [token] - Short link id of the user cart that needs to be shared. + * @property {Object} [user] - User details of who generated share link. + * @property {string} [created_on] - Created on timestamp of user cart. + * @property {Object} [source] - Share link device and other source information. + * @property {Object} [meta] - Meta data sent while generating share cart link. */ /** * @typedef SharedCart - * @property {string} [checkout_mode] - * @property {number} [cart_id] - * @property {boolean} [is_valid] - * @property {string} [id] + * @property {string} [checkout_mode] - Checkout mode of address on which + * address to be used for which checkout mode of cart. + * @property {number} [cart_id] - Cart id of user cart for generating cart sharing token. + * @property {boolean} [is_valid] - Valid flag for get shared cart detail API. + * @property {string} [id] - Cart id of shared cart. * @property {PaymentSelectionLock} [payment_selection_lock] * @property {ShipmentPromise} [delivery_promise] - * @property {string} [comment] - * @property {CartProductInfo[]} [items] - * @property {string} [uid] - * @property {string} [delivery_charge_info] - * @property {string} [message] - * @property {string} [gstin] + * @property {string} [comment] - Comment message added in user cart. + * @property {CartProductInfo[]} [items] - Items data list in user cart that + * includes item id, item size, store id, available sizes and rest of the item + * related data. + * @property {string} [uid] - Cart id of the user cart. + * @property {string} [delivery_charge_info] - Delivery charge info message of + * the user cart. + * @property {string} [message] - Message of the get shared cart API response. + * @property {string} [gstin] - GSTIN added in user cart. * @property {SharedCartDetails} [shared_cart_details] - * @property {boolean} [restrict_checkout] - * @property {string} [last_modified] + * @property {boolean} [restrict_checkout] - Restrict checkout flag to restrict + * the checkout process. + * @property {string} [last_modified] - Last modified timestamp of user cart. * @property {CartBreakup} [breakup_values] * @property {CartCurrency} [currency] - * @property {string} [coupon_text] - * @property {boolean} [buy_now] - * @property {Object} [custom_cart_meta] + * @property {string} [coupon_text] - Coupon text of the applied coupon on user cart. + * @property {boolean} [buy_now] - Buy now flag of user cart. + * @property {Object} [custom_cart_meta] - Custom cart meta of user cart added + * via update cart meta API. */ /** * @typedef SharedCartResponse - * @property {string} [error] + * @property {string} [error] - Error details if any error occurs which includes + * type of error, error code and error message. * @property {SharedCart} [cart] */ /** * @typedef PriceMinMax - * @property {number} [min] - * @property {number} [max] + * @property {number} [min] - Min price of article added in user cart. + * @property {number} [max] - Max price of article added in user cart. */ /** * @typedef ItemPriceDetails * @property {PriceMinMax} [marked] * @property {PriceMinMax} [effective] - * @property {string} [currency] + * @property {string} [currency] - Currency of the article added in cart. */ /** * @typedef FreeGiftItems - * @property {string} [item_slug] - Item slug - * @property {string} [item_name] - Item name + * @property {string} [item_slug] - Slug for an item. + * @property {string} [item_name] - Name of the free gift item received via free + * gift promotion. * @property {ItemPriceDetails} [item_price_details] - * @property {string} [item_brand_name] - Item brand name - * @property {number} [item_id] - Item id - * @property {string[]} [item_images_url] - Item images URL + * @property {string} [item_brand_name] - Item brand name of the free gift item + * promotion applied on cart. + * @property {number} [item_id] - Item id of the free gift item. + * @property {string[]} [item_images_url] - Images URLs for free gift items. */ /** * @typedef PromotionOffer - * @property {string} [id] - Promotion id - * @property {Object} [buy_rules] - Buy rules of promotions - * @property {string} [offer_text] - Offer title - * @property {string} [promotion_type] - Promotion type - * @property {string} [promotion_name] - Name of the promotion - * @property {string} [promotion_group] - Group of promotion belongs to - * @property {string} [valid_till] - Datetime ISOString for promotion end date - * @property {Object[]} [discount_rules] - Discount rules of promotions + * @property {string} [id] - Promotion id of the promotion which is available on product. + * @property {Object} [buy_rules] - Buy rules of promotion which is available on product. + * @property {string} [offer_text] - Offer title of the promotion which is + * available on product. + * @property {string} [promotion_type] - Promotion type of the promotion which + * is availalbe on product. + * @property {string} [promotion_name] - Name of the promotion which is + * available on product. + * @property {string} [promotion_group] - Group of the promotion which is + * available on product. + * @property {string} [valid_till] - Datetime ISO String for promotion end date + * which is available on product. + * @property {Object[]} [discount_rules] - Discount rules of promotions which is + * avaiable on product. * @property {FreeGiftItems[]} [free_gift_items] - Details of free gift items - * @property {string} [description] - Offer details including T&C + * which included item id, brand name, item name, item slug, item price and + * item image url. + * @property {string} [description] - Offer details including T&C of the + * promotion which is avaiable on product. */ /** * @typedef PromotionOffersResponse - * @property {PromotionOffer[]} [available_promotions] + * @property {PromotionOffer[]} [available_promotions] - Available promotion + * details which are available on product which includes promotion data like + * promotion id, promotion name, buy rules, discount rules validity dates etc. */ /** * @typedef PromotionPaymentOffer - * @property {string} [application_id] - Application id - * @property {Object[]} [buy_rules] - Buy rules of promotions - * @property {string} [calculate_on] - Price on which promotion calculated - * @property {string} [description] - Offer details including T&C - * @property {Object[]} [discount_rules] - Discount rules of promotions - * @property {string} [id] - Promotion id - * @property {string} [offer_text] - Offer title - * @property {string} [promotion_group] - Group of promotion belongs to - * @property {string} [promotion_type] - Promotion type - * @property {string} [promotion_name] - Name of the promotion + * @property {string} [application_id] - Application id on which the promotion + * was created. + * @property {Object[]} [buy_rules] - Buy rules of promotions which denotes if + * the rules matches than only promotion is applicable. + * @property {string} [calculate_on] - Article Price on which promotion + * calculated like effective price or marked price. + * @property {string} [description] - Offer details including T&C of the + * promotion which is avaiable on cart. + * @property {Object[]} [discount_rules] - Discount rules of promotions which is + * avaiable on cart. + * @property {string} [id] - Promotion id of the promotion which is available on cart. + * @property {string} [offer_text] - Offer title of the promotion which is + * available on cart. + * @property {string} [promotion_group] - Group promotion which is available on cart. + * @property {string} [promotion_type] - Promotion type of the promotion which + * is availalbe on cart. + * @property {string} [promotion_name] - Name of the promotion which is available on cart. */ /** * @typedef PromotionPaymentOffersResponse - * @property {boolean} [success] - * @property {PromotionPaymentOffer[]} [promotions] + * @property {boolean} [success] - Success flag of get payment offers API response. + * @property {PromotionPaymentOffer[]} [promotions] - List of promotions data + * which are applicable on cart/product. */ /** * @typedef OperationErrorResponse - * @property {string} [message] - * @property {boolean} [success] + * @property {string} [message] - Message of get payment offer API response. + * @property {boolean} [success] - Success flag of get payment offer API response. */ /** * @typedef LadderPrice - * @property {string} [currency_symbol] - Currency symbol for currency - * @property {number} [offer_price] - Discounted per unit price for current offer object - * @property {string} [currency_code] - Currency code for all amounts + * @property {string} [currency_symbol] - Currency symbol for currency of ladder + * price product. + * @property {number} [offer_price] - Discounted per unit price for current offer object. + * @property {string} [currency_code] - Currency code for all amounts. * @property {number} [effective] - Current per unit price of product after - * existing deductions - * @property {number} [marked] - Original price of product + * existing deductions. + * @property {number} [marked] - Original price of product. */ /** * @typedef LadderOfferItem * @property {LadderPrice} [price] - * @property {number} [margin] - Percentage value of discount + * @property {number} [margin] - Percentage value of discount. * @property {number} [max_quantity] - Minimum quantity upto which offer is - * applicable. If not present that offer is applicable on all quantities - * @property {number} [min_quantity] - Minimum quantity from which offer is applicable - * @property {string} [type] - Offer type + * applicable. If not present that offer is applicable on all quantities. + * @property {number} [min_quantity] - Minimum quantity from which offer is applicable. + * @property {string} [type] - Offer type of the ladder promotion. */ /** * @typedef LadderPriceOffer - * @property {string} [id] - Promotion id - * @property {Object} [buy_rules] - Buy rules of promotions + * @property {string} [id] - ID of the promotion. + * @property {Object} [buy_rules] - Buy rules of ladder price promotion + * applicable on product. * @property {string} [calculate_on] - If this ladder offer is to be calculated - * on MRP or ESP price - * @property {string} [offer_text] - Offer title - * @property {string} [promotion_group] - Group of promotion belongs to - * @property {string} [valid_till] - Datetime ISOString for promotion end date - * @property {Object[]} [discount_rules] - Discount rules of promotions - * @property {LadderOfferItem[]} [offer_prices] - * @property {FreeGiftItems[]} [free_gift_items] - Details of free gift items - * @property {string} [description] - Offer details including T&C + * on MRP or ESP price. + * @property {string} [offer_text] - Offer title of ladder price promotion + * applicable on product. + * @property {string} [promotion_group] - Group of ladder price promotion + * applicable on product. + * @property {string} [valid_till] - Datetime ISO String for promotion end date. + * @property {Object[]} [discount_rules] - Discount rules of ladder price + * promotion applicable on product. + * @property {LadderOfferItem[]} [offer_prices] - Offer prices for ladder price + * promotion applicable on product. + * @property {FreeGiftItems[]} [free_gift_items] - Details of free gift items list. + * @property {string} [description] - Offer details including T&C of ladder + * price promotion applicable on product. */ /** * @typedef CurrencyInfo - * @property {string} [code] - * @property {string} [symbol] + * @property {string} [code] - Currency code of ladder price promotion. + * @property {string} [symbol] - Currency symbol for currency of ladder price product. */ /** * @typedef LadderPriceOffers - * @property {LadderPriceOffer[]} [available_offers] + * @property {LadderPriceOffer[]} [available_offers] - Available ladder + * promotions offers list. * @property {CurrencyInfo} [currency] */ /** * @typedef PaymentMeta - * @property {string} [merchant_code] - * @property {string} [type] - * @property {string} [payment_gateway] - * @property {string} [payment_identifier] + * @property {string} [merchant_code] - Merchant code of the payment mode + * selected to do the payment. + * @property {string} [type] - Type of card if payment mode is card to do the payment. + * @property {string} [payment_gateway] - Payment gateway used to do the payment. + * @property {string} [payment_identifier] - Payment identifier of the payment + * mode selected to do the payment. */ /** * @typedef PaymentMethod * @property {PaymentMeta} payment_meta - * @property {string} mode - * @property {string} [payment] - * @property {number} [amount] - * @property {string} [name] - * @property {Object} [payment_extra_identifiers] + * @property {string} mode - Payment mode of payment method used to make payment. + * @property {string} [payment] - Payment name of payment method used to make payment. + * @property {number} [amount] - Amount of the payment mode to be paid. + * @property {string} [name] - Name of the payment mode used to make payment. + * @property {Object} [payment_extra_identifiers] - Payment extra identifier for + * the payment mode to do the payment. */ /** * @typedef CartCheckoutDetailV2Request - * @property {Object} [custom_meta] - * @property {Object} [customer_details] - Customer details - * @property {string} [merchant_code] - * @property {string} [cart_id] - * @property {string} [id] - * @property {boolean} [payment_auto_confirm] - * @property {PaymentMethod[]} payment_methods - * @property {string} payment_mode - * @property {string} [aggregator] - * @property {string} [address_id] - * @property {string} [callback_url] - * @property {Object} [delivery_address] + * @property {Object} [custom_meta] - Custom meta data to be added in order. + * @property {Object} [customer_details] - Customer details to be added in order. + * @property {string} [merchant_code] - Merchant code of the payment mode + * selected to do the payment. + * @property {string} [cart_id] - Cart id of the user cart. + * @property {string} [id] - Cart id of the user cart. + * @property {boolean} [payment_auto_confirm] - Payment auto confirm flag if + * payment need not to be collected from user. + * @property {PaymentMethod[]} payment_methods - Payment methods list used to + * make the payment. + * @property {string} payment_mode - Payment mode of the payment selected to do + * the payment. + * @property {string} [aggregator] - Aggregator of payment mode to do the payment. + * @property {string} [address_id] - Address id of the user where the order to + * be delivered. + * @property {string} [callback_url] - Callback url after payment received/failed. + * @property {Object} [delivery_address] - Delivery address data which includes + * customer address, customer phone, customer email, customer pincode, + * customer landmark and customer name. * @property {StaffCheckout} [staff] - * @property {string} [order_type] - * @property {number} [ordering_store] - * @property {Object} [extra_meta] - * @property {string} [payment_identifier] - * @property {Object} [billing_address] - * @property {Object} [payment_params] - * @property {string} [billing_address_id] - * @property {Object} [meta] - * @property {string} [iin] - * @property {string} [network] - * @property {string} [type] - * @property {string} [card_id] + * @property {string} [order_type] - Order type of the order being placed like + * pickAtStore or HomeDelivery. + * @property {number} [ordering_store] - Ordering store id of the store from + * which the order is getting placed. + * @property {Object} [extra_meta] - Extra meta to be added while checkout in order. + * @property {string} [payment_identifier] - Payment identifier of the payment + * mode selected to do the payment. + * @property {Object} [billing_address] - Billing address json which includes + * customer address, customer phone, customer email, customer pincode, + * customer landmark and customer name. + * @property {Object} [payment_params] - Payment params which includes payment + * identifier and merchant code. + * @property {string} [billing_address_id] - Billing address id selected by user + * on which shipment bill to be generated. + * @property {Object} [meta] - Meta data sent while checkout v2. + * @property {string} [iin] - Issuer Identification Number' number of card if + * payment mode is card to do the payment. + * @property {string} [network] - Network of card if payment mode is card to do + * the payment. + * @property {string} [type] - Type of cart if payment mode is card to do the payment. + * @property {string} [card_id] - Saved card id if payment mode is card to do the payment. */ class CartApplicationModel { diff --git a/sdk/application/Cart/CartApplicationValidator.d.ts b/sdk/application/Cart/CartApplicationValidator.d.ts index 5f1bc1357..044aaf457 100644 --- a/sdk/application/Cart/CartApplicationValidator.d.ts +++ b/sdk/application/Cart/CartApplicationValidator.d.ts @@ -5,14 +5,11 @@ export = CartApplicationValidator; */ /** * @typedef AddItemsParam - * @property {boolean} [i] - This is a boolean value. Select `true` to retrieve - * all the items added in the cart. - * @property {boolean} [b] - This is a boolean value. Select `true` to retrieve - * the price breakup of cart items. - * @property {string} [areaCode] - Customer servicable area_code - * @property {boolean} [buyNow] - This is a boolen value. Select `true` to - * set/initialize buy now cart - * @property {string} [id] - The unique identifier of the cart + * @property {boolean} [i] - Select `true` to retrieve all the items added in the cart. + * @property {boolean} [b] - Select `true` to retrieve the price breakup of cart items. + * @property {string} [areaCode] - Customer servicable area_code. + * @property {boolean} [buyNow] - Select `true` to set/initialize buy now cart. + * @property {string} [id] - The unique identifier of the cart. * @property {string} [orderType] - The order type of shipment HomeDelivery - If * the customer wants the order home-delivered PickAtStore - If the customer * wants the handover of an order at the store itself. @@ -20,34 +17,32 @@ export = CartApplicationValidator; */ /** * @typedef ApplyCouponParam - * @property {boolean} [i] - * @property {boolean} [b] - * @property {boolean} [p] - * @property {string} [id] - * @property {boolean} [buyNow] - * @property {string} [cartType] + * @property {boolean} [i] - Select `true` to retrieve all the items added in the cart. + * @property {boolean} [b] - Select `true` to retrieve the price breakup of cart items. + * @property {boolean} [p] - Select `true` for getting a payment option in response. + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [buyNow] - This is boolean to get buy_now cart. + * @property {string} [cartType] - The type of cart. * @property {CartApplicationModel.ApplyCouponRequest} body */ /** * @typedef ApplyRewardPointsParam - * @property {string} [id] - The unique identifier of the cart - * @property {boolean} [i] - This is a boolean value. Select `true` to retrieve - * all the items added in the cart. - * @property {boolean} [b] - This is a boolean value. Select `true` to retrieve - * the price breakup of cart items. - * @property {boolean} [buyNow] - This is boolean to get buy_now cart + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [i] - Select `true` to retrieve all the items added in the cart. + * @property {boolean} [b] - Select `true` to retrieve the price breakup of cart items. + * @property {boolean} [buyNow] - This is boolean to get buy_now cart. * @property {CartApplicationModel.RewardPointRequest} body */ /** * @typedef CheckoutCartParam - * @property {boolean} [buyNow] - This indicates the type of cart to checkout - * @property {string} [cartType] - The type of cart + * @property {boolean} [buyNow] - This indicates the type of cart to checkout. + * @property {string} [cartType] - The type of cart. * @property {CartApplicationModel.CartCheckoutDetailRequest} body */ /** * @typedef CheckoutCartV2Param - * @property {boolean} [buyNow] - This indicates the type of cart to checkout - * @property {string} [cartType] - The type of cart + * @property {boolean} [buyNow] - This indicates the type of cart to checkout. + * @property {string} [cartType] - The type of cart. * @property {CartApplicationModel.CartCheckoutDetailV2Request} body */ /** @@ -56,52 +51,49 @@ export = CartApplicationValidator; */ /** * @typedef GetAddressByIdParam - * @property {string} id - * @property {string} [cartId] - * @property {boolean} [buyNow] - * @property {string} [mobileNo] - * @property {string} [checkoutMode] - * @property {string} [tags] - * @property {boolean} [isDefault] + * @property {string} id - ID allotted to the selected address. + * @property {string} [cartId] - The unique identifier of the cart. + * @property {boolean} [buyNow] - This is boolean to get buy_now cart. + * @property {string} [mobileNo] - Mobile number of the customer. + * @property {string} [checkoutMode] - Option to checkout for self or for others. + * @property {string} [tags] - Tag given to an address, e.g. work, home, office, shop. + * @property {boolean} [isDefault] - This is a boolean value. Select `true` to + * fetch the default address. */ /** * @typedef GetAddressesParam - * @property {string} [cartId] - * @property {boolean} [buyNow] - * @property {string} [mobileNo] - * @property {string} [checkoutMode] - * @property {string} [tags] - * @property {boolean} [isDefault] + * @property {string} [cartId] - The unique identifier of the user cart. + * @property {boolean} [buyNow] - Whether to get buy_now cart. + * @property {string} [mobileNo] - Mobile number of the customer. + * @property {string} [checkoutMode] - Option to checkout for self or for others. + * @property {string} [tags] - Tag given to an address, e.g. work, home, office, shop. + * @property {boolean} [isDefault] - Select `true` to fetch the default address. */ /** * @typedef GetBulkDiscountOffersParam - * @property {number} [itemId] - The Item ID of the product - * @property {string} [articleId] - Article Mongo ID - * @property {number} [uid] - UID of the product + * @property {number} [itemId] - The Item ID of the product. + * @property {string} [articleId] - Article Mongo ID. + * @property {number} [uid] - UID of the product. * @property {string} [slug] - A short, human-readable, URL-friendly identifier - * of a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * of a product. */ /** * @typedef GetCartParam - * @property {string} [id] - The unique identifier of the cart - * @property {boolean} [i] - This is a boolean value. Select `true` to retrieve - * all the items added in the cart. - * @property {boolean} [b] - This is a boolean value. Select `true` to retrieve - * the price breakup of cart items. - * @property {boolean} [c] - This is a boolean value. Select `true` to retrieve - * the cod charges in breakup of cart items. - * @property {number} [assignCardId] - Token of user's debit or credit card - * @property {string} [areaCode] - Customer servicable area_code - * @property {boolean} [buyNow] - This is a boolen value. Select `true` to - * set/initialize buy now cart + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [i] - Select `true` to retrieve all the items added in the cart. + * @property {boolean} [b] - Select `true` to retrieve the price breakup of cart items. + * @property {boolean} [c] - Select `true` to retrieve the cod charges in + * breakup of cart items. + * @property {number} [assignCardId] - Token of user's debit or credit card. + * @property {string} [areaCode] - Customer servicable area_code. + * @property {boolean} [buyNow] - Select `true` to set/initialize buy now cart. * @property {string} [orderType] - The order type of shipment HomeDelivery - If * the customer wants the order home-delivered PickAtStore - If the customer * wants the handover of an order at the store itself. */ /** * @typedef GetCartLastModifiedParam - * @property {string} [id] + * @property {string} [id] - The unique identifier of the cart. */ /** * @typedef GetCartShareLinkParam @@ -109,98 +101,92 @@ export = CartApplicationValidator; */ /** * @typedef GetCartSharedItemsParam - * @property {string} token - Token of the shared short link + * @property {string} token - Token of the shared short link. */ /** * @typedef GetCouponsParam - * @property {string} [id] - * @property {boolean} [buyNow] - * @property {string} [slug] - * @property {string} [storeId] + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [buyNow] - Whether to get buy_now cart. + * @property {string} [slug] - Product slug to fetch the available coupons. + * @property {string} [storeId] - Unique identifier of a store. */ /** * @typedef GetItemCountParam * @property {string} [id] - The unique identifier of the cart. - * @property {boolean} [buyNow] + * @property {boolean} [buyNow] - Boolean value to get buy_now cart. */ /** * @typedef GetLadderOffersParam * @property {string} slug - A short, human-readable, URL-friendly identifier of - * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * a product. * @property {string} [storeId] - Store uid of assigned store on PDP page. If - * not passed default first created ladder will be returned + * not passed default first created ladder will be returned. * @property {string} [promotionId] - Get ladder information of given promotion - * id explicitely - * @property {number} [pageSize] - Number of offers to be fetched to show + * id explicitely. + * @property {number} [pageSize] - Number of offers to be fetched to show. */ /** * @typedef GetPromotionOffersParam * @property {string} [slug] - A short, human-readable, URL-friendly identifier - * of a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ - * @property {number} [pageSize] - Number of offers to be fetched to show - * @property {string} [promotionGroup] - Type of promotion groups - * @property {number} [storeId] - Store id - * @property {string} [cartType] - The type of cart + * of a product. + * @property {number} [pageSize] - Number of offers to be fetched to show. + * @property {string} [promotionGroup] - Type of promotion groups. + * @property {number} [storeId] - Unique identifier of a store. + * @property {string} [cartType] - The type of cart. */ /** * @typedef GetPromotionPaymentOffersParam - * @property {string} [id] - Cart id - * @property {number} [uid] - Cart uid + * @property {string} [id] - Cart id of the user cart . + * @property {number} [uid] - Cart uid of the user cart . */ /** * @typedef GetShipmentsParam - * @property {boolean} [p] - This is a boolean value. Select `true` for getting - * a payment option in response. - * @property {string} [id] - The unique identifier of the cart - * @property {boolean} [buyNow] - * @property {string} [addressId] - ID allotted to the selected address - * @property {string} [areaCode] - The PIN Code of the destination address, e.g. 400059 + * @property {boolean} [p] - Select `true` for getting a payment option in response. + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [buyNow] - This is boolean to get buy_now cart. + * @property {string} [addressId] - ID allotted to the selected address. + * @property {string} [areaCode] - The PIN Code of the destination address, e.g. 400059. * @property {string} [orderType] - The order type of shipment HomeDelivery - If * the customer wants the order home-delivered PickAtStore - If the customer * wants the handover of an order at the store itself. Digital - If the - * customer wants to buy digital voucher ( for jiogames ) + * customer wants to buy digital voucher ( for jiogames ). */ /** * @typedef RemoveAddressParam - * @property {string} id - ID allotted to the selected address + * @property {string} id - ID allotted to the selected address. */ /** * @typedef RemoveCouponParam - * @property {string} [id] - The unique identifier of the cart - * @property {boolean} [buyNow] - This is boolean to get buy_now cart + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [buyNow] - Wheter to get buy_now cart. */ /** * @typedef SelectAddressParam - * @property {string} [cartId] - * @property {boolean} [buyNow] - * @property {boolean} [i] - * @property {boolean} [b] + * @property {string} [cartId] - The unique identifier of the cart. + * @property {boolean} [buyNow] - Whether to get buy_now cart. + * @property {boolean} [i] - Select `true` to retrieve all the items added in the cart. + * @property {boolean} [b] - Select `true` to retrieve the price breakup of cart items. * @property {CartApplicationModel.SelectCartAddressRequest} body */ /** * @typedef SelectPaymentModeParam - * @property {string} [id] - * @property {boolean} [buyNow] + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [buyNow] - Whether to get buy_now cart. * @property {CartApplicationModel.UpdateCartPaymentRequest} body */ /** * @typedef UpdateAddressParam - * @property {string} id - ID allotted to the selected address + * @property {string} id - ID allotted to the selected address. * @property {CartApplicationModel.Address} body */ /** * @typedef UpdateCartParam - * @property {string} [id] - The unique identifier of the cart - * @property {boolean} [i] - This is a boolean value. Select `true` to retrieve - * all the items added in the cart. - * @property {boolean} [b] - This is a boolean value. Select `true` to retrieve - * the price breakup of cart items. - * @property {string} [areaCode] - Customer servicable area_code - * @property {boolean} [buyNow] - This is a boolen value. Select `true` to - * set/initialize buy now cart - * @property {string} [cartType] - The type of cart + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [i] - Select `true` to retrieve all the items added in the cart. + * @property {boolean} [b] - Select `true` to retrieve the price breakup of cart items. + * @property {string} [areaCode] - Customer servicable area_code. + * @property {boolean} [buyNow] - Select `true` to set/initialize buy now cart. + * @property {string} [cartType] - The type of cart. * @property {string} [orderType] - The order type of shipment HomeDelivery - If * the customer wants the order home-delivered PickAtStore - If the customer * wants the handover of an order at the store itself. @@ -208,30 +194,30 @@ export = CartApplicationValidator; */ /** * @typedef UpdateCartMetaParam - * @property {string} [id] - * @property {boolean} [buyNow] + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [buyNow] - Whether to get buy_now cart. * @property {CartApplicationModel.CartMetaRequest} body */ /** * @typedef UpdateCartWithSharedItemsParam - * @property {string} token - Token of the shared short link + * @property {string} token - Token of the shared short link. * @property {string} action - Operation to perform on the existing cart merge or replace. */ /** * @typedef ValidateCouponForPaymentParam - * @property {string} [id] - The unique identifier of the cart - * @property {boolean} [buyNow] - This is boolean to get buy_now cart - * @property {string} [addressId] - ID allotted to an address - * @property {string} [paymentMode] - Payment mode selected by the customer - * @property {string} [paymentIdentifier] - Identifier of payment like ICIC, PAYTM - * @property {string} [aggregatorName] - Payment gateway identifier + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [buyNow] - Whether to get buy_now cart. + * @property {string} [addressId] - ID allotted to an address. + * @property {string} [paymentMode] - Payment mode selected by the customer. + * @property {string} [paymentIdentifier] - Identifier of payment like ICIC, PAYTM. + * @property {string} [aggregatorName] - Payment gateway identifier. * @property {string} [merchantCode] - Identifier used by payment gateway for a - * given payment mode, e.g. NB_ICIC, PAYTM - * @property {string} [iin] - Debit/Credit card prefix (first 6 digit) - * @property {string} [network] - Credit/Debit card issuer, e.g. VISA, MASTERCARD, RUPAY - * @property {string} [type] - Card type, e.g. Credit, Debit - * @property {string} [cardId] - Saved card token reference id - * @property {string} [cartType] - Type of the cart + * given payment mode, e.g. NB_ICIC, PAYTM. + * @property {string} [iin] - Debit/Credit card prefix (first 6 digit). + * @property {string} [network] - Credit/Debit card issuer, e.g. VISA, MASTERCARD, RUPAY. + * @property {string} [type] - Card type, e.g. Credit, Debit. + * @property {string} [cardId] - Saved card token reference id. + * @property {string} [cartType] - Type of the cart. */ declare class CartApplicationValidator { /** @returns {AddAddressParam} */ @@ -301,26 +287,23 @@ type AddAddressParam = { }; type AddItemsParam = { /** - * - This is a boolean value. Select `true` to retrieve - * all the items added in the cart. + * - Select `true` to retrieve all the items added in the cart. */ i?: boolean; /** - * - This is a boolean value. Select `true` to retrieve - * the price breakup of cart items. + * - Select `true` to retrieve the price breakup of cart items. */ b?: boolean; /** - * - Customer servicable area_code + * - Customer servicable area_code. */ areaCode?: string; /** - * - This is a boolen value. Select `true` to - * set/initialize buy now cart + * - Select `true` to set/initialize buy now cart. */ buyNow?: boolean; /** - * - The unique identifier of the cart + * - The unique identifier of the cart. */ id?: string; /** @@ -332,53 +315,69 @@ type AddItemsParam = { body: CartApplicationModel.AddCartRequest; }; type ApplyCouponParam = { + /** + * - Select `true` to retrieve all the items added in the cart. + */ i?: boolean; + /** + * - Select `true` to retrieve the price breakup of cart items. + */ b?: boolean; + /** + * - Select `true` for getting a payment option in response. + */ p?: boolean; + /** + * - The unique identifier of the cart. + */ id?: string; + /** + * - This is boolean to get buy_now cart. + */ buyNow?: boolean; + /** + * - The type of cart. + */ cartType?: string; body: CartApplicationModel.ApplyCouponRequest; }; type ApplyRewardPointsParam = { /** - * - The unique identifier of the cart + * - The unique identifier of the cart. */ id?: string; /** - * - This is a boolean value. Select `true` to retrieve - * all the items added in the cart. + * - Select `true` to retrieve all the items added in the cart. */ i?: boolean; /** - * - This is a boolean value. Select `true` to retrieve - * the price breakup of cart items. + * - Select `true` to retrieve the price breakup of cart items. */ b?: boolean; /** - * - This is boolean to get buy_now cart + * - This is boolean to get buy_now cart. */ buyNow?: boolean; body: CartApplicationModel.RewardPointRequest; }; type CheckoutCartParam = { /** - * - This indicates the type of cart to checkout + * - This indicates the type of cart to checkout. */ buyNow?: boolean; /** - * - The type of cart + * - The type of cart. */ cartType?: string; body: CartApplicationModel.CartCheckoutDetailRequest; }; type CheckoutCartV2Param = { /** - * - This indicates the type of cart to checkout + * - This indicates the type of cart to checkout. */ buyNow?: boolean; /** - * - The type of cart + * - The type of cart. */ cartType?: string; body: CartApplicationModel.CartCheckoutDetailV2Request; @@ -390,73 +389,109 @@ type DeleteCartParam = { id?: string; }; type GetAddressByIdParam = { + /** + * - ID allotted to the selected address. + */ id: string; + /** + * - The unique identifier of the cart. + */ cartId?: string; + /** + * - This is boolean to get buy_now cart. + */ buyNow?: boolean; + /** + * - Mobile number of the customer. + */ mobileNo?: string; + /** + * - Option to checkout for self or for others. + */ checkoutMode?: string; + /** + * - Tag given to an address, e.g. work, home, office, shop. + */ tags?: string; + /** + * - This is a boolean value. Select `true` to + * fetch the default address. + */ isDefault?: boolean; }; type GetAddressesParam = { + /** + * - The unique identifier of the user cart. + */ cartId?: string; + /** + * - Whether to get buy_now cart. + */ buyNow?: boolean; + /** + * - Mobile number of the customer. + */ mobileNo?: string; + /** + * - Option to checkout for self or for others. + */ checkoutMode?: string; + /** + * - Tag given to an address, e.g. work, home, office, shop. + */ tags?: string; + /** + * - Select `true` to fetch the default address. + */ isDefault?: boolean; }; type GetBulkDiscountOffersParam = { /** - * - The Item ID of the product + * - The Item ID of the product. */ itemId?: number; /** - * - Article Mongo ID + * - Article Mongo ID. */ articleId?: string; /** - * - UID of the product + * - UID of the product. */ uid?: number; /** * - A short, human-readable, URL-friendly identifier - * of a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * of a product. */ slug?: string; }; type GetCartParam = { /** - * - The unique identifier of the cart + * - The unique identifier of the cart. */ id?: string; /** - * - This is a boolean value. Select `true` to retrieve - * all the items added in the cart. + * - Select `true` to retrieve all the items added in the cart. */ i?: boolean; /** - * - This is a boolean value. Select `true` to retrieve - * the price breakup of cart items. + * - Select `true` to retrieve the price breakup of cart items. */ b?: boolean; /** - * - This is a boolean value. Select `true` to retrieve - * the cod charges in breakup of cart items. + * - Select `true` to retrieve the cod charges in + * breakup of cart items. */ c?: boolean; /** - * - Token of user's debit or credit card + * - Token of user's debit or credit card. */ assignCardId?: number; /** - * - Customer servicable area_code + * - Customer servicable area_code. */ areaCode?: string; /** - * - This is a boolen value. Select `true` to - * set/initialize buy now cart + * - Select `true` to set/initialize buy now cart. */ buyNow?: boolean; /** @@ -467,6 +502,9 @@ type GetCartParam = { orderType?: string; }; type GetCartLastModifiedParam = { + /** + * - The unique identifier of the cart. + */ id?: string; }; type GetCartShareLinkParam = { @@ -474,14 +512,26 @@ type GetCartShareLinkParam = { }; type GetCartSharedItemsParam = { /** - * - Token of the shared short link + * - Token of the shared short link. */ token: string; }; type GetCouponsParam = { + /** + * - The unique identifier of the cart. + */ id?: string; + /** + * - Whether to get buy_now cart. + */ buyNow?: boolean; + /** + * - Product slug to fetch the available coupons. + */ slug?: string; + /** + * - Unique identifier of a store. + */ storeId?: string; }; type GetItemCountParam = { @@ -489,152 +539,170 @@ type GetItemCountParam = { * - The unique identifier of the cart. */ id?: string; + /** + * - Boolean value to get buy_now cart. + */ buyNow?: boolean; }; type GetLadderOffersParam = { /** * - A short, human-readable, URL-friendly identifier of - * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * a product. */ slug: string; /** * - Store uid of assigned store on PDP page. If - * not passed default first created ladder will be returned + * not passed default first created ladder will be returned. */ storeId?: string; /** * - Get ladder information of given promotion - * id explicitely + * id explicitely. */ promotionId?: string; /** - * - Number of offers to be fetched to show + * - Number of offers to be fetched to show. */ pageSize?: number; }; type GetPromotionOffersParam = { /** * - A short, human-readable, URL-friendly identifier - * of a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * of a product. */ slug?: string; /** - * - Number of offers to be fetched to show + * - Number of offers to be fetched to show. */ pageSize?: number; /** - * - Type of promotion groups + * - Type of promotion groups. */ promotionGroup?: string; /** - * - Store id + * - Unique identifier of a store. */ storeId?: number; /** - * - The type of cart + * - The type of cart. */ cartType?: string; }; type GetPromotionPaymentOffersParam = { /** - * - Cart id + * - Cart id of the user cart . */ id?: string; /** - * - Cart uid + * - Cart uid of the user cart . */ uid?: number; }; type GetShipmentsParam = { /** - * - This is a boolean value. Select `true` for getting - * a payment option in response. + * - Select `true` for getting a payment option in response. */ p?: boolean; /** - * - The unique identifier of the cart + * - The unique identifier of the cart. */ id?: string; + /** + * - This is boolean to get buy_now cart. + */ buyNow?: boolean; /** - * - ID allotted to the selected address + * - ID allotted to the selected address. */ addressId?: string; /** - * - The PIN Code of the destination address, e.g. 400059 + * - The PIN Code of the destination address, e.g. 400059. */ areaCode?: string; /** * - The order type of shipment HomeDelivery - If * the customer wants the order home-delivered PickAtStore - If the customer * wants the handover of an order at the store itself. Digital - If the - * customer wants to buy digital voucher ( for jiogames ) + * customer wants to buy digital voucher ( for jiogames ). */ orderType?: string; }; type RemoveAddressParam = { /** - * - ID allotted to the selected address + * - ID allotted to the selected address. */ id: string; }; type RemoveCouponParam = { /** - * - The unique identifier of the cart + * - The unique identifier of the cart. */ id?: string; /** - * - This is boolean to get buy_now cart + * - Wheter to get buy_now cart. */ buyNow?: boolean; }; type SelectAddressParam = { + /** + * - The unique identifier of the cart. + */ cartId?: string; + /** + * - Whether to get buy_now cart. + */ buyNow?: boolean; + /** + * - Select `true` to retrieve all the items added in the cart. + */ i?: boolean; + /** + * - Select `true` to retrieve the price breakup of cart items. + */ b?: boolean; body: CartApplicationModel.SelectCartAddressRequest; }; type SelectPaymentModeParam = { + /** + * - The unique identifier of the cart. + */ id?: string; + /** + * - Whether to get buy_now cart. + */ buyNow?: boolean; body: CartApplicationModel.UpdateCartPaymentRequest; }; type UpdateAddressParam = { /** - * - ID allotted to the selected address + * - ID allotted to the selected address. */ id: string; body: CartApplicationModel.Address; }; type UpdateCartParam = { /** - * - The unique identifier of the cart + * - The unique identifier of the cart. */ id?: string; /** - * - This is a boolean value. Select `true` to retrieve - * all the items added in the cart. + * - Select `true` to retrieve all the items added in the cart. */ i?: boolean; /** - * - This is a boolean value. Select `true` to retrieve - * the price breakup of cart items. + * - Select `true` to retrieve the price breakup of cart items. */ b?: boolean; /** - * - Customer servicable area_code + * - Customer servicable area_code. */ areaCode?: string; /** - * - This is a boolen value. Select `true` to - * set/initialize buy now cart + * - Select `true` to set/initialize buy now cart. */ buyNow?: boolean; /** - * - The type of cart + * - The type of cart. */ cartType?: string; /** @@ -646,13 +714,19 @@ type UpdateCartParam = { body: CartApplicationModel.UpdateCartRequest; }; type UpdateCartMetaParam = { + /** + * - The unique identifier of the cart. + */ id?: string; + /** + * - Whether to get buy_now cart. + */ buyNow?: boolean; body: CartApplicationModel.CartMetaRequest; }; type UpdateCartWithSharedItemsParam = { /** - * - Token of the shared short link + * - Token of the shared short link. */ token: string; /** @@ -662,52 +736,52 @@ type UpdateCartWithSharedItemsParam = { }; type ValidateCouponForPaymentParam = { /** - * - The unique identifier of the cart + * - The unique identifier of the cart. */ id?: string; /** - * - This is boolean to get buy_now cart + * - Whether to get buy_now cart. */ buyNow?: boolean; /** - * - ID allotted to an address + * - ID allotted to an address. */ addressId?: string; /** - * - Payment mode selected by the customer + * - Payment mode selected by the customer. */ paymentMode?: string; /** - * - Identifier of payment like ICIC, PAYTM + * - Identifier of payment like ICIC, PAYTM. */ paymentIdentifier?: string; /** - * - Payment gateway identifier + * - Payment gateway identifier. */ aggregatorName?: string; /** * - Identifier used by payment gateway for a - * given payment mode, e.g. NB_ICIC, PAYTM + * given payment mode, e.g. NB_ICIC, PAYTM. */ merchantCode?: string; /** - * - Debit/Credit card prefix (first 6 digit) + * - Debit/Credit card prefix (first 6 digit). */ iin?: string; /** - * - Credit/Debit card issuer, e.g. VISA, MASTERCARD, RUPAY + * - Credit/Debit card issuer, e.g. VISA, MASTERCARD, RUPAY. */ network?: string; /** - * - Card type, e.g. Credit, Debit + * - Card type, e.g. Credit, Debit. */ type?: string; /** - * - Saved card token reference id + * - Saved card token reference id. */ cardId?: string; /** - * - Type of the cart + * - Type of the cart. */ cartType?: string; }; diff --git a/sdk/application/Cart/CartApplicationValidator.js b/sdk/application/Cart/CartApplicationValidator.js index d36bd9483..473390b06 100644 --- a/sdk/application/Cart/CartApplicationValidator.js +++ b/sdk/application/Cart/CartApplicationValidator.js @@ -9,14 +9,11 @@ const CartApplicationModel = require("./CartApplicationModel"); /** * @typedef AddItemsParam - * @property {boolean} [i] - This is a boolean value. Select `true` to retrieve - * all the items added in the cart. - * @property {boolean} [b] - This is a boolean value. Select `true` to retrieve - * the price breakup of cart items. - * @property {string} [areaCode] - Customer servicable area_code - * @property {boolean} [buyNow] - This is a boolen value. Select `true` to - * set/initialize buy now cart - * @property {string} [id] - The unique identifier of the cart + * @property {boolean} [i] - Select `true` to retrieve all the items added in the cart. + * @property {boolean} [b] - Select `true` to retrieve the price breakup of cart items. + * @property {string} [areaCode] - Customer servicable area_code. + * @property {boolean} [buyNow] - Select `true` to set/initialize buy now cart. + * @property {string} [id] - The unique identifier of the cart. * @property {string} [orderType] - The order type of shipment HomeDelivery - If * the customer wants the order home-delivered PickAtStore - If the customer * wants the handover of an order at the store itself. @@ -25,37 +22,35 @@ const CartApplicationModel = require("./CartApplicationModel"); /** * @typedef ApplyCouponParam - * @property {boolean} [i] - * @property {boolean} [b] - * @property {boolean} [p] - * @property {string} [id] - * @property {boolean} [buyNow] - * @property {string} [cartType] + * @property {boolean} [i] - Select `true` to retrieve all the items added in the cart. + * @property {boolean} [b] - Select `true` to retrieve the price breakup of cart items. + * @property {boolean} [p] - Select `true` for getting a payment option in response. + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [buyNow] - This is boolean to get buy_now cart. + * @property {string} [cartType] - The type of cart. * @property {CartApplicationModel.ApplyCouponRequest} body */ /** * @typedef ApplyRewardPointsParam - * @property {string} [id] - The unique identifier of the cart - * @property {boolean} [i] - This is a boolean value. Select `true` to retrieve - * all the items added in the cart. - * @property {boolean} [b] - This is a boolean value. Select `true` to retrieve - * the price breakup of cart items. - * @property {boolean} [buyNow] - This is boolean to get buy_now cart + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [i] - Select `true` to retrieve all the items added in the cart. + * @property {boolean} [b] - Select `true` to retrieve the price breakup of cart items. + * @property {boolean} [buyNow] - This is boolean to get buy_now cart. * @property {CartApplicationModel.RewardPointRequest} body */ /** * @typedef CheckoutCartParam - * @property {boolean} [buyNow] - This indicates the type of cart to checkout - * @property {string} [cartType] - The type of cart + * @property {boolean} [buyNow] - This indicates the type of cart to checkout. + * @property {string} [cartType] - The type of cart. * @property {CartApplicationModel.CartCheckoutDetailRequest} body */ /** * @typedef CheckoutCartV2Param - * @property {boolean} [buyNow] - This indicates the type of cart to checkout - * @property {string} [cartType] - The type of cart + * @property {boolean} [buyNow] - This indicates the type of cart to checkout. + * @property {string} [cartType] - The type of cart. * @property {CartApplicationModel.CartCheckoutDetailV2Request} body */ @@ -66,48 +61,45 @@ const CartApplicationModel = require("./CartApplicationModel"); /** * @typedef GetAddressByIdParam - * @property {string} id - * @property {string} [cartId] - * @property {boolean} [buyNow] - * @property {string} [mobileNo] - * @property {string} [checkoutMode] - * @property {string} [tags] - * @property {boolean} [isDefault] + * @property {string} id - ID allotted to the selected address. + * @property {string} [cartId] - The unique identifier of the cart. + * @property {boolean} [buyNow] - This is boolean to get buy_now cart. + * @property {string} [mobileNo] - Mobile number of the customer. + * @property {string} [checkoutMode] - Option to checkout for self or for others. + * @property {string} [tags] - Tag given to an address, e.g. work, home, office, shop. + * @property {boolean} [isDefault] - This is a boolean value. Select `true` to + * fetch the default address. */ /** * @typedef GetAddressesParam - * @property {string} [cartId] - * @property {boolean} [buyNow] - * @property {string} [mobileNo] - * @property {string} [checkoutMode] - * @property {string} [tags] - * @property {boolean} [isDefault] + * @property {string} [cartId] - The unique identifier of the user cart. + * @property {boolean} [buyNow] - Whether to get buy_now cart. + * @property {string} [mobileNo] - Mobile number of the customer. + * @property {string} [checkoutMode] - Option to checkout for self or for others. + * @property {string} [tags] - Tag given to an address, e.g. work, home, office, shop. + * @property {boolean} [isDefault] - Select `true` to fetch the default address. */ /** * @typedef GetBulkDiscountOffersParam - * @property {number} [itemId] - The Item ID of the product - * @property {string} [articleId] - Article Mongo ID - * @property {number} [uid] - UID of the product + * @property {number} [itemId] - The Item ID of the product. + * @property {string} [articleId] - Article Mongo ID. + * @property {number} [uid] - UID of the product. * @property {string} [slug] - A short, human-readable, URL-friendly identifier - * of a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * of a product. */ /** * @typedef GetCartParam - * @property {string} [id] - The unique identifier of the cart - * @property {boolean} [i] - This is a boolean value. Select `true` to retrieve - * all the items added in the cart. - * @property {boolean} [b] - This is a boolean value. Select `true` to retrieve - * the price breakup of cart items. - * @property {boolean} [c] - This is a boolean value. Select `true` to retrieve - * the cod charges in breakup of cart items. - * @property {number} [assignCardId] - Token of user's debit or credit card - * @property {string} [areaCode] - Customer servicable area_code - * @property {boolean} [buyNow] - This is a boolen value. Select `true` to - * set/initialize buy now cart + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [i] - Select `true` to retrieve all the items added in the cart. + * @property {boolean} [b] - Select `true` to retrieve the price breakup of cart items. + * @property {boolean} [c] - Select `true` to retrieve the cod charges in + * breakup of cart items. + * @property {number} [assignCardId] - Token of user's debit or credit card. + * @property {string} [areaCode] - Customer servicable area_code. + * @property {boolean} [buyNow] - Select `true` to set/initialize buy now cart. * @property {string} [orderType] - The order type of shipment HomeDelivery - If * the customer wants the order home-delivered PickAtStore - If the customer * wants the handover of an order at the store itself. @@ -115,7 +107,7 @@ const CartApplicationModel = require("./CartApplicationModel"); /** * @typedef GetCartLastModifiedParam - * @property {string} [id] + * @property {string} [id] - The unique identifier of the cart. */ /** @@ -125,110 +117,104 @@ const CartApplicationModel = require("./CartApplicationModel"); /** * @typedef GetCartSharedItemsParam - * @property {string} token - Token of the shared short link + * @property {string} token - Token of the shared short link. */ /** * @typedef GetCouponsParam - * @property {string} [id] - * @property {boolean} [buyNow] - * @property {string} [slug] - * @property {string} [storeId] + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [buyNow] - Whether to get buy_now cart. + * @property {string} [slug] - Product slug to fetch the available coupons. + * @property {string} [storeId] - Unique identifier of a store. */ /** * @typedef GetItemCountParam * @property {string} [id] - The unique identifier of the cart. - * @property {boolean} [buyNow] + * @property {boolean} [buyNow] - Boolean value to get buy_now cart. */ /** * @typedef GetLadderOffersParam * @property {string} slug - A short, human-readable, URL-friendly identifier of - * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * a product. * @property {string} [storeId] - Store uid of assigned store on PDP page. If - * not passed default first created ladder will be returned + * not passed default first created ladder will be returned. * @property {string} [promotionId] - Get ladder information of given promotion - * id explicitely - * @property {number} [pageSize] - Number of offers to be fetched to show + * id explicitely. + * @property {number} [pageSize] - Number of offers to be fetched to show. */ /** * @typedef GetPromotionOffersParam * @property {string} [slug] - A short, human-readable, URL-friendly identifier - * of a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ - * @property {number} [pageSize] - Number of offers to be fetched to show - * @property {string} [promotionGroup] - Type of promotion groups - * @property {number} [storeId] - Store id - * @property {string} [cartType] - The type of cart + * of a product. + * @property {number} [pageSize] - Number of offers to be fetched to show. + * @property {string} [promotionGroup] - Type of promotion groups. + * @property {number} [storeId] - Unique identifier of a store. + * @property {string} [cartType] - The type of cart. */ /** * @typedef GetPromotionPaymentOffersParam - * @property {string} [id] - Cart id - * @property {number} [uid] - Cart uid + * @property {string} [id] - Cart id of the user cart . + * @property {number} [uid] - Cart uid of the user cart . */ /** * @typedef GetShipmentsParam - * @property {boolean} [p] - This is a boolean value. Select `true` for getting - * a payment option in response. - * @property {string} [id] - The unique identifier of the cart - * @property {boolean} [buyNow] - * @property {string} [addressId] - ID allotted to the selected address - * @property {string} [areaCode] - The PIN Code of the destination address, e.g. 400059 + * @property {boolean} [p] - Select `true` for getting a payment option in response. + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [buyNow] - This is boolean to get buy_now cart. + * @property {string} [addressId] - ID allotted to the selected address. + * @property {string} [areaCode] - The PIN Code of the destination address, e.g. 400059. * @property {string} [orderType] - The order type of shipment HomeDelivery - If * the customer wants the order home-delivered PickAtStore - If the customer * wants the handover of an order at the store itself. Digital - If the - * customer wants to buy digital voucher ( for jiogames ) + * customer wants to buy digital voucher ( for jiogames ). */ /** * @typedef RemoveAddressParam - * @property {string} id - ID allotted to the selected address + * @property {string} id - ID allotted to the selected address. */ /** * @typedef RemoveCouponParam - * @property {string} [id] - The unique identifier of the cart - * @property {boolean} [buyNow] - This is boolean to get buy_now cart + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [buyNow] - Wheter to get buy_now cart. */ /** * @typedef SelectAddressParam - * @property {string} [cartId] - * @property {boolean} [buyNow] - * @property {boolean} [i] - * @property {boolean} [b] + * @property {string} [cartId] - The unique identifier of the cart. + * @property {boolean} [buyNow] - Whether to get buy_now cart. + * @property {boolean} [i] - Select `true` to retrieve all the items added in the cart. + * @property {boolean} [b] - Select `true` to retrieve the price breakup of cart items. * @property {CartApplicationModel.SelectCartAddressRequest} body */ /** * @typedef SelectPaymentModeParam - * @property {string} [id] - * @property {boolean} [buyNow] + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [buyNow] - Whether to get buy_now cart. * @property {CartApplicationModel.UpdateCartPaymentRequest} body */ /** * @typedef UpdateAddressParam - * @property {string} id - ID allotted to the selected address + * @property {string} id - ID allotted to the selected address. * @property {CartApplicationModel.Address} body */ /** * @typedef UpdateCartParam - * @property {string} [id] - The unique identifier of the cart - * @property {boolean} [i] - This is a boolean value. Select `true` to retrieve - * all the items added in the cart. - * @property {boolean} [b] - This is a boolean value. Select `true` to retrieve - * the price breakup of cart items. - * @property {string} [areaCode] - Customer servicable area_code - * @property {boolean} [buyNow] - This is a boolen value. Select `true` to - * set/initialize buy now cart - * @property {string} [cartType] - The type of cart + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [i] - Select `true` to retrieve all the items added in the cart. + * @property {boolean} [b] - Select `true` to retrieve the price breakup of cart items. + * @property {string} [areaCode] - Customer servicable area_code. + * @property {boolean} [buyNow] - Select `true` to set/initialize buy now cart. + * @property {string} [cartType] - The type of cart. * @property {string} [orderType] - The order type of shipment HomeDelivery - If * the customer wants the order home-delivered PickAtStore - If the customer * wants the handover of an order at the store itself. @@ -237,32 +223,32 @@ const CartApplicationModel = require("./CartApplicationModel"); /** * @typedef UpdateCartMetaParam - * @property {string} [id] - * @property {boolean} [buyNow] + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [buyNow] - Whether to get buy_now cart. * @property {CartApplicationModel.CartMetaRequest} body */ /** * @typedef UpdateCartWithSharedItemsParam - * @property {string} token - Token of the shared short link + * @property {string} token - Token of the shared short link. * @property {string} action - Operation to perform on the existing cart merge or replace. */ /** * @typedef ValidateCouponForPaymentParam - * @property {string} [id] - The unique identifier of the cart - * @property {boolean} [buyNow] - This is boolean to get buy_now cart - * @property {string} [addressId] - ID allotted to an address - * @property {string} [paymentMode] - Payment mode selected by the customer - * @property {string} [paymentIdentifier] - Identifier of payment like ICIC, PAYTM - * @property {string} [aggregatorName] - Payment gateway identifier + * @property {string} [id] - The unique identifier of the cart. + * @property {boolean} [buyNow] - Whether to get buy_now cart. + * @property {string} [addressId] - ID allotted to an address. + * @property {string} [paymentMode] - Payment mode selected by the customer. + * @property {string} [paymentIdentifier] - Identifier of payment like ICIC, PAYTM. + * @property {string} [aggregatorName] - Payment gateway identifier. * @property {string} [merchantCode] - Identifier used by payment gateway for a - * given payment mode, e.g. NB_ICIC, PAYTM - * @property {string} [iin] - Debit/Credit card prefix (first 6 digit) - * @property {string} [network] - Credit/Debit card issuer, e.g. VISA, MASTERCARD, RUPAY - * @property {string} [type] - Card type, e.g. Credit, Debit - * @property {string} [cardId] - Saved card token reference id - * @property {string} [cartType] - Type of the cart + * given payment mode, e.g. NB_ICIC, PAYTM. + * @property {string} [iin] - Debit/Credit card prefix (first 6 digit). + * @property {string} [network] - Credit/Debit card issuer, e.g. VISA, MASTERCARD, RUPAY. + * @property {string} [type] - Card type, e.g. Credit, Debit. + * @property {string} [cardId] - Saved card token reference id. + * @property {string} [cartType] - Type of the cart. */ class CartApplicationValidator { diff --git a/sdk/application/Catalog/CatalogApplicationClient.d.ts b/sdk/application/Catalog/CatalogApplicationClient.d.ts index 62da5b14b..6801de7bd 100644 --- a/sdk/application/Catalog/CatalogApplicationClient.d.ts +++ b/sdk/application/Catalog/CatalogApplicationClient.d.ts @@ -43,7 +43,7 @@ declare class Catalog { * @returns {Promise} - Success response * @name followById * @summary: Create item, brand, product - * @description: Adds a product, brand, or item to the user's followed list by collection Id - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/followById/). + * @description: Add a product, brand, or item to the user's followed list by collection Id. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/followById/). */ followById({ collectionType, collectionId, requestHeaders }?: CatalogApplicationValidator.FollowByIdParam, { responseHeaders }?: object): Promise; /** @@ -53,7 +53,7 @@ declare class Catalog { * @returns {Promise} - Success response * @name getBrandDetailBySlug * @summary: Get a brand - * @description: Retrieve metadata of a brand such as name, information, logo, banner, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getBrandDetailBySlug/). + * @description: Get metadata of a brand such as name, information, logo, banner, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getBrandDetailBySlug/). */ getBrandDetailBySlug({ slug, requestHeaders }?: CatalogApplicationValidator.GetBrandDetailBySlugParam, { responseHeaders }?: object): Promise; /** @@ -63,7 +63,7 @@ declare class Catalog { * @returns {Promise} - Success response * @name getBrands * @summary: List brands - * @description: Retrieves a list of all the availabe brands. Filtering can be applied on department. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getBrands/). + * @description: Get a list of all the available brands. Filtering can be applied to the department. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getBrands/). */ getBrands({ department, pageNo, pageSize, requestHeaders }?: CatalogApplicationValidator.GetBrandsParam, { responseHeaders }?: object): Promise; /** @@ -71,11 +71,11 @@ declare class Catalog { * @param {string} [arg.department] - The name of the department. Use this * parameter to filter products by a particular department. See the list * of available departments below. Also, you can get available departments - * from the endpoint /service/application/catalog/v1.0/departments/ + * from the endpoint /service/application/catalog/v1.0/departments/. * @param {number} [arg.pageSize] - The number of items to retrieve in each page. * @returns {Paginator} * @summary: List brands - * @description: Retrieves a list of all the availabe brands. Filtering can be applied on department. + * @description: Get a list of all the available brands. Filtering can be applied to the department. */ getBrandsPaginator({ department, pageSize }?: { department?: string; @@ -89,7 +89,7 @@ declare class Catalog { * Success response * @name getCategories * @summary: List product categories - * @description: Retrieves a list of all available product categories. Also user can filter the categories by department. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCategories/). + * @description: List all available product categories. Also, users can filter the categories by department. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCategories/). */ getCategories({ department, requestHeaders }?: CatalogApplicationValidator.GetCategoriesParam, { responseHeaders }?: object): Promise; /** @@ -99,7 +99,7 @@ declare class Catalog { * @returns {Promise} - Success response * @name getCategoryDetailBySlug * @summary: Get category by slug - * @description: Retrieve detailed information about a specific product category using its slug and Retrieve metadata of a category such as name, information, logo, banner, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCategoryDetailBySlug/). + * @description: Get detailed information about a specific product category using its slug and get metadata of a category such as name, information, logo, banner, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCategoryDetailBySlug/). */ getCategoryDetailBySlug({ slug, requestHeaders }?: CatalogApplicationValidator.GetCategoryDetailBySlugParam, { responseHeaders }?: object): Promise; /** @@ -112,7 +112,7 @@ declare class Catalog { * Success response * @name getCollectionDetailBySlug * @summary: Get a collection - * @description: Retrieve detailed information about a specific collection using its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCollectionDetailBySlug/). + * @description: Get detailed information about a specific collection using its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCollectionDetailBySlug/). */ getCollectionDetailBySlug({ slug, requestHeaders }?: CatalogApplicationValidator.GetCollectionDetailBySlugParam, { responseHeaders }?: object): Promise; /** @@ -135,11 +135,11 @@ declare class Catalog { * @param {string} [arg.f] - The search filter parameters. Filter parameters * will be passed in f parameter as shown in the example below. Double * Pipe (||) denotes the OR condition, whereas Triple-colon (:::) - * indicates a new filter paramater applied as an AND condition. + * indicates a new filter parameter applied as an AND condition. * @param {string} [arg.q] - The search query for entering partial or full * name of product, brand, category, or collection. - * @param {boolean} [arg.filters] - This is a boolean value, True for - * fetching all filter parameters and False for disabling the filter parameters. + * @param {boolean} [arg.filters] - True for fetching all filter parameters + * and False for disabling the filter parameters. * @param {string} [arg.sortOn] - The order in which the list of products * should be sorted, e.g. popularity, price, latest and discount, in * either ascending or descending order. See the supported values below. @@ -165,17 +165,17 @@ declare class Catalog { * * @name getCollections * @summary: List collections - * @description: Retrieve a list of curated product collections with filtering options based on tags and collection names. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCollections/). + * @description: List of curated product collections with filtering options based on tags and collection names. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCollections/). */ getCollections({ pageNo, pageSize, tag, q, requestHeaders }?: CatalogApplicationValidator.GetCollectionsParam, { responseHeaders }?: object): Promise; /** * @param {Object} arg - Arg object. * @param {number} [arg.pageSize] - The number of items to retrieve in each page. - * @param {string[]} [arg.tag] - List of tags to filter collections - * @param {string} [arg.q] - Name of the collection to filter collection + * @param {string[]} [arg.tag] - List of tags to filter collections. + * @param {string} [arg.q] - Name of the collection to filter collection. * @returns {Paginator} * @summary: List collections - * @description: Retrieve a list of curated product collections with filtering options based on tags and collection names. + * @description: List of curated product collections with filtering options based on tags and collection names. */ getCollectionsPaginator({ pageSize, tag, q }?: { pageSize?: number; @@ -193,7 +193,7 @@ declare class Catalog { * * @name getComparedFrequentlyProductBySlug * @summary: List frequent products - * @description: Retrieve products that are often compared to the product specified by its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getComparedFrequentlyProductBySlug/). + * @description: Get products that are often compared to the product specified by its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getComparedFrequentlyProductBySlug/). */ getComparedFrequentlyProductBySlug({ slug, requestHeaders }?: CatalogApplicationValidator.GetComparedFrequentlyProductBySlugParam, { responseHeaders }?: object): Promise; /** @@ -203,7 +203,7 @@ declare class Catalog { * @returns {Promise} - Success response * @name getDepartments * @summary: List departments - * @description: Retrieve a list of all departments associated with available products. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getDepartments/). + * @description: List all departments associated with available products. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getDepartments/). */ getDepartments({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -213,7 +213,7 @@ declare class Catalog { * @returns {Promise} - Success response * @name getFollowIds * @summary: List Ids of followed item, brand, product - * @description: Retrieves the IDs of all items the user is currently following like Products, Brands and Collections - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getFollowIds/). + * @description: Get the IDs of all items the user is currently following, such as Products, Brands, and Collections. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getFollowIds/). */ getFollowIds({ collectionType, requestHeaders }?: CatalogApplicationValidator.GetFollowIdsParam, { responseHeaders }?: object): Promise; /** @@ -224,7 +224,7 @@ declare class Catalog { * Success response * @name getFollowedListing * @summary: List followed products, brands - * @description: Retrieve a list of products or brands the user is following. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getFollowedListing/). + * @description: Get a list of products or brands the user is following. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getFollowedListing/). */ getFollowedListing({ collectionType, pageId, pageSize, requestHeaders }?: CatalogApplicationValidator.GetFollowedListingParam, { responseHeaders }?: object): Promise; /** @@ -234,7 +234,7 @@ declare class Catalog { * @param {number} [arg.pageSize] - Page ID to retrieve next set of results. * @returns {Paginator} * @summary: List followed products, brands - * @description: Retrieve a list of products or brands the user is following. + * @description: Get a list of products or brands the user is following. */ getFollowedListingPaginator({ collectionType, pageSize }?: { collectionType: string; @@ -248,7 +248,7 @@ declare class Catalog { * Success response * @name getFollowerCountById * @summary: Get follower count - * @description: Retrieves the total number of followers for a specific item by its Id. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getFollowerCountById/). + * @description: Get the total number of followers for a specific item by its ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getFollowerCountById/). */ getFollowerCountById({ collectionType, collectionId, requestHeaders }?: CatalogApplicationValidator.GetFollowerCountByIdParam, { responseHeaders }?: object): Promise; /** @@ -283,7 +283,7 @@ declare class Catalog { * Success response * @name getInStockLocations * @summary: List stores with inventory - * @description: Lists stores where specified products are currently in stock. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getInStockLocations/). + * @description: List stores where specified products are currently in stock. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getInStockLocations/). */ getInStockLocations({ pageNo, pageSize, q, city, range, latitude, longitude, requestHeaders, }?: CatalogApplicationValidator.GetInStockLocationsParam, { responseHeaders }?: object): Promise; /** @@ -292,14 +292,14 @@ declare class Catalog { * @param {string} [arg.q] - Search a store by its name or store_code. * @param {string} [arg.city] - Search stores by the city in which they are situated. * @param {number} [arg.range] - Use this to retrieve stores within a - * particular range in meters, e.g. 10000, to indicate a 10km range + * particular range in meters, e.g. 10000, to indicate a 10km range. * @param {number} [arg.latitude] - Latitude of the location from where one - * wants to retreive the nearest stores, e.g. 72.8691788 + * wants to retrieve the nearest stores, e.g. 72.8691788. * @param {number} [arg.longitude] - Longitude of the location from where - * one wants to retreive the nearest stores, e.g. 19.1174114 + * one wants to retrieve the nearest stores, e.g. 19.1174114. * @returns {Paginator} * @summary: List stores with inventory - * @description: Lists stores where specified products are currently in stock. + * @description: List stores where specified products are currently in stock. */ getInStockLocationsPaginator({ pageSize, q, city, range, latitude, longitude, }?: { pageSize?: number; @@ -316,7 +316,7 @@ declare class Catalog { * @returns {Promise} - Success response * @name getLocationDetailsById * @summary: Get selling location - * @description: This API retrieves comprehensive details about a store based on its location Id - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getLocationDetailsById/). + * @description: Get details about a store based on its location Id. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getLocationDetailsById/). */ getLocationDetailsById({ locationId, requestHeaders }?: CatalogApplicationValidator.GetLocationDetailsByIdParam, { responseHeaders }?: object): Promise; /** @@ -326,7 +326,7 @@ declare class Catalog { * @returns {Promise} - Success response * @name getProductBundlesBySlug * @summary: List product bundles - * @description: Retrieve products bundles to the one specified by its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductBundlesBySlug/). + * @description: Get products bundles to the one specified by its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductBundlesBySlug/). */ getProductBundlesBySlug({ slug, id, requestHeaders }?: CatalogApplicationValidator.GetProductBundlesBySlugParam, { responseHeaders }?: object): Promise; /** @@ -339,7 +339,7 @@ declare class Catalog { * Success response * @name getProductComparisonBySlugs * @summary: List products for comparison - * @description: Retrives all the products that have same category. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductComparisonBySlugs/). + * @description: Get all the products that have the same category. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductComparisonBySlugs/). */ getProductComparisonBySlugs({ slug, requestHeaders }?: CatalogApplicationValidator.GetProductComparisonBySlugsParam, { responseHeaders }?: object): Promise; /** @@ -349,7 +349,7 @@ declare class Catalog { * @returns {Promise} - Success response * @name getProductDetailBySlug * @summary: Get a product - * @description: Fetches properties related to Product such as price, attributes, HSN code, SKU code, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductDetailBySlug/). + * @description: Get product details such as price, attributes, HSN code, SKU code, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductDetailBySlug/). */ getProductDetailBySlug({ slug, requestHeaders }?: CatalogApplicationValidator.GetProductDetailBySlugParam, { responseHeaders }?: object): Promise; /** @@ -360,7 +360,7 @@ declare class Catalog { * Success response * @name getProductPriceBySlug * @summary: Get product price - * @description: Retrieve the price of a product size at all the selling locations near to a PIN Code. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductPriceBySlug/). + * @description: Get the price of a product size at all the selling locations near to a PIN Code. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductPriceBySlug/). */ getProductPriceBySlug({ slug, size, storeId, moq, requestHeaders }?: CatalogApplicationValidator.GetProductPriceBySlugParam, { responseHeaders }?: object): Promise; /** @@ -372,23 +372,23 @@ declare class Catalog { * * @name getProductSellersBySlug * @summary: List sellers - * @description: Retrieve a list of all sellers offering a specific product identified by its slug and size - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductSellersBySlug/). + * @description: List all sellers offering a specific product identified by its slug and size. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductSellersBySlug/). */ getProductSellersBySlug({ slug, size, strategy, pageNo, pageSize, requestHeaders }?: CatalogApplicationValidator.GetProductSellersBySlugParam, { responseHeaders }?: object): Promise; /** * @param {Object} arg - Arg object. * @param {string} arg.slug - A short, human-readable, URL-friendly * identifier of a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. * @param {string} arg.size - A string indicating the size of the product, * e.g. S, M, XL. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/sizes + * /service/application/catalog/v1.0/products/sizes. * @param {string} [arg.strategy] - Sort stores on the basis of strategy. * eg, fast-delivery, low-price, optimal. * @param {number} [arg.pageSize] - The number of items to retrieve in each page. * @returns {Paginator} * @summary: List sellers - * @description: Retrieve a list of all sellers offering a specific product identified by its slug and size + * @description: List all sellers offering a specific product identified by its slug and size. */ getProductSellersBySlugPaginator({ slug, size, strategy, pageSize }?: { slug: string; @@ -414,7 +414,7 @@ declare class Catalog { * Success response * @name getProductStockByIds * @summary: Get product stocks - * @description: Retrieves the current stock status for products identified by their IDs. such as SKU,ALU,EAN etc - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductStockByIds/). + * @description: Get the current stock status for products identified by their IDs, such as SKU, ALU, EAN, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductStockByIds/). */ getProductStockByIds({ itemId, alu, skuCode, ean, upc, requestHeaders }?: CatalogApplicationValidator.GetProductStockByIdsParam, { responseHeaders }?: object): Promise; /** @@ -426,16 +426,16 @@ declare class Catalog { * @returns {Promise} - Success response * @name getProductStockForTimeByIds * @summary: List future stock - * @description: Retrives the available stock levels for all products associated with a particular sales channel at a specified future time. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductStockForTimeByIds/). + * @description: Get the available stock levels for all products associated with a particular sales channel at a specified future time. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductStockForTimeByIds/). */ getProductStockForTimeByIds({ timestamp, pageSize, pageId, requestHeaders }?: CatalogApplicationValidator.GetProductStockForTimeByIdsParam, { responseHeaders }?: object): Promise; /** * @param {Object} arg - Arg object. - * @param {string} arg.timestamp - Timestamp in UTC format (2020-07-23T10:27:50Z) + * @param {string} arg.timestamp - Timestamp in UTC format (2020-07-23T10:27:50Z). * @param {number} [arg.pageSize] - The number of items to retrieve in each page. * @returns {Paginator} * @summary: List future stock - * @description: Retrives the available stock levels for all products associated with a particular sales channel at a specified future time. + * @description: Get the available stock levels for all products associated with a particular sales channel at a specified future time. */ getProductStockForTimeByIdsPaginator({ timestamp, pageSize }?: { timestamp: string; @@ -450,7 +450,7 @@ declare class Catalog { * Success response * @name getProductVariantsBySlug * @summary: List product variants - * @description: Retrieves all available variants of a specific product identified by its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductVariantsBySlug/). + * @description: Get all available variants of a specific product identified by its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductVariantsBySlug/). */ getProductVariantsBySlug({ slug, requestHeaders }?: CatalogApplicationValidator.GetProductVariantsBySlugParam, { responseHeaders }?: object): Promise; /** @@ -461,7 +461,7 @@ declare class Catalog { * Success response * @name getProducts * @summary: List products - * @description: Retrieves a list of all products available in the catalog. It supports filtering based on product name, brand, department, category, collection, and more, while also offering sorting options based on factors like price, ratings, discounts, and other relevant criteria. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProducts/). + * @description: List all products available in the catalog. It supports filtering based on product name, brand, department, category, collection, and more, while also offering sorting options based on factors like price, ratings, discounts, and other relevant criteria. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProducts/). */ getProducts({ q, f, filters, sortOn, pageId, pageSize, pageNo, pageType, requestHeaders, }?: CatalogApplicationValidator.GetProductsParam, { responseHeaders }?: object): Promise; /** @@ -471,16 +471,16 @@ declare class Catalog { * @param {string} [arg.f] - The search filter parameters. Filter parameters * will be passed in f parameter as shown in the example below. Double * Pipe (||) denotes the OR condition, whereas Triple-colon (:::) - * indicates a new filter paramater applied as an AND condition. - * @param {boolean} [arg.filters] - This is a boolean value, True for - * fetching all filter parameters and False for disabling the filter parameters. + * indicates a new filter parameter applied as an AND condition. + * @param {boolean} [arg.filters] - True for fetching all filter parameters + * and False for disabling the filter parameters. * @param {string} [arg.sortOn] - The order in which the list of products * should be sorted, e.g. popularity, price, latest and discount, in * either ascending or descending order. See the supported values below. * @param {number} [arg.pageSize] - The number of items to retrieve in each page. * @returns {Paginator} * @summary: List products - * @description: Retrieves a list of all products available in the catalog. It supports filtering based on product name, brand, department, category, collection, and more, while also offering sorting options based on factors like price, ratings, discounts, and other relevant criteria. + * @description: List all products available in the catalog. It supports filtering based on product name, brand, department, category, collection, and more, while also offering sorting options based on factors like price, ratings, discounts, and other relevant criteria. */ getProductsPaginator({ q, f, filters, sortOn, pageSize }?: { q?: string; @@ -496,7 +496,7 @@ declare class Catalog { * @returns {Promise} - Success response * @name getSearchResults * @summary: List product, brand, category - * @description: Retrieve products, brands, or categories based on a search query, which can be a partial or full name match. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getSearchResults/). + * @description: Get products, brands, or categories based on a search query, which can be a partial or full name match. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getSearchResults/). */ getSearchResults({ q, requestHeaders }?: CatalogApplicationValidator.GetSearchResultsParam, { responseHeaders }?: object): Promise; /** @@ -509,7 +509,7 @@ declare class Catalog { * Success response * @name getSimilarComparisonProductBySlug * @summary: List similar products - * @description: Retrives all products within the same category as the one specified by the provided slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getSimilarComparisonProductBySlug/). + * @description: Get all products within the same category as the one specified by the provided slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getSimilarComparisonProductBySlug/). */ getSimilarComparisonProductBySlug({ slug, requestHeaders }?: CatalogApplicationValidator.GetSimilarComparisonProductBySlugParam, { responseHeaders }?: object): Promise; /** @@ -519,7 +519,7 @@ declare class Catalog { * @returns {Promise} - Success response * @name getStores * @summary: List available stores - * @description: Retrieves a list of all stores associated with sales channel - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getStores/). + * @description: List all stores associated with the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getStores/). */ getStores({ pageNo, pageSize, q, city, range, latitude, longitude, tags, requestHeaders, }?: CatalogApplicationValidator.GetStoresParam, { responseHeaders }?: object): Promise; /** @@ -528,15 +528,15 @@ declare class Catalog { * @param {string} [arg.q] - Search a store by its name or store_code. * @param {string} [arg.city] - Search stores by the city in which they are situated. * @param {number} [arg.range] - Use this to retrieve stores within a - * particular range in meters, e.g. 10000, to indicate a 10km range + * particular range in meters, e.g. 10000, to indicate a 10km range. * @param {number} [arg.latitude] - Latitude of the location from where one - * wants to retreive the nearest stores, e.g. 72.8691788 + * wants to retrieve the nearest stores, e.g. 72.8691788. * @param {number} [arg.longitude] - Longitude of the location from where - * one wants to retreive the nearest stores, e.g. 19.1174114 + * one wants to retrieve the nearest stores, e.g. 19.1174114. * @param {string} [arg.tags] - Search stores based on tags. * @returns {Paginator} * @summary: List available stores - * @description: Retrieves a list of all stores associated with sales channel + * @description: List all stores associated with the sales channel. */ getStoresPaginator({ pageSize, q, city, range, latitude, longitude, tags, }?: { pageSize?: number; @@ -554,7 +554,7 @@ declare class Catalog { * @returns {Promise} - Success response * @name unfollowById * @summary: Delete item, brand, product - * @description: Removes a followed item, brand, or product using its collection ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/unfollowById/). + * @description: Remove a followed item, brand, or product using its collection ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/unfollowById/). */ unfollowById({ collectionType, collectionId, requestHeaders }?: CatalogApplicationValidator.UnfollowByIdParam, { responseHeaders }?: object): Promise; } diff --git a/sdk/application/Catalog/CatalogApplicationClient.js b/sdk/application/Catalog/CatalogApplicationClient.js index a8f4002a6..872585f1f 100644 --- a/sdk/application/Catalog/CatalogApplicationClient.js +++ b/sdk/application/Catalog/CatalogApplicationClient.js @@ -88,7 +88,7 @@ class Catalog { * @returns {Promise} - Success response * @name followById * @summary: Create item, brand, product - * @description: Adds a product, brand, or item to the user's followed list by collection Id - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/followById/). + * @description: Add a product, brand, or item to the user's followed list by collection Id. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/followById/). */ async followById( { collectionType, collectionId, requestHeaders } = { requestHeaders: {} }, @@ -166,7 +166,7 @@ class Catalog { * @returns {Promise} - Success response * @name getBrandDetailBySlug * @summary: Get a brand - * @description: Retrieve metadata of a brand such as name, information, logo, banner, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getBrandDetailBySlug/). + * @description: Get metadata of a brand such as name, information, logo, banner, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getBrandDetailBySlug/). */ async getBrandDetailBySlug( { slug, requestHeaders } = { requestHeaders: {} }, @@ -246,7 +246,7 @@ class Catalog { * @returns {Promise} - Success response * @name getBrands * @summary: List brands - * @description: Retrieves a list of all the availabe brands. Filtering can be applied on department. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getBrands/). + * @description: Get a list of all the available brands. Filtering can be applied to the department. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getBrands/). */ async getBrands( { department, pageNo, pageSize, requestHeaders } = { requestHeaders: {} }, @@ -325,11 +325,11 @@ class Catalog { * @param {string} [arg.department] - The name of the department. Use this * parameter to filter products by a particular department. See the list * of available departments below. Also, you can get available departments - * from the endpoint /service/application/catalog/v1.0/departments/ + * from the endpoint /service/application/catalog/v1.0/departments/. * @param {number} [arg.pageSize] - The number of items to retrieve in each page. * @returns {Paginator} * @summary: List brands - * @description: Retrieves a list of all the availabe brands. Filtering can be applied on department. + * @description: Get a list of all the available brands. Filtering can be applied to the department. */ getBrandsPaginator({ department, pageSize } = {}) { const paginator = new Paginator(); @@ -360,7 +360,7 @@ class Catalog { * Success response * @name getCategories * @summary: List product categories - * @description: Retrieves a list of all available product categories. Also user can filter the categories by department. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCategories/). + * @description: List all available product categories. Also, users can filter the categories by department. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCategories/). */ async getCategories( { department, requestHeaders } = { requestHeaders: {} }, @@ -439,7 +439,7 @@ class Catalog { * @returns {Promise} - Success response * @name getCategoryDetailBySlug * @summary: Get category by slug - * @description: Retrieve detailed information about a specific product category using its slug and Retrieve metadata of a category such as name, information, logo, banner, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCategoryDetailBySlug/). + * @description: Get detailed information about a specific product category using its slug and get metadata of a category such as name, information, logo, banner, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCategoryDetailBySlug/). */ async getCategoryDetailBySlug( { slug, requestHeaders } = { requestHeaders: {} }, @@ -522,7 +522,7 @@ class Catalog { * Success response * @name getCollectionDetailBySlug * @summary: Get a collection - * @description: Retrieve detailed information about a specific collection using its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCollectionDetailBySlug/). + * @description: Get detailed information about a specific collection using its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCollectionDetailBySlug/). */ async getCollectionDetailBySlug( { slug, requestHeaders } = { requestHeaders: {} }, @@ -704,11 +704,11 @@ class Catalog { * @param {string} [arg.f] - The search filter parameters. Filter parameters * will be passed in f parameter as shown in the example below. Double * Pipe (||) denotes the OR condition, whereas Triple-colon (:::) - * indicates a new filter paramater applied as an AND condition. + * indicates a new filter parameter applied as an AND condition. * @param {string} [arg.q] - The search query for entering partial or full * name of product, brand, category, or collection. - * @param {boolean} [arg.filters] - This is a boolean value, True for - * fetching all filter parameters and False for disabling the filter parameters. + * @param {boolean} [arg.filters] - True for fetching all filter parameters + * and False for disabling the filter parameters. * @param {string} [arg.sortOn] - The order in which the list of products * should be sorted, e.g. popularity, price, latest and discount, in * either ascending or descending order. See the supported values below. @@ -760,7 +760,7 @@ class Catalog { * * @name getCollections * @summary: List collections - * @description: Retrieve a list of curated product collections with filtering options based on tags and collection names. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCollections/). + * @description: List of curated product collections with filtering options based on tags and collection names. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getCollections/). */ async getCollections( { pageNo, pageSize, tag, q, requestHeaders } = { requestHeaders: {} }, @@ -838,11 +838,11 @@ class Catalog { /** * @param {Object} arg - Arg object. * @param {number} [arg.pageSize] - The number of items to retrieve in each page. - * @param {string[]} [arg.tag] - List of tags to filter collections - * @param {string} [arg.q] - Name of the collection to filter collection + * @param {string[]} [arg.tag] - List of tags to filter collections. + * @param {string} [arg.q] - Name of the collection to filter collection. * @returns {Paginator} * @summary: List collections - * @description: Retrieve a list of curated product collections with filtering options based on tags and collection names. + * @description: List of curated product collections with filtering options based on tags and collection names. */ getCollectionsPaginator({ pageSize, tag, q } = {}) { const paginator = new Paginator(); @@ -877,7 +877,7 @@ class Catalog { * * @name getComparedFrequentlyProductBySlug * @summary: List frequent products - * @description: Retrieve products that are often compared to the product specified by its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getComparedFrequentlyProductBySlug/). + * @description: Get products that are often compared to the product specified by its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getComparedFrequentlyProductBySlug/). */ async getComparedFrequentlyProductBySlug( { slug, requestHeaders } = { requestHeaders: {} }, @@ -957,7 +957,7 @@ class Catalog { * @returns {Promise} - Success response * @name getDepartments * @summary: List departments - * @description: Retrieve a list of all departments associated with available products. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getDepartments/). + * @description: List all departments associated with available products. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getDepartments/). */ async getDepartments( { requestHeaders } = { requestHeaders: {} }, @@ -1035,7 +1035,7 @@ class Catalog { * @returns {Promise} - Success response * @name getFollowIds * @summary: List Ids of followed item, brand, product - * @description: Retrieves the IDs of all items the user is currently following like Products, Brands and Collections - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getFollowIds/). + * @description: Get the IDs of all items the user is currently following, such as Products, Brands, and Collections. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getFollowIds/). */ async getFollowIds( { collectionType, requestHeaders } = { requestHeaders: {} }, @@ -1115,7 +1115,7 @@ class Catalog { * Success response * @name getFollowedListing * @summary: List followed products, brands - * @description: Retrieve a list of products or brands the user is following. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getFollowedListing/). + * @description: Get a list of products or brands the user is following. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getFollowedListing/). */ async getFollowedListing( { collectionType, pageId, pageSize, requestHeaders } = { @@ -1197,7 +1197,7 @@ class Catalog { * @param {number} [arg.pageSize] - Page ID to retrieve next set of results. * @returns {Paginator} * @summary: List followed products, brands - * @description: Retrieve a list of products or brands the user is following. + * @description: Get a list of products or brands the user is following. */ getFollowedListingPaginator({ collectionType, pageSize } = {}) { const paginator = new Paginator(); @@ -1228,7 +1228,7 @@ class Catalog { * Success response * @name getFollowerCountById * @summary: Get follower count - * @description: Retrieves the total number of followers for a specific item by its Id. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getFollowerCountById/). + * @description: Get the total number of followers for a specific item by its ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getFollowerCountById/). */ async getFollowerCountById( { collectionType, collectionId, requestHeaders } = { requestHeaders: {} }, @@ -1421,7 +1421,7 @@ class Catalog { * Success response * @name getInStockLocations * @summary: List stores with inventory - * @description: Lists stores where specified products are currently in stock. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getInStockLocations/). + * @description: List stores where specified products are currently in stock. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getInStockLocations/). */ async getInStockLocations( { @@ -1516,14 +1516,14 @@ class Catalog { * @param {string} [arg.q] - Search a store by its name or store_code. * @param {string} [arg.city] - Search stores by the city in which they are situated. * @param {number} [arg.range] - Use this to retrieve stores within a - * particular range in meters, e.g. 10000, to indicate a 10km range + * particular range in meters, e.g. 10000, to indicate a 10km range. * @param {number} [arg.latitude] - Latitude of the location from where one - * wants to retreive the nearest stores, e.g. 72.8691788 + * wants to retrieve the nearest stores, e.g. 72.8691788. * @param {number} [arg.longitude] - Longitude of the location from where - * one wants to retreive the nearest stores, e.g. 19.1174114 + * one wants to retrieve the nearest stores, e.g. 19.1174114. * @returns {Paginator} * @summary: List stores with inventory - * @description: Lists stores where specified products are currently in stock. + * @description: List stores where specified products are currently in stock. */ getInStockLocationsPaginator({ pageSize, @@ -1564,7 +1564,7 @@ class Catalog { * @returns {Promise} - Success response * @name getLocationDetailsById * @summary: Get selling location - * @description: This API retrieves comprehensive details about a store based on its location Id - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getLocationDetailsById/). + * @description: Get details about a store based on its location Id. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getLocationDetailsById/). */ async getLocationDetailsById( { locationId, requestHeaders } = { requestHeaders: {} }, @@ -1644,7 +1644,7 @@ class Catalog { * @returns {Promise} - Success response * @name getProductBundlesBySlug * @summary: List product bundles - * @description: Retrieve products bundles to the one specified by its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductBundlesBySlug/). + * @description: Get products bundles to the one specified by its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductBundlesBySlug/). */ async getProductBundlesBySlug( { slug, id, requestHeaders } = { requestHeaders: {} }, @@ -1729,7 +1729,7 @@ class Catalog { * Success response * @name getProductComparisonBySlugs * @summary: List products for comparison - * @description: Retrives all the products that have same category. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductComparisonBySlugs/). + * @description: Get all the products that have the same category. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductComparisonBySlugs/). */ async getProductComparisonBySlugs( { slug, requestHeaders } = { requestHeaders: {} }, @@ -1810,7 +1810,7 @@ class Catalog { * @returns {Promise} - Success response * @name getProductDetailBySlug * @summary: Get a product - * @description: Fetches properties related to Product such as price, attributes, HSN code, SKU code, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductDetailBySlug/). + * @description: Get product details such as price, attributes, HSN code, SKU code, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductDetailBySlug/). */ async getProductDetailBySlug( { slug, requestHeaders } = { requestHeaders: {} }, @@ -1891,7 +1891,7 @@ class Catalog { * Success response * @name getProductPriceBySlug * @summary: Get product price - * @description: Retrieve the price of a product size at all the selling locations near to a PIN Code. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductPriceBySlug/). + * @description: Get the price of a product size at all the selling locations near to a PIN Code. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductPriceBySlug/). */ async getProductPriceBySlug( { slug, size, storeId, moq, requestHeaders } = { requestHeaders: {} }, @@ -1975,7 +1975,7 @@ class Catalog { * * @name getProductSellersBySlug * @summary: List sellers - * @description: Retrieve a list of all sellers offering a specific product identified by its slug and size - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductSellersBySlug/). + * @description: List all sellers offering a specific product identified by its slug and size. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductSellersBySlug/). */ async getProductSellersBySlug( { slug, size, strategy, pageNo, pageSize, requestHeaders } = { @@ -2057,16 +2057,16 @@ class Catalog { * @param {Object} arg - Arg object. * @param {string} arg.slug - A short, human-readable, URL-friendly * identifier of a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. * @param {string} arg.size - A string indicating the size of the product, * e.g. S, M, XL. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/sizes + * /service/application/catalog/v1.0/products/sizes. * @param {string} [arg.strategy] - Sort stores on the basis of strategy. * eg, fast-delivery, low-price, optimal. * @param {number} [arg.pageSize] - The number of items to retrieve in each page. * @returns {Paginator} * @summary: List sellers - * @description: Retrieve a list of all sellers offering a specific product identified by its slug and size + * @description: List all sellers offering a specific product identified by its slug and size. */ getProductSellersBySlugPaginator({ slug, size, strategy, pageSize } = {}) { const paginator = new Paginator(); @@ -2180,7 +2180,7 @@ class Catalog { * Success response * @name getProductStockByIds * @summary: Get product stocks - * @description: Retrieves the current stock status for products identified by their IDs. such as SKU,ALU,EAN etc - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductStockByIds/). + * @description: Get the current stock status for products identified by their IDs, such as SKU, ALU, EAN, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductStockByIds/). */ async getProductStockByIds( { itemId, alu, skuCode, ean, upc, requestHeaders } = { requestHeaders: {} }, @@ -2267,7 +2267,7 @@ class Catalog { * @returns {Promise} - Success response * @name getProductStockForTimeByIds * @summary: List future stock - * @description: Retrives the available stock levels for all products associated with a particular sales channel at a specified future time. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductStockForTimeByIds/). + * @description: Get the available stock levels for all products associated with a particular sales channel at a specified future time. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductStockForTimeByIds/). */ async getProductStockForTimeByIds( { timestamp, pageSize, pageId, requestHeaders } = { requestHeaders: {} }, @@ -2345,11 +2345,11 @@ class Catalog { /** * @param {Object} arg - Arg object. - * @param {string} arg.timestamp - Timestamp in UTC format (2020-07-23T10:27:50Z) + * @param {string} arg.timestamp - Timestamp in UTC format (2020-07-23T10:27:50Z). * @param {number} [arg.pageSize] - The number of items to retrieve in each page. * @returns {Paginator} * @summary: List future stock - * @description: Retrives the available stock levels for all products associated with a particular sales channel at a specified future time. + * @description: Get the available stock levels for all products associated with a particular sales channel at a specified future time. */ getProductStockForTimeByIdsPaginator({ timestamp, pageSize } = {}) { const paginator = new Paginator(); @@ -2381,7 +2381,7 @@ class Catalog { * Success response * @name getProductVariantsBySlug * @summary: List product variants - * @description: Retrieves all available variants of a specific product identified by its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductVariantsBySlug/). + * @description: Get all available variants of a specific product identified by its slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProductVariantsBySlug/). */ async getProductVariantsBySlug( { slug, requestHeaders } = { requestHeaders: {} }, @@ -2462,7 +2462,7 @@ class Catalog { * Success response * @name getProducts * @summary: List products - * @description: Retrieves a list of all products available in the catalog. It supports filtering based on product name, brand, department, category, collection, and more, while also offering sorting options based on factors like price, ratings, discounts, and other relevant criteria. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProducts/). + * @description: List all products available in the catalog. It supports filtering based on product name, brand, department, category, collection, and more, while also offering sorting options based on factors like price, ratings, discounts, and other relevant criteria. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getProducts/). */ async getProducts( { @@ -2558,16 +2558,16 @@ class Catalog { * @param {string} [arg.f] - The search filter parameters. Filter parameters * will be passed in f parameter as shown in the example below. Double * Pipe (||) denotes the OR condition, whereas Triple-colon (:::) - * indicates a new filter paramater applied as an AND condition. - * @param {boolean} [arg.filters] - This is a boolean value, True for - * fetching all filter parameters and False for disabling the filter parameters. + * indicates a new filter parameter applied as an AND condition. + * @param {boolean} [arg.filters] - True for fetching all filter parameters + * and False for disabling the filter parameters. * @param {string} [arg.sortOn] - The order in which the list of products * should be sorted, e.g. popularity, price, latest and discount, in * either ascending or descending order. See the supported values below. * @param {number} [arg.pageSize] - The number of items to retrieve in each page. * @returns {Paginator} * @summary: List products - * @description: Retrieves a list of all products available in the catalog. It supports filtering based on product name, brand, department, category, collection, and more, while also offering sorting options based on factors like price, ratings, discounts, and other relevant criteria. + * @description: List all products available in the catalog. It supports filtering based on product name, brand, department, category, collection, and more, while also offering sorting options based on factors like price, ratings, discounts, and other relevant criteria. */ getProductsPaginator({ q, f, filters, sortOn, pageSize } = {}) { const paginator = new Paginator(); @@ -2602,7 +2602,7 @@ class Catalog { * @returns {Promise} - Success response * @name getSearchResults * @summary: List product, brand, category - * @description: Retrieve products, brands, or categories based on a search query, which can be a partial or full name match. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getSearchResults/). + * @description: Get products, brands, or categories based on a search query, which can be a partial or full name match. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getSearchResults/). */ async getSearchResults( { q, requestHeaders } = { requestHeaders: {} }, @@ -2684,7 +2684,7 @@ class Catalog { * Success response * @name getSimilarComparisonProductBySlug * @summary: List similar products - * @description: Retrives all products within the same category as the one specified by the provided slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getSimilarComparisonProductBySlug/). + * @description: Get all products within the same category as the one specified by the provided slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getSimilarComparisonProductBySlug/). */ async getSimilarComparisonProductBySlug( { slug, requestHeaders } = { requestHeaders: {} }, @@ -2764,7 +2764,7 @@ class Catalog { * @returns {Promise} - Success response * @name getStores * @summary: List available stores - * @description: Retrieves a list of all stores associated with sales channel - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getStores/). + * @description: List all stores associated with the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/getStores/). */ async getStores( { @@ -2859,15 +2859,15 @@ class Catalog { * @param {string} [arg.q] - Search a store by its name or store_code. * @param {string} [arg.city] - Search stores by the city in which they are situated. * @param {number} [arg.range] - Use this to retrieve stores within a - * particular range in meters, e.g. 10000, to indicate a 10km range + * particular range in meters, e.g. 10000, to indicate a 10km range. * @param {number} [arg.latitude] - Latitude of the location from where one - * wants to retreive the nearest stores, e.g. 72.8691788 + * wants to retrieve the nearest stores, e.g. 72.8691788. * @param {number} [arg.longitude] - Longitude of the location from where - * one wants to retreive the nearest stores, e.g. 19.1174114 + * one wants to retrieve the nearest stores, e.g. 19.1174114. * @param {string} [arg.tags] - Search stores based on tags. * @returns {Paginator} * @summary: List available stores - * @description: Retrieves a list of all stores associated with sales channel + * @description: List all stores associated with the sales channel. */ getStoresPaginator({ pageSize, @@ -2910,7 +2910,7 @@ class Catalog { * @returns {Promise} - Success response * @name unfollowById * @summary: Delete item, brand, product - * @description: Removes a followed item, brand, or product using its collection ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/unfollowById/). + * @description: Remove a followed item, brand, or product using its collection ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/catalog/unfollowById/). */ async unfollowById( { collectionType, collectionId, requestHeaders } = { requestHeaders: {} }, diff --git a/sdk/application/Catalog/CatalogApplicationModel.d.ts b/sdk/application/Catalog/CatalogApplicationModel.d.ts index 931f2fc90..cf9b7caa4 100644 --- a/sdk/application/Catalog/CatalogApplicationModel.d.ts +++ b/sdk/application/Catalog/CatalogApplicationModel.d.ts @@ -1,46 +1,51 @@ export = CatalogApplicationModel; /** * @typedef ProductDetailCustomOrder - * @property {number} [manufacturing_time] - * @property {string} [manufacturing_time_unit] - * @property {boolean} [is_custom_order] + * @property {number} [manufacturing_time] - The unit of time taken for manufacturing. + * @property {string} [manufacturing_time_unit] - The unit of time required for + * manufacturing is defined in hours or days. + * @property {boolean} [is_custom_order] - A boolean flag indicating whether MTO + * (Make to Order) is enabled or not. */ /** * @typedef Meta - * @property {string} [source] + * @property {string} [source] - The source or origin of the media file, which + * could be a URL or a reference to where the media was obtained. */ /** * @typedef Media - * @property {string} [url] - * @property {string} [type] + * @property {string} [url] - Absolute url for Media. + * @property {string} [type] - The type of media, such as image, video. * @property {Meta} [meta] - * @property {string} [alt] + * @property {string} [alt] - Alternative text for the media, used for + * accessibility and SEO purposes. */ /** * @typedef ProductListingActionPage - * @property {string} [type] - * @property {Object} [query] - * @property {Object} [params] + * @property {string} [type] - The type of action such as product, products, + * category, brand. + * @property {Object} [query] - Query parameter if any to be added to the action. + * @property {Object} [params] - Parameters that should be considered in path. */ /** * @typedef ProductListingAction - * @property {string} [type] + * @property {string} [type] - Type of action to be taken e.g, page. * @property {ProductListingActionPage} [page] */ /** * @typedef ProductBrand - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the product brand. * @property {Media} [logo] - * @property {string} [description] - * @property {string} [name] + * @property {string} [description] - Description of the product brand. + * @property {string} [name] - Name of the product brand. * @property {ProductListingAction} [action] */ /** * @typedef ProductDepartment - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the product department. * @property {Media} [logo] - * @property {string} [slug] - * @property {string} [name] + * @property {string} [slug] - URL-friendly identifier for the product department. + * @property {string} [name] - Name of the product department. */ /** * @typedef ProductCategoryMap @@ -61,19 +66,20 @@ export = CatalogApplicationModel; */ /** * @typedef ApplicationItemSEO - * @property {Object} [title] - The SEO title of the item - * @property {Object} [description] - The SEO description of the item + * @property {Object} [title] - The SEO title of the item. + * @property {Object} [description] - The SEO description of the item. */ /** * @typedef ProductDetailAttribute - * @property {string} [value] - * @property {string} [type] - * @property {string} [key] + * @property {string} [value] - The value of the product attribute. + * @property {string} [type] - The type or category of the product attribute. + * @property {string} [key] - The key or name of the product attribute. */ /** * @typedef ProductDetailGroupedAttribute - * @property {string} [title] - * @property {ProductDetailAttribute[]} [details] + * @property {string} [title] - The title or name of the attribute group. + * @property {ProductDetailAttribute[]} [details] - A list of product attributes + * within this group. */ /** * @typedef ApplicationItemMOQ @@ -104,61 +110,74 @@ export = CatalogApplicationModel; */ /** * @typedef ProductDetail - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the product. * @property {ProductDetailCustomOrder} [custom_order] * @property {ProductCategoryMap} [category_map] * @property {NetQuantity} [net_quantity] - * @property {number} [rating_count] - * @property {CustomMetaFields[]} [_custom_meta] - * @property {string[]} [similars] - * @property {string[]} [tags] + * @property {number} [rating_count] - Count of ratings the product has received. + * @property {CustomMetaFields[]} [_custom_meta] - Custom metadata fields + * associated with the product. + * @property {string[]} [similars] - List of products marked similar to given product. + * @property {string[]} [tags] - Tags associated with the product for better + * categorization. * @property {ApplicationItemSEO} [seo] - * @property {string} [image_nature] - * @property {boolean} [has_variant] - * @property {string} [item_type] - * @property {string} [description] - * @property {ProductDetailGroupedAttribute[]} [grouped_attributes] - * @property {Media[]} [medias] - * @property {string} [color] - * @property {string} [type] - * @property {string} [product_online_date] - * @property {Object} [_custom_json] - * @property {string} [item_code] - * @property {string} [name] + * @property {string} [image_nature] - Type of the images associated with the + * product such as standard. + * @property {boolean} [has_variant] - Indicates whether the product has variants. + * @property {string} [item_type] - This field describes the type of item, + * indicating the category or nature of the product. Possible values are + * Standard, Composite, Wet, Digital. + * @property {string} [description] - Detailed description of the product. + * @property {ProductDetailGroupedAttribute[]} [grouped_attributes] - Grouped + * attributes detailing various characteristics of the product. + * @property {Media[]} [medias] - Media files associated with the product. + * @property {string} [color] - Color of the product, if applicable. + * @property {string} [type] - Product type or classification. + * @property {string} [product_online_date] - Date and time when the product was + * made available online. + * @property {Object} [_custom_json] - Custom JSON object for additional product data. + * @property {string} [item_code] - Item Code defined for the product. + * @property {string} [name] - Name of the product. * @property {ApplicationItemMOQ} [moq] - * @property {string} [short_description] - * @property {ProductBrand[]} [categories] - * @property {Object} [attributes] - * @property {string} [discount] - * @property {string[]} [tryouts] - * @property {string} slug + * @property {string} [short_description] - Brief description of the product. + * @property {ProductBrand[]} [categories] - List of product categories + * associated with the product. + * @property {Object} [attributes] - Additional attributes or characteristics of + * the product. + * @property {string} [discount] - Discount applied to the product, if any. + * @property {string[]} [tryouts] - Identifiers or names of tryout versions of + * the product. + * @property {string} slug - URL-friendly identifier for the product. * @property {ProductListingAction} [action] - * @property {number} [rating] - * @property {boolean} [is_dependent] - * @property {string[]} [product_group_tag] - * @property {string[]} [highlights] + * @property {number} [rating] - The rating of the product. + * @property {boolean} [is_dependent] - Indicates whether the product can be + * sold as an individual product. + * @property {string[]} [product_group_tag] - List of bundle/product grouping + * slugs mapped to the product. + * @property {string[]} [highlights] - Key highlights or features of the product. * @property {ProductListingPrice} [price] * @property {ProductBrand} [brand] * @property {ProductDepartment} [department] - * @property {string} [teaser_tag] + * @property {string} [teaser_tag] - Teaser tag or short promotional phrase for + * the product. */ /** * @typedef ErrorResponse - * @property {string} [error] + * @property {string} [error] - A brief description of the error. */ /** * @typedef Dimension - * @property {string} unit - The unit of dimension - * @property {number} height - The height of the product - * @property {number} length - The length of the product - * @property {number} width - The width of the product - * @property {boolean} is_default - Whether the dimension is the default one or not + * @property {string} unit - The unit of dimension. + * @property {number} height - The height of the product. + * @property {number} length - The length of the product. + * @property {number} width - The width of the product. + * @property {boolean} is_default - Whether the dimension is the default one or not. */ /** * @typedef Weight - * @property {string} unit - The unit of weight - * @property {number} shipping - The shipping weight of the product - * @property {boolean} is_default - Whether the weight is the default one or not + * @property {string} unit - The unit of weight. + * @property {number} shipping - The shipping weight of the product. + * @property {boolean} is_default - Whether the weight is the default one or not. */ /** * @typedef DiscountMeta @@ -171,27 +190,30 @@ export = CatalogApplicationModel; */ /** * @typedef ProductSize - * @property {number} [quantity] + * @property {number} [quantity] - The quantity of the product size available. * @property {Dimension} [dimension] * @property {Weight} [weight] - * @property {boolean} [is_available] - * @property {string[]} [seller_identifiers] - * @property {string} [value] - * @property {string} [display] + * @property {boolean} [is_available] - Indicates whether the product size is + * available for purchase. + * @property {string[]} [seller_identifiers] - List of identifiers used by + * sellers for the product size. + * @property {string} [value] - The value or label representing the product size. + * @property {string} [display] - Display name of the product size. */ /** * @typedef SizeChartValues - * @property {string} [col_3] - * @property {string} [col_6] - * @property {string} [col_2] - * @property {string} [col_4] - * @property {string} [col_1] - * @property {string} [col_5] + * @property {string} [col_3] - Value for column 3. + * @property {string} [col_6] - Value for column 6. + * @property {string} [col_2] - Value for column 2. + * @property {string} [col_4] - Value for column 4. + * @property {string} [col_1] - Value for column 1. + * @property {string} [col_5] - Value for column 5. */ /** * @typedef ColumnHeader - * @property {boolean} [convertable] - * @property {string} [value] + * @property {boolean} [convertable] - Indicates if the column value can be + * converted or transformed. + * @property {string} [value] - The value or title of the column header. */ /** * @typedef ColumnHeaders @@ -204,53 +226,56 @@ export = CatalogApplicationModel; */ /** * @typedef SizeChart - * @property {string} [unit] - * @property {string} [image] - * @property {string} [size_tip] - * @property {SizeChartValues[]} [sizes] - * @property {string} [description] - * @property {string} [title] + * @property {string} [unit] - Unit of measurement used in the size chart (e.g., in, cm). + * @property {string} [image] - URL of the image representing the size chart. + * @property {string} [size_tip] - Additional tip or guideline related to sizing. + * @property {SizeChartValues[]} [sizes] - Array of size chart values for different sizes. + * @property {string} [description] - Description related to the size chart. + * @property {string} [title] - Title or name of the size chart. * @property {ColumnHeaders} [headers] */ /** * @typedef ProductSizeStores - * @property {number} [count] + * @property {number} [count] - Number of stores where the product size is available. */ /** * @typedef ProductSizes - * @property {ProductSize[]} [sizes] + * @property {ProductSize[]} [sizes] - List of available sizes for the product. * @property {ProductSizesPrice} [price] * @property {ProductSizesPrice} [price_per_piece] * @property {SizeChart} [size_chart] - * @property {boolean} [sellable] - * @property {boolean} [multi_size] - * @property {string} [discount] + * @property {boolean} [sellable] - Whether the product sizes are available for sale. + * @property {boolean} [multi_size] - Whether the product supports multiple sizes. + * @property {string} [discount] - Discount information applicable to the product sizes. * @property {ProductSizeStores} [stores] * @property {DiscountMeta} [discount_meta] */ /** * @typedef AttributeDetail - * @property {string} [logo] - * @property {string} [description] - * @property {string} [display] - * @property {string} [key] + * @property {string} [logo] - URL or path to the logo associated with the attribute. + * @property {string} [description] - A description of the attribute. + * @property {string} [display] - Display name or label for the attribute. + * @property {string} [key] - Unique key or identifier for the attribute. */ /** * @typedef AttributeMetadata - * @property {string} [title] - * @property {AttributeDetail[]} [details] + * @property {string} [title] - Title or name of the attribute metadata. + * @property {AttributeDetail[]} [details] - List of detailed information about + * attributes. */ /** * @typedef ProductsComparisonResponse - * @property {ProductDetail[]} [items] - * @property {AttributeMetadata[]} [attributes_metadata] + * @property {ProductDetail[]} [items] - List of product details for comparison. + * @property {AttributeMetadata[]} [attributes_metadata] - Metadata about + * attributes used for comparing products. */ /** * @typedef ProductCompareResponse - * @property {string} [title] - * @property {ProductDetail[]} [items] - * @property {AttributeMetadata[]} [attributes_metadata] - * @property {string} [subtitle] + * @property {string} [title] - Title or name of the comparison. + * @property {ProductDetail[]} [items] - List of product details for comparison. + * @property {AttributeMetadata[]} [attributes_metadata] - Metadata about + * attributes used for comparing products. + * @property {string} [subtitle] - Subtitle or additional description for the comparison. */ /** * @typedef ProductFrequentlyComparedSimilarResponse @@ -258,178 +283,209 @@ export = CatalogApplicationModel; */ /** * @typedef ProductVariantItemResponse - * @property {number} [uid] - * @property {string} [color_name] - * @property {string} [color] - * @property {Media[]} [medias] - * @property {boolean} [is_available] - * @property {CustomMetaFields[]} [_custom_meta] - * @property {string} [name] - * @property {string} [value] - * @property {string} [slug] - * @property {Object} [_custom_json] + * @property {number} [uid] - Unique identifier for the product variant. + * @property {string} [color_name] - Name of the color for the variant. + * @property {string} [color] - Color code or representation for the variant. + * @property {Media[]} [medias] - Media files associated with the product variant. + * @property {boolean} [is_available] - Indicates whether the product variant is + * available for purchase. + * @property {CustomMetaFields[]} [_custom_meta] - Custom metadata fields + * associated with the product. + * @property {string} [name] - Name of the product variant. + * @property {string} [value] - Value or label representing the product variant. + * @property {string} [slug] - URL-friendly identifier for the product. + * @property {Object} [_custom_json] - Custom JSON object for additional data + * related to the product. * @property {ProductListingAction} [action] */ /** * @typedef ProductVariantResponse - * @property {string} [display_type] - * @property {string} [header] - * @property {string} [group_id] - * @property {ProductVariantItemResponse[]} [items] - * @property {string} [key] - * @property {string} [logo] + * @property {string} [display_type] - The type of display for the product + * variant (e.g., image, text, image, color). + * @property {string} [header] - Header or title for the product variant section. + * @property {string} [group_id] - Group ID used to group variants. + * @property {ProductVariantItemResponse[]} [items] - List of product variant items. + * @property {string} [key] - Attribute identifier of the variant. + * @property {string} [logo] - URL or path to the logo associated with the + * product variant. */ /** * @typedef ProductVariantsResponse - * @property {ProductVariantResponse[]} [variants] + * @property {ProductVariantResponse[]} [variants] - A list of product variant + * responses, each detailing a specific variant. */ /** * @typedef StoreDetail - * @property {string} [name] - * @property {string} [city] - * @property {number} [id] - * @property {string} [code] + * @property {string} [name] - NA. + * @property {string} [city] - NA. + * @property {number} [id] - NA. + * @property {string} [code] - NA. */ /** * @typedef ProductStockPrice - * @property {number} [effective] - * @property {string} [currency] - * @property {number} [marked] + * @property {number} [effective] - NA. + * @property {string} [currency] - NA. + * @property {number} [marked] - NA. */ /** * @typedef CompanyDetail - * @property {string} [name] - * @property {number} [id] + * @property {string} [name] - NA. + * @property {number} [id] - NA. */ /** * @typedef Seller - * @property {number} [uid] - * @property {string} [name] - * @property {number} [count] + * @property {number} [uid] - NA. + * @property {string} [name] - NA. + * @property {number} [count] - NA. */ /** * @typedef ProductStockStatusItem - * @property {string} [uid] - * @property {number} [quantity] + * @property {string} [uid] - NA. + * @property {number} [quantity] - NA. * @property {StoreDetail} [store] - * @property {string} [size] + * @property {string} [size] - NA. * @property {ProductStockPrice} [price] * @property {CompanyDetail} [company] - * @property {number} [item_id] + * @property {number} [item_id] - NA. * @property {Seller} [seller] - * @property {Object} [identifier] + * @property {Object} [identifier] - NA. */ /** * @typedef ProductStockStatusResponse - * @property {ProductStockStatusItem[]} [items] + * @property {ProductStockStatusItem[]} [items] - NA. */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef ProductStockPolling - * @property {ProductStockStatusItem[]} [items] + * @property {ProductStockStatusItem[]} [items] - NA. * @property {Page} page */ /** * @typedef ProductVariantListingResponse - * @property {string} [header] - * @property {ProductVariantItemResponse[]} [items] - * @property {number} [total] - * @property {string} [key] - * @property {string} [display_type] + * @property {string} [header] - Header or title for the product variant section. + * @property {ProductVariantItemResponse[]} [items] - List of Upto 5 product + * variant items. + * @property {number} [total] - The total number of product variants available. + * @property {string} [key] - Attribute identifier of the variant. + * @property {string} [display_type] - The type of display for the product + * variant (e.g., image, text, image, color). */ /** * @typedef ProductListingDetail - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the product. * @property {ProductDetailCustomOrder} [custom_order] - * @property {string[]} [sizes] + * @property {string[]} [sizes] - Available sizes for the product. * @property {ProductCategoryMap} [category_map] * @property {NetQuantity} [net_quantity] - * @property {number} [rating_count] - * @property {CustomMetaFields[]} [_custom_meta] - * @property {string[]} [similars] - * @property {string[]} [tags] + * @property {number} [rating_count] - The number of ratings the product has received. + * @property {CustomMetaFields[]} [_custom_meta] - Custom metadata fields + * associated with the product. + * @property {string[]} [similars] - List of products marked similar to given product. + * @property {string[]} [tags] - Tags associated with the product for better + * categorization. * @property {ApplicationItemSEO} [seo] - * @property {string} [image_nature] - * @property {boolean} [has_variant] - * @property {string} [item_type] - * @property {string} [description] - * @property {ProductDetailGroupedAttribute[]} [grouped_attributes] - * @property {Media[]} [medias] - * @property {string} [color] - * @property {string} [type] - * @property {string} [product_online_date] - * @property {Object} [_custom_json] - * @property {string} [item_code] - * @property {string} [name] + * @property {string} [image_nature] - Type of the images associated with the + * product such as standard. + * @property {boolean} [has_variant] - Indicates whether the product has variants. + * @property {string} [item_type] - This field describes the type of item, + * indicating the category or nature of the product. Possible values are + * Standard, Composite, Wet, Digital. + * @property {string} [description] - Detailed description of the product. + * @property {ProductDetailGroupedAttribute[]} [grouped_attributes] - Grouped + * attributes detailing various characteristics of the product. + * @property {Media[]} [medias] - Media files associated with the product. + * @property {string} [color] - Color of the product, if applicable. + * @property {string} [type] - Product type or classification. + * @property {string} [product_online_date] - Date and time when the product was + * made available online. + * @property {Object} [_custom_json] - Custom JSON object for additional product data. + * @property {string} [item_code] - Item Code defined for the product. + * @property {string} [name] - Name of the product. * @property {ApplicationItemMOQ} [moq] - * @property {string} [short_description] - * @property {ProductBrand[]} [categories] - * @property {boolean} [sellable] - * @property {Object} [attributes] - * @property {ProductVariantListingResponse[]} [variants] - * @property {string} [discount] - * @property {string[]} [tryouts] - * @property {string[]} [identifiers] - * @property {string} slug + * @property {string} [short_description] - Brief description of the product. + * @property {ProductBrand[]} [categories] - List of product categories + * associated with the product. + * @property {boolean} [sellable] - Indicates whether the product is available for sale. + * @property {Object} [attributes] - Additional attributes or characteristics of + * the product. + * @property {ProductVariantListingResponse[]} [variants] - List of product + * variants available for the product. + * @property {string} [discount] - Discount details or percentage applied to the product. + * @property {string[]} [tryouts] - List of tryout options available for the product. + * @property {string[]} [identifiers] - List of seller identifiers for the product. + * @property {string} slug - URL-friendly identifier for the product. * @property {ProductListingAction} [action] - * @property {number} [rating] - * @property {boolean} [is_dependent] - * @property {string[]} [product_group_tag] - * @property {string[]} [highlights] + * @property {number} [rating] - Rating of the product. + * @property {boolean} [is_dependent] - Indicates whether the product can be + * sold as an individual product. + * @property {string[]} [product_group_tag] - List of bundle/product grouping + * slugs mapped to the product. + * @property {string[]} [highlights] - Key highlights or features of the product. * @property {ProductListingPrice} [price] * @property {ProductBrand} [brand] - * @property {string} [teaser_tag] + * @property {string} [teaser_tag] - Teaser tag or short promotional phrase for + * the product. */ /** * @typedef ProductFiltersValue - * @property {number} [min] - * @property {string} [display_format] - * @property {number} [selected_max] - * @property {string} [value] - * @property {string} [query_format] - * @property {string} [currency_symbol] - * @property {number} [selected_min] - * @property {string} [currency_code] - * @property {boolean} is_selected - * @property {string} display - * @property {number} [count] - * @property {number} [max] + * @property {number} [min] - Minimum value for the range filter. + * @property {string} [display_format] - Format in which the filter value is displayed. + * @property {number} [selected_max] - The maximum value selected by the user + * for range filter. + * @property {string} [value] - Value associated with the filter option. + * @property {string} [query_format] - Format used for the filter value in queries. + * @property {string} [currency_symbol] - Currency symbol for the price type filters. + * @property {number} [selected_min] - The minimum value selected by the user + * for range filter. + * @property {string} [currency_code] - Currency code for the currency used for + * price type filters. + * @property {boolean} is_selected - Whether this filter value is currently selected. + * @property {string} display - Display name or label for the filter value. + * @property {number} [count] - Number of products that match this filter value. + * @property {number} [max] - Maximum value of the filter range. */ /** * @typedef ProductFiltersKey - * @property {string} [logo] - * @property {string} name - * @property {string} [kind] - * @property {string} display + * @property {string} [logo] - URL or path to the logo associated with the filter key. + * @property {string} name - Name or identifier of the filter key. + * @property {string} [kind] - Type or category of the filter key (e.g., range, + * multivalued). + * @property {string} display - Display name or label for the filter key. */ /** * @typedef ProductFilters - * @property {ProductFiltersValue[]} values + * @property {ProductFiltersValue[]} values - List of filter values associated + * with the filter key. * @property {ProductFiltersKey} key */ /** * @typedef ProductSortOn - * @property {string} [logo] - * @property {boolean} [is_selected] - * @property {string} [name] - * @property {string} [value] - * @property {string} [display] + * @property {string} [logo] - URL or path to the logo associated with the sorting option. + * @property {boolean} [is_selected] - Indicates whether this sorting option is + * currently selected. + * @property {string} [name] - Name or identifier of the sorting option. + * @property {string} [value] - Value used to specify the sorting order (e.g., + * price_asc, discount_dsc). + * @property {string} [display] - Display name or label for the sorting option. */ /** * @typedef ProductListingResponse - * @property {ProductListingDetail[]} [items] - * @property {ProductFilters[]} [filters] + * @property {ProductListingDetail[]} [items] - List of product details included + * in the response. + * @property {ProductFilters[]} [filters] - List of filters available for + * refining the product listings. * @property {Page} page - * @property {ProductSortOn[]} [sort_on] + * @property {ProductSortOn[]} [sort_on] - List of sorting options available for + * the product listings. */ /** * @typedef ImageUrls @@ -438,29 +494,35 @@ export = CatalogApplicationModel; */ /** * @typedef BrandItem - * @property {number} [uid] + * @property {number} [uid] - The unique identifier for the brand. * @property {Media} [logo] - * @property {string} [description] + * @property {string} [description] - Detailed description of the brand, + * including its history, values, product offerings, and other relevant information. * @property {ImageUrls} [banners] - * @property {string[]} [departments] - * @property {string} [discount] - * @property {string} [name] - * @property {string} [slug] + * @property {string[]} [departments] - Lists the departments or categories + * under which the brand's products are listed. + * @property {string} [discount] - Details about any discounts currently + * available on the brand's products. + * @property {string} [name] - Name of the brand. + * @property {string} [slug] - URL-friendly version of the brand's name, used in + * the web address to access the brand's page on the platform. * @property {ProductListingAction} [action] */ /** * @typedef BrandListingResponse - * @property {BrandItem[]} [items] + * @property {BrandItem[]} [items] - List of brand items included in the response. * @property {Page} page */ /** * @typedef BrandDetailResponse * @property {Media} [logo] - * @property {number} [uid] - * @property {string} [description] + * @property {number} [uid] - The unique identifier for the brand. + * @property {string} [description] - Detailed description of the brand, + * including its history, values, product offerings, and other relevant information. * @property {ImageUrls} [banners] - * @property {Object} [_custom_json] - * @property {string} [name] + * @property {Object} [_custom_json] - Custom JSON data related to the brand, + * allowing for additional metadata. + * @property {string} [name] - Name of the brand. */ /** * @typedef CategoryBanner @@ -469,192 +531,240 @@ export = CatalogApplicationModel; */ /** * @typedef ThirdLevelChild - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the L3 category. * @property {ImageUrls} [banners] - * @property {Object[]} [childs] - * @property {Object} [_custom_json] - * @property {string} [name] - * @property {string} [slug] + * @property {Object[]} [childs] - List of categories under the L3 category. + * @property {Object} [_custom_json] - Custom JSON data related to the L3 + * category, allowing for additional metadata. + * @property {string} [name] - Name of the L3 category. + * @property {string} [slug] - Slug or URL-friendly identifier for the L3 category. * @property {ProductListingAction} [action] */ /** * @typedef SecondLevelChild - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the L2 category. * @property {ImageUrls} [banners] - * @property {ThirdLevelChild[]} [childs] - * @property {Object} [_custom_json] - * @property {string} [name] - * @property {string} [slug] + * @property {ThirdLevelChild[]} [childs] - List of categories under the L2 category. + * @property {Object} [_custom_json] - Custom JSON data related to the L2 + * category, allowing for additional metadata. + * @property {string} [name] - Name of the L2 category. + * @property {string} [slug] - Slug or URL-friendly identifier for the L2 category. * @property {ProductListingAction} [action] */ /** * @typedef Child - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the L1 category. * @property {ImageUrls} [banners] - * @property {SecondLevelChild[]} [childs] - * @property {Object} [_custom_json] - * @property {string} [name] - * @property {string} [slug] + * @property {SecondLevelChild[]} [childs] - List of categories under the L1 category. + * @property {Object} [_custom_json] - Custom JSON data related to the L1 + * category, allowing for additional metadata. + * @property {string} [name] - Name of the L1 category. + * @property {string} [slug] - Slug or URL-friendly identifier for the L1 category. * @property {ProductListingAction} [action] */ /** * @typedef CategoryItems - * @property {number} uid + * @property {number} uid - Unique identifier for the category. * @property {CategoryBanner} banners - * @property {Child[]} [childs] - * @property {string} name - * @property {string} slug + * @property {Child[]} [childs] - List of L1 categories under the main category. + * @property {string} name - Name of the category. + * @property {string} slug - Slug or URL-friendly identifier for the category. * @property {ProductListingAction} action */ /** * @typedef DepartmentCategoryTree - * @property {CategoryItems[]} [items] - * @property {string} department + * @property {CategoryItems[]} [items] - List of categories within the department. + * @property {string} department - Name of the department. */ /** * @typedef DepartmentIdentifier - * @property {number} [uid] - * @property {string} [slug] + * @property {number} [uid] - Unique identifier for the department. + * @property {string} [slug] - Slug or URL-friendly identifier for the department. */ /** * @typedef CategoryListingResponse - * @property {DepartmentCategoryTree[]} [data] - * @property {DepartmentIdentifier[]} [departments] + * @property {DepartmentCategoryTree[]} [data] - List of department category trees. + * @property {DepartmentIdentifier[]} [departments] - List of departments. */ /** * @typedef CategoryMetaResponse * @property {Media} [logo] - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the category. * @property {ImageUrls} [banners] - * @property {Object} [_custom_json] - * @property {string} [name] + * @property {Object} [_custom_json] - Custom JSON data related to the category, + * allowing for additional metadata. + * @property {string} [name] - Name of the category. */ /** * @typedef HomeListingResponse - * @property {ProductListingDetail[]} [items] + * @property {ProductListingDetail[]} [items] - List of product details + * displayed on the home page. * @property {Page} page - * @property {string} [message] + * @property {string} [message] - Message related to the home listing response. */ /** * @typedef Department - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the department. * @property {Media} [logo] - * @property {number} [priority_order] - * @property {string} [name] - * @property {string} [slug] + * @property {number} [priority_order] - Specifies the display order of the + * department, determining its position in lists and navigation menus based on + * priority. + * @property {string} [name] - Name of the department. + * @property {string} [slug] - URL-friendly version of the department's name, + * used in the web address to access the department's page on the platform. */ /** * @typedef DepartmentResponse - * @property {Department[]} [items] + * @property {Department[]} [items] - List of department detail objects. */ /** * @typedef AutocompleteItem * @property {Media} [logo] - * @property {string} [display] - * @property {string} [type] - * @property {Object} [_custom_json] + * @property {string} [display] - Text or value displayed for the autocomplete item. + * @property {string} [type] - The type of action such as product, products, + * category, brand. + * @property {Object} [_custom_json] - Custom JSON data related to the + * autocomplete item, allowing for additional metadata. * @property {ProductListingAction} [action] */ /** * @typedef AutoCompleteResponse - * @property {AutocompleteItem[]} [items] + * @property {AutocompleteItem[]} [items] - List of autocomplete items suggested + * based on user input. */ /** * @typedef CollectionQuery - * @property {string} op - * @property {Object[]} value - * @property {string} attribute + * @property {string} op - The operator used for filtering the collection. + * @property {Object[]} value - The values used for filtering based on the attribute. + * @property {string} attribute - The attribute on which the filter is applied. */ /** * @typedef GetCollectionDetailNest - * @property {boolean} [is_active] - * @property {string} [uid] - * @property {string} [sort_on] - * @property {Object} [meta] + * @property {boolean} [is_active] - Indicates whether the collection is currently active. + * @property {string} [uid] - The unique identifier for the collection. + * @property {string} [sort_on] - The attribute by which the collection items are sorted. + * @property {Object} [meta] - Additional metadata related to the collection. * @property {ImageUrls} [banners] - * @property {Object} [cron] - * @property {Object} [_schedule] - * @property {CollectionQuery[]} [query] - * @property {string} [description] - * @property {string} [type] - * @property {Object} [_custom_json] - * @property {string} [name] - * @property {boolean} [allow_sort] - * @property {string[]} [visible_facets_keys] - * @property {Object} [badge] - * @property {string} [slug] + * @property {Object} [cron] - Cron details for scheduling related to the collection. + * @property {Object} [_schedule] - The `Schedule` schema defines the timing and + * details for recurring or one-time tasks. It includes information on when + * the job should start and end, the frequency of the task, and any additional + * metadata. This schema helps in scheduling jobs or tasks based on specified + * timings and durations. + * @property {CollectionQuery[]} [query] - A list of queries used to filter the + * collection. + * @property {string} [description] - A detailed description of the collection. + * @property {string} [type] - Type of collections e.g query, items. + * @property {Object} [_custom_json] - Custom JSON data associated with the collection. + * @property {string} [name] - The name of the collection. + * @property {boolean} [allow_sort] - Indicates if sorting is allowed for this collection. + * @property {string[]} [visible_facets_keys] - Keys of the facets visible for + * filtering within the collection. + * @property {Object} [badge] - Badge information associated with the collection. + * @property {string} [slug] - The URL-friendly identifier for the collection. * @property {ProductListingAction} [action] - * @property {boolean} [allow_facets] + * @property {boolean} [allow_facets] - Indicates if facets are allowed for + * filtering within the collection. * @property {Media} [logo] - * @property {number} [priority] - * @property {string[]} [tags] - * @property {string} [app_id] + * @property {number} [priority] - Priority level of the collection for sorting + * or display purposes. + * @property {string[]} [tags] - Tags associated with the collection. + * @property {string} [app_id] - Application ID associated with the collection. */ /** * @typedef CollectionListingFilterTag - * @property {string} [name] - * @property {boolean} [is_selected] - * @property {string} [display] + * @property {string} [name] - The name of the tag. This is typically used as a + * label for filtering purposes. + * @property {boolean} [is_selected] - A flag indicating whether the tag is + * currently selected as a filter option. + * @property {string} [display] - The display name of the tag. This may be a + * user-friendly version of the tag name shown in the UI. */ /** * @typedef CollectionListingFilterType - * @property {string} [name] - * @property {boolean} [is_selected] - * @property {string} [display] + * @property {string} [name] - The name of the filter type. This indicates the + * type of filtering being applied, such as items, query. + * @property {boolean} [is_selected] - A flag indicating whether this filter + * type is currently selected as a filter option. + * @property {string} [display] - The display name of the filter type. This is + * the user-friendly name shown in the UI for the filter type. */ /** * @typedef CollectionListingFilter - * @property {CollectionListingFilterTag[]} [tags] - * @property {CollectionListingFilterType[]} [type] + * @property {CollectionListingFilterTag[]} [tags] - An array of tag filters + * available for the collection listings. Each tag allows for filtering based + * on specific attributes. + * @property {CollectionListingFilterType[]} [type] - An array of filter types + * available for the collection listings. Each type represents a different + * category or attribute for filtering. */ /** * @typedef GetCollectionListingResponse - * @property {GetCollectionDetailNest[]} [items] + * @property {GetCollectionDetailNest[]} [items] - An array of collection + * details. Each item in the array represents a collection with various + * attributes and configurations. * @property {CollectionListingFilter} [filters] * @property {Page} page */ /** * @typedef CollectionDetailResponse - * @property {boolean} [is_active] - * @property {string} [sort_on] - * @property {Object} [meta] + * @property {boolean} [is_active] - Indicates whether the collection is active. + * @property {string} [sort_on] - Criteria used to sort the items within the + * collection, such as price, popularity, or newest first. + * @property {Object} [meta] - Metadata associated with the collection. * @property {ImageUrls} [banners] - * @property {Object} [cron] - * @property {Object} [_schedule] - * @property {CollectionQuery[]} [query] - * @property {string} [description] - * @property {string} [type] - * @property {Object} [_custom_json] - * @property {string} [name] - * @property {boolean} [allow_sort] - * @property {string[]} [visible_facets_keys] - * @property {Object} [badge] - * @property {string} [slug] - * @property {boolean} [allow_facets] + * @property {Object} [cron] - Cron schedule details related to the collection, + * if applicable. + * @property {Object} [_schedule] - Schedule details for the collection, + * including timing and duration information. + * @property {CollectionQuery[]} [query] - Search or filter query used to + * dynamically generate the collection based on specific criteria or conditions. + * @property {string} [description] - Detailed description of the collection,. + * @property {string} [type] - Type of collection, specifying the nature or + * category of the collection. + * @property {Object} [_custom_json] - Custom JSON object containing additional + * properties specific to the collection. + * @property {string} [name] - The name of the collection. + * @property {boolean} [allow_sort] - Indicates if sorting is allowed for this collection. + * @property {string[]} [visible_facets_keys] - Keys of the facets visible for + * filtering within the collection. + * @property {Object} [badge] - Badge information associated with the collection. + * @property {string} [slug] - The URL-friendly identifier for the collection. + * @property {boolean} [allow_facets] - Indicates if facets are allowed for + * filtering within the collection. * @property {Media} [logo] - * @property {number} [priority] - * @property {string[]} [tag] - * @property {string} [app_id] + * @property {number} [priority] - Priority level of the collection for sorting + * or display purposes. + * @property {string[]} [tag] - Tags associated with the collection. + * @property {string} [app_id] - Application ID associated with the collection. */ /** * @typedef GetFollowListingResponse - * @property {ProductListingDetail[]} items + * @property {ProductListingDetail[]} items - An array of product details that + * the user is following. Each item includes information such as the product + * name, price, and other attributes. * @property {Page} page */ /** * @typedef FollowPostResponse - * @property {string} message - * @property {string} id + * @property {string} message - A message indicating the result of the follow or + * unfollow operation. This could be a confirmation message or an error message. + * @property {string} id - A unique identifier for the follow operation, which + * can be used to reference or track the follow status. */ /** * @typedef FollowerCountResponse - * @property {number} [count] + * @property {number} [count] - The number of followers for the item. This count + * indicates how many users are following the specified item. */ /** * @typedef FollowIdsData - * @property {number[]} [products] - * @property {number[]} [collections] - * @property {number[]} [brands] + * @property {number[]} [products] - An array of IDs representing the products + * that the user is following. + * @property {number[]} [collections] - An array of IDs representing the + * collections that the user is following. + * @property {number[]} [brands] - An array of IDs representing the brands that + * the user is following. */ /** * @typedef FollowIdsResponse @@ -662,107 +772,125 @@ export = CatalogApplicationModel; */ /** * @typedef LatLong - * @property {number[]} [coordinates] - * @property {string} [type] + * @property {number[]} [coordinates] - An array containing the latitude and + * longitude values of the location. + * @property {string} [type] - The type of geographic coordinate system used. + * For example, "Point" indicates a single point in a geographic coordinate system. */ /** * @typedef Store - * @property {number} [uid] - * @property {string} [store_email] - * @property {string} [state] - * @property {string} [country] - * @property {number} [pincode] - * @property {string} [city] - * @property {string} [address] - * @property {string} [store_code] + * @property {number} [uid] - A unique identifier for the store. + * @property {string} [store_email] - The manager's email address for the store. + * @property {string} [state] - The state or province where the store is located. + * @property {string} [country] - The country where the store is located. + * @property {number} [pincode] - The postal code or zip code for the store's location. + * @property {string} [city] - The city where the store is located. + * @property {string} [address] - The street address of the store. + * @property {string} [store_code] - A unique code or identifier for the store, + * often used for internal reference. * @property {LatLong} [lat_long] - * @property {string} [name] - * @property {string[]} [tags] + * @property {string} [name] - The name of the store. + * @property {string[]} [tags] - The list of tags mapped to the store. */ /** * @typedef StoreListingResponse - * @property {Store[]} items + * @property {Store[]} items - An array of store details. Each store includes + * information such as name, address, and geographic coordinates. * @property {Page} page */ /** * @typedef StoreDepartments - * @property {number} [uid] - * @property {Object} [logo] - * @property {number} [priority_order] - * @property {string} [name] - * @property {string} [slug] + * @property {number} [uid] - The unique identifier assigned to the store department. + * @property {Object} [logo] - An object containing information about the store + * department's logo, such as the URL or other related media details. + * @property {number} [priority_order] - The priority or ranking of the + * department within the store. This field is used to determine the order in + * which departments are displayed or processed. + * @property {string} [name] - The name of the store department, which is + * typically used for display and identification purposes. + * @property {string} [slug] - A URL-friendly identifier for the store + * department, often used in web addresses and routing to uniquely identify + * the department. */ /** * @typedef CompanyStore - * @property {number} [uid] - * @property {string} [name] - * @property {string} [company_type] - * @property {string} [business_type] + * @property {number} [uid] - The unique identifier for the company store. + * @property {string} [name] - The name of the company store. + * @property {string} [company_type] - The type of company, which can be one of + * the following: - `distributor`: Distributor - `franchise`: Franchise - + * `mbo`: MBO (Managed Business Operations) - `manufacturer-owner`: Owner/Manufacturer. + * @property {string} [business_type] - The type of business structure, which + * can be one of the following: - `Private`: Private Limited Company - + * `LLP/Partnership`: Limited Liability Partnership or Partnership - + * `HUF/Proprietorship`: Hindu Undivided Family or Proprietorship. */ /** * @typedef SellerPhoneNumber - * @property {number} country_code - * @property {string} number + * @property {number} country_code - The country code of the seller's phone number. + * @property {string} number - The seller's contact number. */ /** * @typedef StoreManagerSerializer - * @property {string} [name] - * @property {string} [email] + * @property {string} [name] - The name of the store manager. + * @property {string} [email] - The email address of the store manager. * @property {SellerPhoneNumber} [mobile_no] */ /** * @typedef StoreAddressSerializer - * @property {number} [latitude] - * @property {string} [state] - * @property {string} [country] - * @property {string} [landmark] - * @property {string} [address1] - * @property {number} [pincode] - * @property {string} [city] - * @property {number} [longitude] - * @property {string} [address2] + * @property {number} [latitude] - The latitude of the store's location. + * @property {string} [state] - The state where the store is located. + * @property {string} [country] - The country where the store is located. + * @property {string} [landmark] - A landmark near the store. + * @property {string} [address1] - The address line 1 of the store. + * @property {number} [pincode] - The postal code for the store's location. + * @property {string} [city] - The city where the store is located. + * @property {number} [longitude] - The longitude of the store's location. + * @property {string} [address2] - The address line2 of the store. */ /** * @typedef AppStore - * @property {number} [uid] - * @property {StoreDepartments[]} [departments] + * @property {number} [uid] - The unique identifier for the application store. + * @property {StoreDepartments[]} [departments] - A list of departments within the store. * @property {CompanyStore} [company] * @property {StoreManagerSerializer} [manager] - * @property {string} [store_code] + * @property {string} [store_code] - A unique code for identifying the store. * @property {StoreAddressSerializer} [address] - * @property {string} [name] - * @property {SellerPhoneNumber[]} [contact_numbers] + * @property {string} [name] - The name of the store. + * @property {SellerPhoneNumber[]} [contact_numbers] - A list of contact numbers + * for the store. */ /** * @typedef ApplicationStoreListing - * @property {Object[]} [filters] - * @property {AppStore[]} [items] + * @property {Object[]} [filters] - A list of filters applied to the store listing. + * @property {AppStore[]} [items] - A list of application stores. * @property {Page} [page] */ /** * @typedef Time - * @property {number} [hour] - * @property {number} [minute] + * @property {number} [hour] - The hour part of the time. + * @property {number} [minute] - The minute part of the time. */ /** * @typedef StoreTiming - * @property {boolean} [open] + * @property {boolean} [open] - Indicates if the store is open on this day. * @property {Time} [closing] - * @property {string} [weekday] + * @property {string} [weekday] - The day of the week. * @property {Time} [opening] */ /** * @typedef StoreDetails - * @property {number} [uid] - * @property {StoreDepartments[]} [departments] + * @property {number} [uid] - The unique identifier for the store. + * @property {StoreDepartments[]} [departments] - A list of departments within the store. * @property {CompanyStore} [company] * @property {StoreManagerSerializer} [manager] - * @property {string} [store_code] - * @property {StoreTiming[]} [timing] + * @property {string} [store_code] - A unique code for identifying the store. + * @property {StoreTiming[]} [timing] - The opening and closing times for the + * store throughout the week. * @property {StoreAddressSerializer} [address] - * @property {Object} [_custom_json] - * @property {string} [name] - * @property {SellerPhoneNumber[]} [contact_numbers] + * @property {Object} [_custom_json] - Custom JSON data for the store. + * @property {string} [name] - The name of the store. + * @property {SellerPhoneNumber[]} [contact_numbers] - A list of contact numbers + * for the store. */ /** * @typedef UserDetail @@ -773,10 +901,10 @@ export = CatalogApplicationModel; */ /** * @typedef Size - * @property {number} [quantity] - The quantity of this size available - * @property {Object} [value] - The value of the size - * @property {Object} [display] - The display string for the size - * @property {boolean} [is_available] - Whether or not this size is available + * @property {number} [quantity] - The quantity of this size available. + * @property {Object} [value] - The value of the size. + * @property {Object} [display] - The display string for the size. + * @property {boolean} [is_available] - Whether or not this size is available. */ /** * @typedef ProductGroupPrice @@ -788,121 +916,125 @@ export = CatalogApplicationModel; */ /** * @typedef ProductDetails - * @property {Object} [template_tag] - The template tag of the product - * @property {number} [rating_count] - The number of ratings the product has received - * @property {Object} [image_nature] - The nature of the product's images - * @property {boolean} [has_variant] - Whether or not the product has a variant - * @property {Object} [description] - The long description of the product - * @property {boolean} [out_of_stock] - Whether or not the product is out of stock - * @property {number} [hsn_code] - The HSN code of the product - * @property {Object} [grouped_attributes] - A dictionary of grouped product attributes - * @property {Object} [item_code] - The item code of the product - * @property {Object} [name] - The name of the product - * @property {Object} [country_of_origin] - The country of origin for the product - * @property {Object} [short_description] - The short description of the product - * @property {Object[]} [media] - A list of media objects for the product - * @property {Object} [attributes] - A dictionary of product attributes - * @property {boolean} [is_set] - Whether or not the product is a set of items - * @property {Object[]} [images] - A list of image URLs for the product - * @property {Object} [slug] - The slug of the product - * @property {number} [rating] - The rating of the product - * @property {Object} [identifier] - A dictionary of product identifiers - * @property {Object[]} [highlights] - A list of highlights for the product - * @property {number} [brand_uid] - The unique ID of the product's brand + * @property {Object} [template_tag] - The template tag of the product. + * @property {number} [rating_count] - The number of ratings the product has received. + * @property {Object} [image_nature] - The nature of the product's images. + * @property {boolean} [has_variant] - Whether or not the product has a variant. + * @property {Object} [description] - The long description of the product. + * @property {boolean} [out_of_stock] - Whether or not the product is out of stock. + * @property {number} [hsn_code] - The HSN code of the product. + * @property {Object} [grouped_attributes] - A dictionary of grouped product attributes. + * @property {Object} [item_code] - The item code of the product. + * @property {Object} [name] - The name of the product. + * @property {Object} [country_of_origin] - The country of origin for the product. + * @property {Object} [short_description] - The short description of the product. + * @property {Object[]} [media] - A list of media objects for the product. + * @property {Object} [attributes] - A dictionary of product attributes. + * @property {boolean} [is_set] - Whether or not the product is a set of items. + * @property {Object[]} [images] - A list of image URLs for the product. + * @property {Object} [slug] - The slug of the product. + * @property {number} [rating] - The rating of the product. + * @property {Object} [identifier] - A dictionary of product identifiers. + * @property {Object[]} [highlights] - A list of highlights for the product. + * @property {number} [brand_uid] - The unique ID of the product's brand. */ /** * @typedef ProductInGroup - * @property {boolean} [auto_add_to_cart] - A flag indicating whether the - * product should be automatically added to the cart. + * @property {boolean} [auto_add_to_cart] - Whether the product should be + * automatically added to the cart. * @property {number} max_quantity - The maximum quantity of the product that * can be added to the cart. * @property {Size[]} [sizes] - The available sizes for the product. - * @property {ProductGroupPrice} [price] - The price details for the product group. - * @property {boolean} [auto_select] - A flag indicating whether the product - * should be automatically selected. + * @property {ProductGroupPrice} [price] - The price details for the product. + * @property {boolean} [auto_select] - Whether the product should be + * automatically selected. * @property {ProductDetails} [product_details] - The details of the product. * @property {number} [min_quantity] - The minimum quantity of the product that * can be added to the cart. - * @property {boolean} [allow_remove] - A flag indicating whether the product - * can be removed from the cart. + * @property {boolean} [allow_remove] - Whether the product can be removed from the cart. * @property {number} product_uid - The unique ID of the product in the group. */ /** * @typedef ProductGroupingModel - * @property {string} [logo] - The URL for the logo of the product grouping. + * @property {string} [logo] - The URL for the logo of the product group. * @property {boolean} [is_active] - Whether the product grouping is active. * @property {Object} [meta] - A dictionary containing metadata information. * @property {UserDetail} [verified_by] - User details of the verifier of the - * document, if applicable - * @property {string} created_on - Timestamp of the creation of the document + * document, if applicable. + * @property {string} created_on - Timestamp of the creation of the document. * @property {number} [company_id] - The ID of the company that owns the product grouping. * @property {Object[]} [page_visibility] - A list of page visibilities of the * product grouping. - * @property {string} modified_on - Timestamp of the last modification of the document - * @property {UserDetail} [created_by] - User details of the creator of the document + * @property {string} modified_on - Timestamp of the last modification of the document. + * @property {UserDetail} [created_by] - User details of the creator of the document. * @property {UserDetail} [modified_by] - User details of the last modifier of - * the document + * the document. * @property {ProductInGroup[]} products - A list of products in the grouping. * @property {boolean} [same_store_assignment] - Whether the products are * assigned to the same store. - * @property {Object} [_id] + * @property {Object} [_id] - Unique identifier of the product grouping. * @property {Object} name - The name of the product grouping. * @property {Object} [choice] - The choice of the product grouping. * @property {Object} [slug] - The unique identifier for the product grouping. * @property {string} [verified_on] - Timestamp of when the document was - * verified, if applicable + * verified, if applicable. */ /** * @typedef ProductBundle - * @property {ProductGroupingModel[]} [items] + * @property {ProductGroupingModel[]} [items] - Represents list of + * bundles/product groupings. */ /** * @typedef StoreV3 - * @property {number} [uid] - * @property {string} [name] - * @property {number} [count] + * @property {number} [uid] - The unique identifier for the store. + * @property {string} [name] - The name of the store. + * @property {number} [count] - The count associated with the store. */ /** * @typedef ArticleAssignmentV3 - * @property {string} [strategy] - * @property {string} [level] + * @property {string} [strategy] - Method used for article assignment, such as + * optimal, fast-delivery, low-price, or manual. + * @property {string} [level] - Scope of assignment, which can be + * multi-companies, single-company, or single-store. */ /** * @typedef StrategyWiseListingSchemaV3 - * @property {number} [distance] - * @property {number} [pincode] - * @property {number} [tat] - * @property {number} [quantity] + * @property {number} [distance] - Distance between bullfight location and + * customer location in kilometers. . + * @property {number} [pincode] - Pincode mapped based on strategy. + * @property {number} [tat] - Turn around Time to deliver the product with this strategy. + * @property {number} [quantity] - The quantity available for assigned store. */ /** * @typedef DetailsSchemaV3 - * @property {string} [value] - * @property {string} [type] - * @property {string} [key] + * @property {string} [value] - The value of the attribute. + * @property {string} [type] - The type of detail e.g, text. + * @property {string} [key] - The attribute key associated with the size. */ /** * @typedef SellerGroupAttributes - * @property {string} [title] - * @property {DetailsSchemaV3[]} [details] + * @property {string} [title] - The title of the attribute group. + * @property {DetailsSchemaV3[]} [details] - Detail of the attribute. */ /** * @typedef ReturnConfigSchemaV3 - * @property {string} [unit] - * @property {boolean} [returnable] - * @property {number} [time] + * @property {string} [unit] - The unit for the return configuration. + * @property {boolean} [returnable] - Indicates if the item is returnable. + * @property {number} [time] - The time duration for the return policy. */ /** * @typedef ProductSetDistributionSizeV3 - * @property {number} [pieces] - * @property {string} [size] + * @property {number} [pieces] - The number of pieces available in this size. + * @property {string} [size] - The size of the product. */ /** * @typedef ProductSetDistributionV3 - * @property {ProductSetDistributionSizeV3[]} [sizes] + * @property {ProductSetDistributionSizeV3[]} [sizes] - A list of size + * distributions in the product set. */ /** * @typedef ProductSetV3 - * @property {number} [quantity] + * @property {number} [quantity] - The quantity of products in the set. * @property {ProductSetDistributionV3} [size_distribution] */ /** @@ -910,7 +1042,7 @@ export = CatalogApplicationModel; * @property {number} [effective] - The effective or final price for the product * at the given pincode. * @property {string} [currency_code] - The currency code for which the product - * is available + * is available. * @property {string} [currency_symbol] - The currency symbol for the currency * in which the product is available. * @property {number} [marked] - The marked price of the product. @@ -918,64 +1050,82 @@ export = CatalogApplicationModel; */ /** * @typedef ProductStockUnitPriceV3 - * @property {string} [unit] - * @property {string} [currency_symbol] - * @property {string} [currency_code] - * @property {number} [price] + * @property {string} [unit] - The unit of measure for the product. + * @property {string} [currency_symbol] - The currency symbol for the unit price. + * @property {string} [currency_code] - The currency code for the unit price. + * @property {number} [price] - The unit price of the product. */ /** * @typedef MarketPlaceSttributesSchemaV3 - * @property {string} [title] - * @property {DetailsSchemaV3[]} [details] + * @property {string} [title] - The title of the attribute. + * @property {DetailsSchemaV3[]} [details] - Detail of the attribute. */ /** * @typedef SellerV3 - * @property {number} [uid] - * @property {string} [name] - * @property {number} [count] + * @property {number} [uid] - The unique identifier for the seller. + * @property {string} [name] - The name of the seller. + * @property {number} [count] - The store count serviceable by this seller. */ /** * @typedef PromiseSchema - * @property {string} [min] - * @property {string} [max] + * @property {string} [min] - The minimum promise time. + * @property {string} [max] - The maximum promise time. */ /** * @typedef ProductSizePriceResponseV3 * @property {StoreV3} [store] * @property {ArticleAssignmentV3} [article_assignment] - * @property {boolean} [is_cod] - * @property {StrategyWiseListingSchemaV3[]} [strategy_wise_listing] - * @property {number} [quantity] - * @property {string} [item_type] - * @property {SellerGroupAttributes[]} [grouped_attributes] + * @property {boolean} [is_cod] - Whether Cash on Delivery (COD) is available + * for this product. It is true if COD is available and false otherwise. + * @property {StrategyWiseListingSchemaV3[]} [strategy_wise_listing] - Details + * about serviceability attributes. + * @property {number} [quantity] - Available quantity of the product in stock. + * It shows the number of units available for purchase. + * @property {string} [item_type] - Type of item, indicating the category or + * nature of the product. Possible values are Standard, Composite, Wet, Digital. + * @property {SellerGroupAttributes[]} [grouped_attributes] - Collection of + * attributes grouped together, which provides detailed characteristics of the + * product, such as color, size, material, etc. * @property {ReturnConfigSchemaV3} [return_config] - * @property {string} [article_id] - * @property {boolean} [is_gift] + * @property {string} [article_id] - This unique identifier is assigned to the + * specific article. This represents item x size x location. + * @property {boolean} [is_gift] - Whether the product can be purchased as a + * gift. It is true if the product is available for gifting and false otherwise. * @property {ProductSetV3} [set] - * @property {number} [seller_count] + * @property {number} [seller_count] - Number of sellers offering this product. + * It indicates the level of competition and availability from different sellers. * @property {ProductStockPriceV3} [price_per_piece] * @property {DiscountMeta} [discount_meta] - * @property {string} [discount] - * @property {number[]} [long_lat] - * @property {string} [special_badge] + * @property {string} [discount] - Amount or percentage of discount applied to + * the product's price, showing the savings for the customer. + * @property {number[]} [long_lat] - Longitude and latitude coordinates, + * possibly indicating the location of the store or warehouse where the + * product is stocked. + * @property {string} [special_badge] - Special badges or labels assigned to the + * product, such as "Bestseller," "New Arrival," or "Limited Edition.". * @property {ProductStockPriceV3} [price] * @property {ProductStockUnitPriceV3} [price_per_unit] - * @property {number} [pincode] - * @property {MarketPlaceSttributesSchemaV3[]} [marketplace_attributes] + * @property {number} [pincode] - Postal code or zip code for which the + * product's availability and delivery options are being checked. + * @property {MarketPlaceSttributesSchemaV3[]} [marketplace_attributes] - + * Attributes specific to the marketplace, such as ratings, reviews, shipping + * options, and other marketplace-specific details. * @property {SellerV3} [seller] * @property {PromiseSchema} [delivery_promise] */ /** * @typedef ProductSizeSellerFilterSchemaV3 - * @property {string} [name] - * @property {boolean} [is_selected] - * @property {string} [value] + * @property {string} [name] - The name of the store/seller. + * @property {boolean} [is_selected] - Whether this filter criterion is selected. + * @property {string} [value] - The value associated with this store/seller. */ /** * @typedef ProductSizeSellersResponseV3 - * @property {ProductSizePriceResponseV3[]} [items] + * @property {ProductSizePriceResponseV3[]} [items] - A list of products with + * size and price details available from various sellers. * @property {Page} page - * @property {ProductSizeSellerFilterSchemaV3[]} [sort_on] + * @property {ProductSizeSellerFilterSchemaV3[]} [sort_on] - A list of sorting + * and filtering criteria applied to the sellers' data. */ declare class CatalogApplicationModel { } @@ -985,51 +1135,107 @@ declare namespace CatalogApplicationModel { /** @returns {ProductDetailCustomOrder} */ declare function ProductDetailCustomOrder(): ProductDetailCustomOrder; type ProductDetailCustomOrder = { + /** + * - The unit of time taken for manufacturing. + */ manufacturing_time?: number; + /** + * - The unit of time required for + * manufacturing is defined in hours or days. + */ manufacturing_time_unit?: string; + /** + * - A boolean flag indicating whether MTO + * (Make to Order) is enabled or not. + */ is_custom_order?: boolean; }; /** @returns {Meta} */ declare function Meta(): Meta; type Meta = { + /** + * - The source or origin of the media file, which + * could be a URL or a reference to where the media was obtained. + */ source?: string; }; /** @returns {Media} */ declare function Media(): Media; type Media = { + /** + * - Absolute url for Media. + */ url?: string; + /** + * - The type of media, such as image, video. + */ type?: string; meta?: Meta; + /** + * - Alternative text for the media, used for + * accessibility and SEO purposes. + */ alt?: string; }; /** @returns {ProductListingActionPage} */ declare function ProductListingActionPage(): ProductListingActionPage; type ProductListingActionPage = { + /** + * - The type of action such as product, products, + * category, brand. + */ type?: string; + /** + * - Query parameter if any to be added to the action. + */ query?: any; + /** + * - Parameters that should be considered in path. + */ params?: any; }; /** @returns {ProductListingAction} */ declare function ProductListingAction(): ProductListingAction; type ProductListingAction = { + /** + * - Type of action to be taken e.g, page. + */ type?: string; page?: ProductListingActionPage; }; /** @returns {ProductBrand} */ declare function ProductBrand(): ProductBrand; type ProductBrand = { + /** + * - Unique identifier for the product brand. + */ uid?: number; logo?: Media; + /** + * - Description of the product brand. + */ description?: string; + /** + * - Name of the product brand. + */ name?: string; action?: ProductListingAction; }; /** @returns {ProductDepartment} */ declare function ProductDepartment(): ProductDepartment; type ProductDepartment = { + /** + * - Unique identifier for the product department. + */ uid?: number; logo?: Media; + /** + * - URL-friendly identifier for the product department. + */ slug?: string; + /** + * - Name of the product department. + */ name?: string; }; /** @returns {ProductCategoryMap} */ @@ -1068,25 +1274,41 @@ type CustomMetaFields = { declare function ApplicationItemSEO(): ApplicationItemSEO; type ApplicationItemSEO = { /** - * - The SEO title of the item + * - The SEO title of the item. */ title?: any; /** - * - The SEO description of the item + * - The SEO description of the item. */ description?: any; }; /** @returns {ProductDetailAttribute} */ declare function ProductDetailAttribute(): ProductDetailAttribute; type ProductDetailAttribute = { + /** + * - The value of the product attribute. + */ value?: string; + /** + * - The type or category of the product attribute. + */ type?: string; + /** + * - The key or name of the product attribute. + */ key?: string; }; /** @returns {ProductDetailGroupedAttribute} */ declare function ProductDetailGroupedAttribute(): ProductDetailGroupedAttribute; type ProductDetailGroupedAttribute = { + /** + * - The title or name of the attribute group. + */ title?: string; + /** + * - A list of product attributes + * within this group. + */ details?: ProductDetailAttribute[]; }; /** @returns {ApplicationItemMOQ} */ @@ -1144,70 +1366,170 @@ type ProductSizesPrice = { /** @returns {ProductDetail} */ declare function ProductDetail(): ProductDetail; type ProductDetail = { + /** + * - Unique identifier for the product. + */ uid?: number; custom_order?: ProductDetailCustomOrder; category_map?: ProductCategoryMap; net_quantity?: NetQuantity; + /** + * - Count of ratings the product has received. + */ rating_count?: number; + /** + * - Custom metadata fields + * associated with the product. + */ _custom_meta?: CustomMetaFields[]; + /** + * - List of products marked similar to given product. + */ similars?: string[]; + /** + * - Tags associated with the product for better + * categorization. + */ tags?: string[]; seo?: ApplicationItemSEO; + /** + * - Type of the images associated with the + * product such as standard. + */ image_nature?: string; + /** + * - Indicates whether the product has variants. + */ has_variant?: boolean; + /** + * - This field describes the type of item, + * indicating the category or nature of the product. Possible values are + * Standard, Composite, Wet, Digital. + */ item_type?: string; + /** + * - Detailed description of the product. + */ description?: string; + /** + * - Grouped + * attributes detailing various characteristics of the product. + */ grouped_attributes?: ProductDetailGroupedAttribute[]; + /** + * - Media files associated with the product. + */ medias?: Media[]; + /** + * - Color of the product, if applicable. + */ color?: string; + /** + * - Product type or classification. + */ type?: string; + /** + * - Date and time when the product was + * made available online. + */ product_online_date?: string; + /** + * - Custom JSON object for additional product data. + */ _custom_json?: any; + /** + * - Item Code defined for the product. + */ item_code?: string; + /** + * - Name of the product. + */ name?: string; moq?: ApplicationItemMOQ; + /** + * - Brief description of the product. + */ short_description?: string; + /** + * - List of product categories + * associated with the product. + */ categories?: ProductBrand[]; + /** + * - Additional attributes or characteristics of + * the product. + */ attributes?: any; + /** + * - Discount applied to the product, if any. + */ discount?: string; + /** + * - Identifiers or names of tryout versions of + * the product. + */ tryouts?: string[]; + /** + * - URL-friendly identifier for the product. + */ slug: string; action?: ProductListingAction; + /** + * - The rating of the product. + */ rating?: number; + /** + * - Indicates whether the product can be + * sold as an individual product. + */ is_dependent?: boolean; + /** + * - List of bundle/product grouping + * slugs mapped to the product. + */ product_group_tag?: string[]; + /** + * - Key highlights or features of the product. + */ highlights?: string[]; price?: ProductListingPrice; brand?: ProductBrand; department?: ProductDepartment; + /** + * - Teaser tag or short promotional phrase for + * the product. + */ teaser_tag?: string; }; /** @returns {ErrorResponse} */ declare function ErrorResponse(): ErrorResponse; type ErrorResponse = { + /** + * - A brief description of the error. + */ error?: string; }; /** @returns {Dimension} */ declare function Dimension(): Dimension; type Dimension = { /** - * - The unit of dimension + * - The unit of dimension. */ unit: string; /** - * - The height of the product + * - The height of the product. */ height: number; /** - * - The length of the product + * - The length of the product. */ length: number; /** - * - The width of the product + * - The width of the product. */ width: number; /** - * - Whether the dimension is the default one or not + * - Whether the dimension is the default one or not. */ is_default: boolean; }; @@ -1215,15 +1537,15 @@ type Dimension = { declare function Weight(): Weight; type Weight = { /** - * - The unit of weight + * - The unit of weight. */ unit: string; /** - * - The shipping weight of the product + * - The shipping weight of the product. */ shipping: number; /** - * - Whether the weight is the default one or not + * - Whether the weight is the default one or not. */ is_default: boolean; }; @@ -1252,28 +1574,70 @@ type DiscountMeta = { /** @returns {ProductSize} */ declare function ProductSize(): ProductSize; type ProductSize = { + /** + * - The quantity of the product size available. + */ quantity?: number; dimension?: Dimension; weight?: Weight; + /** + * - Indicates whether the product size is + * available for purchase. + */ is_available?: boolean; + /** + * - List of identifiers used by + * sellers for the product size. + */ seller_identifiers?: string[]; + /** + * - The value or label representing the product size. + */ value?: string; + /** + * - Display name of the product size. + */ display?: string; }; /** @returns {SizeChartValues} */ declare function SizeChartValues(): SizeChartValues; type SizeChartValues = { + /** + * - Value for column 3. + */ col_3?: string; + /** + * - Value for column 6. + */ col_6?: string; + /** + * - Value for column 2. + */ col_2?: string; + /** + * - Value for column 4. + */ col_4?: string; + /** + * - Value for column 1. + */ col_1?: string; + /** + * - Value for column 5. + */ col_5?: string; }; /** @returns {ColumnHeader} */ declare function ColumnHeader(): ColumnHeader; type ColumnHeader = { + /** + * - Indicates if the column value can be + * converted or transformed. + */ convertable?: boolean; + /** + * - The value or title of the column header. + */ value?: string; }; /** @returns {ColumnHeaders} */ @@ -1289,28 +1653,61 @@ type ColumnHeaders = { /** @returns {SizeChart} */ declare function SizeChart(): SizeChart; type SizeChart = { + /** + * - Unit of measurement used in the size chart (e.g., in, cm). + */ unit?: string; + /** + * - URL of the image representing the size chart. + */ image?: string; + /** + * - Additional tip or guideline related to sizing. + */ size_tip?: string; + /** + * - Array of size chart values for different sizes. + */ sizes?: SizeChartValues[]; + /** + * - Description related to the size chart. + */ description?: string; + /** + * - Title or name of the size chart. + */ title?: string; headers?: ColumnHeaders; }; /** @returns {ProductSizeStores} */ declare function ProductSizeStores(): ProductSizeStores; type ProductSizeStores = { + /** + * - Number of stores where the product size is available. + */ count?: number; }; /** @returns {ProductSizes} */ declare function ProductSizes(): ProductSizes; type ProductSizes = { + /** + * - List of available sizes for the product. + */ sizes?: ProductSize[]; price?: ProductSizesPrice; price_per_piece?: ProductSizesPrice; size_chart?: SizeChart; + /** + * - Whether the product sizes are available for sale. + */ sellable?: boolean; + /** + * - Whether the product supports multiple sizes. + */ multi_size?: boolean; + /** + * - Discount information applicable to the product sizes. + */ discount?: string; stores?: ProductSizeStores; discount_meta?: DiscountMeta; @@ -1318,29 +1715,68 @@ type ProductSizes = { /** @returns {AttributeDetail} */ declare function AttributeDetail(): AttributeDetail; type AttributeDetail = { + /** + * - URL or path to the logo associated with the attribute. + */ logo?: string; + /** + * - A description of the attribute. + */ description?: string; + /** + * - Display name or label for the attribute. + */ display?: string; + /** + * - Unique key or identifier for the attribute. + */ key?: string; }; /** @returns {AttributeMetadata} */ declare function AttributeMetadata(): AttributeMetadata; type AttributeMetadata = { + /** + * - Title or name of the attribute metadata. + */ title?: string; + /** + * - List of detailed information about + * attributes. + */ details?: AttributeDetail[]; }; /** @returns {ProductsComparisonResponse} */ declare function ProductsComparisonResponse(): ProductsComparisonResponse; type ProductsComparisonResponse = { + /** + * - List of product details for comparison. + */ items?: ProductDetail[]; + /** + * - Metadata about + * attributes used for comparing products. + */ attributes_metadata?: AttributeMetadata[]; }; /** @returns {ProductCompareResponse} */ declare function ProductCompareResponse(): ProductCompareResponse; type ProductCompareResponse = { + /** + * - Title or name of the comparison. + */ title?: string; + /** + * - List of product details for comparison. + */ items?: ProductDetail[]; + /** + * - Metadata about + * attributes used for comparing products. + */ attributes_metadata?: AttributeMetadata[]; + /** + * - Subtitle or additional description for the comparison. + */ subtitle?: string; }; /** @returns {ProductFrequentlyComparedSimilarResponse} */ @@ -1351,194 +1787,540 @@ type ProductFrequentlyComparedSimilarResponse = { /** @returns {ProductVariantItemResponse} */ declare function ProductVariantItemResponse(): ProductVariantItemResponse; type ProductVariantItemResponse = { + /** + * - Unique identifier for the product variant. + */ uid?: number; + /** + * - Name of the color for the variant. + */ color_name?: string; + /** + * - Color code or representation for the variant. + */ color?: string; + /** + * - Media files associated with the product variant. + */ medias?: Media[]; + /** + * - Indicates whether the product variant is + * available for purchase. + */ is_available?: boolean; + /** + * - Custom metadata fields + * associated with the product. + */ _custom_meta?: CustomMetaFields[]; + /** + * - Name of the product variant. + */ name?: string; + /** + * - Value or label representing the product variant. + */ value?: string; + /** + * - URL-friendly identifier for the product. + */ slug?: string; + /** + * - Custom JSON object for additional data + * related to the product. + */ _custom_json?: any; action?: ProductListingAction; }; /** @returns {ProductVariantResponse} */ declare function ProductVariantResponse(): ProductVariantResponse; type ProductVariantResponse = { + /** + * - The type of display for the product + * variant (e.g., image, text, image, color). + */ display_type?: string; + /** + * - Header or title for the product variant section. + */ header?: string; + /** + * - Group ID used to group variants. + */ group_id?: string; + /** + * - List of product variant items. + */ items?: ProductVariantItemResponse[]; + /** + * - Attribute identifier of the variant. + */ key?: string; + /** + * - URL or path to the logo associated with the + * product variant. + */ logo?: string; }; /** @returns {ProductVariantsResponse} */ declare function ProductVariantsResponse(): ProductVariantsResponse; type ProductVariantsResponse = { + /** + * - A list of product variant + * responses, each detailing a specific variant. + */ variants?: ProductVariantResponse[]; }; /** @returns {StoreDetail} */ declare function StoreDetail(): StoreDetail; type StoreDetail = { + /** + * - NA. + */ name?: string; + /** + * - NA. + */ city?: string; + /** + * - NA. + */ id?: number; + /** + * - NA. + */ code?: string; }; /** @returns {ProductStockPrice} */ declare function ProductStockPrice(): ProductStockPrice; type ProductStockPrice = { + /** + * - NA. + */ effective?: number; + /** + * - NA. + */ currency?: string; + /** + * - NA. + */ marked?: number; }; /** @returns {CompanyDetail} */ declare function CompanyDetail(): CompanyDetail; type CompanyDetail = { + /** + * - NA. + */ name?: string; + /** + * - NA. + */ id?: number; }; /** @returns {Seller} */ declare function Seller(): Seller; type Seller = { + /** + * - NA. + */ uid?: number; + /** + * - NA. + */ name?: string; + /** + * - NA. + */ count?: number; }; /** @returns {ProductStockStatusItem} */ declare function ProductStockStatusItem(): ProductStockStatusItem; type ProductStockStatusItem = { + /** + * - NA. + */ uid?: string; + /** + * - NA. + */ quantity?: number; store?: StoreDetail; + /** + * - NA. + */ size?: string; price?: ProductStockPrice; company?: CompanyDetail; + /** + * - NA. + */ item_id?: number; seller?: Seller; + /** + * - NA. + */ identifier?: any; }; /** @returns {ProductStockStatusResponse} */ declare function ProductStockStatusResponse(): ProductStockStatusResponse; type ProductStockStatusResponse = { + /** + * - NA. + */ items?: ProductStockStatusItem[]; }; /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {ProductStockPolling} */ declare function ProductStockPolling(): ProductStockPolling; type ProductStockPolling = { + /** + * - NA. + */ items?: ProductStockStatusItem[]; page: Page; }; /** @returns {ProductVariantListingResponse} */ declare function ProductVariantListingResponse(): ProductVariantListingResponse; type ProductVariantListingResponse = { + /** + * - Header or title for the product variant section. + */ header?: string; + /** + * - List of Upto 5 product + * variant items. + */ items?: ProductVariantItemResponse[]; + /** + * - The total number of product variants available. + */ total?: number; + /** + * - Attribute identifier of the variant. + */ key?: string; + /** + * - The type of display for the product + * variant (e.g., image, text, image, color). + */ display_type?: string; }; /** @returns {ProductListingDetail} */ declare function ProductListingDetail(): ProductListingDetail; type ProductListingDetail = { + /** + * - Unique identifier for the product. + */ uid?: number; custom_order?: ProductDetailCustomOrder; + /** + * - Available sizes for the product. + */ sizes?: string[]; category_map?: ProductCategoryMap; net_quantity?: NetQuantity; + /** + * - The number of ratings the product has received. + */ rating_count?: number; + /** + * - Custom metadata fields + * associated with the product. + */ _custom_meta?: CustomMetaFields[]; + /** + * - List of products marked similar to given product. + */ similars?: string[]; + /** + * - Tags associated with the product for better + * categorization. + */ tags?: string[]; seo?: ApplicationItemSEO; + /** + * - Type of the images associated with the + * product such as standard. + */ image_nature?: string; + /** + * - Indicates whether the product has variants. + */ has_variant?: boolean; + /** + * - This field describes the type of item, + * indicating the category or nature of the product. Possible values are + * Standard, Composite, Wet, Digital. + */ item_type?: string; + /** + * - Detailed description of the product. + */ description?: string; + /** + * - Grouped + * attributes detailing various characteristics of the product. + */ grouped_attributes?: ProductDetailGroupedAttribute[]; + /** + * - Media files associated with the product. + */ medias?: Media[]; + /** + * - Color of the product, if applicable. + */ color?: string; + /** + * - Product type or classification. + */ type?: string; + /** + * - Date and time when the product was + * made available online. + */ product_online_date?: string; + /** + * - Custom JSON object for additional product data. + */ _custom_json?: any; + /** + * - Item Code defined for the product. + */ item_code?: string; + /** + * - Name of the product. + */ name?: string; moq?: ApplicationItemMOQ; + /** + * - Brief description of the product. + */ short_description?: string; + /** + * - List of product categories + * associated with the product. + */ categories?: ProductBrand[]; + /** + * - Indicates whether the product is available for sale. + */ sellable?: boolean; + /** + * - Additional attributes or characteristics of + * the product. + */ attributes?: any; + /** + * - List of product + * variants available for the product. + */ variants?: ProductVariantListingResponse[]; + /** + * - Discount details or percentage applied to the product. + */ discount?: string; + /** + * - List of tryout options available for the product. + */ tryouts?: string[]; + /** + * - List of seller identifiers for the product. + */ identifiers?: string[]; + /** + * - URL-friendly identifier for the product. + */ slug: string; action?: ProductListingAction; + /** + * - Rating of the product. + */ rating?: number; + /** + * - Indicates whether the product can be + * sold as an individual product. + */ is_dependent?: boolean; + /** + * - List of bundle/product grouping + * slugs mapped to the product. + */ product_group_tag?: string[]; + /** + * - Key highlights or features of the product. + */ highlights?: string[]; price?: ProductListingPrice; brand?: ProductBrand; + /** + * - Teaser tag or short promotional phrase for + * the product. + */ teaser_tag?: string; }; /** @returns {ProductFiltersValue} */ declare function ProductFiltersValue(): ProductFiltersValue; type ProductFiltersValue = { + /** + * - Minimum value for the range filter. + */ min?: number; + /** + * - Format in which the filter value is displayed. + */ display_format?: string; + /** + * - The maximum value selected by the user + * for range filter. + */ selected_max?: number; + /** + * - Value associated with the filter option. + */ value?: string; + /** + * - Format used for the filter value in queries. + */ query_format?: string; + /** + * - Currency symbol for the price type filters. + */ currency_symbol?: string; + /** + * - The minimum value selected by the user + * for range filter. + */ selected_min?: number; + /** + * - Currency code for the currency used for + * price type filters. + */ currency_code?: string; + /** + * - Whether this filter value is currently selected. + */ is_selected: boolean; + /** + * - Display name or label for the filter value. + */ display: string; + /** + * - Number of products that match this filter value. + */ count?: number; + /** + * - Maximum value of the filter range. + */ max?: number; }; /** @returns {ProductFiltersKey} */ declare function ProductFiltersKey(): ProductFiltersKey; type ProductFiltersKey = { + /** + * - URL or path to the logo associated with the filter key. + */ logo?: string; + /** + * - Name or identifier of the filter key. + */ name: string; + /** + * - Type or category of the filter key (e.g., range, + * multivalued). + */ kind?: string; + /** + * - Display name or label for the filter key. + */ display: string; }; /** @returns {ProductFilters} */ declare function ProductFilters(): ProductFilters; type ProductFilters = { + /** + * - List of filter values associated + * with the filter key. + */ values: ProductFiltersValue[]; key: ProductFiltersKey; }; /** @returns {ProductSortOn} */ declare function ProductSortOn(): ProductSortOn; type ProductSortOn = { + /** + * - URL or path to the logo associated with the sorting option. + */ logo?: string; + /** + * - Indicates whether this sorting option is + * currently selected. + */ is_selected?: boolean; + /** + * - Name or identifier of the sorting option. + */ name?: string; + /** + * - Value used to specify the sorting order (e.g., + * price_asc, discount_dsc). + */ value?: string; + /** + * - Display name or label for the sorting option. + */ display?: string; }; /** @returns {ProductListingResponse} */ declare function ProductListingResponse(): ProductListingResponse; type ProductListingResponse = { + /** + * - List of product details included + * in the response. + */ items?: ProductListingDetail[]; + /** + * - List of filters available for + * refining the product listings. + */ filters?: ProductFilters[]; page: Page; + /** + * - List of sorting options available for + * the product listings. + */ sort_on?: ProductSortOn[]; }; /** @returns {ImageUrls} */ @@ -1550,19 +2332,44 @@ type ImageUrls = { /** @returns {BrandItem} */ declare function BrandItem(): BrandItem; type BrandItem = { + /** + * - The unique identifier for the brand. + */ uid?: number; logo?: Media; + /** + * - Detailed description of the brand, + * including its history, values, product offerings, and other relevant information. + */ description?: string; banners?: ImageUrls; + /** + * - Lists the departments or categories + * under which the brand's products are listed. + */ departments?: string[]; + /** + * - Details about any discounts currently + * available on the brand's products. + */ discount?: string; + /** + * - Name of the brand. + */ name?: string; + /** + * - URL-friendly version of the brand's name, used in + * the web address to access the brand's page on the platform. + */ slug?: string; action?: ProductListingAction; }; /** @returns {BrandListingResponse} */ declare function BrandListingResponse(): BrandListingResponse; type BrandListingResponse = { + /** + * - List of brand items included in the response. + */ items?: BrandItem[]; page: Page; }; @@ -1570,10 +2377,24 @@ type BrandListingResponse = { declare function BrandDetailResponse(): BrandDetailResponse; type BrandDetailResponse = { logo?: Media; + /** + * - The unique identifier for the brand. + */ uid?: number; + /** + * - Detailed description of the brand, + * including its history, values, product offerings, and other relevant information. + */ description?: string; banners?: ImageUrls; + /** + * - Custom JSON data related to the brand, + * allowing for additional metadata. + */ _custom_json?: any; + /** + * - Name of the brand. + */ name?: string; }; /** @returns {CategoryBanner} */ @@ -1585,164 +2406,405 @@ type CategoryBanner = { /** @returns {ThirdLevelChild} */ declare function ThirdLevelChild(): ThirdLevelChild; type ThirdLevelChild = { + /** + * - Unique identifier for the L3 category. + */ uid?: number; banners?: ImageUrls; + /** + * - List of categories under the L3 category. + */ childs?: any[]; + /** + * - Custom JSON data related to the L3 + * category, allowing for additional metadata. + */ _custom_json?: any; + /** + * - Name of the L3 category. + */ name?: string; + /** + * - Slug or URL-friendly identifier for the L3 category. + */ slug?: string; action?: ProductListingAction; }; /** @returns {SecondLevelChild} */ declare function SecondLevelChild(): SecondLevelChild; type SecondLevelChild = { + /** + * - Unique identifier for the L2 category. + */ uid?: number; banners?: ImageUrls; + /** + * - List of categories under the L2 category. + */ childs?: ThirdLevelChild[]; + /** + * - Custom JSON data related to the L2 + * category, allowing for additional metadata. + */ _custom_json?: any; + /** + * - Name of the L2 category. + */ name?: string; + /** + * - Slug or URL-friendly identifier for the L2 category. + */ slug?: string; action?: ProductListingAction; }; /** @returns {Child} */ declare function Child(): Child; type Child = { + /** + * - Unique identifier for the L1 category. + */ uid?: number; banners?: ImageUrls; + /** + * - List of categories under the L1 category. + */ childs?: SecondLevelChild[]; + /** + * - Custom JSON data related to the L1 + * category, allowing for additional metadata. + */ _custom_json?: any; + /** + * - Name of the L1 category. + */ name?: string; + /** + * - Slug or URL-friendly identifier for the L1 category. + */ slug?: string; action?: ProductListingAction; }; /** @returns {CategoryItems} */ declare function CategoryItems(): CategoryItems; type CategoryItems = { + /** + * - Unique identifier for the category. + */ uid: number; banners: CategoryBanner; + /** + * - List of L1 categories under the main category. + */ childs?: Child[]; + /** + * - Name of the category. + */ name: string; + /** + * - Slug or URL-friendly identifier for the category. + */ slug: string; action: ProductListingAction; }; /** @returns {DepartmentCategoryTree} */ declare function DepartmentCategoryTree(): DepartmentCategoryTree; type DepartmentCategoryTree = { + /** + * - List of categories within the department. + */ items?: CategoryItems[]; + /** + * - Name of the department. + */ department: string; }; /** @returns {DepartmentIdentifier} */ declare function DepartmentIdentifier(): DepartmentIdentifier; type DepartmentIdentifier = { + /** + * - Unique identifier for the department. + */ uid?: number; + /** + * - Slug or URL-friendly identifier for the department. + */ slug?: string; }; /** @returns {CategoryListingResponse} */ declare function CategoryListingResponse(): CategoryListingResponse; type CategoryListingResponse = { + /** + * - List of department category trees. + */ data?: DepartmentCategoryTree[]; + /** + * - List of departments. + */ departments?: DepartmentIdentifier[]; }; /** @returns {CategoryMetaResponse} */ declare function CategoryMetaResponse(): CategoryMetaResponse; type CategoryMetaResponse = { logo?: Media; + /** + * - Unique identifier for the category. + */ uid?: number; banners?: ImageUrls; + /** + * - Custom JSON data related to the category, + * allowing for additional metadata. + */ _custom_json?: any; + /** + * - Name of the category. + */ name?: string; }; /** @returns {HomeListingResponse} */ declare function HomeListingResponse(): HomeListingResponse; type HomeListingResponse = { + /** + * - List of product details + * displayed on the home page. + */ items?: ProductListingDetail[]; page: Page; + /** + * - Message related to the home listing response. + */ message?: string; }; /** @returns {Department} */ declare function Department(): Department; type Department = { + /** + * - Unique identifier for the department. + */ uid?: number; logo?: Media; + /** + * - Specifies the display order of the + * department, determining its position in lists and navigation menus based on + * priority. + */ priority_order?: number; + /** + * - Name of the department. + */ name?: string; + /** + * - URL-friendly version of the department's name, + * used in the web address to access the department's page on the platform. + */ slug?: string; }; /** @returns {DepartmentResponse} */ declare function DepartmentResponse(): DepartmentResponse; type DepartmentResponse = { + /** + * - List of department detail objects. + */ items?: Department[]; }; /** @returns {AutocompleteItem} */ declare function AutocompleteItem(): AutocompleteItem; type AutocompleteItem = { logo?: Media; + /** + * - Text or value displayed for the autocomplete item. + */ display?: string; + /** + * - The type of action such as product, products, + * category, brand. + */ type?: string; + /** + * - Custom JSON data related to the + * autocomplete item, allowing for additional metadata. + */ _custom_json?: any; action?: ProductListingAction; }; /** @returns {AutoCompleteResponse} */ declare function AutoCompleteResponse(): AutoCompleteResponse; type AutoCompleteResponse = { + /** + * - List of autocomplete items suggested + * based on user input. + */ items?: AutocompleteItem[]; }; /** @returns {CollectionQuery} */ declare function CollectionQuery(): CollectionQuery; type CollectionQuery = { + /** + * - The operator used for filtering the collection. + */ op: string; + /** + * - The values used for filtering based on the attribute. + */ value: any[]; + /** + * - The attribute on which the filter is applied. + */ attribute: string; }; /** @returns {GetCollectionDetailNest} */ declare function GetCollectionDetailNest(): GetCollectionDetailNest; type GetCollectionDetailNest = { + /** + * - Indicates whether the collection is currently active. + */ is_active?: boolean; + /** + * - The unique identifier for the collection. + */ uid?: string; + /** + * - The attribute by which the collection items are sorted. + */ sort_on?: string; + /** + * - Additional metadata related to the collection. + */ meta?: any; banners?: ImageUrls; + /** + * - Cron details for scheduling related to the collection. + */ cron?: any; + /** + * - The `Schedule` schema defines the timing and + * details for recurring or one-time tasks. It includes information on when + * the job should start and end, the frequency of the task, and any additional + * metadata. This schema helps in scheduling jobs or tasks based on specified + * timings and durations. + */ _schedule?: any; + /** + * - A list of queries used to filter the + * collection. + */ query?: CollectionQuery[]; + /** + * - A detailed description of the collection. + */ description?: string; + /** + * - Type of collections e.g query, items. + */ type?: string; + /** + * - Custom JSON data associated with the collection. + */ _custom_json?: any; + /** + * - The name of the collection. + */ name?: string; + /** + * - Indicates if sorting is allowed for this collection. + */ allow_sort?: boolean; + /** + * - Keys of the facets visible for + * filtering within the collection. + */ visible_facets_keys?: string[]; + /** + * - Badge information associated with the collection. + */ badge?: any; + /** + * - The URL-friendly identifier for the collection. + */ slug?: string; action?: ProductListingAction; + /** + * - Indicates if facets are allowed for + * filtering within the collection. + */ allow_facets?: boolean; logo?: Media; + /** + * - Priority level of the collection for sorting + * or display purposes. + */ priority?: number; + /** + * - Tags associated with the collection. + */ tags?: string[]; + /** + * - Application ID associated with the collection. + */ app_id?: string; }; /** @returns {CollectionListingFilterTag} */ declare function CollectionListingFilterTag(): CollectionListingFilterTag; type CollectionListingFilterTag = { + /** + * - The name of the tag. This is typically used as a + * label for filtering purposes. + */ name?: string; + /** + * - A flag indicating whether the tag is + * currently selected as a filter option. + */ is_selected?: boolean; + /** + * - The display name of the tag. This may be a + * user-friendly version of the tag name shown in the UI. + */ display?: string; }; /** @returns {CollectionListingFilterType} */ declare function CollectionListingFilterType(): CollectionListingFilterType; type CollectionListingFilterType = { + /** + * - The name of the filter type. This indicates the + * type of filtering being applied, such as items, query. + */ name?: string; + /** + * - A flag indicating whether this filter + * type is currently selected as a filter option. + */ is_selected?: boolean; + /** + * - The display name of the filter type. This is + * the user-friendly name shown in the UI for the filter type. + */ display?: string; }; /** @returns {CollectionListingFilter} */ declare function CollectionListingFilter(): CollectionListingFilter; type CollectionListingFilter = { + /** + * - An array of tag filters + * available for the collection listings. Each tag allows for filtering based + * on specific attributes. + */ tags?: CollectionListingFilterTag[]; + /** + * - An array of filter types + * available for the collection listings. Each type represents a different + * category or attribute for filtering. + */ type?: CollectionListingFilterType[]; }; /** @returns {GetCollectionListingResponse} */ declare function GetCollectionListingResponse(): GetCollectionListingResponse; type GetCollectionListingResponse = { + /** + * - An array of collection + * details. Each item in the array represents a collection with various + * attributes and configurations. + */ items?: GetCollectionDetailNest[]; filters?: CollectionListingFilter; page: Page; @@ -1750,49 +2812,141 @@ type GetCollectionListingResponse = { /** @returns {CollectionDetailResponse} */ declare function CollectionDetailResponse(): CollectionDetailResponse; type CollectionDetailResponse = { + /** + * - Indicates whether the collection is active. + */ is_active?: boolean; + /** + * - Criteria used to sort the items within the + * collection, such as price, popularity, or newest first. + */ sort_on?: string; + /** + * - Metadata associated with the collection. + */ meta?: any; banners?: ImageUrls; + /** + * - Cron schedule details related to the collection, + * if applicable. + */ cron?: any; + /** + * - Schedule details for the collection, + * including timing and duration information. + */ _schedule?: any; + /** + * - Search or filter query used to + * dynamically generate the collection based on specific criteria or conditions. + */ query?: CollectionQuery[]; + /** + * - Detailed description of the collection,. + */ description?: string; + /** + * - Type of collection, specifying the nature or + * category of the collection. + */ type?: string; + /** + * - Custom JSON object containing additional + * properties specific to the collection. + */ _custom_json?: any; + /** + * - The name of the collection. + */ name?: string; + /** + * - Indicates if sorting is allowed for this collection. + */ allow_sort?: boolean; + /** + * - Keys of the facets visible for + * filtering within the collection. + */ visible_facets_keys?: string[]; + /** + * - Badge information associated with the collection. + */ badge?: any; + /** + * - The URL-friendly identifier for the collection. + */ slug?: string; + /** + * - Indicates if facets are allowed for + * filtering within the collection. + */ allow_facets?: boolean; logo?: Media; + /** + * - Priority level of the collection for sorting + * or display purposes. + */ priority?: number; + /** + * - Tags associated with the collection. + */ tag?: string[]; + /** + * - Application ID associated with the collection. + */ app_id?: string; }; /** @returns {GetFollowListingResponse} */ declare function GetFollowListingResponse(): GetFollowListingResponse; type GetFollowListingResponse = { + /** + * - An array of product details that + * the user is following. Each item includes information such as the product + * name, price, and other attributes. + */ items: ProductListingDetail[]; page: Page; }; /** @returns {FollowPostResponse} */ declare function FollowPostResponse(): FollowPostResponse; type FollowPostResponse = { + /** + * - A message indicating the result of the follow or + * unfollow operation. This could be a confirmation message or an error message. + */ message: string; + /** + * - A unique identifier for the follow operation, which + * can be used to reference or track the follow status. + */ id: string; }; /** @returns {FollowerCountResponse} */ declare function FollowerCountResponse(): FollowerCountResponse; type FollowerCountResponse = { + /** + * - The number of followers for the item. This count + * indicates how many users are following the specified item. + */ count?: number; }; /** @returns {FollowIdsData} */ declare function FollowIdsData(): FollowIdsData; type FollowIdsData = { + /** + * - An array of IDs representing the products + * that the user is following. + */ products?: number[]; + /** + * - An array of IDs representing the + * collections that the user is following. + */ collections?: number[]; + /** + * - An array of IDs representing the brands that + * the user is following. + */ brands?: number[]; }; /** @returns {FollowIdsResponse} */ @@ -1803,118 +2957,295 @@ type FollowIdsResponse = { /** @returns {LatLong} */ declare function LatLong(): LatLong; type LatLong = { + /** + * - An array containing the latitude and + * longitude values of the location. + */ coordinates?: number[]; + /** + * - The type of geographic coordinate system used. + * For example, "Point" indicates a single point in a geographic coordinate system. + */ type?: string; }; /** @returns {Store} */ declare function Store(): Store; type Store = { + /** + * - A unique identifier for the store. + */ uid?: number; + /** + * - The manager's email address for the store. + */ store_email?: string; + /** + * - The state or province where the store is located. + */ state?: string; + /** + * - The country where the store is located. + */ country?: string; + /** + * - The postal code or zip code for the store's location. + */ pincode?: number; + /** + * - The city where the store is located. + */ city?: string; + /** + * - The street address of the store. + */ address?: string; + /** + * - A unique code or identifier for the store, + * often used for internal reference. + */ store_code?: string; lat_long?: LatLong; + /** + * - The name of the store. + */ name?: string; + /** + * - The list of tags mapped to the store. + */ tags?: string[]; }; /** @returns {StoreListingResponse} */ declare function StoreListingResponse(): StoreListingResponse; type StoreListingResponse = { + /** + * - An array of store details. Each store includes + * information such as name, address, and geographic coordinates. + */ items: Store[]; page: Page; }; /** @returns {StoreDepartments} */ declare function StoreDepartments(): StoreDepartments; type StoreDepartments = { + /** + * - The unique identifier assigned to the store department. + */ uid?: number; + /** + * - An object containing information about the store + * department's logo, such as the URL or other related media details. + */ logo?: any; + /** + * - The priority or ranking of the + * department within the store. This field is used to determine the order in + * which departments are displayed or processed. + */ priority_order?: number; + /** + * - The name of the store department, which is + * typically used for display and identification purposes. + */ name?: string; + /** + * - A URL-friendly identifier for the store + * department, often used in web addresses and routing to uniquely identify + * the department. + */ slug?: string; }; /** @returns {CompanyStore} */ declare function CompanyStore(): CompanyStore; type CompanyStore = { + /** + * - The unique identifier for the company store. + */ uid?: number; + /** + * - The name of the company store. + */ name?: string; + /** + * - The type of company, which can be one of + * the following: - `distributor`: Distributor - `franchise`: Franchise - + * `mbo`: MBO (Managed Business Operations) - `manufacturer-owner`: Owner/Manufacturer. + */ company_type?: string; + /** + * - The type of business structure, which + * can be one of the following: - `Private`: Private Limited Company - + * `LLP/Partnership`: Limited Liability Partnership or Partnership - + * `HUF/Proprietorship`: Hindu Undivided Family or Proprietorship. + */ business_type?: string; }; /** @returns {SellerPhoneNumber} */ declare function SellerPhoneNumber(): SellerPhoneNumber; type SellerPhoneNumber = { + /** + * - The country code of the seller's phone number. + */ country_code: number; + /** + * - The seller's contact number. + */ number: string; }; /** @returns {StoreManagerSerializer} */ declare function StoreManagerSerializer(): StoreManagerSerializer; type StoreManagerSerializer = { + /** + * - The name of the store manager. + */ name?: string; + /** + * - The email address of the store manager. + */ email?: string; mobile_no?: SellerPhoneNumber; }; /** @returns {StoreAddressSerializer} */ declare function StoreAddressSerializer(): StoreAddressSerializer; type StoreAddressSerializer = { + /** + * - The latitude of the store's location. + */ latitude?: number; + /** + * - The state where the store is located. + */ state?: string; + /** + * - The country where the store is located. + */ country?: string; + /** + * - A landmark near the store. + */ landmark?: string; + /** + * - The address line 1 of the store. + */ address1?: string; + /** + * - The postal code for the store's location. + */ pincode?: number; + /** + * - The city where the store is located. + */ city?: string; + /** + * - The longitude of the store's location. + */ longitude?: number; + /** + * - The address line2 of the store. + */ address2?: string; }; /** @returns {AppStore} */ declare function AppStore(): AppStore; type AppStore = { + /** + * - The unique identifier for the application store. + */ uid?: number; + /** + * - A list of departments within the store. + */ departments?: StoreDepartments[]; company?: CompanyStore; manager?: StoreManagerSerializer; + /** + * - A unique code for identifying the store. + */ store_code?: string; address?: StoreAddressSerializer; + /** + * - The name of the store. + */ name?: string; + /** + * - A list of contact numbers + * for the store. + */ contact_numbers?: SellerPhoneNumber[]; }; /** @returns {ApplicationStoreListing} */ declare function ApplicationStoreListing(): ApplicationStoreListing; type ApplicationStoreListing = { + /** + * - A list of filters applied to the store listing. + */ filters?: any[]; + /** + * - A list of application stores. + */ items?: AppStore[]; page?: Page; }; /** @returns {Time} */ declare function Time(): Time; type Time = { + /** + * - The hour part of the time. + */ hour?: number; + /** + * - The minute part of the time. + */ minute?: number; }; /** @returns {StoreTiming} */ declare function StoreTiming(): StoreTiming; type StoreTiming = { + /** + * - Indicates if the store is open on this day. + */ open?: boolean; closing?: Time; + /** + * - The day of the week. + */ weekday?: string; opening?: Time; }; /** @returns {StoreDetails} */ declare function StoreDetails(): StoreDetails; type StoreDetails = { + /** + * - The unique identifier for the store. + */ uid?: number; + /** + * - A list of departments within the store. + */ departments?: StoreDepartments[]; company?: CompanyStore; manager?: StoreManagerSerializer; + /** + * - A unique code for identifying the store. + */ store_code?: string; + /** + * - The opening and closing times for the + * store throughout the week. + */ timing?: StoreTiming[]; address?: StoreAddressSerializer; + /** + * - Custom JSON data for the store. + */ _custom_json?: any; + /** + * - The name of the store. + */ name?: string; + /** + * - A list of contact numbers + * for the store. + */ contact_numbers?: SellerPhoneNumber[]; }; /** @returns {UserDetail} */ @@ -1941,19 +3272,19 @@ type UserDetail = { declare function Size(): Size; type Size = { /** - * - The quantity of this size available + * - The quantity of this size available. */ quantity?: number; /** - * - The value of the size + * - The value of the size. */ value?: any; /** - * - The display string for the size + * - The display string for the size. */ display?: any; /** - * - Whether or not this size is available + * - Whether or not this size is available. */ is_available?: boolean; }; @@ -1985,87 +3316,87 @@ type ProductGroupPrice = { declare function ProductDetails(): ProductDetails; type ProductDetails = { /** - * - The template tag of the product + * - The template tag of the product. */ template_tag?: any; /** - * - The number of ratings the product has received + * - The number of ratings the product has received. */ rating_count?: number; /** - * - The nature of the product's images + * - The nature of the product's images. */ image_nature?: any; /** - * - Whether or not the product has a variant + * - Whether or not the product has a variant. */ has_variant?: boolean; /** - * - The long description of the product + * - The long description of the product. */ description?: any; /** - * - Whether or not the product is out of stock + * - Whether or not the product is out of stock. */ out_of_stock?: boolean; /** - * - The HSN code of the product + * - The HSN code of the product. */ hsn_code?: number; /** - * - A dictionary of grouped product attributes + * - A dictionary of grouped product attributes. */ grouped_attributes?: any; /** - * - The item code of the product + * - The item code of the product. */ item_code?: any; /** - * - The name of the product + * - The name of the product. */ name?: any; /** - * - The country of origin for the product + * - The country of origin for the product. */ country_of_origin?: any; /** - * - The short description of the product + * - The short description of the product. */ short_description?: any; /** - * - A list of media objects for the product + * - A list of media objects for the product. */ media?: any[]; /** - * - A dictionary of product attributes + * - A dictionary of product attributes. */ attributes?: any; /** - * - Whether or not the product is a set of items + * - Whether or not the product is a set of items. */ is_set?: boolean; /** - * - A list of image URLs for the product + * - A list of image URLs for the product. */ images?: any[]; /** - * - The slug of the product + * - The slug of the product. */ slug?: any; /** - * - The rating of the product + * - The rating of the product. */ rating?: number; /** - * - A dictionary of product identifiers + * - A dictionary of product identifiers. */ identifier?: any; /** - * - A list of highlights for the product + * - A list of highlights for the product. */ highlights?: any[]; /** - * - The unique ID of the product's brand + * - The unique ID of the product's brand. */ brand_uid?: number; }; @@ -2073,8 +3404,8 @@ type ProductDetails = { declare function ProductInGroup(): ProductInGroup; type ProductInGroup = { /** - * - A flag indicating whether the - * product should be automatically added to the cart. + * - Whether the product should be + * automatically added to the cart. */ auto_add_to_cart?: boolean; /** @@ -2087,12 +3418,12 @@ type ProductInGroup = { */ sizes?: Size[]; /** - * - The price details for the product group. + * - The price details for the product. */ price?: ProductGroupPrice; /** - * - A flag indicating whether the product - * should be automatically selected. + * - Whether the product should be + * automatically selected. */ auto_select?: boolean; /** @@ -2105,8 +3436,7 @@ type ProductInGroup = { */ min_quantity?: number; /** - * - A flag indicating whether the product - * can be removed from the cart. + * - Whether the product can be removed from the cart. */ allow_remove?: boolean; /** @@ -2118,7 +3448,7 @@ type ProductInGroup = { declare function ProductGroupingModel(): ProductGroupingModel; type ProductGroupingModel = { /** - * - The URL for the logo of the product grouping. + * - The URL for the logo of the product group. */ logo?: string; /** @@ -2131,11 +3461,11 @@ type ProductGroupingModel = { meta?: any; /** * - User details of the verifier of the - * document, if applicable + * document, if applicable. */ verified_by?: UserDetail; /** - * - Timestamp of the creation of the document + * - Timestamp of the creation of the document. */ created_on: string; /** @@ -2148,16 +3478,16 @@ type ProductGroupingModel = { */ page_visibility?: any[]; /** - * - Timestamp of the last modification of the document + * - Timestamp of the last modification of the document. */ modified_on: string; /** - * - User details of the creator of the document + * - User details of the creator of the document. */ created_by?: UserDetail; /** * - User details of the last modifier of - * the document + * the document. */ modified_by?: UserDetail; /** @@ -2169,6 +3499,9 @@ type ProductGroupingModel = { * assigned to the same store. */ same_store_assignment?: boolean; + /** + * - Unique identifier of the product grouping. + */ _id?: any; /** * - The name of the product grouping. @@ -2184,70 +3517,141 @@ type ProductGroupingModel = { slug?: any; /** * - Timestamp of when the document was - * verified, if applicable + * verified, if applicable. */ verified_on?: string; }; /** @returns {ProductBundle} */ declare function ProductBundle(): ProductBundle; type ProductBundle = { + /** + * - Represents list of + * bundles/product groupings. + */ items?: ProductGroupingModel[]; }; /** @returns {StoreV3} */ declare function StoreV3(): StoreV3; type StoreV3 = { + /** + * - The unique identifier for the store. + */ uid?: number; + /** + * - The name of the store. + */ name?: string; + /** + * - The count associated with the store. + */ count?: number; }; /** @returns {ArticleAssignmentV3} */ declare function ArticleAssignmentV3(): ArticleAssignmentV3; type ArticleAssignmentV3 = { + /** + * - Method used for article assignment, such as + * optimal, fast-delivery, low-price, or manual. + */ strategy?: string; + /** + * - Scope of assignment, which can be + * multi-companies, single-company, or single-store. + */ level?: string; }; /** @returns {StrategyWiseListingSchemaV3} */ declare function StrategyWiseListingSchemaV3(): StrategyWiseListingSchemaV3; type StrategyWiseListingSchemaV3 = { + /** + * - Distance between bullfight location and + * customer location in kilometers. . + */ distance?: number; + /** + * - Pincode mapped based on strategy. + */ pincode?: number; + /** + * - Turn around Time to deliver the product with this strategy. + */ tat?: number; + /** + * - The quantity available for assigned store. + */ quantity?: number; }; /** @returns {DetailsSchemaV3} */ declare function DetailsSchemaV3(): DetailsSchemaV3; type DetailsSchemaV3 = { + /** + * - The value of the attribute. + */ value?: string; + /** + * - The type of detail e.g, text. + */ type?: string; + /** + * - The attribute key associated with the size. + */ key?: string; }; /** @returns {SellerGroupAttributes} */ declare function SellerGroupAttributes(): SellerGroupAttributes; type SellerGroupAttributes = { + /** + * - The title of the attribute group. + */ title?: string; + /** + * - Detail of the attribute. + */ details?: DetailsSchemaV3[]; }; /** @returns {ReturnConfigSchemaV3} */ declare function ReturnConfigSchemaV3(): ReturnConfigSchemaV3; type ReturnConfigSchemaV3 = { + /** + * - The unit for the return configuration. + */ unit?: string; + /** + * - Indicates if the item is returnable. + */ returnable?: boolean; + /** + * - The time duration for the return policy. + */ time?: number; }; /** @returns {ProductSetDistributionSizeV3} */ declare function ProductSetDistributionSizeV3(): ProductSetDistributionSizeV3; type ProductSetDistributionSizeV3 = { + /** + * - The number of pieces available in this size. + */ pieces?: number; + /** + * - The size of the product. + */ size?: string; }; /** @returns {ProductSetDistributionV3} */ declare function ProductSetDistributionV3(): ProductSetDistributionV3; type ProductSetDistributionV3 = { + /** + * - A list of size + * distributions in the product set. + */ sizes?: ProductSetDistributionSizeV3[]; }; /** @returns {ProductSetV3} */ declare function ProductSetV3(): ProductSetV3; type ProductSetV3 = { + /** + * - The quantity of products in the set. + */ quantity?: number; size_distribution?: ProductSetDistributionV3; }; @@ -2261,7 +3665,7 @@ type ProductStockPriceV3 = { effective?: number; /** * - The currency code for which the product - * is available + * is available. */ currency_code?: string; /** @@ -2281,28 +3685,61 @@ type ProductStockPriceV3 = { /** @returns {ProductStockUnitPriceV3} */ declare function ProductStockUnitPriceV3(): ProductStockUnitPriceV3; type ProductStockUnitPriceV3 = { + /** + * - The unit of measure for the product. + */ unit?: string; + /** + * - The currency symbol for the unit price. + */ currency_symbol?: string; + /** + * - The currency code for the unit price. + */ currency_code?: string; + /** + * - The unit price of the product. + */ price?: number; }; /** @returns {MarketPlaceSttributesSchemaV3} */ declare function MarketPlaceSttributesSchemaV3(): MarketPlaceSttributesSchemaV3; type MarketPlaceSttributesSchemaV3 = { + /** + * - The title of the attribute. + */ title?: string; + /** + * - Detail of the attribute. + */ details?: DetailsSchemaV3[]; }; /** @returns {SellerV3} */ declare function SellerV3(): SellerV3; type SellerV3 = { + /** + * - The unique identifier for the seller. + */ uid?: number; + /** + * - The name of the seller. + */ name?: string; + /** + * - The store count serviceable by this seller. + */ count?: number; }; /** @returns {PromiseSchema} */ declare function PromiseSchema(): PromiseSchema; type PromiseSchema = { + /** + * - The minimum promise time. + */ min?: string; + /** + * - The maximum promise time. + */ max?: string; }; /** @returns {ProductSizePriceResponseV3} */ @@ -2310,24 +3747,79 @@ declare function ProductSizePriceResponseV3(): ProductSizePriceResponseV3; type ProductSizePriceResponseV3 = { store?: StoreV3; article_assignment?: ArticleAssignmentV3; + /** + * - Whether Cash on Delivery (COD) is available + * for this product. It is true if COD is available and false otherwise. + */ is_cod?: boolean; + /** + * - Details + * about serviceability attributes. + */ strategy_wise_listing?: StrategyWiseListingSchemaV3[]; + /** + * - Available quantity of the product in stock. + * It shows the number of units available for purchase. + */ quantity?: number; + /** + * - Type of item, indicating the category or + * nature of the product. Possible values are Standard, Composite, Wet, Digital. + */ item_type?: string; + /** + * - Collection of + * attributes grouped together, which provides detailed characteristics of the + * product, such as color, size, material, etc. + */ grouped_attributes?: SellerGroupAttributes[]; return_config?: ReturnConfigSchemaV3; + /** + * - This unique identifier is assigned to the + * specific article. This represents item x size x location. + */ article_id?: string; + /** + * - Whether the product can be purchased as a + * gift. It is true if the product is available for gifting and false otherwise. + */ is_gift?: boolean; set?: ProductSetV3; + /** + * - Number of sellers offering this product. + * It indicates the level of competition and availability from different sellers. + */ seller_count?: number; price_per_piece?: ProductStockPriceV3; discount_meta?: DiscountMeta; + /** + * - Amount or percentage of discount applied to + * the product's price, showing the savings for the customer. + */ discount?: string; + /** + * - Longitude and latitude coordinates, + * possibly indicating the location of the store or warehouse where the + * product is stocked. + */ long_lat?: number[]; + /** + * - Special badges or labels assigned to the + * product, such as "Bestseller," "New Arrival," or "Limited Edition.". + */ special_badge?: string; price?: ProductStockPriceV3; price_per_unit?: ProductStockUnitPriceV3; + /** + * - Postal code or zip code for which the + * product's availability and delivery options are being checked. + */ pincode?: number; + /** + * - + * Attributes specific to the marketplace, such as ratings, reviews, shipping + * options, and other marketplace-specific details. + */ marketplace_attributes?: MarketPlaceSttributesSchemaV3[]; seller?: SellerV3; delivery_promise?: PromiseSchema; @@ -2335,14 +3827,31 @@ type ProductSizePriceResponseV3 = { /** @returns {ProductSizeSellerFilterSchemaV3} */ declare function ProductSizeSellerFilterSchemaV3(): ProductSizeSellerFilterSchemaV3; type ProductSizeSellerFilterSchemaV3 = { + /** + * - The name of the store/seller. + */ name?: string; + /** + * - Whether this filter criterion is selected. + */ is_selected?: boolean; + /** + * - The value associated with this store/seller. + */ value?: string; }; /** @returns {ProductSizeSellersResponseV3} */ declare function ProductSizeSellersResponseV3(): ProductSizeSellersResponseV3; type ProductSizeSellersResponseV3 = { + /** + * - A list of products with + * size and price details available from various sellers. + */ items?: ProductSizePriceResponseV3[]; page: Page; + /** + * - A list of sorting + * and filtering criteria applied to the sellers' data. + */ sort_on?: ProductSizeSellerFilterSchemaV3[]; }; diff --git a/sdk/application/Catalog/CatalogApplicationModel.js b/sdk/application/Catalog/CatalogApplicationModel.js index 7116d52fe..672ba1ae6 100644 --- a/sdk/application/Catalog/CatalogApplicationModel.js +++ b/sdk/application/Catalog/CatalogApplicationModel.js @@ -2,52 +2,57 @@ const Joi = require("joi"); /** * @typedef ProductDetailCustomOrder - * @property {number} [manufacturing_time] - * @property {string} [manufacturing_time_unit] - * @property {boolean} [is_custom_order] + * @property {number} [manufacturing_time] - The unit of time taken for manufacturing. + * @property {string} [manufacturing_time_unit] - The unit of time required for + * manufacturing is defined in hours or days. + * @property {boolean} [is_custom_order] - A boolean flag indicating whether MTO + * (Make to Order) is enabled or not. */ /** * @typedef Meta - * @property {string} [source] + * @property {string} [source] - The source or origin of the media file, which + * could be a URL or a reference to where the media was obtained. */ /** * @typedef Media - * @property {string} [url] - * @property {string} [type] + * @property {string} [url] - Absolute url for Media. + * @property {string} [type] - The type of media, such as image, video. * @property {Meta} [meta] - * @property {string} [alt] + * @property {string} [alt] - Alternative text for the media, used for + * accessibility and SEO purposes. */ /** * @typedef ProductListingActionPage - * @property {string} [type] - * @property {Object} [query] - * @property {Object} [params] + * @property {string} [type] - The type of action such as product, products, + * category, brand. + * @property {Object} [query] - Query parameter if any to be added to the action. + * @property {Object} [params] - Parameters that should be considered in path. */ /** * @typedef ProductListingAction - * @property {string} [type] + * @property {string} [type] - Type of action to be taken e.g, page. * @property {ProductListingActionPage} [page] */ /** * @typedef ProductBrand - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the product brand. * @property {Media} [logo] - * @property {string} [description] - * @property {string} [name] + * @property {string} [description] - Description of the product brand. + * @property {string} [name] - Name of the product brand. * @property {ProductListingAction} [action] */ /** * @typedef ProductDepartment - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the product department. * @property {Media} [logo] - * @property {string} [slug] - * @property {string} [name] + * @property {string} [slug] - URL-friendly identifier for the product department. + * @property {string} [name] - Name of the product department. */ /** @@ -72,21 +77,22 @@ const Joi = require("joi"); /** * @typedef ApplicationItemSEO - * @property {Object} [title] - The SEO title of the item - * @property {Object} [description] - The SEO description of the item + * @property {Object} [title] - The SEO title of the item. + * @property {Object} [description] - The SEO description of the item. */ /** * @typedef ProductDetailAttribute - * @property {string} [value] - * @property {string} [type] - * @property {string} [key] + * @property {string} [value] - The value of the product attribute. + * @property {string} [type] - The type or category of the product attribute. + * @property {string} [key] - The key or name of the product attribute. */ /** * @typedef ProductDetailGroupedAttribute - * @property {string} [title] - * @property {ProductDetailAttribute[]} [details] + * @property {string} [title] - The title or name of the attribute group. + * @property {ProductDetailAttribute[]} [details] - A list of product attributes + * within this group. */ /** @@ -122,64 +128,77 @@ const Joi = require("joi"); /** * @typedef ProductDetail - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the product. * @property {ProductDetailCustomOrder} [custom_order] * @property {ProductCategoryMap} [category_map] * @property {NetQuantity} [net_quantity] - * @property {number} [rating_count] - * @property {CustomMetaFields[]} [_custom_meta] - * @property {string[]} [similars] - * @property {string[]} [tags] + * @property {number} [rating_count] - Count of ratings the product has received. + * @property {CustomMetaFields[]} [_custom_meta] - Custom metadata fields + * associated with the product. + * @property {string[]} [similars] - List of products marked similar to given product. + * @property {string[]} [tags] - Tags associated with the product for better + * categorization. * @property {ApplicationItemSEO} [seo] - * @property {string} [image_nature] - * @property {boolean} [has_variant] - * @property {string} [item_type] - * @property {string} [description] - * @property {ProductDetailGroupedAttribute[]} [grouped_attributes] - * @property {Media[]} [medias] - * @property {string} [color] - * @property {string} [type] - * @property {string} [product_online_date] - * @property {Object} [_custom_json] - * @property {string} [item_code] - * @property {string} [name] + * @property {string} [image_nature] - Type of the images associated with the + * product such as standard. + * @property {boolean} [has_variant] - Indicates whether the product has variants. + * @property {string} [item_type] - This field describes the type of item, + * indicating the category or nature of the product. Possible values are + * Standard, Composite, Wet, Digital. + * @property {string} [description] - Detailed description of the product. + * @property {ProductDetailGroupedAttribute[]} [grouped_attributes] - Grouped + * attributes detailing various characteristics of the product. + * @property {Media[]} [medias] - Media files associated with the product. + * @property {string} [color] - Color of the product, if applicable. + * @property {string} [type] - Product type or classification. + * @property {string} [product_online_date] - Date and time when the product was + * made available online. + * @property {Object} [_custom_json] - Custom JSON object for additional product data. + * @property {string} [item_code] - Item Code defined for the product. + * @property {string} [name] - Name of the product. * @property {ApplicationItemMOQ} [moq] - * @property {string} [short_description] - * @property {ProductBrand[]} [categories] - * @property {Object} [attributes] - * @property {string} [discount] - * @property {string[]} [tryouts] - * @property {string} slug + * @property {string} [short_description] - Brief description of the product. + * @property {ProductBrand[]} [categories] - List of product categories + * associated with the product. + * @property {Object} [attributes] - Additional attributes or characteristics of + * the product. + * @property {string} [discount] - Discount applied to the product, if any. + * @property {string[]} [tryouts] - Identifiers or names of tryout versions of + * the product. + * @property {string} slug - URL-friendly identifier for the product. * @property {ProductListingAction} [action] - * @property {number} [rating] - * @property {boolean} [is_dependent] - * @property {string[]} [product_group_tag] - * @property {string[]} [highlights] + * @property {number} [rating] - The rating of the product. + * @property {boolean} [is_dependent] - Indicates whether the product can be + * sold as an individual product. + * @property {string[]} [product_group_tag] - List of bundle/product grouping + * slugs mapped to the product. + * @property {string[]} [highlights] - Key highlights or features of the product. * @property {ProductListingPrice} [price] * @property {ProductBrand} [brand] * @property {ProductDepartment} [department] - * @property {string} [teaser_tag] + * @property {string} [teaser_tag] - Teaser tag or short promotional phrase for + * the product. */ /** * @typedef ErrorResponse - * @property {string} [error] + * @property {string} [error] - A brief description of the error. */ /** * @typedef Dimension - * @property {string} unit - The unit of dimension - * @property {number} height - The height of the product - * @property {number} length - The length of the product - * @property {number} width - The width of the product - * @property {boolean} is_default - Whether the dimension is the default one or not + * @property {string} unit - The unit of dimension. + * @property {number} height - The height of the product. + * @property {number} length - The length of the product. + * @property {number} width - The width of the product. + * @property {boolean} is_default - Whether the dimension is the default one or not. */ /** * @typedef Weight - * @property {string} unit - The unit of weight - * @property {number} shipping - The shipping weight of the product - * @property {boolean} is_default - Whether the weight is the default one or not + * @property {string} unit - The unit of weight. + * @property {number} shipping - The shipping weight of the product. + * @property {boolean} is_default - Whether the weight is the default one or not. */ /** @@ -194,29 +213,32 @@ const Joi = require("joi"); /** * @typedef ProductSize - * @property {number} [quantity] + * @property {number} [quantity] - The quantity of the product size available. * @property {Dimension} [dimension] * @property {Weight} [weight] - * @property {boolean} [is_available] - * @property {string[]} [seller_identifiers] - * @property {string} [value] - * @property {string} [display] + * @property {boolean} [is_available] - Indicates whether the product size is + * available for purchase. + * @property {string[]} [seller_identifiers] - List of identifiers used by + * sellers for the product size. + * @property {string} [value] - The value or label representing the product size. + * @property {string} [display] - Display name of the product size. */ /** * @typedef SizeChartValues - * @property {string} [col_3] - * @property {string} [col_6] - * @property {string} [col_2] - * @property {string} [col_4] - * @property {string} [col_1] - * @property {string} [col_5] + * @property {string} [col_3] - Value for column 3. + * @property {string} [col_6] - Value for column 6. + * @property {string} [col_2] - Value for column 2. + * @property {string} [col_4] - Value for column 4. + * @property {string} [col_1] - Value for column 1. + * @property {string} [col_5] - Value for column 5. */ /** * @typedef ColumnHeader - * @property {boolean} [convertable] - * @property {string} [value] + * @property {boolean} [convertable] - Indicates if the column value can be + * converted or transformed. + * @property {string} [value] - The value or title of the column header. */ /** @@ -231,59 +253,62 @@ const Joi = require("joi"); /** * @typedef SizeChart - * @property {string} [unit] - * @property {string} [image] - * @property {string} [size_tip] - * @property {SizeChartValues[]} [sizes] - * @property {string} [description] - * @property {string} [title] + * @property {string} [unit] - Unit of measurement used in the size chart (e.g., in, cm). + * @property {string} [image] - URL of the image representing the size chart. + * @property {string} [size_tip] - Additional tip or guideline related to sizing. + * @property {SizeChartValues[]} [sizes] - Array of size chart values for different sizes. + * @property {string} [description] - Description related to the size chart. + * @property {string} [title] - Title or name of the size chart. * @property {ColumnHeaders} [headers] */ /** * @typedef ProductSizeStores - * @property {number} [count] + * @property {number} [count] - Number of stores where the product size is available. */ /** * @typedef ProductSizes - * @property {ProductSize[]} [sizes] + * @property {ProductSize[]} [sizes] - List of available sizes for the product. * @property {ProductSizesPrice} [price] * @property {ProductSizesPrice} [price_per_piece] * @property {SizeChart} [size_chart] - * @property {boolean} [sellable] - * @property {boolean} [multi_size] - * @property {string} [discount] + * @property {boolean} [sellable] - Whether the product sizes are available for sale. + * @property {boolean} [multi_size] - Whether the product supports multiple sizes. + * @property {string} [discount] - Discount information applicable to the product sizes. * @property {ProductSizeStores} [stores] * @property {DiscountMeta} [discount_meta] */ /** * @typedef AttributeDetail - * @property {string} [logo] - * @property {string} [description] - * @property {string} [display] - * @property {string} [key] + * @property {string} [logo] - URL or path to the logo associated with the attribute. + * @property {string} [description] - A description of the attribute. + * @property {string} [display] - Display name or label for the attribute. + * @property {string} [key] - Unique key or identifier for the attribute. */ /** * @typedef AttributeMetadata - * @property {string} [title] - * @property {AttributeDetail[]} [details] + * @property {string} [title] - Title or name of the attribute metadata. + * @property {AttributeDetail[]} [details] - List of detailed information about + * attributes. */ /** * @typedef ProductsComparisonResponse - * @property {ProductDetail[]} [items] - * @property {AttributeMetadata[]} [attributes_metadata] + * @property {ProductDetail[]} [items] - List of product details for comparison. + * @property {AttributeMetadata[]} [attributes_metadata] - Metadata about + * attributes used for comparing products. */ /** * @typedef ProductCompareResponse - * @property {string} [title] - * @property {ProductDetail[]} [items] - * @property {AttributeMetadata[]} [attributes_metadata] - * @property {string} [subtitle] + * @property {string} [title] - Title or name of the comparison. + * @property {ProductDetail[]} [items] - List of product details for comparison. + * @property {AttributeMetadata[]} [attributes_metadata] - Metadata about + * attributes used for comparing products. + * @property {string} [subtitle] - Subtitle or additional description for the comparison. */ /** @@ -293,195 +318,226 @@ const Joi = require("joi"); /** * @typedef ProductVariantItemResponse - * @property {number} [uid] - * @property {string} [color_name] - * @property {string} [color] - * @property {Media[]} [medias] - * @property {boolean} [is_available] - * @property {CustomMetaFields[]} [_custom_meta] - * @property {string} [name] - * @property {string} [value] - * @property {string} [slug] - * @property {Object} [_custom_json] + * @property {number} [uid] - Unique identifier for the product variant. + * @property {string} [color_name] - Name of the color for the variant. + * @property {string} [color] - Color code or representation for the variant. + * @property {Media[]} [medias] - Media files associated with the product variant. + * @property {boolean} [is_available] - Indicates whether the product variant is + * available for purchase. + * @property {CustomMetaFields[]} [_custom_meta] - Custom metadata fields + * associated with the product. + * @property {string} [name] - Name of the product variant. + * @property {string} [value] - Value or label representing the product variant. + * @property {string} [slug] - URL-friendly identifier for the product. + * @property {Object} [_custom_json] - Custom JSON object for additional data + * related to the product. * @property {ProductListingAction} [action] */ /** * @typedef ProductVariantResponse - * @property {string} [display_type] - * @property {string} [header] - * @property {string} [group_id] - * @property {ProductVariantItemResponse[]} [items] - * @property {string} [key] - * @property {string} [logo] + * @property {string} [display_type] - The type of display for the product + * variant (e.g., image, text, image, color). + * @property {string} [header] - Header or title for the product variant section. + * @property {string} [group_id] - Group ID used to group variants. + * @property {ProductVariantItemResponse[]} [items] - List of product variant items. + * @property {string} [key] - Attribute identifier of the variant. + * @property {string} [logo] - URL or path to the logo associated with the + * product variant. */ /** * @typedef ProductVariantsResponse - * @property {ProductVariantResponse[]} [variants] + * @property {ProductVariantResponse[]} [variants] - A list of product variant + * responses, each detailing a specific variant. */ /** * @typedef StoreDetail - * @property {string} [name] - * @property {string} [city] - * @property {number} [id] - * @property {string} [code] + * @property {string} [name] - NA. + * @property {string} [city] - NA. + * @property {number} [id] - NA. + * @property {string} [code] - NA. */ /** * @typedef ProductStockPrice - * @property {number} [effective] - * @property {string} [currency] - * @property {number} [marked] + * @property {number} [effective] - NA. + * @property {string} [currency] - NA. + * @property {number} [marked] - NA. */ /** * @typedef CompanyDetail - * @property {string} [name] - * @property {number} [id] + * @property {string} [name] - NA. + * @property {number} [id] - NA. */ /** * @typedef Seller - * @property {number} [uid] - * @property {string} [name] - * @property {number} [count] + * @property {number} [uid] - NA. + * @property {string} [name] - NA. + * @property {number} [count] - NA. */ /** * @typedef ProductStockStatusItem - * @property {string} [uid] - * @property {number} [quantity] + * @property {string} [uid] - NA. + * @property {number} [quantity] - NA. * @property {StoreDetail} [store] - * @property {string} [size] + * @property {string} [size] - NA. * @property {ProductStockPrice} [price] * @property {CompanyDetail} [company] - * @property {number} [item_id] + * @property {number} [item_id] - NA. * @property {Seller} [seller] - * @property {Object} [identifier] + * @property {Object} [identifier] - NA. */ /** * @typedef ProductStockStatusResponse - * @property {ProductStockStatusItem[]} [items] + * @property {ProductStockStatusItem[]} [items] - NA. */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef ProductStockPolling - * @property {ProductStockStatusItem[]} [items] + * @property {ProductStockStatusItem[]} [items] - NA. * @property {Page} page */ /** * @typedef ProductVariantListingResponse - * @property {string} [header] - * @property {ProductVariantItemResponse[]} [items] - * @property {number} [total] - * @property {string} [key] - * @property {string} [display_type] + * @property {string} [header] - Header or title for the product variant section. + * @property {ProductVariantItemResponse[]} [items] - List of Upto 5 product + * variant items. + * @property {number} [total] - The total number of product variants available. + * @property {string} [key] - Attribute identifier of the variant. + * @property {string} [display_type] - The type of display for the product + * variant (e.g., image, text, image, color). */ /** * @typedef ProductListingDetail - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the product. * @property {ProductDetailCustomOrder} [custom_order] - * @property {string[]} [sizes] + * @property {string[]} [sizes] - Available sizes for the product. * @property {ProductCategoryMap} [category_map] * @property {NetQuantity} [net_quantity] - * @property {number} [rating_count] - * @property {CustomMetaFields[]} [_custom_meta] - * @property {string[]} [similars] - * @property {string[]} [tags] + * @property {number} [rating_count] - The number of ratings the product has received. + * @property {CustomMetaFields[]} [_custom_meta] - Custom metadata fields + * associated with the product. + * @property {string[]} [similars] - List of products marked similar to given product. + * @property {string[]} [tags] - Tags associated with the product for better + * categorization. * @property {ApplicationItemSEO} [seo] - * @property {string} [image_nature] - * @property {boolean} [has_variant] - * @property {string} [item_type] - * @property {string} [description] - * @property {ProductDetailGroupedAttribute[]} [grouped_attributes] - * @property {Media[]} [medias] - * @property {string} [color] - * @property {string} [type] - * @property {string} [product_online_date] - * @property {Object} [_custom_json] - * @property {string} [item_code] - * @property {string} [name] + * @property {string} [image_nature] - Type of the images associated with the + * product such as standard. + * @property {boolean} [has_variant] - Indicates whether the product has variants. + * @property {string} [item_type] - This field describes the type of item, + * indicating the category or nature of the product. Possible values are + * Standard, Composite, Wet, Digital. + * @property {string} [description] - Detailed description of the product. + * @property {ProductDetailGroupedAttribute[]} [grouped_attributes] - Grouped + * attributes detailing various characteristics of the product. + * @property {Media[]} [medias] - Media files associated with the product. + * @property {string} [color] - Color of the product, if applicable. + * @property {string} [type] - Product type or classification. + * @property {string} [product_online_date] - Date and time when the product was + * made available online. + * @property {Object} [_custom_json] - Custom JSON object for additional product data. + * @property {string} [item_code] - Item Code defined for the product. + * @property {string} [name] - Name of the product. * @property {ApplicationItemMOQ} [moq] - * @property {string} [short_description] - * @property {ProductBrand[]} [categories] - * @property {boolean} [sellable] - * @property {Object} [attributes] - * @property {ProductVariantListingResponse[]} [variants] - * @property {string} [discount] - * @property {string[]} [tryouts] - * @property {string[]} [identifiers] - * @property {string} slug + * @property {string} [short_description] - Brief description of the product. + * @property {ProductBrand[]} [categories] - List of product categories + * associated with the product. + * @property {boolean} [sellable] - Indicates whether the product is available for sale. + * @property {Object} [attributes] - Additional attributes or characteristics of + * the product. + * @property {ProductVariantListingResponse[]} [variants] - List of product + * variants available for the product. + * @property {string} [discount] - Discount details or percentage applied to the product. + * @property {string[]} [tryouts] - List of tryout options available for the product. + * @property {string[]} [identifiers] - List of seller identifiers for the product. + * @property {string} slug - URL-friendly identifier for the product. * @property {ProductListingAction} [action] - * @property {number} [rating] - * @property {boolean} [is_dependent] - * @property {string[]} [product_group_tag] - * @property {string[]} [highlights] + * @property {number} [rating] - Rating of the product. + * @property {boolean} [is_dependent] - Indicates whether the product can be + * sold as an individual product. + * @property {string[]} [product_group_tag] - List of bundle/product grouping + * slugs mapped to the product. + * @property {string[]} [highlights] - Key highlights or features of the product. * @property {ProductListingPrice} [price] * @property {ProductBrand} [brand] - * @property {string} [teaser_tag] + * @property {string} [teaser_tag] - Teaser tag or short promotional phrase for + * the product. */ /** * @typedef ProductFiltersValue - * @property {number} [min] - * @property {string} [display_format] - * @property {number} [selected_max] - * @property {string} [value] - * @property {string} [query_format] - * @property {string} [currency_symbol] - * @property {number} [selected_min] - * @property {string} [currency_code] - * @property {boolean} is_selected - * @property {string} display - * @property {number} [count] - * @property {number} [max] + * @property {number} [min] - Minimum value for the range filter. + * @property {string} [display_format] - Format in which the filter value is displayed. + * @property {number} [selected_max] - The maximum value selected by the user + * for range filter. + * @property {string} [value] - Value associated with the filter option. + * @property {string} [query_format] - Format used for the filter value in queries. + * @property {string} [currency_symbol] - Currency symbol for the price type filters. + * @property {number} [selected_min] - The minimum value selected by the user + * for range filter. + * @property {string} [currency_code] - Currency code for the currency used for + * price type filters. + * @property {boolean} is_selected - Whether this filter value is currently selected. + * @property {string} display - Display name or label for the filter value. + * @property {number} [count] - Number of products that match this filter value. + * @property {number} [max] - Maximum value of the filter range. */ /** * @typedef ProductFiltersKey - * @property {string} [logo] - * @property {string} name - * @property {string} [kind] - * @property {string} display + * @property {string} [logo] - URL or path to the logo associated with the filter key. + * @property {string} name - Name or identifier of the filter key. + * @property {string} [kind] - Type or category of the filter key (e.g., range, + * multivalued). + * @property {string} display - Display name or label for the filter key. */ /** * @typedef ProductFilters - * @property {ProductFiltersValue[]} values + * @property {ProductFiltersValue[]} values - List of filter values associated + * with the filter key. * @property {ProductFiltersKey} key */ /** * @typedef ProductSortOn - * @property {string} [logo] - * @property {boolean} [is_selected] - * @property {string} [name] - * @property {string} [value] - * @property {string} [display] + * @property {string} [logo] - URL or path to the logo associated with the sorting option. + * @property {boolean} [is_selected] - Indicates whether this sorting option is + * currently selected. + * @property {string} [name] - Name or identifier of the sorting option. + * @property {string} [value] - Value used to specify the sorting order (e.g., + * price_asc, discount_dsc). + * @property {string} [display] - Display name or label for the sorting option. */ /** * @typedef ProductListingResponse - * @property {ProductListingDetail[]} [items] - * @property {ProductFilters[]} [filters] + * @property {ProductListingDetail[]} [items] - List of product details included + * in the response. + * @property {ProductFilters[]} [filters] - List of filters available for + * refining the product listings. * @property {Page} page - * @property {ProductSortOn[]} [sort_on] + * @property {ProductSortOn[]} [sort_on] - List of sorting options available for + * the product listings. */ /** @@ -492,31 +548,37 @@ const Joi = require("joi"); /** * @typedef BrandItem - * @property {number} [uid] + * @property {number} [uid] - The unique identifier for the brand. * @property {Media} [logo] - * @property {string} [description] + * @property {string} [description] - Detailed description of the brand, + * including its history, values, product offerings, and other relevant information. * @property {ImageUrls} [banners] - * @property {string[]} [departments] - * @property {string} [discount] - * @property {string} [name] - * @property {string} [slug] + * @property {string[]} [departments] - Lists the departments or categories + * under which the brand's products are listed. + * @property {string} [discount] - Details about any discounts currently + * available on the brand's products. + * @property {string} [name] - Name of the brand. + * @property {string} [slug] - URL-friendly version of the brand's name, used in + * the web address to access the brand's page on the platform. * @property {ProductListingAction} [action] */ /** * @typedef BrandListingResponse - * @property {BrandItem[]} [items] + * @property {BrandItem[]} [items] - List of brand items included in the response. * @property {Page} page */ /** * @typedef BrandDetailResponse * @property {Media} [logo] - * @property {number} [uid] - * @property {string} [description] + * @property {number} [uid] - The unique identifier for the brand. + * @property {string} [description] - Detailed description of the brand, + * including its history, values, product offerings, and other relevant information. * @property {ImageUrls} [banners] - * @property {Object} [_custom_json] - * @property {string} [name] + * @property {Object} [_custom_json] - Custom JSON data related to the brand, + * allowing for additional metadata. + * @property {string} [name] - Name of the brand. */ /** @@ -527,215 +589,263 @@ const Joi = require("joi"); /** * @typedef ThirdLevelChild - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the L3 category. * @property {ImageUrls} [banners] - * @property {Object[]} [childs] - * @property {Object} [_custom_json] - * @property {string} [name] - * @property {string} [slug] + * @property {Object[]} [childs] - List of categories under the L3 category. + * @property {Object} [_custom_json] - Custom JSON data related to the L3 + * category, allowing for additional metadata. + * @property {string} [name] - Name of the L3 category. + * @property {string} [slug] - Slug or URL-friendly identifier for the L3 category. * @property {ProductListingAction} [action] */ /** * @typedef SecondLevelChild - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the L2 category. * @property {ImageUrls} [banners] - * @property {ThirdLevelChild[]} [childs] - * @property {Object} [_custom_json] - * @property {string} [name] - * @property {string} [slug] + * @property {ThirdLevelChild[]} [childs] - List of categories under the L2 category. + * @property {Object} [_custom_json] - Custom JSON data related to the L2 + * category, allowing for additional metadata. + * @property {string} [name] - Name of the L2 category. + * @property {string} [slug] - Slug or URL-friendly identifier for the L2 category. * @property {ProductListingAction} [action] */ /** * @typedef Child - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the L1 category. * @property {ImageUrls} [banners] - * @property {SecondLevelChild[]} [childs] - * @property {Object} [_custom_json] - * @property {string} [name] - * @property {string} [slug] + * @property {SecondLevelChild[]} [childs] - List of categories under the L1 category. + * @property {Object} [_custom_json] - Custom JSON data related to the L1 + * category, allowing for additional metadata. + * @property {string} [name] - Name of the L1 category. + * @property {string} [slug] - Slug or URL-friendly identifier for the L1 category. * @property {ProductListingAction} [action] */ /** * @typedef CategoryItems - * @property {number} uid + * @property {number} uid - Unique identifier for the category. * @property {CategoryBanner} banners - * @property {Child[]} [childs] - * @property {string} name - * @property {string} slug + * @property {Child[]} [childs] - List of L1 categories under the main category. + * @property {string} name - Name of the category. + * @property {string} slug - Slug or URL-friendly identifier for the category. * @property {ProductListingAction} action */ /** * @typedef DepartmentCategoryTree - * @property {CategoryItems[]} [items] - * @property {string} department + * @property {CategoryItems[]} [items] - List of categories within the department. + * @property {string} department - Name of the department. */ /** * @typedef DepartmentIdentifier - * @property {number} [uid] - * @property {string} [slug] + * @property {number} [uid] - Unique identifier for the department. + * @property {string} [slug] - Slug or URL-friendly identifier for the department. */ /** * @typedef CategoryListingResponse - * @property {DepartmentCategoryTree[]} [data] - * @property {DepartmentIdentifier[]} [departments] + * @property {DepartmentCategoryTree[]} [data] - List of department category trees. + * @property {DepartmentIdentifier[]} [departments] - List of departments. */ /** * @typedef CategoryMetaResponse * @property {Media} [logo] - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the category. * @property {ImageUrls} [banners] - * @property {Object} [_custom_json] - * @property {string} [name] + * @property {Object} [_custom_json] - Custom JSON data related to the category, + * allowing for additional metadata. + * @property {string} [name] - Name of the category. */ /** * @typedef HomeListingResponse - * @property {ProductListingDetail[]} [items] + * @property {ProductListingDetail[]} [items] - List of product details + * displayed on the home page. * @property {Page} page - * @property {string} [message] + * @property {string} [message] - Message related to the home listing response. */ /** * @typedef Department - * @property {number} [uid] + * @property {number} [uid] - Unique identifier for the department. * @property {Media} [logo] - * @property {number} [priority_order] - * @property {string} [name] - * @property {string} [slug] + * @property {number} [priority_order] - Specifies the display order of the + * department, determining its position in lists and navigation menus based on + * priority. + * @property {string} [name] - Name of the department. + * @property {string} [slug] - URL-friendly version of the department's name, + * used in the web address to access the department's page on the platform. */ /** * @typedef DepartmentResponse - * @property {Department[]} [items] + * @property {Department[]} [items] - List of department detail objects. */ /** * @typedef AutocompleteItem * @property {Media} [logo] - * @property {string} [display] - * @property {string} [type] - * @property {Object} [_custom_json] + * @property {string} [display] - Text or value displayed for the autocomplete item. + * @property {string} [type] - The type of action such as product, products, + * category, brand. + * @property {Object} [_custom_json] - Custom JSON data related to the + * autocomplete item, allowing for additional metadata. * @property {ProductListingAction} [action] */ /** * @typedef AutoCompleteResponse - * @property {AutocompleteItem[]} [items] + * @property {AutocompleteItem[]} [items] - List of autocomplete items suggested + * based on user input. */ /** * @typedef CollectionQuery - * @property {string} op - * @property {Object[]} value - * @property {string} attribute + * @property {string} op - The operator used for filtering the collection. + * @property {Object[]} value - The values used for filtering based on the attribute. + * @property {string} attribute - The attribute on which the filter is applied. */ /** * @typedef GetCollectionDetailNest - * @property {boolean} [is_active] - * @property {string} [uid] - * @property {string} [sort_on] - * @property {Object} [meta] + * @property {boolean} [is_active] - Indicates whether the collection is currently active. + * @property {string} [uid] - The unique identifier for the collection. + * @property {string} [sort_on] - The attribute by which the collection items are sorted. + * @property {Object} [meta] - Additional metadata related to the collection. * @property {ImageUrls} [banners] - * @property {Object} [cron] - * @property {Object} [_schedule] - * @property {CollectionQuery[]} [query] - * @property {string} [description] - * @property {string} [type] - * @property {Object} [_custom_json] - * @property {string} [name] - * @property {boolean} [allow_sort] - * @property {string[]} [visible_facets_keys] - * @property {Object} [badge] - * @property {string} [slug] + * @property {Object} [cron] - Cron details for scheduling related to the collection. + * @property {Object} [_schedule] - The `Schedule` schema defines the timing and + * details for recurring or one-time tasks. It includes information on when + * the job should start and end, the frequency of the task, and any additional + * metadata. This schema helps in scheduling jobs or tasks based on specified + * timings and durations. + * @property {CollectionQuery[]} [query] - A list of queries used to filter the + * collection. + * @property {string} [description] - A detailed description of the collection. + * @property {string} [type] - Type of collections e.g query, items. + * @property {Object} [_custom_json] - Custom JSON data associated with the collection. + * @property {string} [name] - The name of the collection. + * @property {boolean} [allow_sort] - Indicates if sorting is allowed for this collection. + * @property {string[]} [visible_facets_keys] - Keys of the facets visible for + * filtering within the collection. + * @property {Object} [badge] - Badge information associated with the collection. + * @property {string} [slug] - The URL-friendly identifier for the collection. * @property {ProductListingAction} [action] - * @property {boolean} [allow_facets] + * @property {boolean} [allow_facets] - Indicates if facets are allowed for + * filtering within the collection. * @property {Media} [logo] - * @property {number} [priority] - * @property {string[]} [tags] - * @property {string} [app_id] + * @property {number} [priority] - Priority level of the collection for sorting + * or display purposes. + * @property {string[]} [tags] - Tags associated with the collection. + * @property {string} [app_id] - Application ID associated with the collection. */ /** * @typedef CollectionListingFilterTag - * @property {string} [name] - * @property {boolean} [is_selected] - * @property {string} [display] + * @property {string} [name] - The name of the tag. This is typically used as a + * label for filtering purposes. + * @property {boolean} [is_selected] - A flag indicating whether the tag is + * currently selected as a filter option. + * @property {string} [display] - The display name of the tag. This may be a + * user-friendly version of the tag name shown in the UI. */ /** * @typedef CollectionListingFilterType - * @property {string} [name] - * @property {boolean} [is_selected] - * @property {string} [display] + * @property {string} [name] - The name of the filter type. This indicates the + * type of filtering being applied, such as items, query. + * @property {boolean} [is_selected] - A flag indicating whether this filter + * type is currently selected as a filter option. + * @property {string} [display] - The display name of the filter type. This is + * the user-friendly name shown in the UI for the filter type. */ /** * @typedef CollectionListingFilter - * @property {CollectionListingFilterTag[]} [tags] - * @property {CollectionListingFilterType[]} [type] + * @property {CollectionListingFilterTag[]} [tags] - An array of tag filters + * available for the collection listings. Each tag allows for filtering based + * on specific attributes. + * @property {CollectionListingFilterType[]} [type] - An array of filter types + * available for the collection listings. Each type represents a different + * category or attribute for filtering. */ /** * @typedef GetCollectionListingResponse - * @property {GetCollectionDetailNest[]} [items] + * @property {GetCollectionDetailNest[]} [items] - An array of collection + * details. Each item in the array represents a collection with various + * attributes and configurations. * @property {CollectionListingFilter} [filters] * @property {Page} page */ /** * @typedef CollectionDetailResponse - * @property {boolean} [is_active] - * @property {string} [sort_on] - * @property {Object} [meta] + * @property {boolean} [is_active] - Indicates whether the collection is active. + * @property {string} [sort_on] - Criteria used to sort the items within the + * collection, such as price, popularity, or newest first. + * @property {Object} [meta] - Metadata associated with the collection. * @property {ImageUrls} [banners] - * @property {Object} [cron] - * @property {Object} [_schedule] - * @property {CollectionQuery[]} [query] - * @property {string} [description] - * @property {string} [type] - * @property {Object} [_custom_json] - * @property {string} [name] - * @property {boolean} [allow_sort] - * @property {string[]} [visible_facets_keys] - * @property {Object} [badge] - * @property {string} [slug] - * @property {boolean} [allow_facets] + * @property {Object} [cron] - Cron schedule details related to the collection, + * if applicable. + * @property {Object} [_schedule] - Schedule details for the collection, + * including timing and duration information. + * @property {CollectionQuery[]} [query] - Search or filter query used to + * dynamically generate the collection based on specific criteria or conditions. + * @property {string} [description] - Detailed description of the collection,. + * @property {string} [type] - Type of collection, specifying the nature or + * category of the collection. + * @property {Object} [_custom_json] - Custom JSON object containing additional + * properties specific to the collection. + * @property {string} [name] - The name of the collection. + * @property {boolean} [allow_sort] - Indicates if sorting is allowed for this collection. + * @property {string[]} [visible_facets_keys] - Keys of the facets visible for + * filtering within the collection. + * @property {Object} [badge] - Badge information associated with the collection. + * @property {string} [slug] - The URL-friendly identifier for the collection. + * @property {boolean} [allow_facets] - Indicates if facets are allowed for + * filtering within the collection. * @property {Media} [logo] - * @property {number} [priority] - * @property {string[]} [tag] - * @property {string} [app_id] + * @property {number} [priority] - Priority level of the collection for sorting + * or display purposes. + * @property {string[]} [tag] - Tags associated with the collection. + * @property {string} [app_id] - Application ID associated with the collection. */ /** * @typedef GetFollowListingResponse - * @property {ProductListingDetail[]} items + * @property {ProductListingDetail[]} items - An array of product details that + * the user is following. Each item includes information such as the product + * name, price, and other attributes. * @property {Page} page */ /** * @typedef FollowPostResponse - * @property {string} message - * @property {string} id + * @property {string} message - A message indicating the result of the follow or + * unfollow operation. This could be a confirmation message or an error message. + * @property {string} id - A unique identifier for the follow operation, which + * can be used to reference or track the follow status. */ /** * @typedef FollowerCountResponse - * @property {number} [count] + * @property {number} [count] - The number of followers for the item. This count + * indicates how many users are following the specified item. */ /** * @typedef FollowIdsData - * @property {number[]} [products] - * @property {number[]} [collections] - * @property {number[]} [brands] + * @property {number[]} [products] - An array of IDs representing the products + * that the user is following. + * @property {number[]} [collections] - An array of IDs representing the + * collections that the user is following. + * @property {number[]} [brands] - An array of IDs representing the brands that + * the user is following. */ /** @@ -745,119 +855,137 @@ const Joi = require("joi"); /** * @typedef LatLong - * @property {number[]} [coordinates] - * @property {string} [type] + * @property {number[]} [coordinates] - An array containing the latitude and + * longitude values of the location. + * @property {string} [type] - The type of geographic coordinate system used. + * For example, "Point" indicates a single point in a geographic coordinate system. */ /** * @typedef Store - * @property {number} [uid] - * @property {string} [store_email] - * @property {string} [state] - * @property {string} [country] - * @property {number} [pincode] - * @property {string} [city] - * @property {string} [address] - * @property {string} [store_code] + * @property {number} [uid] - A unique identifier for the store. + * @property {string} [store_email] - The manager's email address for the store. + * @property {string} [state] - The state or province where the store is located. + * @property {string} [country] - The country where the store is located. + * @property {number} [pincode] - The postal code or zip code for the store's location. + * @property {string} [city] - The city where the store is located. + * @property {string} [address] - The street address of the store. + * @property {string} [store_code] - A unique code or identifier for the store, + * often used for internal reference. * @property {LatLong} [lat_long] - * @property {string} [name] - * @property {string[]} [tags] + * @property {string} [name] - The name of the store. + * @property {string[]} [tags] - The list of tags mapped to the store. */ /** * @typedef StoreListingResponse - * @property {Store[]} items + * @property {Store[]} items - An array of store details. Each store includes + * information such as name, address, and geographic coordinates. * @property {Page} page */ /** * @typedef StoreDepartments - * @property {number} [uid] - * @property {Object} [logo] - * @property {number} [priority_order] - * @property {string} [name] - * @property {string} [slug] + * @property {number} [uid] - The unique identifier assigned to the store department. + * @property {Object} [logo] - An object containing information about the store + * department's logo, such as the URL or other related media details. + * @property {number} [priority_order] - The priority or ranking of the + * department within the store. This field is used to determine the order in + * which departments are displayed or processed. + * @property {string} [name] - The name of the store department, which is + * typically used for display and identification purposes. + * @property {string} [slug] - A URL-friendly identifier for the store + * department, often used in web addresses and routing to uniquely identify + * the department. */ /** * @typedef CompanyStore - * @property {number} [uid] - * @property {string} [name] - * @property {string} [company_type] - * @property {string} [business_type] + * @property {number} [uid] - The unique identifier for the company store. + * @property {string} [name] - The name of the company store. + * @property {string} [company_type] - The type of company, which can be one of + * the following: - `distributor`: Distributor - `franchise`: Franchise - + * `mbo`: MBO (Managed Business Operations) - `manufacturer-owner`: Owner/Manufacturer. + * @property {string} [business_type] - The type of business structure, which + * can be one of the following: - `Private`: Private Limited Company - + * `LLP/Partnership`: Limited Liability Partnership or Partnership - + * `HUF/Proprietorship`: Hindu Undivided Family or Proprietorship. */ /** * @typedef SellerPhoneNumber - * @property {number} country_code - * @property {string} number + * @property {number} country_code - The country code of the seller's phone number. + * @property {string} number - The seller's contact number. */ /** * @typedef StoreManagerSerializer - * @property {string} [name] - * @property {string} [email] + * @property {string} [name] - The name of the store manager. + * @property {string} [email] - The email address of the store manager. * @property {SellerPhoneNumber} [mobile_no] */ /** * @typedef StoreAddressSerializer - * @property {number} [latitude] - * @property {string} [state] - * @property {string} [country] - * @property {string} [landmark] - * @property {string} [address1] - * @property {number} [pincode] - * @property {string} [city] - * @property {number} [longitude] - * @property {string} [address2] + * @property {number} [latitude] - The latitude of the store's location. + * @property {string} [state] - The state where the store is located. + * @property {string} [country] - The country where the store is located. + * @property {string} [landmark] - A landmark near the store. + * @property {string} [address1] - The address line 1 of the store. + * @property {number} [pincode] - The postal code for the store's location. + * @property {string} [city] - The city where the store is located. + * @property {number} [longitude] - The longitude of the store's location. + * @property {string} [address2] - The address line2 of the store. */ /** * @typedef AppStore - * @property {number} [uid] - * @property {StoreDepartments[]} [departments] + * @property {number} [uid] - The unique identifier for the application store. + * @property {StoreDepartments[]} [departments] - A list of departments within the store. * @property {CompanyStore} [company] * @property {StoreManagerSerializer} [manager] - * @property {string} [store_code] + * @property {string} [store_code] - A unique code for identifying the store. * @property {StoreAddressSerializer} [address] - * @property {string} [name] - * @property {SellerPhoneNumber[]} [contact_numbers] + * @property {string} [name] - The name of the store. + * @property {SellerPhoneNumber[]} [contact_numbers] - A list of contact numbers + * for the store. */ /** * @typedef ApplicationStoreListing - * @property {Object[]} [filters] - * @property {AppStore[]} [items] + * @property {Object[]} [filters] - A list of filters applied to the store listing. + * @property {AppStore[]} [items] - A list of application stores. * @property {Page} [page] */ /** * @typedef Time - * @property {number} [hour] - * @property {number} [minute] + * @property {number} [hour] - The hour part of the time. + * @property {number} [minute] - The minute part of the time. */ /** * @typedef StoreTiming - * @property {boolean} [open] + * @property {boolean} [open] - Indicates if the store is open on this day. * @property {Time} [closing] - * @property {string} [weekday] + * @property {string} [weekday] - The day of the week. * @property {Time} [opening] */ /** * @typedef StoreDetails - * @property {number} [uid] - * @property {StoreDepartments[]} [departments] + * @property {number} [uid] - The unique identifier for the store. + * @property {StoreDepartments[]} [departments] - A list of departments within the store. * @property {CompanyStore} [company] * @property {StoreManagerSerializer} [manager] - * @property {string} [store_code] - * @property {StoreTiming[]} [timing] + * @property {string} [store_code] - A unique code for identifying the store. + * @property {StoreTiming[]} [timing] - The opening and closing times for the + * store throughout the week. * @property {StoreAddressSerializer} [address] - * @property {Object} [_custom_json] - * @property {string} [name] - * @property {SellerPhoneNumber[]} [contact_numbers] + * @property {Object} [_custom_json] - Custom JSON data for the store. + * @property {string} [name] - The name of the store. + * @property {SellerPhoneNumber[]} [contact_numbers] - A list of contact numbers + * for the store. */ /** @@ -870,10 +998,10 @@ const Joi = require("joi"); /** * @typedef Size - * @property {number} [quantity] - The quantity of this size available - * @property {Object} [value] - The value of the size - * @property {Object} [display] - The display string for the size - * @property {boolean} [is_available] - Whether or not this size is available + * @property {number} [quantity] - The quantity of this size available. + * @property {Object} [value] - The value of the size. + * @property {Object} [display] - The display string for the size. + * @property {boolean} [is_available] - Whether or not this size is available. */ /** @@ -887,133 +1015,137 @@ const Joi = require("joi"); /** * @typedef ProductDetails - * @property {Object} [template_tag] - The template tag of the product - * @property {number} [rating_count] - The number of ratings the product has received - * @property {Object} [image_nature] - The nature of the product's images - * @property {boolean} [has_variant] - Whether or not the product has a variant - * @property {Object} [description] - The long description of the product - * @property {boolean} [out_of_stock] - Whether or not the product is out of stock - * @property {number} [hsn_code] - The HSN code of the product - * @property {Object} [grouped_attributes] - A dictionary of grouped product attributes - * @property {Object} [item_code] - The item code of the product - * @property {Object} [name] - The name of the product - * @property {Object} [country_of_origin] - The country of origin for the product - * @property {Object} [short_description] - The short description of the product - * @property {Object[]} [media] - A list of media objects for the product - * @property {Object} [attributes] - A dictionary of product attributes - * @property {boolean} [is_set] - Whether or not the product is a set of items - * @property {Object[]} [images] - A list of image URLs for the product - * @property {Object} [slug] - The slug of the product - * @property {number} [rating] - The rating of the product - * @property {Object} [identifier] - A dictionary of product identifiers - * @property {Object[]} [highlights] - A list of highlights for the product - * @property {number} [brand_uid] - The unique ID of the product's brand + * @property {Object} [template_tag] - The template tag of the product. + * @property {number} [rating_count] - The number of ratings the product has received. + * @property {Object} [image_nature] - The nature of the product's images. + * @property {boolean} [has_variant] - Whether or not the product has a variant. + * @property {Object} [description] - The long description of the product. + * @property {boolean} [out_of_stock] - Whether or not the product is out of stock. + * @property {number} [hsn_code] - The HSN code of the product. + * @property {Object} [grouped_attributes] - A dictionary of grouped product attributes. + * @property {Object} [item_code] - The item code of the product. + * @property {Object} [name] - The name of the product. + * @property {Object} [country_of_origin] - The country of origin for the product. + * @property {Object} [short_description] - The short description of the product. + * @property {Object[]} [media] - A list of media objects for the product. + * @property {Object} [attributes] - A dictionary of product attributes. + * @property {boolean} [is_set] - Whether or not the product is a set of items. + * @property {Object[]} [images] - A list of image URLs for the product. + * @property {Object} [slug] - The slug of the product. + * @property {number} [rating] - The rating of the product. + * @property {Object} [identifier] - A dictionary of product identifiers. + * @property {Object[]} [highlights] - A list of highlights for the product. + * @property {number} [brand_uid] - The unique ID of the product's brand. */ /** * @typedef ProductInGroup - * @property {boolean} [auto_add_to_cart] - A flag indicating whether the - * product should be automatically added to the cart. + * @property {boolean} [auto_add_to_cart] - Whether the product should be + * automatically added to the cart. * @property {number} max_quantity - The maximum quantity of the product that * can be added to the cart. * @property {Size[]} [sizes] - The available sizes for the product. - * @property {ProductGroupPrice} [price] - The price details for the product group. - * @property {boolean} [auto_select] - A flag indicating whether the product - * should be automatically selected. + * @property {ProductGroupPrice} [price] - The price details for the product. + * @property {boolean} [auto_select] - Whether the product should be + * automatically selected. * @property {ProductDetails} [product_details] - The details of the product. * @property {number} [min_quantity] - The minimum quantity of the product that * can be added to the cart. - * @property {boolean} [allow_remove] - A flag indicating whether the product - * can be removed from the cart. + * @property {boolean} [allow_remove] - Whether the product can be removed from the cart. * @property {number} product_uid - The unique ID of the product in the group. */ /** * @typedef ProductGroupingModel - * @property {string} [logo] - The URL for the logo of the product grouping. + * @property {string} [logo] - The URL for the logo of the product group. * @property {boolean} [is_active] - Whether the product grouping is active. * @property {Object} [meta] - A dictionary containing metadata information. * @property {UserDetail} [verified_by] - User details of the verifier of the - * document, if applicable - * @property {string} created_on - Timestamp of the creation of the document + * document, if applicable. + * @property {string} created_on - Timestamp of the creation of the document. * @property {number} [company_id] - The ID of the company that owns the product grouping. * @property {Object[]} [page_visibility] - A list of page visibilities of the * product grouping. - * @property {string} modified_on - Timestamp of the last modification of the document - * @property {UserDetail} [created_by] - User details of the creator of the document + * @property {string} modified_on - Timestamp of the last modification of the document. + * @property {UserDetail} [created_by] - User details of the creator of the document. * @property {UserDetail} [modified_by] - User details of the last modifier of - * the document + * the document. * @property {ProductInGroup[]} products - A list of products in the grouping. * @property {boolean} [same_store_assignment] - Whether the products are * assigned to the same store. - * @property {Object} [_id] + * @property {Object} [_id] - Unique identifier of the product grouping. * @property {Object} name - The name of the product grouping. * @property {Object} [choice] - The choice of the product grouping. * @property {Object} [slug] - The unique identifier for the product grouping. * @property {string} [verified_on] - Timestamp of when the document was - * verified, if applicable + * verified, if applicable. */ /** * @typedef ProductBundle - * @property {ProductGroupingModel[]} [items] + * @property {ProductGroupingModel[]} [items] - Represents list of + * bundles/product groupings. */ /** * @typedef StoreV3 - * @property {number} [uid] - * @property {string} [name] - * @property {number} [count] + * @property {number} [uid] - The unique identifier for the store. + * @property {string} [name] - The name of the store. + * @property {number} [count] - The count associated with the store. */ /** * @typedef ArticleAssignmentV3 - * @property {string} [strategy] - * @property {string} [level] + * @property {string} [strategy] - Method used for article assignment, such as + * optimal, fast-delivery, low-price, or manual. + * @property {string} [level] - Scope of assignment, which can be + * multi-companies, single-company, or single-store. */ /** * @typedef StrategyWiseListingSchemaV3 - * @property {number} [distance] - * @property {number} [pincode] - * @property {number} [tat] - * @property {number} [quantity] + * @property {number} [distance] - Distance between bullfight location and + * customer location in kilometers. . + * @property {number} [pincode] - Pincode mapped based on strategy. + * @property {number} [tat] - Turn around Time to deliver the product with this strategy. + * @property {number} [quantity] - The quantity available for assigned store. */ /** * @typedef DetailsSchemaV3 - * @property {string} [value] - * @property {string} [type] - * @property {string} [key] + * @property {string} [value] - The value of the attribute. + * @property {string} [type] - The type of detail e.g, text. + * @property {string} [key] - The attribute key associated with the size. */ /** * @typedef SellerGroupAttributes - * @property {string} [title] - * @property {DetailsSchemaV3[]} [details] + * @property {string} [title] - The title of the attribute group. + * @property {DetailsSchemaV3[]} [details] - Detail of the attribute. */ /** * @typedef ReturnConfigSchemaV3 - * @property {string} [unit] - * @property {boolean} [returnable] - * @property {number} [time] + * @property {string} [unit] - The unit for the return configuration. + * @property {boolean} [returnable] - Indicates if the item is returnable. + * @property {number} [time] - The time duration for the return policy. */ /** * @typedef ProductSetDistributionSizeV3 - * @property {number} [pieces] - * @property {string} [size] + * @property {number} [pieces] - The number of pieces available in this size. + * @property {string} [size] - The size of the product. */ /** * @typedef ProductSetDistributionV3 - * @property {ProductSetDistributionSizeV3[]} [sizes] + * @property {ProductSetDistributionSizeV3[]} [sizes] - A list of size + * distributions in the product set. */ /** * @typedef ProductSetV3 - * @property {number} [quantity] + * @property {number} [quantity] - The quantity of products in the set. * @property {ProductSetDistributionV3} [size_distribution] */ @@ -1022,7 +1154,7 @@ const Joi = require("joi"); * @property {number} [effective] - The effective or final price for the product * at the given pincode. * @property {string} [currency_code] - The currency code for which the product - * is available + * is available. * @property {string} [currency_symbol] - The currency symbol for the currency * in which the product is available. * @property {number} [marked] - The marked price of the product. @@ -1031,70 +1163,88 @@ const Joi = require("joi"); /** * @typedef ProductStockUnitPriceV3 - * @property {string} [unit] - * @property {string} [currency_symbol] - * @property {string} [currency_code] - * @property {number} [price] + * @property {string} [unit] - The unit of measure for the product. + * @property {string} [currency_symbol] - The currency symbol for the unit price. + * @property {string} [currency_code] - The currency code for the unit price. + * @property {number} [price] - The unit price of the product. */ /** * @typedef MarketPlaceSttributesSchemaV3 - * @property {string} [title] - * @property {DetailsSchemaV3[]} [details] + * @property {string} [title] - The title of the attribute. + * @property {DetailsSchemaV3[]} [details] - Detail of the attribute. */ /** * @typedef SellerV3 - * @property {number} [uid] - * @property {string} [name] - * @property {number} [count] + * @property {number} [uid] - The unique identifier for the seller. + * @property {string} [name] - The name of the seller. + * @property {number} [count] - The store count serviceable by this seller. */ /** * @typedef PromiseSchema - * @property {string} [min] - * @property {string} [max] + * @property {string} [min] - The minimum promise time. + * @property {string} [max] - The maximum promise time. */ /** * @typedef ProductSizePriceResponseV3 * @property {StoreV3} [store] * @property {ArticleAssignmentV3} [article_assignment] - * @property {boolean} [is_cod] - * @property {StrategyWiseListingSchemaV3[]} [strategy_wise_listing] - * @property {number} [quantity] - * @property {string} [item_type] - * @property {SellerGroupAttributes[]} [grouped_attributes] + * @property {boolean} [is_cod] - Whether Cash on Delivery (COD) is available + * for this product. It is true if COD is available and false otherwise. + * @property {StrategyWiseListingSchemaV3[]} [strategy_wise_listing] - Details + * about serviceability attributes. + * @property {number} [quantity] - Available quantity of the product in stock. + * It shows the number of units available for purchase. + * @property {string} [item_type] - Type of item, indicating the category or + * nature of the product. Possible values are Standard, Composite, Wet, Digital. + * @property {SellerGroupAttributes[]} [grouped_attributes] - Collection of + * attributes grouped together, which provides detailed characteristics of the + * product, such as color, size, material, etc. * @property {ReturnConfigSchemaV3} [return_config] - * @property {string} [article_id] - * @property {boolean} [is_gift] + * @property {string} [article_id] - This unique identifier is assigned to the + * specific article. This represents item x size x location. + * @property {boolean} [is_gift] - Whether the product can be purchased as a + * gift. It is true if the product is available for gifting and false otherwise. * @property {ProductSetV3} [set] - * @property {number} [seller_count] + * @property {number} [seller_count] - Number of sellers offering this product. + * It indicates the level of competition and availability from different sellers. * @property {ProductStockPriceV3} [price_per_piece] * @property {DiscountMeta} [discount_meta] - * @property {string} [discount] - * @property {number[]} [long_lat] - * @property {string} [special_badge] + * @property {string} [discount] - Amount or percentage of discount applied to + * the product's price, showing the savings for the customer. + * @property {number[]} [long_lat] - Longitude and latitude coordinates, + * possibly indicating the location of the store or warehouse where the + * product is stocked. + * @property {string} [special_badge] - Special badges or labels assigned to the + * product, such as "Bestseller," "New Arrival," or "Limited Edition.". * @property {ProductStockPriceV3} [price] * @property {ProductStockUnitPriceV3} [price_per_unit] - * @property {number} [pincode] - * @property {MarketPlaceSttributesSchemaV3[]} [marketplace_attributes] + * @property {number} [pincode] - Postal code or zip code for which the + * product's availability and delivery options are being checked. + * @property {MarketPlaceSttributesSchemaV3[]} [marketplace_attributes] - + * Attributes specific to the marketplace, such as ratings, reviews, shipping + * options, and other marketplace-specific details. * @property {SellerV3} [seller] * @property {PromiseSchema} [delivery_promise] */ /** * @typedef ProductSizeSellerFilterSchemaV3 - * @property {string} [name] - * @property {boolean} [is_selected] - * @property {string} [value] + * @property {string} [name] - The name of the store/seller. + * @property {boolean} [is_selected] - Whether this filter criterion is selected. + * @property {string} [value] - The value associated with this store/seller. */ /** * @typedef ProductSizeSellersResponseV3 - * @property {ProductSizePriceResponseV3[]} [items] + * @property {ProductSizePriceResponseV3[]} [items] - A list of products with + * size and price details available from various sellers. * @property {Page} page - * @property {ProductSizeSellerFilterSchemaV3[]} [sort_on] + * @property {ProductSizeSellerFilterSchemaV3[]} [sort_on] - A list of sorting + * and filtering criteria applied to the sellers' data. */ class CatalogApplicationModel { diff --git a/sdk/application/Catalog/CatalogApplicationValidator.d.ts b/sdk/application/Catalog/CatalogApplicationValidator.d.ts index abe134e38..9f32291a5 100644 --- a/sdk/application/Catalog/CatalogApplicationValidator.d.ts +++ b/sdk/application/Catalog/CatalogApplicationValidator.d.ts @@ -16,7 +16,7 @@ export = CatalogApplicationValidator; * @property {string} [department] - The name of the department. Use this * parameter to filter products by a particular department. See the list of * available departments below. Also, you can get available departments from - * the endpoint /service/application/catalog/v1.0/departments/ + * the endpoint /service/application/catalog/v1.0/departments/. * @property {number} [pageNo] - The page number to navigate through the given * set of results. * @property {number} [pageSize] - The number of items to retrieve in each page. @@ -26,7 +26,7 @@ export = CatalogApplicationValidator; * @property {string} [department] - The name of the department. Use this * parameter to filter products by a particular department. See the list of * available departments below. Also, you can get available departments from - * the endpoint /service/application/catalog/v1.0/departments/ + * the endpoint /service/application/catalog/v1.0/departments/. */ /** * @typedef GetCategoryDetailBySlugParam @@ -48,11 +48,11 @@ export = CatalogApplicationValidator; * @property {string} [f] - The search filter parameters. Filter parameters will * be passed in f parameter as shown in the example below. Double Pipe (||) * denotes the OR condition, whereas Triple-colon (:::) indicates a new filter - * paramater applied as an AND condition. + * parameter applied as an AND condition. * @property {string} [q] - The search query for entering partial or full name * of product, brand, category, or collection. - * @property {boolean} [filters] - This is a boolean value, True for fetching - * all filter parameters and False for disabling the filter parameters. + * @property {boolean} [filters] - True for fetching all filter parameters and + * False for disabling the filter parameters. * @property {string} [sortOn] - The order in which the list of products should * be sorted, e.g. popularity, price, latest and discount, in either ascending * or descending order. See the supported values below. @@ -67,14 +67,14 @@ export = CatalogApplicationValidator; * @property {number} [pageNo] - The page number to navigate through the given * set of results. * @property {number} [pageSize] - The number of items to retrieve in each page. - * @property {string[]} [tag] - List of tags to filter collections - * @property {string} [q] - Name of the collection to filter collection + * @property {string[]} [tag] - List of tags to filter collections. + * @property {string} [q] - Name of the collection to filter collection. */ /** * @typedef GetComparedFrequentlyProductBySlugParam * @property {string} slug - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ /** @typedef GetDepartmentsParam */ /** @@ -111,11 +111,11 @@ export = CatalogApplicationValidator; * @property {string} [q] - Search a store by its name or store_code. * @property {string} [city] - Search stores by the city in which they are situated. * @property {number} [range] - Use this to retrieve stores within a particular - * range in meters, e.g. 10000, to indicate a 10km range + * range in meters, e.g. 10000, to indicate a 10km range. * @property {number} [latitude] - Latitude of the location from where one wants - * to retreive the nearest stores, e.g. 72.8691788 + * to retrieve the nearest stores, e.g. 72.8691788. * @property {number} [longitude] - Longitude of the location from where one - * wants to retreive the nearest stores, e.g. 19.1174114 + * wants to retrieve the nearest stores, e.g. 19.1174114. */ /** * @typedef GetLocationDetailsByIdParam @@ -124,7 +124,7 @@ export = CatalogApplicationValidator; /** * @typedef GetProductBundlesBySlugParam * @property {string} [slug] - Product slug for which bundles need to be fetched. - * @property {string} [id] - Product uid + * @property {string} [id] - Product uid. */ /** * @typedef GetProductComparisonBySlugsParam @@ -136,16 +136,16 @@ export = CatalogApplicationValidator; * @typedef GetProductDetailBySlugParam * @property {string} slug - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ /** * @typedef GetProductPriceBySlugParam * @property {string} slug - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. * @property {string} size - A string indicating the size of the product, e.g. * S, M, XL. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/sizes + * /service/application/catalog/v1.0/products/sizes. * @property {number} [storeId] - The ID of the store that is selling the * product, e.g. 1,2,3. * @property {number} [moq] - An Integer indication the Minimum Order Quantity @@ -155,10 +155,10 @@ export = CatalogApplicationValidator; * @typedef GetProductSellersBySlugParam * @property {string} slug - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. * @property {string} size - A string indicating the size of the product, e.g. * S, M, XL. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/sizes + * /service/application/catalog/v1.0/products/sizes. * @property {string} [strategy] - Sort stores on the basis of strategy. eg, * fast-delivery, low-price, optimal. * @property {number} [pageNo] - The page number to navigate through the given @@ -169,25 +169,25 @@ export = CatalogApplicationValidator; * @typedef GetProductSizesBySlugParam * @property {string} slug - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. * @property {number} [storeId] - The ID of the store that is selling the * product, e.g. 1,2,3. */ /** * @typedef GetProductStockByIdsParam - * @property {string} [itemId] - The Item ID of the product (Max. 50 allowed) + * @property {string} [itemId] - The Item ID of the product (Max. 50 allowed). * @property {string} [alu] - ALU of the product (limited upto 50 ALU identifier - * in a single request) + * in a single request). * @property {string} [skuCode] - Stock-keeping Unit of the product (limited - * upto 50 SKU Code in a single request) + * upto 50 SKU Code in a single request). * @property {string} [ean] - European Article Number of the product (limited - * upto 50 EAN identifier in a single request) + * upto 50 EAN identifier in a single request). * @property {string} [upc] - Universal Product Code of the product (limited - * upto 50 UPC identifier in a single request) + * upto 50 UPC identifier in a single request). */ /** * @typedef GetProductStockForTimeByIdsParam - * @property {string} timestamp - Timestamp in UTC format (2020-07-23T10:27:50Z) + * @property {string} timestamp - Timestamp in UTC format (2020-07-23T10:27:50Z). * @property {number} [pageSize] - The number of items to retrieve in each page. * @property {string} [pageId] - Page ID to retrieve next set of results. */ @@ -195,7 +195,7 @@ export = CatalogApplicationValidator; * @typedef GetProductVariantsBySlugParam * @property {string} slug - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ /** * @typedef GetProductsParam @@ -204,9 +204,9 @@ export = CatalogApplicationValidator; * @property {string} [f] - The search filter parameters. Filter parameters will * be passed in f parameter as shown in the example below. Double Pipe (||) * denotes the OR condition, whereas Triple-colon (:::) indicates a new filter - * paramater applied as an AND condition. - * @property {boolean} [filters] - This is a boolean value, True for fetching - * all filter parameters and False for disabling the filter parameters. + * parameter applied as an AND condition. + * @property {boolean} [filters] - True for fetching all filter parameters and + * False for disabling the filter parameters. * @property {string} [sortOn] - The order in which the list of products should * be sorted, e.g. popularity, price, latest and discount, in either ascending * or descending order. See the supported values below. @@ -227,7 +227,7 @@ export = CatalogApplicationValidator; * @typedef GetSimilarComparisonProductBySlugParam * @property {string} slug - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ /** * @typedef GetStoresParam @@ -237,11 +237,11 @@ export = CatalogApplicationValidator; * @property {string} [q] - Search a store by its name or store_code. * @property {string} [city] - Search stores by the city in which they are situated. * @property {number} [range] - Use this to retrieve stores within a particular - * range in meters, e.g. 10000, to indicate a 10km range + * range in meters, e.g. 10000, to indicate a 10km range. * @property {number} [latitude] - Latitude of the location from where one wants - * to retreive the nearest stores, e.g. 72.8691788 + * to retrieve the nearest stores, e.g. 72.8691788. * @property {number} [longitude] - Longitude of the location from where one - * wants to retreive the nearest stores, e.g. 19.1174114 + * wants to retrieve the nearest stores, e.g. 19.1174114. * @property {string} [tags] - Search stores based on tags. */ /** @@ -339,7 +339,7 @@ type GetBrandsParam = { * - The name of the department. Use this * parameter to filter products by a particular department. See the list of * available departments below. Also, you can get available departments from - * the endpoint /service/application/catalog/v1.0/departments/ + * the endpoint /service/application/catalog/v1.0/departments/. */ department?: string; /** @@ -357,7 +357,7 @@ type GetCategoriesParam = { * - The name of the department. Use this * parameter to filter products by a particular department. See the list of * available departments below. Also, you can get available departments from - * the endpoint /service/application/catalog/v1.0/departments/ + * the endpoint /service/application/catalog/v1.0/departments/. */ department?: string; }; @@ -388,7 +388,7 @@ type GetCollectionItemsBySlugParam = { * - The search filter parameters. Filter parameters will * be passed in f parameter as shown in the example below. Double Pipe (||) * denotes the OR condition, whereas Triple-colon (:::) indicates a new filter - * paramater applied as an AND condition. + * parameter applied as an AND condition. */ f?: string; /** @@ -397,8 +397,8 @@ type GetCollectionItemsBySlugParam = { */ q?: string; /** - * - This is a boolean value, True for fetching - * all filter parameters and False for disabling the filter parameters. + * - True for fetching all filter parameters and + * False for disabling the filter parameters. */ filters?: boolean; /** @@ -436,11 +436,11 @@ type GetCollectionsParam = { */ pageSize?: number; /** - * - List of tags to filter collections + * - List of tags to filter collections. */ tag?: string[]; /** - * - Name of the collection to filter collection + * - Name of the collection to filter collection. */ q?: string; }; @@ -448,7 +448,7 @@ type GetComparedFrequentlyProductBySlugParam = { /** * - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ slug: string; }; @@ -521,17 +521,17 @@ type GetInStockLocationsParam = { city?: string; /** * - Use this to retrieve stores within a particular - * range in meters, e.g. 10000, to indicate a 10km range + * range in meters, e.g. 10000, to indicate a 10km range. */ range?: number; /** * - Latitude of the location from where one wants - * to retreive the nearest stores, e.g. 72.8691788 + * to retrieve the nearest stores, e.g. 72.8691788. */ latitude?: number; /** * - Longitude of the location from where one - * wants to retreive the nearest stores, e.g. 19.1174114 + * wants to retrieve the nearest stores, e.g. 19.1174114. */ longitude?: number; }; @@ -547,7 +547,7 @@ type GetProductBundlesBySlugParam = { */ slug?: string; /** - * - Product uid + * - Product uid. */ id?: string; }; @@ -563,7 +563,7 @@ type GetProductDetailBySlugParam = { /** * - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ slug: string; }; @@ -571,13 +571,13 @@ type GetProductPriceBySlugParam = { /** * - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ slug: string; /** * - A string indicating the size of the product, e.g. * S, M, XL. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/sizes + * /service/application/catalog/v1.0/products/sizes. */ size: string; /** @@ -595,13 +595,13 @@ type GetProductSellersBySlugParam = { /** * - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ slug: string; /** * - A string indicating the size of the product, e.g. * S, M, XL. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/sizes + * /service/application/catalog/v1.0/products/sizes. */ size: string; /** @@ -623,7 +623,7 @@ type GetProductSizesBySlugParam = { /** * - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ slug: string; /** @@ -634,33 +634,33 @@ type GetProductSizesBySlugParam = { }; type GetProductStockByIdsParam = { /** - * - The Item ID of the product (Max. 50 allowed) + * - The Item ID of the product (Max. 50 allowed). */ itemId?: string; /** * - ALU of the product (limited upto 50 ALU identifier - * in a single request) + * in a single request). */ alu?: string; /** * - Stock-keeping Unit of the product (limited - * upto 50 SKU Code in a single request) + * upto 50 SKU Code in a single request). */ skuCode?: string; /** * - European Article Number of the product (limited - * upto 50 EAN identifier in a single request) + * upto 50 EAN identifier in a single request). */ ean?: string; /** * - Universal Product Code of the product (limited - * upto 50 UPC identifier in a single request) + * upto 50 UPC identifier in a single request). */ upc?: string; }; type GetProductStockForTimeByIdsParam = { /** - * - Timestamp in UTC format (2020-07-23T10:27:50Z) + * - Timestamp in UTC format (2020-07-23T10:27:50Z). */ timestamp: string; /** @@ -676,7 +676,7 @@ type GetProductVariantsBySlugParam = { /** * - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ slug: string; }; @@ -690,12 +690,12 @@ type GetProductsParam = { * - The search filter parameters. Filter parameters will * be passed in f parameter as shown in the example below. Double Pipe (||) * denotes the OR condition, whereas Triple-colon (:::) indicates a new filter - * paramater applied as an AND condition. + * parameter applied as an AND condition. */ f?: string; /** - * - This is a boolean value, True for fetching - * all filter parameters and False for disabling the filter parameters. + * - True for fetching all filter parameters and + * False for disabling the filter parameters. */ filters?: boolean; /** @@ -735,7 +735,7 @@ type GetSimilarComparisonProductBySlugParam = { /** * - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ slug: string; }; @@ -759,17 +759,17 @@ type GetStoresParam = { city?: string; /** * - Use this to retrieve stores within a particular - * range in meters, e.g. 10000, to indicate a 10km range + * range in meters, e.g. 10000, to indicate a 10km range. */ range?: number; /** * - Latitude of the location from where one wants - * to retreive the nearest stores, e.g. 72.8691788 + * to retrieve the nearest stores, e.g. 72.8691788. */ latitude?: number; /** * - Longitude of the location from where one - * wants to retreive the nearest stores, e.g. 19.1174114 + * wants to retrieve the nearest stores, e.g. 19.1174114. */ longitude?: number; /** diff --git a/sdk/application/Catalog/CatalogApplicationValidator.js b/sdk/application/Catalog/CatalogApplicationValidator.js index 1c5e35463..6eb443d30 100644 --- a/sdk/application/Catalog/CatalogApplicationValidator.js +++ b/sdk/application/Catalog/CatalogApplicationValidator.js @@ -21,7 +21,7 @@ const CatalogApplicationModel = require("./CatalogApplicationModel"); * @property {string} [department] - The name of the department. Use this * parameter to filter products by a particular department. See the list of * available departments below. Also, you can get available departments from - * the endpoint /service/application/catalog/v1.0/departments/ + * the endpoint /service/application/catalog/v1.0/departments/. * @property {number} [pageNo] - The page number to navigate through the given * set of results. * @property {number} [pageSize] - The number of items to retrieve in each page. @@ -32,7 +32,7 @@ const CatalogApplicationModel = require("./CatalogApplicationModel"); * @property {string} [department] - The name of the department. Use this * parameter to filter products by a particular department. See the list of * available departments below. Also, you can get available departments from - * the endpoint /service/application/catalog/v1.0/departments/ + * the endpoint /service/application/catalog/v1.0/departments/. */ /** @@ -57,11 +57,11 @@ const CatalogApplicationModel = require("./CatalogApplicationModel"); * @property {string} [f] - The search filter parameters. Filter parameters will * be passed in f parameter as shown in the example below. Double Pipe (||) * denotes the OR condition, whereas Triple-colon (:::) indicates a new filter - * paramater applied as an AND condition. + * parameter applied as an AND condition. * @property {string} [q] - The search query for entering partial or full name * of product, brand, category, or collection. - * @property {boolean} [filters] - This is a boolean value, True for fetching - * all filter parameters and False for disabling the filter parameters. + * @property {boolean} [filters] - True for fetching all filter parameters and + * False for disabling the filter parameters. * @property {string} [sortOn] - The order in which the list of products should * be sorted, e.g. popularity, price, latest and discount, in either ascending * or descending order. See the supported values below. @@ -77,15 +77,15 @@ const CatalogApplicationModel = require("./CatalogApplicationModel"); * @property {number} [pageNo] - The page number to navigate through the given * set of results. * @property {number} [pageSize] - The number of items to retrieve in each page. - * @property {string[]} [tag] - List of tags to filter collections - * @property {string} [q] - Name of the collection to filter collection + * @property {string[]} [tag] - List of tags to filter collections. + * @property {string} [q] - Name of the collection to filter collection. */ /** * @typedef GetComparedFrequentlyProductBySlugParam * @property {string} slug - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ /** @typedef GetDepartmentsParam */ @@ -128,11 +128,11 @@ const CatalogApplicationModel = require("./CatalogApplicationModel"); * @property {string} [q] - Search a store by its name or store_code. * @property {string} [city] - Search stores by the city in which they are situated. * @property {number} [range] - Use this to retrieve stores within a particular - * range in meters, e.g. 10000, to indicate a 10km range + * range in meters, e.g. 10000, to indicate a 10km range. * @property {number} [latitude] - Latitude of the location from where one wants - * to retreive the nearest stores, e.g. 72.8691788 + * to retrieve the nearest stores, e.g. 72.8691788. * @property {number} [longitude] - Longitude of the location from where one - * wants to retreive the nearest stores, e.g. 19.1174114 + * wants to retrieve the nearest stores, e.g. 19.1174114. */ /** @@ -143,7 +143,7 @@ const CatalogApplicationModel = require("./CatalogApplicationModel"); /** * @typedef GetProductBundlesBySlugParam * @property {string} [slug] - Product slug for which bundles need to be fetched. - * @property {string} [id] - Product uid + * @property {string} [id] - Product uid. */ /** @@ -157,17 +157,17 @@ const CatalogApplicationModel = require("./CatalogApplicationModel"); * @typedef GetProductDetailBySlugParam * @property {string} slug - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ /** * @typedef GetProductPriceBySlugParam * @property {string} slug - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. * @property {string} size - A string indicating the size of the product, e.g. * S, M, XL. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/sizes + * /service/application/catalog/v1.0/products/sizes. * @property {number} [storeId] - The ID of the store that is selling the * product, e.g. 1,2,3. * @property {number} [moq] - An Integer indication the Minimum Order Quantity @@ -178,10 +178,10 @@ const CatalogApplicationModel = require("./CatalogApplicationModel"); * @typedef GetProductSellersBySlugParam * @property {string} slug - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. * @property {string} size - A string indicating the size of the product, e.g. * S, M, XL. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/sizes + * /service/application/catalog/v1.0/products/sizes. * @property {string} [strategy] - Sort stores on the basis of strategy. eg, * fast-delivery, low-price, optimal. * @property {number} [pageNo] - The page number to navigate through the given @@ -193,27 +193,27 @@ const CatalogApplicationModel = require("./CatalogApplicationModel"); * @typedef GetProductSizesBySlugParam * @property {string} slug - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. * @property {number} [storeId] - The ID of the store that is selling the * product, e.g. 1,2,3. */ /** * @typedef GetProductStockByIdsParam - * @property {string} [itemId] - The Item ID of the product (Max. 50 allowed) + * @property {string} [itemId] - The Item ID of the product (Max. 50 allowed). * @property {string} [alu] - ALU of the product (limited upto 50 ALU identifier - * in a single request) + * in a single request). * @property {string} [skuCode] - Stock-keeping Unit of the product (limited - * upto 50 SKU Code in a single request) + * upto 50 SKU Code in a single request). * @property {string} [ean] - European Article Number of the product (limited - * upto 50 EAN identifier in a single request) + * upto 50 EAN identifier in a single request). * @property {string} [upc] - Universal Product Code of the product (limited - * upto 50 UPC identifier in a single request) + * upto 50 UPC identifier in a single request). */ /** * @typedef GetProductStockForTimeByIdsParam - * @property {string} timestamp - Timestamp in UTC format (2020-07-23T10:27:50Z) + * @property {string} timestamp - Timestamp in UTC format (2020-07-23T10:27:50Z). * @property {number} [pageSize] - The number of items to retrieve in each page. * @property {string} [pageId] - Page ID to retrieve next set of results. */ @@ -222,7 +222,7 @@ const CatalogApplicationModel = require("./CatalogApplicationModel"); * @typedef GetProductVariantsBySlugParam * @property {string} slug - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ /** @@ -232,9 +232,9 @@ const CatalogApplicationModel = require("./CatalogApplicationModel"); * @property {string} [f] - The search filter parameters. Filter parameters will * be passed in f parameter as shown in the example below. Double Pipe (||) * denotes the OR condition, whereas Triple-colon (:::) indicates a new filter - * paramater applied as an AND condition. - * @property {boolean} [filters] - This is a boolean value, True for fetching - * all filter parameters and False for disabling the filter parameters. + * parameter applied as an AND condition. + * @property {boolean} [filters] - True for fetching all filter parameters and + * False for disabling the filter parameters. * @property {string} [sortOn] - The order in which the list of products should * be sorted, e.g. popularity, price, latest and discount, in either ascending * or descending order. See the supported values below. @@ -257,7 +257,7 @@ const CatalogApplicationModel = require("./CatalogApplicationModel"); * @typedef GetSimilarComparisonProductBySlugParam * @property {string} slug - A short, human-readable, URL-friendly identifier of * a product. You can get slug value from the endpoint - * /service/application/catalog/v1.0/products/ + * /service/application/catalog/v1.0/products/. */ /** @@ -268,11 +268,11 @@ const CatalogApplicationModel = require("./CatalogApplicationModel"); * @property {string} [q] - Search a store by its name or store_code. * @property {string} [city] - Search stores by the city in which they are situated. * @property {number} [range] - Use this to retrieve stores within a particular - * range in meters, e.g. 10000, to indicate a 10km range + * range in meters, e.g. 10000, to indicate a 10km range. * @property {number} [latitude] - Latitude of the location from where one wants - * to retreive the nearest stores, e.g. 72.8691788 + * to retrieve the nearest stores, e.g. 72.8691788. * @property {number} [longitude] - Longitude of the location from where one - * wants to retreive the nearest stores, e.g. 19.1174114 + * wants to retrieve the nearest stores, e.g. 19.1174114. * @property {string} [tags] - Search stores based on tags. */ diff --git a/sdk/application/Common/CommonApplicationClient.d.ts b/sdk/application/Common/CommonApplicationClient.d.ts index eaba6f94c..349c01272 100644 --- a/sdk/application/Common/CommonApplicationClient.d.ts +++ b/sdk/application/Common/CommonApplicationClient.d.ts @@ -15,7 +15,7 @@ declare class Common { * @returns {Promise} - Success response * @name getLocations * @summary: Get a location - * @description: Retrieves countries , state , cities data associated with the sales channel - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/common/getLocations/). + * @description: Get countries , state , cities data associated with the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/common/getLocations/). */ getLocations({ locationType, id, requestHeaders }?: CommonApplicationValidator.GetLocationsParam, { responseHeaders }?: object): Promise; /** @@ -25,7 +25,7 @@ declare class Common { * @returns {Promise} - Success response * @name searchApplication * @summary: Get sales channel - * @description: Retrieves an active sales channel based on a provided query. The query can be a valid sales channel ID or a verified domain name. If the sales channel is found, a success response is returned. If not, a 404 error response is returned - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/common/searchApplication/). + * @description: Get an active sales channel based on a provided query. The query can be a valid sales channel ID or a verified domain name. If the sales channel is found, a success response is returned. If not, a 404 error response is returned. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/common/searchApplication/). */ searchApplication({ authorization, query, requestHeaders }?: CommonApplicationValidator.SearchApplicationParam, { responseHeaders }?: object): Promise; } diff --git a/sdk/application/Common/CommonApplicationClient.js b/sdk/application/Common/CommonApplicationClient.js index eb98310d3..dfdd8a6d7 100644 --- a/sdk/application/Common/CommonApplicationClient.js +++ b/sdk/application/Common/CommonApplicationClient.js @@ -41,7 +41,7 @@ class Common { * @returns {Promise} - Success response * @name getLocations * @summary: Get a location - * @description: Retrieves countries , state , cities data associated with the sales channel - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/common/getLocations/). + * @description: Get countries , state , cities data associated with the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/common/getLocations/). */ async getLocations( { locationType, id, requestHeaders } = { requestHeaders: {} }, @@ -121,7 +121,7 @@ class Common { * @returns {Promise} - Success response * @name searchApplication * @summary: Get sales channel - * @description: Retrieves an active sales channel based on a provided query. The query can be a valid sales channel ID or a verified domain name. If the sales channel is found, a success response is returned. If not, a 404 error response is returned - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/common/searchApplication/). + * @description: Get an active sales channel based on a provided query. The query can be a valid sales channel ID or a verified domain name. If the sales channel is found, a success response is returned. If not, a 404 error response is returned. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/common/searchApplication/). */ async searchApplication( { authorization, query, requestHeaders } = { requestHeaders: {} }, diff --git a/sdk/application/Common/CommonApplicationModel.d.ts b/sdk/application/Common/CommonApplicationModel.d.ts index 3513c9fdd..c59f5674a 100644 --- a/sdk/application/Common/CommonApplicationModel.d.ts +++ b/sdk/application/Common/CommonApplicationModel.d.ts @@ -5,33 +5,33 @@ export = CommonApplicationModel; */ /** * @typedef Domain - * @property {boolean} [verified] - Indicates domain is verified or not. TXT and - * A records should propagate correctly. - * @property {boolean} [is_primary] - Indicates domain is primary or not. - * Primary domain is the default/main domain. - * @property {boolean} [is_shortlink] - Shortlink is present or not for the domain + * @property {boolean} [verified] - Whether domain is verified or not. TXT and A + * records should propagate correctly. + * @property {boolean} [is_primary] - Whether domain is primary or not. Primary + * domain is the default/main domain. + * @property {boolean} [is_shortlink] - Whether shortlink is present or not for + * the domain. * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the domain - * @property {string} [name] - * @property {boolean} [is_predefined] - Domain is hosting domain or not + * of the domain. + * @property {string} [name] - The name of the domain. + * @property {boolean} [is_predefined] - Whether domain is hosting domain or not. */ /** * @typedef ApplicationWebsite - * @property {boolean} [enabled] - Shows whether sales channel website URL is - * enabled or not - * @property {string} [basepath] - Base path for the current sales channel website + * @property {boolean} [enabled] - Whether sales channel website URL is enabled or not. + * @property {string} [basepath] - Base path for the current sales channel website. */ /** * @typedef ApplicationCors - * @property {string[]} [domains] + * @property {string[]} [domains] - List of all domains added to the sales channel. */ /** * @typedef ApplicationAuth - * @property {boolean} [enabled] - Shows sales channel auth is enabled or not enabled. + * @property {boolean} [enabled] - Whether sales channel auth is enabled or not enabled. */ /** * @typedef ApplicationRedirections - * @property {string} [redirect_from] - Old domain URL of the sales channel + * @property {string} [redirect_from] - Old domain URL of the sales channel. * @property {string} [redirect_to] - New domain URL of the sales channel. Users * will be automatically redirected from old domain to new domain. * @property {string} [type] - It shows domain redirection type. Permanent @@ -40,93 +40,94 @@ export = CommonApplicationModel; */ /** * @typedef ApplicationMeta - * @property {string} [name] - Indicates the name of application meta - * @property {string} [value] - Value related to application meta name + * @property {string} [name] - Indicates the name of application meta. + * @property {string} [value] - Value related to application meta name. */ /** * @typedef SecureUrl - * @property {string} [secure_url] - Hosted URL of the image + * @property {string} [secure_url] - Hosted URL of the image. */ /** * @typedef Application * @property {ApplicationWebsite} [website] * @property {ApplicationCors} [cors] * @property {ApplicationAuth} [auth] - * @property {string} [description] - It contains detailed information about the - * sales channel + * @property {string} [description] - Detailed information about the sales channel. * @property {string} [channel_type] - It indicates different channel types like * store, website-and-mobile-apps. Default value is store. - * @property {number} [cache_ttl] - An integer value that specifies the number - * of seconds until the key expires - * @property {boolean} [is_internal] - Indicates whether a sales channel is - * internal or not - * @property {boolean} [is_active] - Indicates whether a sales channel is active - * or not active + * @property {number} [cache_ttl] - Number of seconds until the key expires. + * @property {boolean} [is_internal] - Whether a sales channel is internal or not. + * @property {boolean} [is_active] - Whether a sales channel is active or not active. * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the sales channel - * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion + * of the sales channel. + * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion. * @property {string} [owner] - The unique identifier (24-digit Mongo Object ID) - * of owner who owns the application + * of owner who owns the application. * @property {number} [company_id] - Numeric ID allotted to a business account - * where the sales channel exists + * where the sales channel exists. * @property {string} [token] - Randomly generated fixed-length string for sales * channel. It is required and auto-generated. - * @property {ApplicationRedirections[]} [redirections] - * @property {ApplicationMeta[]} [meta] - * @property {string} [created_at] - ISO 8601 timestamp of sales channel creation - * @property {string} [updated_at] - ISO 8601 timestamp of sales channel updation + * @property {ApplicationRedirections[]} [redirections] - List of redirection + * configurations for the sales channel. + * @property {ApplicationMeta[]} [meta] - List of metadata associated with the + * sales channel. + * @property {string} [created_at] - ISO 8601 timestamp of sales channel creation. + * @property {string} [updated_at] - ISO 8601 timestamp of sales channel updation. * @property {number} [__v] - Version key for tracking revisions. Default value is zero. * @property {SecureUrl} [banner] * @property {SecureUrl} [logo] * @property {SecureUrl} [favicon] - * @property {Domain[]} [domains] + * @property {Domain[]} [domains] - List of domains associated with the sales channel. * @property {string} [app_type] - It shows whether application is live or in - * development mode + * development mode. * @property {SecureUrl} [mobile_logo] * @property {Domain} [domain] */ /** * @typedef NotFound - * @property {string} [message] - Response message for not found + * @property {string} [message] - Response message for not found. */ /** * @typedef BadRequest - * @property {string} [message] - Failure message (in a string format) + * @property {string} [message] - Failure message (in a string format). */ /** * @typedef LocationDefaultLanguage - * @property {string} [name] - * @property {string} [code] + * @property {string} [name] - Name of the language. + * @property {string} [code] - Code of the language. */ /** * @typedef LocationDefaultCurrency - * @property {string} [name] - * @property {string} [symbol] - * @property {string} [code] + * @property {string} [name] - The name of the currency. + * @property {string} [symbol] - The symbol representing the currency. + * @property {string} [code] - The ISO 4217 code for the currency. */ /** * @typedef LocationCountry - * @property {string} [capital] - * @property {string} [currency] - * @property {string} [iso2] - * @property {string} [iso3] - * @property {string} [name] - * @property {string} [parent] - * @property {string} [phone_code] - * @property {string} [type] - * @property {number} [uid] - * @property {number} [__v] - * @property {string} [_id] + * @property {string} [capital] - The capital of the country. + * @property {string} [currency] - The currency code used in the country. + * @property {string} [iso2] - The ISO 3166-1 alpha-2 code for the country. + * @property {string} [iso3] - The ISO 3166-1 alpha-3 code for the country. + * @property {string} [name] - The name of the country. + * @property {string} [parent] - The parent country if this is a subnational + * entity (e.g., a territory or region). + * @property {string} [phone_code] - The international dialing code for the country. + * @property {string} [type] - The type of location, which is a country in this context. + * @property {number} [uid] - A unique identifier for the country. + * @property {number} [__v] - Version key for tracking revisions. + * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) + * for the country. * @property {LocationDefaultCurrency} [default_currency] * @property {LocationDefaultLanguage} [default_language] - * @property {string} [state_code] - * @property {string} [country_code] - * @property {string} [latitude] - * @property {string} [longitude] + * @property {string} [state_code] - The code representing the state or region + * within the country, if applicable. + * @property {string} [country_code] - The country code used for the country. + * @property {string} [latitude] - The latitude of the store's location. + * @property {string} [longitude] - The longitude of the store's location. */ /** * @typedef Locations - * @property {LocationCountry[]} [items] + * @property {LocationCountry[]} [items] - A list of country location details. */ declare class CommonApplicationModel { } @@ -142,27 +143,31 @@ type ApplicationResponse = { declare function Domain(): Domain; type Domain = { /** - * - Indicates domain is verified or not. TXT and - * A records should propagate correctly. + * - Whether domain is verified or not. TXT and A + * records should propagate correctly. */ verified?: boolean; /** - * - Indicates domain is primary or not. - * Primary domain is the default/main domain. + * - Whether domain is primary or not. Primary + * domain is the default/main domain. */ is_primary?: boolean; /** - * - Shortlink is present or not for the domain + * - Whether shortlink is present or not for + * the domain. */ is_shortlink?: boolean; /** * - The unique identifier (24-digit Mongo Object ID) - * of the domain + * of the domain. */ _id?: string; + /** + * - The name of the domain. + */ name?: string; /** - * - Domain is hosting domain or not + * - Whether domain is hosting domain or not. */ is_predefined?: boolean; }; @@ -170,25 +175,27 @@ type Domain = { declare function ApplicationWebsite(): ApplicationWebsite; type ApplicationWebsite = { /** - * - Shows whether sales channel website URL is - * enabled or not + * - Whether sales channel website URL is enabled or not. */ enabled?: boolean; /** - * - Base path for the current sales channel website + * - Base path for the current sales channel website. */ basepath?: string; }; /** @returns {ApplicationCors} */ declare function ApplicationCors(): ApplicationCors; type ApplicationCors = { + /** + * - List of all domains added to the sales channel. + */ domains?: string[]; }; /** @returns {ApplicationAuth} */ declare function ApplicationAuth(): ApplicationAuth; type ApplicationAuth = { /** - * - Shows sales channel auth is enabled or not enabled. + * - Whether sales channel auth is enabled or not enabled. */ enabled?: boolean; }; @@ -196,7 +203,7 @@ type ApplicationAuth = { declare function ApplicationRedirections(): ApplicationRedirections; type ApplicationRedirections = { /** - * - Old domain URL of the sales channel + * - Old domain URL of the sales channel. */ redirect_from?: string; /** @@ -215,11 +222,11 @@ type ApplicationRedirections = { declare function ApplicationMeta(): ApplicationMeta; type ApplicationMeta = { /** - * - Indicates the name of application meta + * - Indicates the name of application meta. */ name?: string; /** - * - Value related to application meta name + * - Value related to application meta name. */ value?: string; }; @@ -227,7 +234,7 @@ type ApplicationMeta = { declare function SecureUrl(): SecureUrl; type SecureUrl = { /** - * - Hosted URL of the image + * - Hosted URL of the image. */ secure_url?: string; }; @@ -238,8 +245,7 @@ type Application = { cors?: ApplicationCors; auth?: ApplicationAuth; /** - * - It contains detailed information about the - * sales channel + * - Detailed information about the sales channel. */ description?: string; /** @@ -248,37 +254,34 @@ type Application = { */ channel_type?: string; /** - * - An integer value that specifies the number - * of seconds until the key expires + * - Number of seconds until the key expires. */ cache_ttl?: number; /** - * - Indicates whether a sales channel is - * internal or not + * - Whether a sales channel is internal or not. */ is_internal?: boolean; /** - * - Indicates whether a sales channel is active - * or not active + * - Whether a sales channel is active or not active. */ is_active?: boolean; /** * - The unique identifier (24-digit Mongo Object ID) - * of the sales channel + * of the sales channel. */ _id?: string; /** - * - Name of the sales channel, e.g. Zenz Fashion + * - Name of the sales channel, e.g. Zenz Fashion. */ name?: string; /** * - The unique identifier (24-digit Mongo Object ID) - * of owner who owns the application + * of owner who owns the application. */ owner?: string; /** * - Numeric ID allotted to a business account - * where the sales channel exists + * where the sales channel exists. */ company_id?: number; /** @@ -286,14 +289,22 @@ type Application = { * channel. It is required and auto-generated. */ token?: string; + /** + * - List of redirection + * configurations for the sales channel. + */ redirections?: ApplicationRedirections[]; + /** + * - List of metadata associated with the + * sales channel. + */ meta?: ApplicationMeta[]; /** - * - ISO 8601 timestamp of sales channel creation + * - ISO 8601 timestamp of sales channel creation. */ created_at?: string; /** - * - ISO 8601 timestamp of sales channel updation + * - ISO 8601 timestamp of sales channel updation. */ updated_at?: string; /** @@ -303,10 +314,13 @@ type Application = { banner?: SecureUrl; logo?: SecureUrl; favicon?: SecureUrl; + /** + * - List of domains associated with the sales channel. + */ domains?: Domain[]; /** * - It shows whether application is live or in - * development mode + * development mode. */ app_type?: string; mobile_logo?: SecureUrl; @@ -316,7 +330,7 @@ type Application = { declare function NotFound(): NotFound; type NotFound = { /** - * - Response message for not found + * - Response message for not found. */ message?: string; }; @@ -324,46 +338,112 @@ type NotFound = { declare function BadRequest(): BadRequest; type BadRequest = { /** - * - Failure message (in a string format) + * - Failure message (in a string format). */ message?: string; }; /** @returns {LocationDefaultLanguage} */ declare function LocationDefaultLanguage(): LocationDefaultLanguage; type LocationDefaultLanguage = { + /** + * - Name of the language. + */ name?: string; + /** + * - Code of the language. + */ code?: string; }; /** @returns {LocationDefaultCurrency} */ declare function LocationDefaultCurrency(): LocationDefaultCurrency; type LocationDefaultCurrency = { + /** + * - The name of the currency. + */ name?: string; + /** + * - The symbol representing the currency. + */ symbol?: string; + /** + * - The ISO 4217 code for the currency. + */ code?: string; }; /** @returns {LocationCountry} */ declare function LocationCountry(): LocationCountry; type LocationCountry = { + /** + * - The capital of the country. + */ capital?: string; + /** + * - The currency code used in the country. + */ currency?: string; + /** + * - The ISO 3166-1 alpha-2 code for the country. + */ iso2?: string; + /** + * - The ISO 3166-1 alpha-3 code for the country. + */ iso3?: string; + /** + * - The name of the country. + */ name?: string; + /** + * - The parent country if this is a subnational + * entity (e.g., a territory or region). + */ parent?: string; + /** + * - The international dialing code for the country. + */ phone_code?: string; + /** + * - The type of location, which is a country in this context. + */ type?: string; + /** + * - A unique identifier for the country. + */ uid?: number; + /** + * - Version key for tracking revisions. + */ __v?: number; + /** + * - The unique identifier (24-digit Mongo Object ID) + * for the country. + */ _id?: string; default_currency?: LocationDefaultCurrency; default_language?: LocationDefaultLanguage; + /** + * - The code representing the state or region + * within the country, if applicable. + */ state_code?: string; + /** + * - The country code used for the country. + */ country_code?: string; + /** + * - The latitude of the store's location. + */ latitude?: string; + /** + * - The longitude of the store's location. + */ longitude?: string; }; /** @returns {Locations} */ declare function Locations(): Locations; type Locations = { + /** + * - A list of country location details. + */ items?: LocationCountry[]; }; diff --git a/sdk/application/Common/CommonApplicationModel.js b/sdk/application/Common/CommonApplicationModel.js index 08b168977..265d2b9b4 100644 --- a/sdk/application/Common/CommonApplicationModel.js +++ b/sdk/application/Common/CommonApplicationModel.js @@ -7,37 +7,37 @@ const Joi = require("joi"); /** * @typedef Domain - * @property {boolean} [verified] - Indicates domain is verified or not. TXT and - * A records should propagate correctly. - * @property {boolean} [is_primary] - Indicates domain is primary or not. - * Primary domain is the default/main domain. - * @property {boolean} [is_shortlink] - Shortlink is present or not for the domain + * @property {boolean} [verified] - Whether domain is verified or not. TXT and A + * records should propagate correctly. + * @property {boolean} [is_primary] - Whether domain is primary or not. Primary + * domain is the default/main domain. + * @property {boolean} [is_shortlink] - Whether shortlink is present or not for + * the domain. * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the domain - * @property {string} [name] - * @property {boolean} [is_predefined] - Domain is hosting domain or not + * of the domain. + * @property {string} [name] - The name of the domain. + * @property {boolean} [is_predefined] - Whether domain is hosting domain or not. */ /** * @typedef ApplicationWebsite - * @property {boolean} [enabled] - Shows whether sales channel website URL is - * enabled or not - * @property {string} [basepath] - Base path for the current sales channel website + * @property {boolean} [enabled] - Whether sales channel website URL is enabled or not. + * @property {string} [basepath] - Base path for the current sales channel website. */ /** * @typedef ApplicationCors - * @property {string[]} [domains] + * @property {string[]} [domains] - List of all domains added to the sales channel. */ /** * @typedef ApplicationAuth - * @property {boolean} [enabled] - Shows sales channel auth is enabled or not enabled. + * @property {boolean} [enabled] - Whether sales channel auth is enabled or not enabled. */ /** * @typedef ApplicationRedirections - * @property {string} [redirect_from] - Old domain URL of the sales channel + * @property {string} [redirect_from] - Old domain URL of the sales channel. * @property {string} [redirect_to] - New domain URL of the sales channel. Users * will be automatically redirected from old domain to new domain. * @property {string} [type] - It shows domain redirection type. Permanent @@ -47,13 +47,13 @@ const Joi = require("joi"); /** * @typedef ApplicationMeta - * @property {string} [name] - Indicates the name of application meta - * @property {string} [value] - Value related to application meta name + * @property {string} [name] - Indicates the name of application meta. + * @property {string} [value] - Value related to application meta name. */ /** * @typedef SecureUrl - * @property {string} [secure_url] - Hosted URL of the image + * @property {string} [secure_url] - Hosted URL of the image. */ /** @@ -61,87 +61,88 @@ const Joi = require("joi"); * @property {ApplicationWebsite} [website] * @property {ApplicationCors} [cors] * @property {ApplicationAuth} [auth] - * @property {string} [description] - It contains detailed information about the - * sales channel + * @property {string} [description] - Detailed information about the sales channel. * @property {string} [channel_type] - It indicates different channel types like * store, website-and-mobile-apps. Default value is store. - * @property {number} [cache_ttl] - An integer value that specifies the number - * of seconds until the key expires - * @property {boolean} [is_internal] - Indicates whether a sales channel is - * internal or not - * @property {boolean} [is_active] - Indicates whether a sales channel is active - * or not active + * @property {number} [cache_ttl] - Number of seconds until the key expires. + * @property {boolean} [is_internal] - Whether a sales channel is internal or not. + * @property {boolean} [is_active] - Whether a sales channel is active or not active. * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the sales channel - * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion + * of the sales channel. + * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion. * @property {string} [owner] - The unique identifier (24-digit Mongo Object ID) - * of owner who owns the application + * of owner who owns the application. * @property {number} [company_id] - Numeric ID allotted to a business account - * where the sales channel exists + * where the sales channel exists. * @property {string} [token] - Randomly generated fixed-length string for sales * channel. It is required and auto-generated. - * @property {ApplicationRedirections[]} [redirections] - * @property {ApplicationMeta[]} [meta] - * @property {string} [created_at] - ISO 8601 timestamp of sales channel creation - * @property {string} [updated_at] - ISO 8601 timestamp of sales channel updation + * @property {ApplicationRedirections[]} [redirections] - List of redirection + * configurations for the sales channel. + * @property {ApplicationMeta[]} [meta] - List of metadata associated with the + * sales channel. + * @property {string} [created_at] - ISO 8601 timestamp of sales channel creation. + * @property {string} [updated_at] - ISO 8601 timestamp of sales channel updation. * @property {number} [__v] - Version key for tracking revisions. Default value is zero. * @property {SecureUrl} [banner] * @property {SecureUrl} [logo] * @property {SecureUrl} [favicon] - * @property {Domain[]} [domains] + * @property {Domain[]} [domains] - List of domains associated with the sales channel. * @property {string} [app_type] - It shows whether application is live or in - * development mode + * development mode. * @property {SecureUrl} [mobile_logo] * @property {Domain} [domain] */ /** * @typedef NotFound - * @property {string} [message] - Response message for not found + * @property {string} [message] - Response message for not found. */ /** * @typedef BadRequest - * @property {string} [message] - Failure message (in a string format) + * @property {string} [message] - Failure message (in a string format). */ /** * @typedef LocationDefaultLanguage - * @property {string} [name] - * @property {string} [code] + * @property {string} [name] - Name of the language. + * @property {string} [code] - Code of the language. */ /** * @typedef LocationDefaultCurrency - * @property {string} [name] - * @property {string} [symbol] - * @property {string} [code] + * @property {string} [name] - The name of the currency. + * @property {string} [symbol] - The symbol representing the currency. + * @property {string} [code] - The ISO 4217 code for the currency. */ /** * @typedef LocationCountry - * @property {string} [capital] - * @property {string} [currency] - * @property {string} [iso2] - * @property {string} [iso3] - * @property {string} [name] - * @property {string} [parent] - * @property {string} [phone_code] - * @property {string} [type] - * @property {number} [uid] - * @property {number} [__v] - * @property {string} [_id] + * @property {string} [capital] - The capital of the country. + * @property {string} [currency] - The currency code used in the country. + * @property {string} [iso2] - The ISO 3166-1 alpha-2 code for the country. + * @property {string} [iso3] - The ISO 3166-1 alpha-3 code for the country. + * @property {string} [name] - The name of the country. + * @property {string} [parent] - The parent country if this is a subnational + * entity (e.g., a territory or region). + * @property {string} [phone_code] - The international dialing code for the country. + * @property {string} [type] - The type of location, which is a country in this context. + * @property {number} [uid] - A unique identifier for the country. + * @property {number} [__v] - Version key for tracking revisions. + * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) + * for the country. * @property {LocationDefaultCurrency} [default_currency] * @property {LocationDefaultLanguage} [default_language] - * @property {string} [state_code] - * @property {string} [country_code] - * @property {string} [latitude] - * @property {string} [longitude] + * @property {string} [state_code] - The code representing the state or region + * within the country, if applicable. + * @property {string} [country_code] - The country code used for the country. + * @property {string} [latitude] - The latitude of the store's location. + * @property {string} [longitude] - The longitude of the store's location. */ /** * @typedef Locations - * @property {LocationCountry[]} [items] + * @property {LocationCountry[]} [items] - A list of country location details. */ class CommonApplicationModel { diff --git a/sdk/application/Common/CommonApplicationValidator.d.ts b/sdk/application/Common/CommonApplicationValidator.d.ts index 8657b372d..9b00003c2 100644 --- a/sdk/application/Common/CommonApplicationValidator.d.ts +++ b/sdk/application/Common/CommonApplicationValidator.d.ts @@ -2,15 +2,15 @@ export = CommonApplicationValidator; /** * @typedef GetLocationsParam * @property {string} [locationType] - Provide location type to query on. - * Possible values : country, state, city + * Possible values : country, state, city. * @property {string} [id] - Field is optional when location_type is country. If * querying for state, provide id of country. If querying for city, provide id * of state. */ /** * @typedef SearchApplicationParam - * @property {string} [authorization] - * @property {string} [query] - Provide application name + * @property {string} [authorization] - Basic auth string to access the api endpoint. + * @property {string} [query] - Provide application name. */ declare class CommonApplicationValidator { /** @returns {GetLocationsParam} */ @@ -24,7 +24,7 @@ declare namespace CommonApplicationValidator { type GetLocationsParam = { /** * - Provide location type to query on. - * Possible values : country, state, city + * Possible values : country, state, city. */ locationType?: string; /** @@ -35,9 +35,12 @@ type GetLocationsParam = { id?: string; }; type SearchApplicationParam = { + /** + * - Basic auth string to access the api endpoint. + */ authorization?: string; /** - * - Provide application name + * - Provide application name. */ query?: string; }; diff --git a/sdk/application/Common/CommonApplicationValidator.js b/sdk/application/Common/CommonApplicationValidator.js index 7705f328b..8bb7adb55 100644 --- a/sdk/application/Common/CommonApplicationValidator.js +++ b/sdk/application/Common/CommonApplicationValidator.js @@ -5,7 +5,7 @@ const CommonApplicationModel = require("./CommonApplicationModel"); /** * @typedef GetLocationsParam * @property {string} [locationType] - Provide location type to query on. - * Possible values : country, state, city + * Possible values : country, state, city. * @property {string} [id] - Field is optional when location_type is country. If * querying for state, provide id of country. If querying for city, provide id * of state. @@ -13,8 +13,8 @@ const CommonApplicationModel = require("./CommonApplicationModel"); /** * @typedef SearchApplicationParam - * @property {string} [authorization] - * @property {string} [query] - Provide application name + * @property {string} [authorization] - Basic auth string to access the api endpoint. + * @property {string} [query] - Provide application name. */ class CommonApplicationValidator { diff --git a/sdk/application/Communication/CommunicationApplicationClient.d.ts b/sdk/application/Communication/CommunicationApplicationClient.d.ts index 7e5c3f906..9d2ae07f8 100644 --- a/sdk/application/Communication/CommunicationApplicationClient.d.ts +++ b/sdk/application/Communication/CommunicationApplicationClient.d.ts @@ -19,7 +19,7 @@ declare class Communication { * Success response * @name getCommunicationConsent * @summary: Retrieve consent status - * @description: Retrieve the consent provided by the user for receiving communication - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/communication/getCommunicationConsent/). + * @description: Get the consent provided by the user for receiving communication. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/communication/getCommunicationConsent/). */ getCommunicationConsent({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -44,7 +44,7 @@ declare class Communication { * * @name upsertCommunicationConsent * @summary: Update or adds consent settings - * @description: Update or inserts the consent provided by the user for receiving communication messages - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/communication/upsertCommunicationConsent/). + * @description: Update or insert the consent provided by the user for receiving communication messages. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/communication/upsertCommunicationConsent/). */ upsertCommunicationConsent({ body, requestHeaders }?: CommunicationApplicationValidator.UpsertCommunicationConsentParam, { responseHeaders }?: object): Promise; } diff --git a/sdk/application/Communication/CommunicationApplicationClient.js b/sdk/application/Communication/CommunicationApplicationClient.js index 1ea66cbd4..a4000a63b 100644 --- a/sdk/application/Communication/CommunicationApplicationClient.js +++ b/sdk/application/Communication/CommunicationApplicationClient.js @@ -46,7 +46,7 @@ class Communication { * Success response * @name getCommunicationConsent * @summary: Retrieve consent status - * @description: Retrieve the consent provided by the user for receiving communication - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/communication/getCommunicationConsent/). + * @description: Get the consent provided by the user for receiving communication. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/communication/getCommunicationConsent/). */ async getCommunicationConsent( { requestHeaders } = { requestHeaders: {} }, @@ -211,7 +211,7 @@ class Communication { * * @name upsertCommunicationConsent * @summary: Update or adds consent settings - * @description: Update or inserts the consent provided by the user for receiving communication messages - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/communication/upsertCommunicationConsent/). + * @description: Update or insert the consent provided by the user for receiving communication messages. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/communication/upsertCommunicationConsent/). */ async upsertCommunicationConsent( { body, requestHeaders } = { requestHeaders: {} }, diff --git a/sdk/application/Communication/CommunicationApplicationModel.d.ts b/sdk/application/Communication/CommunicationApplicationModel.d.ts index 522a9de54..745182a06 100644 --- a/sdk/application/Communication/CommunicationApplicationModel.d.ts +++ b/sdk/application/Communication/CommunicationApplicationModel.d.ts @@ -1,32 +1,44 @@ export = CommunicationApplicationModel; /** * @typedef CommunicationConsentReq - * @property {string} [response] - * @property {string} [action] - * @property {string} [channel] + * @property {string} [response] - Whether the user has responded to the inquiry + * regarding their preference for opting in or out of receiving communications. + * @property {string} [action] - The user's choice to opt in or opt out of + * receiving communications. + * @property {string} [channel] - The channel of communication the user has + * agreed to receive messages through. */ /** * @typedef CommunicationConsentRes - * @property {string} [app_id] - * @property {string} [user_id] + * @property {string} [app_id] - The ID of the sales channel where the user has + * given their consent. + * @property {string} [user_id] - Identifier which can uniquely identify the user. * @property {CommunicationConsentChannels} [channels] */ /** * @typedef CommunicationConsentChannelsEmail - * @property {string} [response] - * @property {string} [display_name] + * @property {string} [response] - The user's choice to opt in or opt out of + * receiving communications. + * @property {string} [display_name] - Name of the channel of communication the + * user has agreed to receive messages through. */ /** * @typedef CommunicationConsentChannelsSms - * @property {string} [response] - * @property {string} [display_name] + * @property {string} [response] - The user's choice to opt in or opt out of + * receiving communications. + * @property {string} [display_name] - Name of the channel of communication the + * user has agreed to receive messages through. */ /** * @typedef CommunicationConsentChannelsWhatsapp - * @property {string} [response] - * @property {string} [display_name] - * @property {string} [country_code] - * @property {string} [phone_number] + * @property {string} [response] - The user's choice to opt in or opt out of + * receiving communications. + * @property {string} [display_name] - Name of the channel of communication the + * user has agreed to receive messages through. + * @property {string} [country_code] - Alphanumeric identification code for the + * users country. + * @property {string} [phone_number] - Phone number of the user that the user + * has accepted to receive communication through WhatsApp. */ /** * @typedef CommunicationConsentChannels @@ -36,36 +48,45 @@ export = CommunicationApplicationModel; */ /** * @typedef CommunicationConsent - * @property {string} [app_id] - * @property {string} [user_id] + * @property {string} [app_id] - The ID of the sales channel where the user has + * given their consent. + * @property {string} [user_id] - Identifier which can uniquely identify the user. * @property {CommunicationConsentChannels} [channels] */ /** * @typedef BadRequestSchema - * @property {string} [status] - Response status. - * @property {string} [message] - Failure message. + * @property {string} [status] - Error code indicating the type of issue. + * @property {string} [message] - Error message providing details about the error. */ /** * @typedef PushtokenReq - * @property {string} [action] - * @property {string} [bundle_identifier] - * @property {string} [push_token] - * @property {string} [unique_device_id] - * @property {string} [type] + * @property {string} [action] - The type of operation to perform with the push + * token, such as create, update, or reset. + * @property {string} [bundle_identifier] - Unique identifier used to identify a bundle. + * @property {string} [push_token] - A string of codes containing comprehensive + * data that identifies a identity of requester. + * @property {string} [unique_device_id] - Unique identifier used to identify a device. + * @property {string} [type] - Source address of the requestee. */ /** * @typedef PushtokenRes - * @property {string} [_id] - * @property {string} [bundle_identifier] - * @property {string} [push_token] - * @property {string} [unique_device_id] - * @property {string} [type] - * @property {string} [platform] - * @property {string} [application_id] - * @property {string} [user_id] - * @property {string} [created_at] - * @property {string} [updated_at] - * @property {string} [expired_at] + * @property {string} [_id] - Key used to uniquely identify document that + * contains push token credentials. + * @property {string} [bundle_identifier] - Unique identifier used to identify a bundle. + * @property {string} [push_token] - A string of codes containing comprehensive + * data that identifies a identity of requester. + * @property {string} [unique_device_id] - Unique identifier used to identify a device. + * @property {string} [type] - Source address of the requester. + * @property {string} [platform] - Source address of the requester. + * @property {string} [application_id] - The ID of the sales channel associated + * with the push token. + * @property {string} [user_id] - Identifier which can uniquely identify the user. + * @property {string} [created_at] - The timestamp indicating when a record was + * initially created. + * @property {string} [updated_at] - The timestamp indicating when a record was + * last modified or updated. + * @property {string} [expired_at] - The timestamp indicating when a record is + * set to expire or become invalid. */ declare class CommunicationApplicationModel { } @@ -75,35 +96,86 @@ declare namespace CommunicationApplicationModel { /** @returns {CommunicationConsentReq} */ declare function CommunicationConsentReq(): CommunicationConsentReq; type CommunicationConsentReq = { + /** + * - Whether the user has responded to the inquiry + * regarding their preference for opting in or out of receiving communications. + */ response?: string; + /** + * - The user's choice to opt in or opt out of + * receiving communications. + */ action?: string; + /** + * - The channel of communication the user has + * agreed to receive messages through. + */ channel?: string; }; /** @returns {CommunicationConsentRes} */ declare function CommunicationConsentRes(): CommunicationConsentRes; type CommunicationConsentRes = { + /** + * - The ID of the sales channel where the user has + * given their consent. + */ app_id?: string; + /** + * - Identifier which can uniquely identify the user. + */ user_id?: string; channels?: CommunicationConsentChannels; }; /** @returns {CommunicationConsentChannelsEmail} */ declare function CommunicationConsentChannelsEmail(): CommunicationConsentChannelsEmail; type CommunicationConsentChannelsEmail = { + /** + * - The user's choice to opt in or opt out of + * receiving communications. + */ response?: string; + /** + * - Name of the channel of communication the + * user has agreed to receive messages through. + */ display_name?: string; }; /** @returns {CommunicationConsentChannelsSms} */ declare function CommunicationConsentChannelsSms(): CommunicationConsentChannelsSms; type CommunicationConsentChannelsSms = { + /** + * - The user's choice to opt in or opt out of + * receiving communications. + */ response?: string; + /** + * - Name of the channel of communication the + * user has agreed to receive messages through. + */ display_name?: string; }; /** @returns {CommunicationConsentChannelsWhatsapp} */ declare function CommunicationConsentChannelsWhatsapp(): CommunicationConsentChannelsWhatsapp; type CommunicationConsentChannelsWhatsapp = { + /** + * - The user's choice to opt in or opt out of + * receiving communications. + */ response?: string; + /** + * - Name of the channel of communication the + * user has agreed to receive messages through. + */ display_name?: string; + /** + * - Alphanumeric identification code for the + * users country. + */ country_code?: string; + /** + * - Phone number of the user that the user + * has accepted to receive communication through WhatsApp. + */ phone_number?: string; }; /** @returns {CommunicationConsentChannels} */ @@ -116,7 +188,14 @@ type CommunicationConsentChannels = { /** @returns {CommunicationConsent} */ declare function CommunicationConsent(): CommunicationConsent; type CommunicationConsent = { + /** + * - The ID of the sales channel where the user has + * given their consent. + */ app_id?: string; + /** + * - Identifier which can uniquely identify the user. + */ user_id?: string; channels?: CommunicationConsentChannels; }; @@ -124,35 +203,91 @@ type CommunicationConsent = { declare function BadRequestSchema(): BadRequestSchema; type BadRequestSchema = { /** - * - Response status. + * - Error code indicating the type of issue. */ status?: string; /** - * - Failure message. + * - Error message providing details about the error. */ message?: string; }; /** @returns {PushtokenReq} */ declare function PushtokenReq(): PushtokenReq; type PushtokenReq = { + /** + * - The type of operation to perform with the push + * token, such as create, update, or reset. + */ action?: string; + /** + * - Unique identifier used to identify a bundle. + */ bundle_identifier?: string; + /** + * - A string of codes containing comprehensive + * data that identifies a identity of requester. + */ push_token?: string; + /** + * - Unique identifier used to identify a device. + */ unique_device_id?: string; + /** + * - Source address of the requestee. + */ type?: string; }; /** @returns {PushtokenRes} */ declare function PushtokenRes(): PushtokenRes; type PushtokenRes = { + /** + * - Key used to uniquely identify document that + * contains push token credentials. + */ _id?: string; + /** + * - Unique identifier used to identify a bundle. + */ bundle_identifier?: string; + /** + * - A string of codes containing comprehensive + * data that identifies a identity of requester. + */ push_token?: string; + /** + * - Unique identifier used to identify a device. + */ unique_device_id?: string; + /** + * - Source address of the requester. + */ type?: string; + /** + * - Source address of the requester. + */ platform?: string; + /** + * - The ID of the sales channel associated + * with the push token. + */ application_id?: string; + /** + * - Identifier which can uniquely identify the user. + */ user_id?: string; + /** + * - The timestamp indicating when a record was + * initially created. + */ created_at?: string; + /** + * - The timestamp indicating when a record was + * last modified or updated. + */ updated_at?: string; + /** + * - The timestamp indicating when a record is + * set to expire or become invalid. + */ expired_at?: string; }; diff --git a/sdk/application/Communication/CommunicationApplicationModel.js b/sdk/application/Communication/CommunicationApplicationModel.js index df5f3ac01..c8b034d0e 100644 --- a/sdk/application/Communication/CommunicationApplicationModel.js +++ b/sdk/application/Communication/CommunicationApplicationModel.js @@ -2,36 +2,48 @@ const Joi = require("joi"); /** * @typedef CommunicationConsentReq - * @property {string} [response] - * @property {string} [action] - * @property {string} [channel] + * @property {string} [response] - Whether the user has responded to the inquiry + * regarding their preference for opting in or out of receiving communications. + * @property {string} [action] - The user's choice to opt in or opt out of + * receiving communications. + * @property {string} [channel] - The channel of communication the user has + * agreed to receive messages through. */ /** * @typedef CommunicationConsentRes - * @property {string} [app_id] - * @property {string} [user_id] + * @property {string} [app_id] - The ID of the sales channel where the user has + * given their consent. + * @property {string} [user_id] - Identifier which can uniquely identify the user. * @property {CommunicationConsentChannels} [channels] */ /** * @typedef CommunicationConsentChannelsEmail - * @property {string} [response] - * @property {string} [display_name] + * @property {string} [response] - The user's choice to opt in or opt out of + * receiving communications. + * @property {string} [display_name] - Name of the channel of communication the + * user has agreed to receive messages through. */ /** * @typedef CommunicationConsentChannelsSms - * @property {string} [response] - * @property {string} [display_name] + * @property {string} [response] - The user's choice to opt in or opt out of + * receiving communications. + * @property {string} [display_name] - Name of the channel of communication the + * user has agreed to receive messages through. */ /** * @typedef CommunicationConsentChannelsWhatsapp - * @property {string} [response] - * @property {string} [display_name] - * @property {string} [country_code] - * @property {string} [phone_number] + * @property {string} [response] - The user's choice to opt in or opt out of + * receiving communications. + * @property {string} [display_name] - Name of the channel of communication the + * user has agreed to receive messages through. + * @property {string} [country_code] - Alphanumeric identification code for the + * users country. + * @property {string} [phone_number] - Phone number of the user that the user + * has accepted to receive communication through WhatsApp. */ /** @@ -43,39 +55,48 @@ const Joi = require("joi"); /** * @typedef CommunicationConsent - * @property {string} [app_id] - * @property {string} [user_id] + * @property {string} [app_id] - The ID of the sales channel where the user has + * given their consent. + * @property {string} [user_id] - Identifier which can uniquely identify the user. * @property {CommunicationConsentChannels} [channels] */ /** * @typedef BadRequestSchema - * @property {string} [status] - Response status. - * @property {string} [message] - Failure message. + * @property {string} [status] - Error code indicating the type of issue. + * @property {string} [message] - Error message providing details about the error. */ /** * @typedef PushtokenReq - * @property {string} [action] - * @property {string} [bundle_identifier] - * @property {string} [push_token] - * @property {string} [unique_device_id] - * @property {string} [type] + * @property {string} [action] - The type of operation to perform with the push + * token, such as create, update, or reset. + * @property {string} [bundle_identifier] - Unique identifier used to identify a bundle. + * @property {string} [push_token] - A string of codes containing comprehensive + * data that identifies a identity of requester. + * @property {string} [unique_device_id] - Unique identifier used to identify a device. + * @property {string} [type] - Source address of the requestee. */ /** * @typedef PushtokenRes - * @property {string} [_id] - * @property {string} [bundle_identifier] - * @property {string} [push_token] - * @property {string} [unique_device_id] - * @property {string} [type] - * @property {string} [platform] - * @property {string} [application_id] - * @property {string} [user_id] - * @property {string} [created_at] - * @property {string} [updated_at] - * @property {string} [expired_at] + * @property {string} [_id] - Key used to uniquely identify document that + * contains push token credentials. + * @property {string} [bundle_identifier] - Unique identifier used to identify a bundle. + * @property {string} [push_token] - A string of codes containing comprehensive + * data that identifies a identity of requester. + * @property {string} [unique_device_id] - Unique identifier used to identify a device. + * @property {string} [type] - Source address of the requester. + * @property {string} [platform] - Source address of the requester. + * @property {string} [application_id] - The ID of the sales channel associated + * with the push token. + * @property {string} [user_id] - Identifier which can uniquely identify the user. + * @property {string} [created_at] - The timestamp indicating when a record was + * initially created. + * @property {string} [updated_at] - The timestamp indicating when a record was + * last modified or updated. + * @property {string} [expired_at] - The timestamp indicating when a record is + * set to expire or become invalid. */ class CommunicationApplicationModel { diff --git a/sdk/application/Configuration/ConfigurationApplicationClient.d.ts b/sdk/application/Configuration/ConfigurationApplicationClient.d.ts index 6e2230892..d51ca45d6 100644 --- a/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +++ b/sdk/application/Configuration/ConfigurationApplicationClient.d.ts @@ -30,7 +30,7 @@ declare class Configuration { * Success response * @name getAppCurrencies * @summary: Get currency configuration - * @description: Retrieve currency configuration of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getAppCurrencies/). + * @description: Get currency configuration of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getAppCurrencies/). */ getAppCurrencies({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -41,7 +41,7 @@ declare class Configuration { * Success response * @name getAppStaffList * @summary: List staff members - * @description: Retrieve a list of all staff members of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getAppStaffList/). + * @description: List all staff members of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getAppStaffList/). */ getAppStaffList({ pageNo, pageSize, orderIncent, orderingStore, user, userName, requestHeaders, }?: ConfigurationApplicationValidator.GetAppStaffListParam, { responseHeaders }?: object): Promise; /** @@ -52,7 +52,7 @@ declare class Configuration { * Success response * @name getAppStaffs * @summary: Get staff member - * @description: Retrieve a staff user including the names, employee code, incentive status, assigned ordering stores, and title of each staff added to the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getAppStaffs/). + * @description: Get a staff user including the names, employee code, incentive status, assigned ordering stores, and title of each staff added to the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getAppStaffs/). */ getAppStaffs({ orderIncent, orderingStore, user, requestHeaders }?: ConfigurationApplicationValidator.GetAppStaffsParam, { responseHeaders }?: object): Promise; /** @@ -62,7 +62,7 @@ declare class Configuration { * @returns {Promise} - Success response * @name getApplication * @summary: Get sales channel - * @description: Retrieve details of the current sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getApplication/). + * @description: Get details of the current sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getApplication/). */ getApplication({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -73,7 +73,7 @@ declare class Configuration { * Success response * @name getBasicDetails * @summary: Get Sales channel - * @description: Retrieve basic details of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getBasicDetails/). + * @description: Get basic details of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getBasicDetails/). */ getBasicDetails({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -85,7 +85,7 @@ declare class Configuration { * * @name getContactInfo * @summary: Get sales channel contact - * @description: Retrieve contact details of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getContactInfo/). + * @description: Get contact details of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getContactInfo/). */ getContactInfo({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -96,7 +96,7 @@ declare class Configuration { * Success response * @name getCurrencies * @summary: List currencies - * @description: Retrieve a list of available currencies. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getCurrencies/). + * @description: List available currencies. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getCurrencies/). */ getCurrencies({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -106,7 +106,7 @@ declare class Configuration { * @returns {Promise} - Success response * @name getCurrencyById * @summary: Get a currency - * @description: Retrieve details of the currency. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getCurrencyById/). + * @description: Get details of the currency. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getCurrencyById/). */ getCurrencyById({ id, requestHeaders }?: ConfigurationApplicationValidator.GetCurrencyByIdParam, { responseHeaders }?: object): Promise; /** @@ -117,7 +117,7 @@ declare class Configuration { * Success response * @name getFeatures * @summary: Get sales channel features - * @description: Retrieve configuration of the features of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getFeatures/). + * @description: Get configuration of the features of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getFeatures/). */ getFeatures({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -130,7 +130,7 @@ declare class Configuration { * Success response * @name getIntegrationTokens * @summary: Get API tokens - * @description: Retrieve tools integration token of the sales channel. For ex- Firebase, MoEngage, Segment, GTM, Freshchat, Safetynet, Google Map and Facebook. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getIntegrationTokens/). + * @description: Get tools integration token of the sales channel. For example, Firebase, MoEngage, Segment, GTM, Freshchat, Safetynet, Google Map, and Facebook. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getIntegrationTokens/). */ getIntegrationTokens({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -141,7 +141,7 @@ declare class Configuration { * Success response * @name getLanguages * @summary: List languages - * @description: Retrieve a list of available languages. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getLanguages/). + * @description: List available languages. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getLanguages/). */ getLanguages({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -165,7 +165,7 @@ declare class Configuration { * @returns {Promise} - Success response * @name getOrderingStores * @summary: List order-enabled selling locations - * @description: Retrieve details of all the deployment store locations where the sales channel will be used for order placement. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getOrderingStores/). + * @description: Get details of all the deployment store locations where the sales channel will be used for order placement. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getOrderingStores/). */ getOrderingStores({ pageNo, pageSize, q, requestHeaders }?: ConfigurationApplicationValidator.GetOrderingStoresParam, { responseHeaders }?: object): Promise; /** @@ -177,7 +177,7 @@ declare class Configuration { * * @name getOwnerInfo * @summary: Get sales channel owner - * @description: Retrieve details of the sales channel owner. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getOwnerInfo/). + * @description: Get details of the sales channel owner. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getOwnerInfo/). */ getOwnerInfo({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -188,7 +188,7 @@ declare class Configuration { * @returns {Promise} - Success response * @name getStoreDetailById * @summary: Get a selling location - * @description: Retrieve detail of a selling location (store) by it's Id. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getStoreDetailById/). + * @description: Get details of a selling location (store) by its ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getStoreDetailById/). */ getStoreDetailById({ storeId, requestHeaders }?: ConfigurationApplicationValidator.GetStoreDetailByIdParam, { responseHeaders }?: object): Promise; /** @@ -202,7 +202,7 @@ declare class Configuration { * * @name removeOrderingStoreCookie * @summary: Delete store cookie - * @description: Remove store cookie - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/removeOrderingStoreCookie/). + * @description: Delete store cookie. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/removeOrderingStoreCookie/). */ removeOrderingStoreCookie({ requestHeaders }?: any, { responseHeaders }?: object): Promise; } diff --git a/sdk/application/Configuration/ConfigurationApplicationClient.js b/sdk/application/Configuration/ConfigurationApplicationClient.js index 6e92e35c4..87fb29091 100644 --- a/sdk/application/Configuration/ConfigurationApplicationClient.js +++ b/sdk/application/Configuration/ConfigurationApplicationClient.js @@ -59,7 +59,7 @@ class Configuration { * Success response * @name getAppCurrencies * @summary: Get currency configuration - * @description: Retrieve currency configuration of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getAppCurrencies/). + * @description: Get currency configuration of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getAppCurrencies/). */ async getAppCurrencies( { requestHeaders } = { requestHeaders: {} }, @@ -140,7 +140,7 @@ class Configuration { * Success response * @name getAppStaffList * @summary: List staff members - * @description: Retrieve a list of all staff members of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getAppStaffList/). + * @description: List all staff members of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getAppStaffList/). */ async getAppStaffList( { @@ -235,7 +235,7 @@ class Configuration { * Success response * @name getAppStaffs * @summary: Get staff member - * @description: Retrieve a staff user including the names, employee code, incentive status, assigned ordering stores, and title of each staff added to the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getAppStaffs/). + * @description: Get a staff user including the names, employee code, incentive status, assigned ordering stores, and title of each staff added to the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getAppStaffs/). */ async getAppStaffs( { orderIncent, orderingStore, user, requestHeaders } = { @@ -318,7 +318,7 @@ class Configuration { * @returns {Promise} - Success response * @name getApplication * @summary: Get sales channel - * @description: Retrieve details of the current sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getApplication/). + * @description: Get details of the current sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getApplication/). */ async getApplication( { requestHeaders } = { requestHeaders: {} }, @@ -399,7 +399,7 @@ class Configuration { * Success response * @name getBasicDetails * @summary: Get Sales channel - * @description: Retrieve basic details of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getBasicDetails/). + * @description: Get basic details of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getBasicDetails/). */ async getBasicDetails( { requestHeaders } = { requestHeaders: {} }, @@ -481,7 +481,7 @@ class Configuration { * * @name getContactInfo * @summary: Get sales channel contact - * @description: Retrieve contact details of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getContactInfo/). + * @description: Get contact details of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getContactInfo/). */ async getContactInfo( { requestHeaders } = { requestHeaders: {} }, @@ -562,7 +562,7 @@ class Configuration { * Success response * @name getCurrencies * @summary: List currencies - * @description: Retrieve a list of available currencies. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getCurrencies/). + * @description: List available currencies. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getCurrencies/). */ async getCurrencies( { requestHeaders } = { requestHeaders: {} }, @@ -642,7 +642,7 @@ class Configuration { * @returns {Promise} - Success response * @name getCurrencyById * @summary: Get a currency - * @description: Retrieve details of the currency. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getCurrencyById/). + * @description: Get details of the currency. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getCurrencyById/). */ async getCurrencyById( { id, requestHeaders } = { requestHeaders: {} }, @@ -723,7 +723,7 @@ class Configuration { * Success response * @name getFeatures * @summary: Get sales channel features - * @description: Retrieve configuration of the features of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getFeatures/). + * @description: Get configuration of the features of the sales channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getFeatures/). */ async getFeatures( { requestHeaders } = { requestHeaders: {} }, @@ -804,7 +804,7 @@ class Configuration { * Success response * @name getIntegrationTokens * @summary: Get API tokens - * @description: Retrieve tools integration token of the sales channel. For ex- Firebase, MoEngage, Segment, GTM, Freshchat, Safetynet, Google Map and Facebook. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getIntegrationTokens/). + * @description: Get tools integration token of the sales channel. For example, Firebase, MoEngage, Segment, GTM, Freshchat, Safetynet, Google Map, and Facebook. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getIntegrationTokens/). */ async getIntegrationTokens( { requestHeaders } = { requestHeaders: {} }, @@ -885,7 +885,7 @@ class Configuration { * Success response * @name getLanguages * @summary: List languages - * @description: Retrieve a list of available languages. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getLanguages/). + * @description: List available languages. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getLanguages/). */ async getLanguages( { requestHeaders } = { requestHeaders: {} }, @@ -1047,7 +1047,7 @@ class Configuration { * @returns {Promise} - Success response * @name getOrderingStores * @summary: List order-enabled selling locations - * @description: Retrieve details of all the deployment store locations where the sales channel will be used for order placement. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getOrderingStores/). + * @description: Get details of all the deployment store locations where the sales channel will be used for order placement. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getOrderingStores/). */ async getOrderingStores( { pageNo, pageSize, q, requestHeaders } = { requestHeaders: {} }, @@ -1132,7 +1132,7 @@ class Configuration { * * @name getOwnerInfo * @summary: Get sales channel owner - * @description: Retrieve details of the sales channel owner. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getOwnerInfo/). + * @description: Get details of the sales channel owner. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getOwnerInfo/). */ async getOwnerInfo( { requestHeaders } = { requestHeaders: {} }, @@ -1211,7 +1211,7 @@ class Configuration { * @returns {Promise} - Success response * @name getStoreDetailById * @summary: Get a selling location - * @description: Retrieve detail of a selling location (store) by it's Id. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getStoreDetailById/). + * @description: Get details of a selling location (store) by its ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/getStoreDetailById/). */ async getStoreDetailById( { storeId, requestHeaders } = { requestHeaders: {} }, @@ -1295,7 +1295,7 @@ class Configuration { * * @name removeOrderingStoreCookie * @summary: Delete store cookie - * @description: Remove store cookie - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/removeOrderingStoreCookie/). + * @description: Delete store cookie. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/configuration/removeOrderingStoreCookie/). */ async removeOrderingStoreCookie( { requestHeaders } = { requestHeaders: {} }, diff --git a/sdk/application/Configuration/ConfigurationApplicationModel.d.ts b/sdk/application/Configuration/ConfigurationApplicationModel.d.ts index f44079f79..565e0e4dc 100644 --- a/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +++ b/sdk/application/Configuration/ConfigurationApplicationModel.d.ts @@ -8,69 +8,70 @@ export = ConfigurationApplicationModel; * @property {CompanyInfo} [company_info] * @property {OwnerInfo} [owner_info] * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of application information + * of application information. * @property {Domain} [domain] * @property {ApplicationWebsite} [website] * @property {ApplicationCors} [cors] * @property {string} [description] - It contains details information about the - * sales channel - * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion - * @property {ApplicationMeta[]} [meta] + * sales channel. + * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion. + * @property {ApplicationMeta[]} [meta] - Metadata related to the application. * @property {string} [token] - Random generated fix length string for sales * channel. It is required and auto-generated. * @property {string} [secret] - Random generated fix length string for sales * channel. It is required and auto-generated. * @property {string} [created_at] - ISO 8601 timestamp of sales channel - * information creation + * information creation. * @property {SecureUrl} [banner] * @property {SecureUrl} [logo] * @property {boolean} [is_active] - Indicates whether sales channel is active - * or not active - * @property {string} [mode] - * @property {TokenSchema[]} [tokens] - * @property {Domain[]} [domains] + * or not active. + * @property {string} [mode] - Mode of the application. + * @property {TokenSchema[]} [tokens] - List of tokens associated with the application. + * @property {Domain[]} [domains] - List of domains associated with the application. * @property {SecureUrl} [favicon] * @property {SecureUrl} [mobile_logo] - * @property {string} [slug] + * @property {string} [slug] - Slug identifier for the application. */ /** * @typedef CompanyInfo * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of company information - * @property {number} [uid] - Company UID - * @property {string} [created_on] - ISO 8601 timestamp of company information creation - * @property {boolean} [is_active] - Indicates company is active or not active - * @property {string} [name] - Name of the company, Reliance Retail Limited - * @property {CompanyAboutAddress[]} [addresses] - * @property {string[]} [notification_emails] + * of company information. + * @property {number} [uid] - Unique identifier for the company. + * @property {string} [created_on] - ISO 8601 timestamp of company information creation. + * @property {boolean} [is_active] - Indicates company is active or not active. + * @property {string} [name] - Name of the company, Reliance Retail Limited. + * @property {CompanyAboutAddress[]} [addresses] - List of addresses associated + * with the company. + * @property {string[]} [notification_emails] - List of emails to notify. */ /** * @typedef OwnerInfo * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of owner info - * @property {UserEmail[]} [emails] - * @property {UserPhoneNumber[]} [phone_numbers] - * @property {string} [first_name] - First name of the owner - * @property {string} [last_name] - Last name of the owner - * @property {string} [profile_pic] - Hosted URL of profile pic + * of owner info. + * @property {UserEmail[]} [emails] - List of email addresses of the owner. + * @property {UserPhoneNumber[]} [phone_numbers] - List of phone numbers of the owner. + * @property {string} [first_name] - First name of the owner. + * @property {string} [last_name] - Last name of the owner. + * @property {string} [profile_pic] - Hosted URL of profile pic. */ /** * @typedef SupportedLanguage - * @property {string} [name] - Name of the supported language, e.g. हिन्दी - * @property {string} [code] - Unique code of supported language, e.g. hi-IN + * @property {string} [name] - Name of the supported language, e.g. हिन्दी. + * @property {string} [code] - Unique code of supported language, e.g. hi-IN. */ /** * @typedef LanguageResponse - * @property {SupportedLanguage[]} [items] + * @property {SupportedLanguage[]} [items] - List of supported languages. */ /** * @typedef AppStaffResponse - * @property {AppStaff[]} [staff_users] + * @property {AppStaff[]} [staff_users] - List of staff users. */ /** * @typedef AppStaffListResponse * @property {Page} [page] - * @property {AppStaff[]} [items] + * @property {AppStaff[]} [items] - List of staff users. */ /** * @typedef OrderingStoreSelectRequest @@ -82,30 +83,31 @@ export = ConfigurationApplicationModel; */ /** * @typedef AppStaff - * @property {string} [_id] - The unique identifier for the sales channel staff member + * @property {string} [_id] - The unique identifier for the sales channel staff member. * @property {boolean} [order_incent] - This is a boolean value. `true` to * retrieve the staff members eligible for getting incentives on orders. - * @property {number[]} [stores] + * @property {number[]} [stores] - List of IDs of the ordering stores where the + * staff member works. * @property {string} [application] - The unique identifier (24-digit Mongo - * Object ID) of the current sales channel - * @property {string} [title] - Tittle for the staff member like owner, staff. + * Object ID) of the current sales channel. + * @property {string} [title] - Title for the staff member like owner, staff. * @property {string} [user] - Mongo ID of the staff. Helps in retrieving the * details of a particular staff member. * @property {string} [employee_code] - Employee code of sales channel staff * member. It has unique value. - * @property {string} [first_name] - First name the staff member - * @property {string} [last_name] - Last name the staff member - * @property {string} [profile_pic_url] - Profile image hosted url of the staff member + * @property {string} [first_name] - First name the staff member. + * @property {string} [last_name] - Last name the staff member. + * @property {string} [profile_pic_url] - Profile image hosted url of the staff member. */ /** * @typedef AppTokenResponse * @property {Tokens} [tokens] * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the token + * of the token. * @property {string} [application] - Alphanumeric ID allotted to the current - * application created within the current business account - * @property {string} [created_at] - ISO 8601 timestamp of token creation - * @property {string} [modified_at] - ISO 8601 timestamp of token updation + * application created within the current business account. + * @property {string} [created_at] - ISO 8601 timestamp of token creation. + * @property {string} [modified_at] - ISO 8601 timestamp of token updation. * @property {number} [__v] - Version key for tracking revisions. Default value is zero. */ /** @@ -123,7 +125,7 @@ export = ConfigurationApplicationModel; * @typedef Firebase * @property {Credentials} [credentials] * @property {boolean} [enabled] - Shows whether Firebase integration is enabled - * or disabled for the sales channel + * or disabled for the sales channel. */ /** * @typedef Credentials @@ -135,27 +137,27 @@ export = ConfigurationApplicationModel; * Firebase. It is a unique numerical value which is created when you * configure your project in the Google Developers Console/Google Cloud Console. * @property {string} [application_id] - Alphanumeric ID allotted to the current - * application created within the current business account + * application created within the current business account. * @property {string} [api_key] - An API key is a unique string that's used to * route requests to your Firebase project when interacting with Firebase. */ /** * @typedef Ios * @property {string} [application_id] - Alphanumeric ID allotted to a sales - * channel application created within a business account - * @property {string} [api_key] - Firebase secret credential API key for IOS + * channel application created within a business account. + * @property {string} [api_key] - Firebase secret credential API key for IOS. */ /** * @typedef Android * @property {string} [application_id] - Alphanumeric ID allotted to a sales - * channel application created within a business account - * @property {string} [api_key] - Firebase secret credential API key for Android + * channel application created within a business account. + * @property {string} [api_key] - Firebase secret credential API key for Android. */ /** * @typedef Moengage * @property {MoengageCredentials} [credentials] - * @property {boolean} [enabled] - Shows whether MoEngage integation is enabled - * or disabled for the sales channel + * @property {boolean} [enabled] - Shows whether MoEngage integration is enabled + * or disabled for the sales channel. */ /** * @typedef MoengageCredentials @@ -167,7 +169,7 @@ export = ConfigurationApplicationModel; * @typedef Segment * @property {SegmentCredentials} [credentials] * @property {boolean} [enabled] - Shows whether Segment integration is enabled - * or disabled for the sales channel + * or disabled for the sales channel. */ /** * @typedef SegmentCredentials @@ -179,31 +181,31 @@ export = ConfigurationApplicationModel; * @typedef Gtm * @property {GtmCredentials} [credentials] * @property {boolean} [enabled] - Shows whether GTM integration is enabled or - * disabled for the sales channel + * disabled for the sales channel. */ /** * @typedef GtmCredentials - * @property {string} [api_key] - Secret credential API key for GTM + * @property {string} [api_key] - Secret credential API key for GTM. */ /** * @typedef Freshchat * @property {FreshchatCredentials} [credentials] * @property {boolean} [enabled] - Shows whether Freshchat integration is - * enabled or disabled for the sales channel + * enabled or disabled for the sales channel. */ /** * @typedef FreshchatCredentials * @property {string} [app_id] - The unique app_id of your Freshchat account for - * integrating Freshchat with your sales channel + * integrating Freshchat with your sales channel. * @property {string} [app_key] - The unique app_key of your Freshchat account - * for integrating Freshchat with your sales channel - * @property {string} [web_token] - Web token used for accessing the Freshchat APIs + * for integrating Freshchat with your sales channel. + * @property {string} [web_token] - Web token used for accessing the Freshchat APIs. */ /** * @typedef Safetynet * @property {SafetynetCredentials} [credentials] * @property {boolean} [enabled] - Shows whether Safetynet integration is - * enabled or disabled for the sales channel + * enabled or disabled for the sales channel. */ /** * @typedef SafetynetCredentials @@ -220,6 +222,7 @@ export = ConfigurationApplicationModel; */ /** * @typedef GoogleMap + * @property {boolean} [enabled] - Shows whether Google map integration is enabled or not. * @property {GoogleMapCredentials} [credentials] */ /** @@ -234,13 +237,13 @@ export = ConfigurationApplicationModel; */ /** * @typedef Credit - * @property {boolean} [enabled] - Shows whether reward points should be credited + * @property {boolean} [enabled] - Shows whether reward points should be credited. */ /** * @typedef Debit - * @property {boolean} [enabled] - Shows whether reward points are available for debit - * @property {boolean} [auto_apply] - Allow automatic debit of reward points - * @property {string} [strategy_channel] - Strategy channel for debiting reward points + * @property {boolean} [enabled] - Shows whether reward points are available for debit. + * @property {boolean} [auto_apply] - Allow automatic debit of reward points. + * @property {string} [strategy_channel] - Strategy channel for debiting reward points. */ /** * @typedef ProductDetailFeature @@ -248,7 +251,7 @@ export = ConfigurationApplicationModel; * other products from same seller, other products in same category, other * products in same price range, etc. * @property {boolean} [seller_selection] - Shows whether the customers can - * choose the seller on PDP + * choose the seller on PDP. * @property {boolean} [update_product_meta] - Allow user to update product * meta. Default value is true. * @property {boolean} [request_product] - Indicates whether customers can @@ -256,7 +259,7 @@ export = ConfigurationApplicationModel; */ /** * @typedef LaunchPage - * @property {string} [page_type] - Type of the launch page + * @property {string} [page_type] - Type of the launch page. * @property {Object} [params] - Launch page params. It can be nullable. * @property {Object} [query] - Query related to launch page. It can be nullable. */ @@ -264,17 +267,17 @@ export = ConfigurationApplicationModel; * @typedef LandingPageFeature * @property {LaunchPage} [launch_page] * @property {boolean} [continue_as_guest] - Shows whether a guest can checkout - * from cart without logging in - * @property {string} [login_btn_text] - Shows the text displayed over the login button + * from cart without logging in. + * @property {string} [login_btn_text] - Shows the text displayed over the login button. * @property {boolean} [show_domain_textbox] - Shows whether a textbox for - * entering domain is available + * entering domain is available. * @property {boolean} [show_register_btn] - Shows whether register button is - * available in the login/landing page + * available in the login/landing page. */ /** * @typedef RegistrationPageFeature * @property {boolean} [ask_store_address] - Shows whether a form to collect the - * address of the store, should be displayed upon visiting the website + * address of the store, should be displayed upon visiting the website. */ /** * @typedef AppFeature @@ -288,18 +291,18 @@ export = ConfigurationApplicationModel; * @property {PcrFeature} [pcr] * @property {OrderFeature} [order] * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * for the sales channel features - * @property {string} [app] - Application ID of the sales channel + * for the sales channel features. + * @property {string} [app] - Application ID of the sales channel. * @property {string} [created_at] - ISO 8601 timestamp showing the date when - * the features were configured + * the features were configured. * @property {string} [modified_at] - ISO 8601 timestamp of last known - * modifications to the sales channel feature configuration - * @property {number} [__v] - Version key for tracking revisions. Default value is zero + * modifications to the sales channel feature configuration. + * @property {number} [__v] - Version key for tracking revisions. Default value is zero. */ /** * @typedef HomePageFeature * @property {boolean} [order_processing] - Shows whether order processing is - * enabled or not enabled + * enabled or not enabled. */ /** * @typedef CommonFeature @@ -320,12 +323,12 @@ export = ConfigurationApplicationModel; */ /** * @typedef CommunicationOptinDialogFeature - * @property {boolean} [visibility] - Shows whether WhatsApp communication is enabled + * @property {boolean} [visibility] - Shows whether WhatsApp communication is enabled. */ /** * @typedef DeploymentStoreSelectionFeature * @property {boolean} [enabled] - Shows whether selection of store (for - * deploying the application) is permitted + * deploying the application) is permitted. * @property {string} [type] - Permitted values are 'hard' and 'soft'. For hard * type delivery, store selection is compulsory. For soft type, delivery store * selection is optional. @@ -340,15 +343,16 @@ export = ConfigurationApplicationModel; */ /** * @typedef ListingPageFeature - * @property {string} [sort_on] + * @property {string} [sort_on] - Determines the sorting criteria for product + * listings on the page. */ /** * @typedef CurrencyFeature - * @property {string[]} [value] - 3-letter currency code + * @property {string[]} [value] - 3-letter currency code. * @property {string} [type] - If 'explicit', currency formatting shows currency * code with price. For explicit or all currency selection. * @property {string} [default_currency] - 3-letter code of the default currency - * used in the application. Default vaule is 'INR'. + * used in the application. Default value is 'INR'. */ /** * @typedef RevenueEngineFeature @@ -356,34 +360,33 @@ export = ConfigurationApplicationModel; */ /** * @typedef FeedbackFeature - * @property {boolean} [enabled] - Shows whether customer feedback is enabled on - * PDP. Default value is false. + * @property {boolean} [enabled] - Whether customer feedback is enabled on PDP. + * Default value is false. */ /** * @typedef CompareProductsFeature - * @property {boolean} [enabled] - Shows whether product comparison feature is - * enabled on PDP + * @property {boolean} [enabled] - Whether product comparison feature is enabled on PDP. */ /** * @typedef CartFeature - * @property {boolean} [gst_input] - Shows whether customer is allowed to enter - * GST on the cart page for claiming input credits - * @property {boolean} [staff_selection] - Shows whether staff selection is - * enabled on cart page - * @property {boolean} [placing_for_customer] - Shows whether the staff is - * placing order on behalf of customer. Default value is true. + * @property {boolean} [gst_input] - Whether customer is allowed to enter GST on + * the cart page for claiming input credits. + * @property {boolean} [staff_selection] - Whether staff selection is enabled on + * cart page. + * @property {boolean} [placing_for_customer] - Whether the staff is placing + * order on behalf of customer. Default value is true. * @property {boolean} [google_map] - Allow adding of Google Maps. Default value is true. * @property {boolean} [revenue_engine_coupon] - Allow coupon apply and credits, * together. Default value is false. */ /** * @typedef QrFeature - * @property {boolean} [application] - Shows whether sharing of mobile app via - * QR code is allowed. Default value is false. - * @property {boolean} [products] - Shows whether sharing product via QR code is + * @property {boolean} [application] - Whether sharing of mobile app via QR code + * is allowed. Default value is false. + * @property {boolean} [products] - Whether sharing product via QR code is + * allowed. Default value is false. + * @property {boolean} [collections] - Whether sharing collection via QR code is * allowed. Default value is false. - * @property {boolean} [collections] - Shows whether sharing collection via QR - * code is allowed. Default value is false. */ /** * @typedef PcrFeature @@ -401,21 +404,21 @@ export = ConfigurationApplicationModel; /** * @typedef Currency * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the current sales channel supported currency + * of the current sales channel supported currency. * @property {boolean} [is_active] - Shows currency is enabled or not in current - * sales channel - * @property {string} [name] - Name of the currency, e.g Indian Rupee + * sales channel. + * @property {string} [name] - Name of the currency, e.g Indian Rupee. * @property {string} [code] - 3-character currency code, e.g. INR, USD, EUR. * @property {string} [created_at] - ISO 8601 timestamp of sales channel support - * currency creation + * currency creation. * @property {string} [modified_at] - ISO 8601 timestamp of sales channel - * support currency updation + * support currency updation. * @property {number} [decimal_digits] - Acceptable decimal limits for a given * currency, e.g. 1.05$ means upto 2 decimal digits can be accepted as a valid * value of a currency. - * @property {string} [symbol] - Unique symbol for identifying the currency, e.g. ₹ - * @property {string} [country_name] - * @property {string} [country_code] + * @property {string} [symbol] - Unique symbol for identifying the currency, e.g. ₹. + * @property {string} [country_name] - Country name. + * @property {string} [country_code] - Country code. */ /** * @typedef Domain @@ -423,21 +426,21 @@ export = ConfigurationApplicationModel; * should propagate correctly. * @property {boolean} [is_primary] - Domain is primary or not. Primary domain * is the default/main domain. - * @property {boolean} [is_shortlink] - Shortlink is present or not for the domain + * @property {boolean} [is_shortlink] - Shortlink is present or not for the domain. * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the sales channel domain - * @property {string} [name] + * of the sales channel domain. + * @property {string} [name] - Domain name. * @property {boolean} [is_predefined] - Domain is hosting domain or not. */ /** * @typedef ApplicationWebsite * @property {boolean} [enabled] - Shows whether sales channel website URL is - * enabled or not - * @property {string} [basepath] - Base path for the current sales channel website + * enabled or not. + * @property {string} [basepath] - Base path for the current sales channel website. */ /** * @typedef ApplicationCors - * @property {string[]} [domains] + * @property {string[]} [domains] - List of domains added to the sales channel. */ /** * @typedef ApplicationAuth @@ -445,7 +448,7 @@ export = ConfigurationApplicationModel; */ /** * @typedef ApplicationRedirections - * @property {string} [redirect_from] - Old domain url of the sales channel + * @property {string} [redirect_from] - Old domain url of the sales channel. * @property {string} [redirect_to] - New domain URL of the sales channel. Users * will be automatically redirected from old domain to new domain. * @property {string} [type] - It shows domain redirection type. Permanent @@ -454,12 +457,12 @@ export = ConfigurationApplicationModel; */ /** * @typedef ApplicationMeta - * @property {string} [name] - Indicates to name of application meta - * @property {string} [value] - Value related to application meta name + * @property {string} [name] - Indicates to name of application meta. + * @property {string} [value] - Value related to application meta name. */ /** * @typedef SecureUrl - * @property {string} [secure_url] - Hosted URL of the image + * @property {string} [secure_url] - Hosted URL of the image. */ /** * @typedef Application @@ -469,154 +472,158 @@ export = ConfigurationApplicationModel; * @property {string} [description] - It contains detailed information about the * sales channel. * @property {string} [channel_type] - It indicates different channel types like - * store, website-and-mobile-apps. Default value is store + * store, website-and-mobile-apps. Default value is store. * @property {number} [cache_ttl] - An integer value that specifies the number - * of seconds until the key expires + * of seconds until the key expires. * @property {boolean} [is_internal] - Indicates whether a sales channel is - * internal or not - * @property {boolean} [is_active] - Indicates sales channel is active or not active + * internal or not. + * @property {boolean} [is_active] - Indicates sales channel is active or not active. * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the sales channel - * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion + * of the sales channel. + * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion. * @property {string} [owner] - The unique identifier (24-digit Mongo Object ID) - * of owner who owns the application + * of owner who owns the application. * @property {number} [company_id] - Numeric ID allotted to a business account - * where the sales channel exists + * where the sales channel exists. * @property {string} [token] - Random generated fix length string for sales * channel. It is required and auto-generated. - * @property {ApplicationRedirections[]} [redirections] - * @property {ApplicationMeta[]} [meta] - * @property {string} [created_at] - ISO 8601 timestamp of sales channel creation - * @property {string} [modified_at] - ISO 8601 timestamp of sales channel updation + * @property {ApplicationRedirections[]} [redirections] - List of redirections + * for the sales channel. + * @property {ApplicationMeta[]} [meta] - List of meta information for the sales channel. + * @property {string} [created_at] - ISO 8601 timestamp of sales channel creation. + * @property {string} [modified_at] - ISO 8601 timestamp of sales channel updation. * @property {number} [__v] - Version key for tracking revisions. Default value is zero. * @property {SecureUrl} [banner] * @property {SecureUrl} [logo] * @property {SecureUrl} [favicon] - * @property {Domain[]} [domains] + * @property {Domain[]} [domains] - List of domains associated with the sales channel. * @property {string} [app_type] - It shows application is live or in development mode. * @property {SecureUrl} [mobile_logo] * @property {Domain} [domain] - * @property {string} [slug] - * @property {string} [mode] - * @property {string} [status] - * @property {TokenSchema[]} [tokens] + * @property {string} [slug] - Slug identifier. + * @property {string} [mode] - Application mode. + * @property {string} [status] - Current status of the application. + * @property {TokenSchema[]} [tokens] - List of tokens associated with the sales channel. */ /** * @typedef TokenSchema - * @property {string} [token] - * @property {Object} [created_by] - * @property {string} [created_at] - ISO 8601 timestamp of when token created + * @property {string} [token] - Token string. + * @property {Object} [created_by] - User details. + * @property {string} [created_at] - ISO 8601 timestamp of when token created. */ /** * @typedef NotFound - * @property {string} [message] - Response message for not found + * @property {string} [message] - Response message for not found. */ /** * @typedef InvalidPayloadRequest - * @property {string} [message] - Error message when request body payload is improper + * @property {string} [message] - Error message when request body payload is improper. */ /** * @typedef UnhandledError - * @property {string} [message] + * @property {string} [message] - Error message for unhandled errors. */ /** * @typedef SuccessMessageResponse - * @property {string} [message] - Success message shown to the user (in a string format) + * @property {string} [message] - Success message shown to the user (in a string format). */ /** * @typedef CompanyAboutAddress - * @property {number} [pincode] - 6-digit PIN code of the city, e.g. 400001 - * @property {string} [address1] - Primary address line of the company - * @property {string} [address2] - Secondary address line of the company - * @property {string} [city] - City name, e.g. Mumbai - * @property {string} [state] - State name, e.g. Maharashtra - * @property {string} [country] - Country name, e.g. India + * @property {number} [pincode] - 6-digit PIN code of the city, e.g. 400001. + * @property {string} [address1] - Primary address line of the company. + * @property {string} [address2] - Secondary address line of the company. + * @property {string} [city] - City name, e.g. Mumbai. + * @property {string} [state] - State name, e.g. Maharashtra. + * @property {string} [country] - Country name, e.g. India. * @property {string} [address_type] - Indicates different office types like * office, registered, and home. */ /** * @typedef UserEmail - * @property {boolean} [active] - Current email is active or not active - * @property {boolean} [primary] - Indicates current email is primay email or - * not primary email of user + * @property {boolean} [active] - Current email is active or not active. + * @property {boolean} [primary] - Indicates current email id primary email or + * not primary email of user. * @property {boolean} [verified] - Indicates current email is verified email or - * not verified email - * @property {string} [email] - Email address of the user + * not verified email. + * @property {string} [email] - Email address of the user. */ /** * @typedef UserPhoneNumber - * @property {boolean} [active] - Current phone number is active or not active - * @property {boolean} [primary] - Indicates current phone number is primay or - * not primary of user + * @property {boolean} [active] - Current phone number is active or not active. + * @property {boolean} [primary] - Indicates current phone number is primary or + * not for a user. * @property {boolean} [verified] - Indicates current phone number is verified - * or not verified - * @property {number} [country_code] - Country code, e.g. +91 - * @property {string} [phone] - Phone number of the user + * or not verified. + * @property {number} [country_code] - Country code, e.g. +91. + * @property {string} [phone] - Phone number of the user. */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef ApplicationInformation * @property {InformationAddress} [address] * @property {InformationSupport} [support] * @property {SocialLinks} [social_links] - * @property {Links[]} [links] + * @property {Links[]} [links] - Array of additional relevant web links related + * to the application. * @property {string} [copyright_text] - Copyright statement usually seen at the - * site's footer + * site's footer. * @property {string} [_id] - Unique identifier (24-digit Mongo Object ID) of - * the application information - * @property {BusinessHighlights[]} [business_highlights] + * the application information. + * @property {BusinessHighlights[]} [business_highlights] - Array of notable + * business highlights with icons and descriptions. * @property {string} [application] - Alphanumeric ID allotted to a sales - * channel application created within a business account + * channel application created within a business account. * @property {string} [created_at] - ISO 8601 timestamp of creation of the - * application information + * application information. * @property {string} [modified_at] - ISO 8601 timestamp of updation of the - * application information + * application information. * @property {number} [__v] - Version key for tracking revisions. Default value is zero. */ /** * @typedef InformationAddress * @property {InformationLoc} [loc] - * @property {string[]} [address_line] - Contact address of the sales channel - * @property {InformationPhone[]} [phone] - * @property {string} [city] - Name of the city, e.g. Mumbai - * @property {string} [country] - Name of the country, e.g. India - * @property {number} [pincode] - 6-digit PIN Code of the city, e.g. 400001 + * @property {string[]} [address_line] - Contact address of the sales channel. + * @property {InformationPhone[]} [phone] - Phone numbers with country codes. + * @property {string} [city] - Name of the city, e.g. Mumbai. + * @property {string} [country] - Name of the country, e.g. India. + * @property {number} [pincode] - 6-digit PIN Code of the city, e.g. 400001. */ /** * @typedef InformationPhone - * @property {string} [code] - Country code for contact number, e.g. +91 (for India) - * @property {string} [number] - 10-digit mobile number + * @property {string} [code] - Country code for contact number, e.g. +91 (for India). + * @property {string} [number] - 10-digit mobile number. */ /** * @typedef InformationSupportPhone - * @property {string} [code] - Country code for contact number, e.g. +91 (for India) - * @property {string} [number] - 10-digit mobile number - * @property {string} [key] + * @property {string} [code] - Country code for contact number, e.g. +91 (for India). + * @property {string} [number] - 10-digit mobile number. + * @property {string} [key] - Additional identifier or key for the contact number. */ /** * @typedef InformationSupportEmail * @property {string} [value] - Value of email. - * @property {string} [key] + * @property {string} [key] - Additional identifier or key for the email address. */ /** * @typedef InformationLoc - * @property {string} [type] - Country code for contact number, e.g. +91 (for India) - * @property {number[]} [coordinates] - 10-digit mobile number + * @property {string} [type] - Country code for contact number, e.g. +91 (for India). + * @property {number[]} [coordinates] - 10-digit mobile number. */ /** * @typedef InformationSupport - * @property {InformationSupportPhone[]} [phone] - * @property {InformationSupportEmail[]} [email] - * @property {string} [timing] - Working hours of support team, e.g. 9 AM to 9 PM + * @property {InformationSupportPhone[]} [phone] - An array of phone contact + * details, including country code and number. + * @property {InformationSupportEmail[]} [email] - An array of email contact details. + * @property {string} [timing] - Working hours of support team, e.g. 9 AM to 9 PM. */ /** * @typedef SocialLinks @@ -632,71 +639,71 @@ export = ConfigurationApplicationModel; */ /** * @typedef FacebookLink - * @property {string} [title] - Name of the social media platform, e.g. Facebook - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's Facebook page + * @property {string} [title] - Name of the social media platform, e.g. Facebook. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's Facebook page. */ /** * @typedef InstagramLink - * @property {string} [title] - Name of the social media platform, e.g. Instagram - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's Instagram page + * @property {string} [title] - Name of the social media platform, e.g. Instagram. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's Instagram page. */ /** * @typedef TwitterLink - * @property {string} [title] - Name of the social media platform, e.g. Twitter - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's Twitter account + * @property {string} [title] - Name of the social media platform, e.g. Twitter. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's Twitter account. */ /** * @typedef PinterestLink - * @property {string} [title] - Name of the social media platform, e.g. Pinterest - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's Pinterest page + * @property {string} [title] - Name of the social media platform, e.g. Pinterest. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's Pinterest page. */ /** * @typedef GooglePlusLink - * @property {string} [title] - Name of the social media platform, e.g. Google+ - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's Google+ account + * @property {string} [title] - Name of the social media platform, e.g. Google+. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's Google+ account. */ /** * @typedef YoutubeLink - * @property {string} [title] - Name of the social media platform, e.g. YouTube - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's YouTube channel + * @property {string} [title] - Name of the social media platform, e.g. YouTube. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's YouTube channel. */ /** * @typedef LinkedInLink - * @property {string} [title] - Name of the social media platform, e.g. LinkedIn - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's LinkedIn channel + * @property {string} [title] - Name of the social media platform, e.g. LinkedIn. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's LinkedIn channel. */ /** * @typedef VimeoLink - * @property {string} [title] - Name of the video hosting platform, e.g. Vimeo - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's Vimeo channel + * @property {string} [title] - Name of the video hosting platform, e.g. Vimeo. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's Vimeo channel. */ /** * @typedef BlogLink - * @property {string} [title] - Name of the brand's blog page - * @property {string} [icon] - Hosted URL of icon image shown on the website - * @property {string} [link] - Web URL of brand's blog page + * @property {string} [title] - Name of the brand's blog page. + * @property {string} [icon] - Hosted URL of icon image shown on the website. + * @property {string} [link] - Web URL of brand's blog page. */ /** * @typedef Links - * @property {string} [title] - Name of the related page or link - * @property {string} [link] - Web URL for redirecting to a related page + * @property {string} [title] - Name of the related page or link. + * @property {string} [link] - Web URL for redirecting to a related page. */ /** * @typedef BusinessHighlights * @property {string} [_id] - Unique identifier (24-digit Mongo Object ID) of - * the related business - * @property {string} [title] - Title of the business highlight, e.g. Superfast Delivery + * the related business. + * @property {string} [title] - Title of the business highlight, e.g. Superfast Delivery. * @property {string} [icon] - Hosted URL of icon image representing the - * business highlight - * @property {string} [sub_title] - Detailed information about the highlight + * business highlight. + * @property {string} [sub_title] - Detailed information about the highlight. */ /** * @typedef ApplicationDetail @@ -708,75 +715,80 @@ export = ConfigurationApplicationModel; * @property {SecureUrl} [favicon] * @property {SecureUrl} [banner] * @property {Domain} [domain] - * @property {Domain[]} [domains] + * @property {Domain[]} [domains] - List of domains associated with the sales channel. * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * for the sales channel details - * @property {string} [slug] - * @property {number} [company_id] + * for the sales channel details. + * @property {string} [slug] - URL-friendly version of the sales channel name. + * @property {number} [company_id] - Numeric ID allotted to the business account + * where the sales channel is mapped. */ /** * @typedef CurrenciesResponse - * @property {Currency[]} [items] + * @property {Currency[]} [items] - A list of currency objects. Each object + * represents a different currency. */ /** * @typedef DefaultCurrency * @property {string} [ref] - The unique identifier (24-digit Mongo Object ID) - * of the default currency + * of the default currency. * @property {string} [code] - 3-character code of the default currency, e.g. - * INR, EUR, USD + * INR, EUR, USD. */ /** * @typedef AppCurrencyResponse * @property {string} [application] - Alphanumeric ID allotted to an application - * (sales channel website) created within a business account + * (sales channel website) created within a business account. * @property {DefaultCurrency} [default_currency] - * @property {Currency[]} [supported_currency] - * @property {string} [_id] - * @property {string} [created_at] - * @property {string} [modified_at] + * @property {Currency[]} [supported_currency] - A list of currencies supported + * by the application. + * @property {string} [_id] - The unique identifier of the application. + * @property {string} [created_at] - ISO 8601 timestamp of when the application + * was created. + * @property {string} [modified_at] - ISO 8601 timestamp of when the application + * was last modified. */ /** * @typedef StoreLatLong - * @property {string} [type] - Coordinates type of the opted store - * @property {number[]} [coordinates] + * @property {string} [type] - Coordinates type of the opted store. + * @property {number[]} [coordinates] - Latitude and Longitude coordinates of the store. */ /** * @typedef OptedStoreAddress - * @property {string} [state] - State of the opted store, e.g. Maharashtra - * @property {string} [address1] - Address of the opted store + * @property {string} [state] - State of the opted store, e.g. Maharashtra. + * @property {string} [address1] - Address of the opted store. * @property {StoreLatLong} [lat_long] - * @property {string} [address2] - Address of the opted store - * @property {number} [pincode] - 6-digit PIN code of the opted store location - * @property {string} [country] - Country of the opted store, e.g. India - * @property {string} [city] - City of the opted store, e.g. Mumbai + * @property {string} [address2] - Address of the opted store. + * @property {number} [pincode] - 6-digit PIN code of the opted store location. + * @property {string} [country] - Country of the opted store, e.g. India. + * @property {string} [city] - City of the opted store, e.g. Mumbai. */ /** * @typedef OrderingStore * @property {OptedStoreAddress} [address] * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the ordering store - * @property {number} [uid] - Ordering store UID - * @property {string} [name] - Store name of the ordering store - * @property {string} [display_name] - Display name of the ordering store + * of the ordering store. + * @property {number} [uid] - Ordering store UID. + * @property {string} [name] - Store name of the ordering store. + * @property {string} [display_name] - Display name of the ordering store. * @property {string} [store_type] - Store type of the ordering store, e.g. - * high_street, mall, warehouse - * @property {string} [store_code] - Store code of the ordering store, e.g. MUM-102 - * @property {number} [pincode] - 6-digit PIN Code of the ordering store, e.g. 400001 - * @property {string} [code] - Code of the ordering store (usually same as Store Code) + * high_street, mall, warehouse. + * @property {string} [store_code] - Store code of the ordering store, e.g. MUM-102. + * @property {number} [pincode] - 6-digit PIN Code of the ordering store, e.g. 400001. + * @property {string} [code] - Code of the ordering store (usually same as Store Code). */ /** * @typedef OrderingStores * @property {Page} [page] - * @property {OrderingStore[]} [items] - * @property {number[]} [deployed_stores] - * @property {boolean} [all_stores] - Allow all stores of the ordering stores - * @property {boolean} [enabled] - Allow ordering stores for current sales channel + * @property {OrderingStore[]} [items] - List of ordering stores. + * @property {number[]} [deployed_stores] - List of all deployed stores. + * @property {boolean} [all_stores] - Allow all stores of the ordering stores. + * @property {boolean} [enabled] - Allow ordering stores for current sales channel. * @property {string} [type] - For hard type delivery, store selection is * compulsory. For soft type, delivery store selection is optional. * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the ordering store + * of the ordering store. * @property {string} [app] - Alphanumeric ID allotted to an application (sales - * channel website) created within a business account + * channel website) created within a business account. * @property {number} [__v] - Version key for tracking ordering stores. Default * value is zero. */ @@ -797,7 +809,7 @@ type ApplicationInfo = { owner_info?: OwnerInfo; /** * - The unique identifier (24-digit Mongo Object ID) - * of application information + * of application information. */ _id?: string; domain?: Domain; @@ -805,13 +817,16 @@ type ApplicationInfo = { cors?: ApplicationCors; /** * - It contains details information about the - * sales channel + * sales channel. */ description?: string; /** - * - Name of the sales channel, e.g. Zenz Fashion + * - Name of the sales channel, e.g. Zenz Fashion. */ name?: string; + /** + * - Metadata related to the application. + */ meta?: ApplicationMeta[]; /** * - Random generated fix length string for sales @@ -825,21 +840,33 @@ type ApplicationInfo = { secret?: string; /** * - ISO 8601 timestamp of sales channel - * information creation + * information creation. */ created_at?: string; banner?: SecureUrl; logo?: SecureUrl; /** * - Indicates whether sales channel is active - * or not active + * or not active. */ is_active?: boolean; + /** + * - Mode of the application. + */ mode?: string; + /** + * - List of tokens associated with the application. + */ tokens?: TokenSchema[]; + /** + * - List of domains associated with the application. + */ domains?: Domain[]; favicon?: SecureUrl; mobile_logo?: SecureUrl; + /** + * - Slug identifier for the application. + */ slug?: string; }; /** @returns {CompanyInfo} */ @@ -847,26 +874,33 @@ declare function CompanyInfo(): CompanyInfo; type CompanyInfo = { /** * - The unique identifier (24-digit Mongo Object ID) - * of company information + * of company information. */ _id?: string; /** - * - Company UID + * - Unique identifier for the company. */ uid?: number; /** - * - ISO 8601 timestamp of company information creation + * - ISO 8601 timestamp of company information creation. */ created_on?: string; /** - * - Indicates company is active or not active + * - Indicates company is active or not active. */ is_active?: boolean; /** - * - Name of the company, Reliance Retail Limited + * - Name of the company, Reliance Retail Limited. */ name?: string; + /** + * - List of addresses associated + * with the company. + */ addresses?: CompanyAboutAddress[]; + /** + * - List of emails to notify. + */ notification_emails?: string[]; }; /** @returns {OwnerInfo} */ @@ -874,21 +908,27 @@ declare function OwnerInfo(): OwnerInfo; type OwnerInfo = { /** * - The unique identifier (24-digit Mongo Object ID) - * of owner info + * of owner info. */ _id?: string; + /** + * - List of email addresses of the owner. + */ emails?: UserEmail[]; + /** + * - List of phone numbers of the owner. + */ phone_numbers?: UserPhoneNumber[]; /** - * - First name of the owner + * - First name of the owner. */ first_name?: string; /** - * - Last name of the owner + * - Last name of the owner. */ last_name?: string; /** - * - Hosted URL of profile pic + * - Hosted URL of profile pic. */ profile_pic?: string; }; @@ -896,28 +936,37 @@ type OwnerInfo = { declare function SupportedLanguage(): SupportedLanguage; type SupportedLanguage = { /** - * - Name of the supported language, e.g. हिन्दी + * - Name of the supported language, e.g. हिन्दी. */ name?: string; /** - * - Unique code of supported language, e.g. hi-IN + * - Unique code of supported language, e.g. hi-IN. */ code?: string; }; /** @returns {LanguageResponse} */ declare function LanguageResponse(): LanguageResponse; type LanguageResponse = { + /** + * - List of supported languages. + */ items?: SupportedLanguage[]; }; /** @returns {AppStaffResponse} */ declare function AppStaffResponse(): AppStaffResponse; type AppStaffResponse = { + /** + * - List of staff users. + */ staff_users?: AppStaff[]; }; /** @returns {AppStaffListResponse} */ declare function AppStaffListResponse(): AppStaffListResponse; type AppStaffListResponse = { page?: Page; + /** + * - List of staff users. + */ items?: AppStaff[]; }; /** @returns {OrderingStoreSelectRequest} */ @@ -937,7 +986,7 @@ type OrderingStoreSelect = { declare function AppStaff(): AppStaff; type AppStaff = { /** - * - The unique identifier for the sales channel staff member + * - The unique identifier for the sales channel staff member. */ _id?: string; /** @@ -945,14 +994,18 @@ type AppStaff = { * retrieve the staff members eligible for getting incentives on orders. */ order_incent?: boolean; + /** + * - List of IDs of the ordering stores where the + * staff member works. + */ stores?: number[]; /** * - The unique identifier (24-digit Mongo - * Object ID) of the current sales channel + * Object ID) of the current sales channel. */ application?: string; /** - * - Tittle for the staff member like owner, staff. + * - Title for the staff member like owner, staff. */ title?: string; /** @@ -966,15 +1019,15 @@ type AppStaff = { */ employee_code?: string; /** - * - First name the staff member + * - First name the staff member. */ first_name?: string; /** - * - Last name the staff member + * - Last name the staff member. */ last_name?: string; /** - * - Profile image hosted url of the staff member + * - Profile image hosted url of the staff member. */ profile_pic_url?: string; }; @@ -984,20 +1037,20 @@ type AppTokenResponse = { tokens?: Tokens; /** * - The unique identifier (24-digit Mongo Object ID) - * of the token + * of the token. */ _id?: string; /** * - Alphanumeric ID allotted to the current - * application created within the current business account + * application created within the current business account. */ application?: string; /** - * - ISO 8601 timestamp of token creation + * - ISO 8601 timestamp of token creation. */ created_at?: string; /** - * - ISO 8601 timestamp of token updation + * - ISO 8601 timestamp of token updation. */ modified_at?: string; /** @@ -1023,7 +1076,7 @@ type Firebase = { credentials?: Credentials; /** * - Shows whether Firebase integration is enabled - * or disabled for the sales channel + * or disabled for the sales channel. */ enabled?: boolean; }; @@ -1045,7 +1098,7 @@ type Credentials = { gcm_sender_id?: string; /** * - Alphanumeric ID allotted to the current - * application created within the current business account + * application created within the current business account. */ application_id?: string; /** @@ -1059,11 +1112,11 @@ declare function Ios(): Ios; type Ios = { /** * - Alphanumeric ID allotted to a sales - * channel application created within a business account + * channel application created within a business account. */ application_id?: string; /** - * - Firebase secret credential API key for IOS + * - Firebase secret credential API key for IOS. */ api_key?: string; }; @@ -1072,11 +1125,11 @@ declare function Android(): Android; type Android = { /** * - Alphanumeric ID allotted to a sales - * channel application created within a business account + * channel application created within a business account. */ application_id?: string; /** - * - Firebase secret credential API key for Android + * - Firebase secret credential API key for Android. */ api_key?: string; }; @@ -1085,8 +1138,8 @@ declare function Moengage(): Moengage; type Moengage = { credentials?: MoengageCredentials; /** - * - Shows whether MoEngage integation is enabled - * or disabled for the sales channel + * - Shows whether MoEngage integration is enabled + * or disabled for the sales channel. */ enabled?: boolean; }; @@ -1106,7 +1159,7 @@ type Segment = { credentials?: SegmentCredentials; /** * - Shows whether Segment integration is enabled - * or disabled for the sales channel + * or disabled for the sales channel. */ enabled?: boolean; }; @@ -1126,7 +1179,7 @@ type Gtm = { credentials?: GtmCredentials; /** * - Shows whether GTM integration is enabled or - * disabled for the sales channel + * disabled for the sales channel. */ enabled?: boolean; }; @@ -1134,7 +1187,7 @@ type Gtm = { declare function GtmCredentials(): GtmCredentials; type GtmCredentials = { /** - * - Secret credential API key for GTM + * - Secret credential API key for GTM. */ api_key?: string; }; @@ -1144,7 +1197,7 @@ type Freshchat = { credentials?: FreshchatCredentials; /** * - Shows whether Freshchat integration is - * enabled or disabled for the sales channel + * enabled or disabled for the sales channel. */ enabled?: boolean; }; @@ -1153,16 +1206,16 @@ declare function FreshchatCredentials(): FreshchatCredentials; type FreshchatCredentials = { /** * - The unique app_id of your Freshchat account for - * integrating Freshchat with your sales channel + * integrating Freshchat with your sales channel. */ app_id?: string; /** * - The unique app_key of your Freshchat account - * for integrating Freshchat with your sales channel + * for integrating Freshchat with your sales channel. */ app_key?: string; /** - * - Web token used for accessing the Freshchat APIs + * - Web token used for accessing the Freshchat APIs. */ web_token?: string; }; @@ -1172,7 +1225,7 @@ type Safetynet = { credentials?: SafetynetCredentials; /** * - Shows whether Safetynet integration is - * enabled or disabled for the sales channel + * enabled or disabled for the sales channel. */ enabled?: boolean; }; @@ -1201,6 +1254,10 @@ type FyndRewardsCredentials = { /** @returns {GoogleMap} */ declare function GoogleMap(): GoogleMap; type GoogleMap = { + /** + * - Shows whether Google map integration is enabled or not. + */ + enabled?: boolean; credentials?: GoogleMapCredentials; }; /** @returns {GoogleMapCredentials} */ @@ -1222,7 +1279,7 @@ type RewardPointsConfig = { declare function Credit(): Credit; type Credit = { /** - * - Shows whether reward points should be credited + * - Shows whether reward points should be credited. */ enabled?: boolean; }; @@ -1230,15 +1287,15 @@ type Credit = { declare function Debit(): Debit; type Debit = { /** - * - Shows whether reward points are available for debit + * - Shows whether reward points are available for debit. */ enabled?: boolean; /** - * - Allow automatic debit of reward points + * - Allow automatic debit of reward points. */ auto_apply?: boolean; /** - * - Strategy channel for debiting reward points + * - Strategy channel for debiting reward points. */ strategy_channel?: string; }; @@ -1253,7 +1310,7 @@ type ProductDetailFeature = { similar?: string[]; /** * - Shows whether the customers can - * choose the seller on PDP + * choose the seller on PDP. */ seller_selection?: boolean; /** @@ -1271,7 +1328,7 @@ type ProductDetailFeature = { declare function LaunchPage(): LaunchPage; type LaunchPage = { /** - * - Type of the launch page + * - Type of the launch page. */ page_type?: string; /** @@ -1289,21 +1346,21 @@ type LandingPageFeature = { launch_page?: LaunchPage; /** * - Shows whether a guest can checkout - * from cart without logging in + * from cart without logging in. */ continue_as_guest?: boolean; /** - * - Shows the text displayed over the login button + * - Shows the text displayed over the login button. */ login_btn_text?: string; /** * - Shows whether a textbox for - * entering domain is available + * entering domain is available. */ show_domain_textbox?: boolean; /** * - Shows whether register button is - * available in the login/landing page + * available in the login/landing page. */ show_register_btn?: boolean; }; @@ -1312,7 +1369,7 @@ declare function RegistrationPageFeature(): RegistrationPageFeature; type RegistrationPageFeature = { /** * - Shows whether a form to collect the - * address of the store, should be displayed upon visiting the website + * address of the store, should be displayed upon visiting the website. */ ask_store_address?: boolean; }; @@ -1330,25 +1387,25 @@ type AppFeature = { order?: OrderFeature; /** * - The unique identifier (24-digit Mongo Object ID) - * for the sales channel features + * for the sales channel features. */ _id?: string; /** - * - Application ID of the sales channel + * - Application ID of the sales channel. */ app?: string; /** * - ISO 8601 timestamp showing the date when - * the features were configured + * the features were configured. */ created_at?: string; /** * - ISO 8601 timestamp of last known - * modifications to the sales channel feature configuration + * modifications to the sales channel feature configuration. */ modified_at?: string; /** - * - Version key for tracking revisions. Default value is zero + * - Version key for tracking revisions. Default value is zero. */ __v?: number; }; @@ -1357,7 +1414,7 @@ declare function HomePageFeature(): HomePageFeature; type HomePageFeature = { /** * - Shows whether order processing is - * enabled or not enabled + * enabled or not enabled. */ order_processing?: boolean; }; @@ -1387,7 +1444,7 @@ type InternationalShipping = { declare function CommunicationOptinDialogFeature(): CommunicationOptinDialogFeature; type CommunicationOptinDialogFeature = { /** - * - Shows whether WhatsApp communication is enabled + * - Shows whether WhatsApp communication is enabled. */ visibility?: boolean; }; @@ -1396,7 +1453,7 @@ declare function DeploymentStoreSelectionFeature(): DeploymentStoreSelectionFeat type DeploymentStoreSelectionFeature = { /** * - Shows whether selection of store (for - * deploying the application) is permitted + * deploying the application) is permitted. */ enabled?: boolean; /** @@ -1424,13 +1481,17 @@ type ListingPriceFeature = { /** @returns {ListingPageFeature} */ declare function ListingPageFeature(): ListingPageFeature; type ListingPageFeature = { + /** + * - Determines the sorting criteria for product + * listings on the page. + */ sort_on?: string; }; /** @returns {CurrencyFeature} */ declare function CurrencyFeature(): CurrencyFeature; type CurrencyFeature = { /** - * - 3-letter currency code + * - 3-letter currency code. */ value?: string[]; /** @@ -1440,7 +1501,7 @@ type CurrencyFeature = { type?: string; /** * - 3-letter code of the default currency - * used in the application. Default vaule is 'INR'. + * used in the application. Default value is 'INR'. */ default_currency?: string; }; @@ -1456,8 +1517,8 @@ type RevenueEngineFeature = { declare function FeedbackFeature(): FeedbackFeature; type FeedbackFeature = { /** - * - Shows whether customer feedback is enabled on - * PDP. Default value is false. + * - Whether customer feedback is enabled on PDP. + * Default value is false. */ enabled?: boolean; }; @@ -1465,8 +1526,7 @@ type FeedbackFeature = { declare function CompareProductsFeature(): CompareProductsFeature; type CompareProductsFeature = { /** - * - Shows whether product comparison feature is - * enabled on PDP + * - Whether product comparison feature is enabled on PDP. */ enabled?: boolean; }; @@ -1474,18 +1534,18 @@ type CompareProductsFeature = { declare function CartFeature(): CartFeature; type CartFeature = { /** - * - Shows whether customer is allowed to enter - * GST on the cart page for claiming input credits + * - Whether customer is allowed to enter GST on + * the cart page for claiming input credits. */ gst_input?: boolean; /** - * - Shows whether staff selection is - * enabled on cart page + * - Whether staff selection is enabled on + * cart page. */ staff_selection?: boolean; /** - * - Shows whether the staff is - * placing order on behalf of customer. Default value is true. + * - Whether the staff is placing + * order on behalf of customer. Default value is true. */ placing_for_customer?: boolean; /** @@ -1502,18 +1562,18 @@ type CartFeature = { declare function QrFeature(): QrFeature; type QrFeature = { /** - * - Shows whether sharing of mobile app via - * QR code is allowed. Default value is false. + * - Whether sharing of mobile app via QR code + * is allowed. Default value is false. */ application?: boolean; /** - * - Shows whether sharing product via QR code is + * - Whether sharing product via QR code is * allowed. Default value is false. */ products?: boolean; /** - * - Shows whether sharing collection via QR - * code is allowed. Default value is false. + * - Whether sharing collection via QR code is + * allowed. Default value is false. */ collections?: boolean; }; @@ -1544,16 +1604,16 @@ declare function Currency(): Currency; type Currency = { /** * - The unique identifier (24-digit Mongo Object ID) - * of the current sales channel supported currency + * of the current sales channel supported currency. */ _id?: string; /** * - Shows currency is enabled or not in current - * sales channel + * sales channel. */ is_active?: boolean; /** - * - Name of the currency, e.g Indian Rupee + * - Name of the currency, e.g Indian Rupee. */ name?: string; /** @@ -1562,12 +1622,12 @@ type Currency = { code?: string; /** * - ISO 8601 timestamp of sales channel support - * currency creation + * currency creation. */ created_at?: string; /** * - ISO 8601 timestamp of sales channel - * support currency updation + * support currency updation. */ modified_at?: string; /** @@ -1577,10 +1637,16 @@ type Currency = { */ decimal_digits?: number; /** - * - Unique symbol for identifying the currency, e.g. ₹ + * - Unique symbol for identifying the currency, e.g. ₹. */ symbol?: string; + /** + * - Country name. + */ country_name?: string; + /** + * - Country code. + */ country_code?: string; }; /** @returns {Domain} */ @@ -1597,14 +1663,17 @@ type Domain = { */ is_primary?: boolean; /** - * - Shortlink is present or not for the domain + * - Shortlink is present or not for the domain. */ is_shortlink?: boolean; /** * - The unique identifier (24-digit Mongo Object ID) - * of the sales channel domain + * of the sales channel domain. */ _id?: string; + /** + * - Domain name. + */ name?: string; /** * - Domain is hosting domain or not. @@ -1616,17 +1685,20 @@ declare function ApplicationWebsite(): ApplicationWebsite; type ApplicationWebsite = { /** * - Shows whether sales channel website URL is - * enabled or not + * enabled or not. */ enabled?: boolean; /** - * - Base path for the current sales channel website + * - Base path for the current sales channel website. */ basepath?: string; }; /** @returns {ApplicationCors} */ declare function ApplicationCors(): ApplicationCors; type ApplicationCors = { + /** + * - List of domains added to the sales channel. + */ domains?: string[]; }; /** @returns {ApplicationAuth} */ @@ -1641,7 +1713,7 @@ type ApplicationAuth = { declare function ApplicationRedirections(): ApplicationRedirections; type ApplicationRedirections = { /** - * - Old domain url of the sales channel + * - Old domain url of the sales channel. */ redirect_from?: string; /** @@ -1660,11 +1732,11 @@ type ApplicationRedirections = { declare function ApplicationMeta(): ApplicationMeta; type ApplicationMeta = { /** - * - Indicates to name of application meta + * - Indicates to name of application meta. */ name?: string; /** - * - Value related to application meta name + * - Value related to application meta name. */ value?: string; }; @@ -1672,7 +1744,7 @@ type ApplicationMeta = { declare function SecureUrl(): SecureUrl; type SecureUrl = { /** - * - Hosted URL of the image + * - Hosted URL of the image. */ secure_url?: string; }; @@ -1689,40 +1761,40 @@ type Application = { description?: string; /** * - It indicates different channel types like - * store, website-and-mobile-apps. Default value is store + * store, website-and-mobile-apps. Default value is store. */ channel_type?: string; /** * - An integer value that specifies the number - * of seconds until the key expires + * of seconds until the key expires. */ cache_ttl?: number; /** * - Indicates whether a sales channel is - * internal or not + * internal or not. */ is_internal?: boolean; /** - * - Indicates sales channel is active or not active + * - Indicates sales channel is active or not active. */ is_active?: boolean; /** * - The unique identifier (24-digit Mongo Object ID) - * of the sales channel + * of the sales channel. */ _id?: string; /** - * - Name of the sales channel, e.g. Zenz Fashion + * - Name of the sales channel, e.g. Zenz Fashion. */ name?: string; /** * - The unique identifier (24-digit Mongo Object ID) - * of owner who owns the application + * of owner who owns the application. */ owner?: string; /** * - Numeric ID allotted to a business account - * where the sales channel exists + * where the sales channel exists. */ company_id?: number; /** @@ -1730,14 +1802,21 @@ type Application = { * channel. It is required and auto-generated. */ token?: string; + /** + * - List of redirections + * for the sales channel. + */ redirections?: ApplicationRedirections[]; + /** + * - List of meta information for the sales channel. + */ meta?: ApplicationMeta[]; /** - * - ISO 8601 timestamp of sales channel creation + * - ISO 8601 timestamp of sales channel creation. */ created_at?: string; /** - * - ISO 8601 timestamp of sales channel updation + * - ISO 8601 timestamp of sales channel updation. */ modified_at?: string; /** @@ -1747,6 +1826,9 @@ type Application = { banner?: SecureUrl; logo?: SecureUrl; favicon?: SecureUrl; + /** + * - List of domains associated with the sales channel. + */ domains?: Domain[]; /** * - It shows application is live or in development mode. @@ -1754,18 +1836,36 @@ type Application = { app_type?: string; mobile_logo?: SecureUrl; domain?: Domain; + /** + * - Slug identifier. + */ slug?: string; + /** + * - Application mode. + */ mode?: string; + /** + * - Current status of the application. + */ status?: string; + /** + * - List of tokens associated with the sales channel. + */ tokens?: TokenSchema[]; }; /** @returns {TokenSchema} */ declare function TokenSchema(): TokenSchema; type TokenSchema = { + /** + * - Token string. + */ token?: string; + /** + * - User details. + */ created_by?: any; /** - * - ISO 8601 timestamp of when token created + * - ISO 8601 timestamp of when token created. */ created_at?: string; }; @@ -1773,7 +1873,7 @@ type TokenSchema = { declare function NotFound(): NotFound; type NotFound = { /** - * - Response message for not found + * - Response message for not found. */ message?: string; }; @@ -1781,20 +1881,23 @@ type NotFound = { declare function InvalidPayloadRequest(): InvalidPayloadRequest; type InvalidPayloadRequest = { /** - * - Error message when request body payload is improper + * - Error message when request body payload is improper. */ message?: string; }; /** @returns {UnhandledError} */ declare function UnhandledError(): UnhandledError; type UnhandledError = { + /** + * - Error message for unhandled errors. + */ message?: string; }; /** @returns {SuccessMessageResponse} */ declare function SuccessMessageResponse(): SuccessMessageResponse; type SuccessMessageResponse = { /** - * - Success message shown to the user (in a string format) + * - Success message shown to the user (in a string format). */ message?: string; }; @@ -1802,27 +1905,27 @@ type SuccessMessageResponse = { declare function CompanyAboutAddress(): CompanyAboutAddress; type CompanyAboutAddress = { /** - * - 6-digit PIN code of the city, e.g. 400001 + * - 6-digit PIN code of the city, e.g. 400001. */ pincode?: number; /** - * - Primary address line of the company + * - Primary address line of the company. */ address1?: string; /** - * - Secondary address line of the company + * - Secondary address line of the company. */ address2?: string; /** - * - City name, e.g. Mumbai + * - City name, e.g. Mumbai. */ city?: string; /** - * - State name, e.g. Maharashtra + * - State name, e.g. Maharashtra. */ state?: string; /** - * - Country name, e.g. India + * - Country name, e.g. India. */ country?: string; /** @@ -1835,21 +1938,21 @@ type CompanyAboutAddress = { declare function UserEmail(): UserEmail; type UserEmail = { /** - * - Current email is active or not active + * - Current email is active or not active. */ active?: boolean; /** - * - Indicates current email is primay email or - * not primary email of user + * - Indicates current email id primary email or + * not primary email of user. */ primary?: boolean; /** * - Indicates current email is verified email or - * not verified email + * not verified email. */ verified?: boolean; /** - * - Email address of the user + * - Email address of the user. */ email?: string; }; @@ -1857,37 +1960,58 @@ type UserEmail = { declare function UserPhoneNumber(): UserPhoneNumber; type UserPhoneNumber = { /** - * - Current phone number is active or not active + * - Current phone number is active or not active. */ active?: boolean; /** - * - Indicates current phone number is primay or - * not primary of user + * - Indicates current phone number is primary or + * not for a user. */ primary?: boolean; /** * - Indicates current phone number is verified - * or not verified + * or not verified. */ verified?: boolean; /** - * - Country code, e.g. +91 + * - Country code, e.g. +91. */ country_code?: number; /** - * - Phone number of the user + * - Phone number of the user. */ phone?: string; }; /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {ApplicationInformation} */ @@ -1896,31 +2020,39 @@ type ApplicationInformation = { address?: InformationAddress; support?: InformationSupport; social_links?: SocialLinks; + /** + * - Array of additional relevant web links related + * to the application. + */ links?: Links[]; /** * - Copyright statement usually seen at the - * site's footer + * site's footer. */ copyright_text?: string; /** * - Unique identifier (24-digit Mongo Object ID) of - * the application information + * the application information. */ _id?: string; + /** + * - Array of notable + * business highlights with icons and descriptions. + */ business_highlights?: BusinessHighlights[]; /** * - Alphanumeric ID allotted to a sales - * channel application created within a business account + * channel application created within a business account. */ application?: string; /** * - ISO 8601 timestamp of creation of the - * application information + * application information. */ created_at?: string; /** * - ISO 8601 timestamp of updation of the - * application information + * application information. */ modified_at?: string; /** @@ -1933,20 +2065,23 @@ declare function InformationAddress(): InformationAddress; type InformationAddress = { loc?: InformationLoc; /** - * - Contact address of the sales channel + * - Contact address of the sales channel. */ address_line?: string[]; + /** + * - Phone numbers with country codes. + */ phone?: InformationPhone[]; /** - * - Name of the city, e.g. Mumbai + * - Name of the city, e.g. Mumbai. */ city?: string; /** - * - Name of the country, e.g. India + * - Name of the country, e.g. India. */ country?: string; /** - * - 6-digit PIN Code of the city, e.g. 400001 + * - 6-digit PIN Code of the city, e.g. 400001. */ pincode?: number; }; @@ -1954,11 +2089,11 @@ type InformationAddress = { declare function InformationPhone(): InformationPhone; type InformationPhone = { /** - * - Country code for contact number, e.g. +91 (for India) + * - Country code for contact number, e.g. +91 (for India). */ code?: string; /** - * - 10-digit mobile number + * - 10-digit mobile number. */ number?: string; }; @@ -1966,13 +2101,16 @@ type InformationPhone = { declare function InformationSupportPhone(): InformationSupportPhone; type InformationSupportPhone = { /** - * - Country code for contact number, e.g. +91 (for India) + * - Country code for contact number, e.g. +91 (for India). */ code?: string; /** - * - 10-digit mobile number + * - 10-digit mobile number. */ number?: string; + /** + * - Additional identifier or key for the contact number. + */ key?: string; }; /** @returns {InformationSupportEmail} */ @@ -1982,27 +2120,37 @@ type InformationSupportEmail = { * - Value of email. */ value?: string; + /** + * - Additional identifier or key for the email address. + */ key?: string; }; /** @returns {InformationLoc} */ declare function InformationLoc(): InformationLoc; type InformationLoc = { /** - * - Country code for contact number, e.g. +91 (for India) + * - Country code for contact number, e.g. +91 (for India). */ type?: string; /** - * - 10-digit mobile number + * - 10-digit mobile number. */ coordinates?: number[]; }; /** @returns {InformationSupport} */ declare function InformationSupport(): InformationSupport; type InformationSupport = { + /** + * - An array of phone contact + * details, including country code and number. + */ phone?: InformationSupportPhone[]; + /** + * - An array of email contact details. + */ email?: InformationSupportEmail[]; /** - * - Working hours of support team, e.g. 9 AM to 9 PM + * - Working hours of support team, e.g. 9 AM to 9 PM. */ timing?: string; }; @@ -2023,15 +2171,15 @@ type SocialLinks = { declare function FacebookLink(): FacebookLink; type FacebookLink = { /** - * - Name of the social media platform, e.g. Facebook + * - Name of the social media platform, e.g. Facebook. */ title?: string; /** - * - Hosted URL of social icon image shown on the website + * - Hosted URL of social icon image shown on the website. */ icon?: string; /** - * - Web URL of brand's Facebook page + * - Web URL of brand's Facebook page. */ link?: string; }; @@ -2039,15 +2187,15 @@ type FacebookLink = { declare function InstagramLink(): InstagramLink; type InstagramLink = { /** - * - Name of the social media platform, e.g. Instagram + * - Name of the social media platform, e.g. Instagram. */ title?: string; /** - * - Hosted URL of social icon image shown on the website + * - Hosted URL of social icon image shown on the website. */ icon?: string; /** - * - Web URL of brand's Instagram page + * - Web URL of brand's Instagram page. */ link?: string; }; @@ -2055,15 +2203,15 @@ type InstagramLink = { declare function TwitterLink(): TwitterLink; type TwitterLink = { /** - * - Name of the social media platform, e.g. Twitter + * - Name of the social media platform, e.g. Twitter. */ title?: string; /** - * - Hosted URL of social icon image shown on the website + * - Hosted URL of social icon image shown on the website. */ icon?: string; /** - * - Web URL of brand's Twitter account + * - Web URL of brand's Twitter account. */ link?: string; }; @@ -2071,15 +2219,15 @@ type TwitterLink = { declare function PinterestLink(): PinterestLink; type PinterestLink = { /** - * - Name of the social media platform, e.g. Pinterest + * - Name of the social media platform, e.g. Pinterest. */ title?: string; /** - * - Hosted URL of social icon image shown on the website + * - Hosted URL of social icon image shown on the website. */ icon?: string; /** - * - Web URL of brand's Pinterest page + * - Web URL of brand's Pinterest page. */ link?: string; }; @@ -2087,15 +2235,15 @@ type PinterestLink = { declare function GooglePlusLink(): GooglePlusLink; type GooglePlusLink = { /** - * - Name of the social media platform, e.g. Google+ + * - Name of the social media platform, e.g. Google+. */ title?: string; /** - * - Hosted URL of social icon image shown on the website + * - Hosted URL of social icon image shown on the website. */ icon?: string; /** - * - Web URL of brand's Google+ account + * - Web URL of brand's Google+ account. */ link?: string; }; @@ -2103,15 +2251,15 @@ type GooglePlusLink = { declare function YoutubeLink(): YoutubeLink; type YoutubeLink = { /** - * - Name of the social media platform, e.g. YouTube + * - Name of the social media platform, e.g. YouTube. */ title?: string; /** - * - Hosted URL of social icon image shown on the website + * - Hosted URL of social icon image shown on the website. */ icon?: string; /** - * - Web URL of brand's YouTube channel + * - Web URL of brand's YouTube channel. */ link?: string; }; @@ -2119,15 +2267,15 @@ type YoutubeLink = { declare function LinkedInLink(): LinkedInLink; type LinkedInLink = { /** - * - Name of the social media platform, e.g. LinkedIn + * - Name of the social media platform, e.g. LinkedIn. */ title?: string; /** - * - Hosted URL of social icon image shown on the website + * - Hosted URL of social icon image shown on the website. */ icon?: string; /** - * - Web URL of brand's LinkedIn channel + * - Web URL of brand's LinkedIn channel. */ link?: string; }; @@ -2135,15 +2283,15 @@ type LinkedInLink = { declare function VimeoLink(): VimeoLink; type VimeoLink = { /** - * - Name of the video hosting platform, e.g. Vimeo + * - Name of the video hosting platform, e.g. Vimeo. */ title?: string; /** - * - Hosted URL of social icon image shown on the website + * - Hosted URL of social icon image shown on the website. */ icon?: string; /** - * - Web URL of brand's Vimeo channel + * - Web URL of brand's Vimeo channel. */ link?: string; }; @@ -2151,15 +2299,15 @@ type VimeoLink = { declare function BlogLink(): BlogLink; type BlogLink = { /** - * - Name of the brand's blog page + * - Name of the brand's blog page. */ title?: string; /** - * - Hosted URL of icon image shown on the website + * - Hosted URL of icon image shown on the website. */ icon?: string; /** - * - Web URL of brand's blog page + * - Web URL of brand's blog page. */ link?: string; }; @@ -2167,11 +2315,11 @@ type BlogLink = { declare function Links(): Links; type Links = { /** - * - Name of the related page or link + * - Name of the related page or link. */ title?: string; /** - * - Web URL for redirecting to a related page + * - Web URL for redirecting to a related page. */ link?: string; }; @@ -2180,20 +2328,20 @@ declare function BusinessHighlights(): BusinessHighlights; type BusinessHighlights = { /** * - Unique identifier (24-digit Mongo Object ID) of - * the related business + * the related business. */ _id?: string; /** - * - Title of the business highlight, e.g. Superfast Delivery + * - Title of the business highlight, e.g. Superfast Delivery. */ title?: string; /** * - Hosted URL of icon image representing the - * business highlight + * business highlight. */ icon?: string; /** - * - Detailed information about the highlight + * - Detailed information about the highlight. */ sub_title?: string; }; @@ -2214,18 +2362,32 @@ type ApplicationDetail = { favicon?: SecureUrl; banner?: SecureUrl; domain?: Domain; + /** + * - List of domains associated with the sales channel. + */ domains?: Domain[]; /** * - The unique identifier (24-digit Mongo Object ID) - * for the sales channel details + * for the sales channel details. */ _id?: string; + /** + * - URL-friendly version of the sales channel name. + */ slug?: string; + /** + * - Numeric ID allotted to the business account + * where the sales channel is mapped. + */ company_id?: number; }; /** @returns {CurrenciesResponse} */ declare function CurrenciesResponse(): CurrenciesResponse; type CurrenciesResponse = { + /** + * - A list of currency objects. Each object + * represents a different currency. + */ items?: Currency[]; }; /** @returns {DefaultCurrency} */ @@ -2233,12 +2395,12 @@ declare function DefaultCurrency(): DefaultCurrency; type DefaultCurrency = { /** * - The unique identifier (24-digit Mongo Object ID) - * of the default currency + * of the default currency. */ ref?: string; /** * - 3-character code of the default currency, e.g. - * INR, EUR, USD + * INR, EUR, USD. */ code?: string; }; @@ -2247,50 +2409,68 @@ declare function AppCurrencyResponse(): AppCurrencyResponse; type AppCurrencyResponse = { /** * - Alphanumeric ID allotted to an application - * (sales channel website) created within a business account + * (sales channel website) created within a business account. */ application?: string; default_currency?: DefaultCurrency; + /** + * - A list of currencies supported + * by the application. + */ supported_currency?: Currency[]; + /** + * - The unique identifier of the application. + */ _id?: string; + /** + * - ISO 8601 timestamp of when the application + * was created. + */ created_at?: string; + /** + * - ISO 8601 timestamp of when the application + * was last modified. + */ modified_at?: string; }; /** @returns {StoreLatLong} */ declare function StoreLatLong(): StoreLatLong; type StoreLatLong = { /** - * - Coordinates type of the opted store + * - Coordinates type of the opted store. */ type?: string; + /** + * - Latitude and Longitude coordinates of the store. + */ coordinates?: number[]; }; /** @returns {OptedStoreAddress} */ declare function OptedStoreAddress(): OptedStoreAddress; type OptedStoreAddress = { /** - * - State of the opted store, e.g. Maharashtra + * - State of the opted store, e.g. Maharashtra. */ state?: string; /** - * - Address of the opted store + * - Address of the opted store. */ address1?: string; lat_long?: StoreLatLong; /** - * - Address of the opted store + * - Address of the opted store. */ address2?: string; /** - * - 6-digit PIN code of the opted store location + * - 6-digit PIN code of the opted store location. */ pincode?: number; /** - * - Country of the opted store, e.g. India + * - Country of the opted store, e.g. India. */ country?: string; /** - * - City of the opted store, e.g. Mumbai + * - City of the opted store, e.g. Mumbai. */ city?: string; }; @@ -2300,36 +2480,36 @@ type OrderingStore = { address?: OptedStoreAddress; /** * - The unique identifier (24-digit Mongo Object ID) - * of the ordering store + * of the ordering store. */ _id?: string; /** - * - Ordering store UID + * - Ordering store UID. */ uid?: number; /** - * - Store name of the ordering store + * - Store name of the ordering store. */ name?: string; /** - * - Display name of the ordering store + * - Display name of the ordering store. */ display_name?: string; /** * - Store type of the ordering store, e.g. - * high_street, mall, warehouse + * high_street, mall, warehouse. */ store_type?: string; /** - * - Store code of the ordering store, e.g. MUM-102 + * - Store code of the ordering store, e.g. MUM-102. */ store_code?: string; /** - * - 6-digit PIN Code of the ordering store, e.g. 400001 + * - 6-digit PIN Code of the ordering store, e.g. 400001. */ pincode?: number; /** - * - Code of the ordering store (usually same as Store Code) + * - Code of the ordering store (usually same as Store Code). */ code?: string; }; @@ -2337,14 +2517,20 @@ type OrderingStore = { declare function OrderingStores(): OrderingStores; type OrderingStores = { page?: Page; + /** + * - List of ordering stores. + */ items?: OrderingStore[]; + /** + * - List of all deployed stores. + */ deployed_stores?: number[]; /** - * - Allow all stores of the ordering stores + * - Allow all stores of the ordering stores. */ all_stores?: boolean; /** - * - Allow ordering stores for current sales channel + * - Allow ordering stores for current sales channel. */ enabled?: boolean; /** @@ -2354,12 +2540,12 @@ type OrderingStores = { type?: string; /** * - The unique identifier (24-digit Mongo Object ID) - * of the ordering store + * of the ordering store. */ _id?: string; /** * - Alphanumeric ID allotted to an application (sales - * channel website) created within a business account + * channel website) created within a business account. */ app?: string; /** diff --git a/sdk/application/Configuration/ConfigurationApplicationModel.js b/sdk/application/Configuration/ConfigurationApplicationModel.js index 0ce048ffa..fd45d32b8 100644 --- a/sdk/application/Configuration/ConfigurationApplicationModel.js +++ b/sdk/application/Configuration/ConfigurationApplicationModel.js @@ -10,75 +10,76 @@ const Joi = require("joi"); * @property {CompanyInfo} [company_info] * @property {OwnerInfo} [owner_info] * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of application information + * of application information. * @property {Domain} [domain] * @property {ApplicationWebsite} [website] * @property {ApplicationCors} [cors] * @property {string} [description] - It contains details information about the - * sales channel - * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion - * @property {ApplicationMeta[]} [meta] + * sales channel. + * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion. + * @property {ApplicationMeta[]} [meta] - Metadata related to the application. * @property {string} [token] - Random generated fix length string for sales * channel. It is required and auto-generated. * @property {string} [secret] - Random generated fix length string for sales * channel. It is required and auto-generated. * @property {string} [created_at] - ISO 8601 timestamp of sales channel - * information creation + * information creation. * @property {SecureUrl} [banner] * @property {SecureUrl} [logo] * @property {boolean} [is_active] - Indicates whether sales channel is active - * or not active - * @property {string} [mode] - * @property {TokenSchema[]} [tokens] - * @property {Domain[]} [domains] + * or not active. + * @property {string} [mode] - Mode of the application. + * @property {TokenSchema[]} [tokens] - List of tokens associated with the application. + * @property {Domain[]} [domains] - List of domains associated with the application. * @property {SecureUrl} [favicon] * @property {SecureUrl} [mobile_logo] - * @property {string} [slug] + * @property {string} [slug] - Slug identifier for the application. */ /** * @typedef CompanyInfo * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of company information - * @property {number} [uid] - Company UID - * @property {string} [created_on] - ISO 8601 timestamp of company information creation - * @property {boolean} [is_active] - Indicates company is active or not active - * @property {string} [name] - Name of the company, Reliance Retail Limited - * @property {CompanyAboutAddress[]} [addresses] - * @property {string[]} [notification_emails] + * of company information. + * @property {number} [uid] - Unique identifier for the company. + * @property {string} [created_on] - ISO 8601 timestamp of company information creation. + * @property {boolean} [is_active] - Indicates company is active or not active. + * @property {string} [name] - Name of the company, Reliance Retail Limited. + * @property {CompanyAboutAddress[]} [addresses] - List of addresses associated + * with the company. + * @property {string[]} [notification_emails] - List of emails to notify. */ /** * @typedef OwnerInfo * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of owner info - * @property {UserEmail[]} [emails] - * @property {UserPhoneNumber[]} [phone_numbers] - * @property {string} [first_name] - First name of the owner - * @property {string} [last_name] - Last name of the owner - * @property {string} [profile_pic] - Hosted URL of profile pic + * of owner info. + * @property {UserEmail[]} [emails] - List of email addresses of the owner. + * @property {UserPhoneNumber[]} [phone_numbers] - List of phone numbers of the owner. + * @property {string} [first_name] - First name of the owner. + * @property {string} [last_name] - Last name of the owner. + * @property {string} [profile_pic] - Hosted URL of profile pic. */ /** * @typedef SupportedLanguage - * @property {string} [name] - Name of the supported language, e.g. हिन्दी - * @property {string} [code] - Unique code of supported language, e.g. hi-IN + * @property {string} [name] - Name of the supported language, e.g. हिन्दी. + * @property {string} [code] - Unique code of supported language, e.g. hi-IN. */ /** * @typedef LanguageResponse - * @property {SupportedLanguage[]} [items] + * @property {SupportedLanguage[]} [items] - List of supported languages. */ /** * @typedef AppStaffResponse - * @property {AppStaff[]} [staff_users] + * @property {AppStaff[]} [staff_users] - List of staff users. */ /** * @typedef AppStaffListResponse * @property {Page} [page] - * @property {AppStaff[]} [items] + * @property {AppStaff[]} [items] - List of staff users. */ /** @@ -93,31 +94,32 @@ const Joi = require("joi"); /** * @typedef AppStaff - * @property {string} [_id] - The unique identifier for the sales channel staff member + * @property {string} [_id] - The unique identifier for the sales channel staff member. * @property {boolean} [order_incent] - This is a boolean value. `true` to * retrieve the staff members eligible for getting incentives on orders. - * @property {number[]} [stores] + * @property {number[]} [stores] - List of IDs of the ordering stores where the + * staff member works. * @property {string} [application] - The unique identifier (24-digit Mongo - * Object ID) of the current sales channel - * @property {string} [title] - Tittle for the staff member like owner, staff. + * Object ID) of the current sales channel. + * @property {string} [title] - Title for the staff member like owner, staff. * @property {string} [user] - Mongo ID of the staff. Helps in retrieving the * details of a particular staff member. * @property {string} [employee_code] - Employee code of sales channel staff * member. It has unique value. - * @property {string} [first_name] - First name the staff member - * @property {string} [last_name] - Last name the staff member - * @property {string} [profile_pic_url] - Profile image hosted url of the staff member + * @property {string} [first_name] - First name the staff member. + * @property {string} [last_name] - Last name the staff member. + * @property {string} [profile_pic_url] - Profile image hosted url of the staff member. */ /** * @typedef AppTokenResponse * @property {Tokens} [tokens] * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the token + * of the token. * @property {string} [application] - Alphanumeric ID allotted to the current - * application created within the current business account - * @property {string} [created_at] - ISO 8601 timestamp of token creation - * @property {string} [modified_at] - ISO 8601 timestamp of token updation + * application created within the current business account. + * @property {string} [created_at] - ISO 8601 timestamp of token creation. + * @property {string} [modified_at] - ISO 8601 timestamp of token updation. * @property {number} [__v] - Version key for tracking revisions. Default value is zero. */ @@ -137,7 +139,7 @@ const Joi = require("joi"); * @typedef Firebase * @property {Credentials} [credentials] * @property {boolean} [enabled] - Shows whether Firebase integration is enabled - * or disabled for the sales channel + * or disabled for the sales channel. */ /** @@ -150,7 +152,7 @@ const Joi = require("joi"); * Firebase. It is a unique numerical value which is created when you * configure your project in the Google Developers Console/Google Cloud Console. * @property {string} [application_id] - Alphanumeric ID allotted to the current - * application created within the current business account + * application created within the current business account. * @property {string} [api_key] - An API key is a unique string that's used to * route requests to your Firebase project when interacting with Firebase. */ @@ -158,22 +160,22 @@ const Joi = require("joi"); /** * @typedef Ios * @property {string} [application_id] - Alphanumeric ID allotted to a sales - * channel application created within a business account - * @property {string} [api_key] - Firebase secret credential API key for IOS + * channel application created within a business account. + * @property {string} [api_key] - Firebase secret credential API key for IOS. */ /** * @typedef Android * @property {string} [application_id] - Alphanumeric ID allotted to a sales - * channel application created within a business account - * @property {string} [api_key] - Firebase secret credential API key for Android + * channel application created within a business account. + * @property {string} [api_key] - Firebase secret credential API key for Android. */ /** * @typedef Moengage * @property {MoengageCredentials} [credentials] - * @property {boolean} [enabled] - Shows whether MoEngage integation is enabled - * or disabled for the sales channel + * @property {boolean} [enabled] - Shows whether MoEngage integration is enabled + * or disabled for the sales channel. */ /** @@ -187,7 +189,7 @@ const Joi = require("joi"); * @typedef Segment * @property {SegmentCredentials} [credentials] * @property {boolean} [enabled] - Shows whether Segment integration is enabled - * or disabled for the sales channel + * or disabled for the sales channel. */ /** @@ -201,35 +203,35 @@ const Joi = require("joi"); * @typedef Gtm * @property {GtmCredentials} [credentials] * @property {boolean} [enabled] - Shows whether GTM integration is enabled or - * disabled for the sales channel + * disabled for the sales channel. */ /** * @typedef GtmCredentials - * @property {string} [api_key] - Secret credential API key for GTM + * @property {string} [api_key] - Secret credential API key for GTM. */ /** * @typedef Freshchat * @property {FreshchatCredentials} [credentials] * @property {boolean} [enabled] - Shows whether Freshchat integration is - * enabled or disabled for the sales channel + * enabled or disabled for the sales channel. */ /** * @typedef FreshchatCredentials * @property {string} [app_id] - The unique app_id of your Freshchat account for - * integrating Freshchat with your sales channel + * integrating Freshchat with your sales channel. * @property {string} [app_key] - The unique app_key of your Freshchat account - * for integrating Freshchat with your sales channel - * @property {string} [web_token] - Web token used for accessing the Freshchat APIs + * for integrating Freshchat with your sales channel. + * @property {string} [web_token] - Web token used for accessing the Freshchat APIs. */ /** * @typedef Safetynet * @property {SafetynetCredentials} [credentials] * @property {boolean} [enabled] - Shows whether Safetynet integration is - * enabled or disabled for the sales channel + * enabled or disabled for the sales channel. */ /** @@ -250,6 +252,7 @@ const Joi = require("joi"); /** * @typedef GoogleMap + * @property {boolean} [enabled] - Shows whether Google map integration is enabled or not. * @property {GoogleMapCredentials} [credentials] */ @@ -267,14 +270,14 @@ const Joi = require("joi"); /** * @typedef Credit - * @property {boolean} [enabled] - Shows whether reward points should be credited + * @property {boolean} [enabled] - Shows whether reward points should be credited. */ /** * @typedef Debit - * @property {boolean} [enabled] - Shows whether reward points are available for debit - * @property {boolean} [auto_apply] - Allow automatic debit of reward points - * @property {string} [strategy_channel] - Strategy channel for debiting reward points + * @property {boolean} [enabled] - Shows whether reward points are available for debit. + * @property {boolean} [auto_apply] - Allow automatic debit of reward points. + * @property {string} [strategy_channel] - Strategy channel for debiting reward points. */ /** @@ -283,7 +286,7 @@ const Joi = require("joi"); * other products from same seller, other products in same category, other * products in same price range, etc. * @property {boolean} [seller_selection] - Shows whether the customers can - * choose the seller on PDP + * choose the seller on PDP. * @property {boolean} [update_product_meta] - Allow user to update product * meta. Default value is true. * @property {boolean} [request_product] - Indicates whether customers can @@ -292,7 +295,7 @@ const Joi = require("joi"); /** * @typedef LaunchPage - * @property {string} [page_type] - Type of the launch page + * @property {string} [page_type] - Type of the launch page. * @property {Object} [params] - Launch page params. It can be nullable. * @property {Object} [query] - Query related to launch page. It can be nullable. */ @@ -301,18 +304,18 @@ const Joi = require("joi"); * @typedef LandingPageFeature * @property {LaunchPage} [launch_page] * @property {boolean} [continue_as_guest] - Shows whether a guest can checkout - * from cart without logging in - * @property {string} [login_btn_text] - Shows the text displayed over the login button + * from cart without logging in. + * @property {string} [login_btn_text] - Shows the text displayed over the login button. * @property {boolean} [show_domain_textbox] - Shows whether a textbox for - * entering domain is available + * entering domain is available. * @property {boolean} [show_register_btn] - Shows whether register button is - * available in the login/landing page + * available in the login/landing page. */ /** * @typedef RegistrationPageFeature * @property {boolean} [ask_store_address] - Shows whether a form to collect the - * address of the store, should be displayed upon visiting the website + * address of the store, should be displayed upon visiting the website. */ /** @@ -327,19 +330,19 @@ const Joi = require("joi"); * @property {PcrFeature} [pcr] * @property {OrderFeature} [order] * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * for the sales channel features - * @property {string} [app] - Application ID of the sales channel + * for the sales channel features. + * @property {string} [app] - Application ID of the sales channel. * @property {string} [created_at] - ISO 8601 timestamp showing the date when - * the features were configured + * the features were configured. * @property {string} [modified_at] - ISO 8601 timestamp of last known - * modifications to the sales channel feature configuration - * @property {number} [__v] - Version key for tracking revisions. Default value is zero + * modifications to the sales channel feature configuration. + * @property {number} [__v] - Version key for tracking revisions. Default value is zero. */ /** * @typedef HomePageFeature * @property {boolean} [order_processing] - Shows whether order processing is - * enabled or not enabled + * enabled or not enabled. */ /** @@ -363,13 +366,13 @@ const Joi = require("joi"); /** * @typedef CommunicationOptinDialogFeature - * @property {boolean} [visibility] - Shows whether WhatsApp communication is enabled + * @property {boolean} [visibility] - Shows whether WhatsApp communication is enabled. */ /** * @typedef DeploymentStoreSelectionFeature * @property {boolean} [enabled] - Shows whether selection of store (for - * deploying the application) is permitted + * deploying the application) is permitted. * @property {string} [type] - Permitted values are 'hard' and 'soft'. For hard * type delivery, store selection is compulsory. For soft type, delivery store * selection is optional. @@ -386,16 +389,17 @@ const Joi = require("joi"); /** * @typedef ListingPageFeature - * @property {string} [sort_on] + * @property {string} [sort_on] - Determines the sorting criteria for product + * listings on the page. */ /** * @typedef CurrencyFeature - * @property {string[]} [value] - 3-letter currency code + * @property {string[]} [value] - 3-letter currency code. * @property {string} [type] - If 'explicit', currency formatting shows currency * code with price. For explicit or all currency selection. * @property {string} [default_currency] - 3-letter code of the default currency - * used in the application. Default vaule is 'INR'. + * used in the application. Default value is 'INR'. */ /** @@ -405,24 +409,23 @@ const Joi = require("joi"); /** * @typedef FeedbackFeature - * @property {boolean} [enabled] - Shows whether customer feedback is enabled on - * PDP. Default value is false. + * @property {boolean} [enabled] - Whether customer feedback is enabled on PDP. + * Default value is false. */ /** * @typedef CompareProductsFeature - * @property {boolean} [enabled] - Shows whether product comparison feature is - * enabled on PDP + * @property {boolean} [enabled] - Whether product comparison feature is enabled on PDP. */ /** * @typedef CartFeature - * @property {boolean} [gst_input] - Shows whether customer is allowed to enter - * GST on the cart page for claiming input credits - * @property {boolean} [staff_selection] - Shows whether staff selection is - * enabled on cart page - * @property {boolean} [placing_for_customer] - Shows whether the staff is - * placing order on behalf of customer. Default value is true. + * @property {boolean} [gst_input] - Whether customer is allowed to enter GST on + * the cart page for claiming input credits. + * @property {boolean} [staff_selection] - Whether staff selection is enabled on + * cart page. + * @property {boolean} [placing_for_customer] - Whether the staff is placing + * order on behalf of customer. Default value is true. * @property {boolean} [google_map] - Allow adding of Google Maps. Default value is true. * @property {boolean} [revenue_engine_coupon] - Allow coupon apply and credits, * together. Default value is false. @@ -430,12 +433,12 @@ const Joi = require("joi"); /** * @typedef QrFeature - * @property {boolean} [application] - Shows whether sharing of mobile app via - * QR code is allowed. Default value is false. - * @property {boolean} [products] - Shows whether sharing product via QR code is + * @property {boolean} [application] - Whether sharing of mobile app via QR code + * is allowed. Default value is false. + * @property {boolean} [products] - Whether sharing product via QR code is + * allowed. Default value is false. + * @property {boolean} [collections] - Whether sharing collection via QR code is * allowed. Default value is false. - * @property {boolean} [collections] - Shows whether sharing collection via QR - * code is allowed. Default value is false. */ /** @@ -457,21 +460,21 @@ const Joi = require("joi"); /** * @typedef Currency * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the current sales channel supported currency + * of the current sales channel supported currency. * @property {boolean} [is_active] - Shows currency is enabled or not in current - * sales channel - * @property {string} [name] - Name of the currency, e.g Indian Rupee + * sales channel. + * @property {string} [name] - Name of the currency, e.g Indian Rupee. * @property {string} [code] - 3-character currency code, e.g. INR, USD, EUR. * @property {string} [created_at] - ISO 8601 timestamp of sales channel support - * currency creation + * currency creation. * @property {string} [modified_at] - ISO 8601 timestamp of sales channel - * support currency updation + * support currency updation. * @property {number} [decimal_digits] - Acceptable decimal limits for a given * currency, e.g. 1.05$ means upto 2 decimal digits can be accepted as a valid * value of a currency. - * @property {string} [symbol] - Unique symbol for identifying the currency, e.g. ₹ - * @property {string} [country_name] - * @property {string} [country_code] + * @property {string} [symbol] - Unique symbol for identifying the currency, e.g. ₹. + * @property {string} [country_name] - Country name. + * @property {string} [country_code] - Country code. */ /** @@ -480,23 +483,23 @@ const Joi = require("joi"); * should propagate correctly. * @property {boolean} [is_primary] - Domain is primary or not. Primary domain * is the default/main domain. - * @property {boolean} [is_shortlink] - Shortlink is present or not for the domain + * @property {boolean} [is_shortlink] - Shortlink is present or not for the domain. * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the sales channel domain - * @property {string} [name] + * of the sales channel domain. + * @property {string} [name] - Domain name. * @property {boolean} [is_predefined] - Domain is hosting domain or not. */ /** * @typedef ApplicationWebsite * @property {boolean} [enabled] - Shows whether sales channel website URL is - * enabled or not - * @property {string} [basepath] - Base path for the current sales channel website + * enabled or not. + * @property {string} [basepath] - Base path for the current sales channel website. */ /** * @typedef ApplicationCors - * @property {string[]} [domains] + * @property {string[]} [domains] - List of domains added to the sales channel. */ /** @@ -506,7 +509,7 @@ const Joi = require("joi"); /** * @typedef ApplicationRedirections - * @property {string} [redirect_from] - Old domain url of the sales channel + * @property {string} [redirect_from] - Old domain url of the sales channel. * @property {string} [redirect_to] - New domain URL of the sales channel. Users * will be automatically redirected from old domain to new domain. * @property {string} [type] - It shows domain redirection type. Permanent @@ -516,13 +519,13 @@ const Joi = require("joi"); /** * @typedef ApplicationMeta - * @property {string} [name] - Indicates to name of application meta - * @property {string} [value] - Value related to application meta name + * @property {string} [name] - Indicates to name of application meta. + * @property {string} [value] - Value related to application meta name. */ /** * @typedef SecureUrl - * @property {string} [secure_url] - Hosted URL of the image + * @property {string} [secure_url] - Hosted URL of the image. */ /** @@ -533,108 +536,109 @@ const Joi = require("joi"); * @property {string} [description] - It contains detailed information about the * sales channel. * @property {string} [channel_type] - It indicates different channel types like - * store, website-and-mobile-apps. Default value is store + * store, website-and-mobile-apps. Default value is store. * @property {number} [cache_ttl] - An integer value that specifies the number - * of seconds until the key expires + * of seconds until the key expires. * @property {boolean} [is_internal] - Indicates whether a sales channel is - * internal or not - * @property {boolean} [is_active] - Indicates sales channel is active or not active + * internal or not. + * @property {boolean} [is_active] - Indicates sales channel is active or not active. * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the sales channel - * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion + * of the sales channel. + * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion. * @property {string} [owner] - The unique identifier (24-digit Mongo Object ID) - * of owner who owns the application + * of owner who owns the application. * @property {number} [company_id] - Numeric ID allotted to a business account - * where the sales channel exists + * where the sales channel exists. * @property {string} [token] - Random generated fix length string for sales * channel. It is required and auto-generated. - * @property {ApplicationRedirections[]} [redirections] - * @property {ApplicationMeta[]} [meta] - * @property {string} [created_at] - ISO 8601 timestamp of sales channel creation - * @property {string} [modified_at] - ISO 8601 timestamp of sales channel updation + * @property {ApplicationRedirections[]} [redirections] - List of redirections + * for the sales channel. + * @property {ApplicationMeta[]} [meta] - List of meta information for the sales channel. + * @property {string} [created_at] - ISO 8601 timestamp of sales channel creation. + * @property {string} [modified_at] - ISO 8601 timestamp of sales channel updation. * @property {number} [__v] - Version key for tracking revisions. Default value is zero. * @property {SecureUrl} [banner] * @property {SecureUrl} [logo] * @property {SecureUrl} [favicon] - * @property {Domain[]} [domains] + * @property {Domain[]} [domains] - List of domains associated with the sales channel. * @property {string} [app_type] - It shows application is live or in development mode. * @property {SecureUrl} [mobile_logo] * @property {Domain} [domain] - * @property {string} [slug] - * @property {string} [mode] - * @property {string} [status] - * @property {TokenSchema[]} [tokens] + * @property {string} [slug] - Slug identifier. + * @property {string} [mode] - Application mode. + * @property {string} [status] - Current status of the application. + * @property {TokenSchema[]} [tokens] - List of tokens associated with the sales channel. */ /** * @typedef TokenSchema - * @property {string} [token] - * @property {Object} [created_by] - * @property {string} [created_at] - ISO 8601 timestamp of when token created + * @property {string} [token] - Token string. + * @property {Object} [created_by] - User details. + * @property {string} [created_at] - ISO 8601 timestamp of when token created. */ /** * @typedef NotFound - * @property {string} [message] - Response message for not found + * @property {string} [message] - Response message for not found. */ /** * @typedef InvalidPayloadRequest - * @property {string} [message] - Error message when request body payload is improper + * @property {string} [message] - Error message when request body payload is improper. */ /** * @typedef UnhandledError - * @property {string} [message] + * @property {string} [message] - Error message for unhandled errors. */ /** * @typedef SuccessMessageResponse - * @property {string} [message] - Success message shown to the user (in a string format) + * @property {string} [message] - Success message shown to the user (in a string format). */ /** * @typedef CompanyAboutAddress - * @property {number} [pincode] - 6-digit PIN code of the city, e.g. 400001 - * @property {string} [address1] - Primary address line of the company - * @property {string} [address2] - Secondary address line of the company - * @property {string} [city] - City name, e.g. Mumbai - * @property {string} [state] - State name, e.g. Maharashtra - * @property {string} [country] - Country name, e.g. India + * @property {number} [pincode] - 6-digit PIN code of the city, e.g. 400001. + * @property {string} [address1] - Primary address line of the company. + * @property {string} [address2] - Secondary address line of the company. + * @property {string} [city] - City name, e.g. Mumbai. + * @property {string} [state] - State name, e.g. Maharashtra. + * @property {string} [country] - Country name, e.g. India. * @property {string} [address_type] - Indicates different office types like * office, registered, and home. */ /** * @typedef UserEmail - * @property {boolean} [active] - Current email is active or not active - * @property {boolean} [primary] - Indicates current email is primay email or - * not primary email of user + * @property {boolean} [active] - Current email is active or not active. + * @property {boolean} [primary] - Indicates current email id primary email or + * not primary email of user. * @property {boolean} [verified] - Indicates current email is verified email or - * not verified email - * @property {string} [email] - Email address of the user + * not verified email. + * @property {string} [email] - Email address of the user. */ /** * @typedef UserPhoneNumber - * @property {boolean} [active] - Current phone number is active or not active - * @property {boolean} [primary] - Indicates current phone number is primay or - * not primary of user + * @property {boolean} [active] - Current phone number is active or not active. + * @property {boolean} [primary] - Indicates current phone number is primary or + * not for a user. * @property {boolean} [verified] - Indicates current phone number is verified - * or not verified - * @property {number} [country_code] - Country code, e.g. +91 - * @property {string} [phone] - Phone number of the user + * or not verified. + * @property {number} [country_code] - Country code, e.g. +91. + * @property {string} [phone] - Phone number of the user. */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** @@ -642,61 +646,64 @@ const Joi = require("joi"); * @property {InformationAddress} [address] * @property {InformationSupport} [support] * @property {SocialLinks} [social_links] - * @property {Links[]} [links] + * @property {Links[]} [links] - Array of additional relevant web links related + * to the application. * @property {string} [copyright_text] - Copyright statement usually seen at the - * site's footer + * site's footer. * @property {string} [_id] - Unique identifier (24-digit Mongo Object ID) of - * the application information - * @property {BusinessHighlights[]} [business_highlights] + * the application information. + * @property {BusinessHighlights[]} [business_highlights] - Array of notable + * business highlights with icons and descriptions. * @property {string} [application] - Alphanumeric ID allotted to a sales - * channel application created within a business account + * channel application created within a business account. * @property {string} [created_at] - ISO 8601 timestamp of creation of the - * application information + * application information. * @property {string} [modified_at] - ISO 8601 timestamp of updation of the - * application information + * application information. * @property {number} [__v] - Version key for tracking revisions. Default value is zero. */ /** * @typedef InformationAddress * @property {InformationLoc} [loc] - * @property {string[]} [address_line] - Contact address of the sales channel - * @property {InformationPhone[]} [phone] - * @property {string} [city] - Name of the city, e.g. Mumbai - * @property {string} [country] - Name of the country, e.g. India - * @property {number} [pincode] - 6-digit PIN Code of the city, e.g. 400001 + * @property {string[]} [address_line] - Contact address of the sales channel. + * @property {InformationPhone[]} [phone] - Phone numbers with country codes. + * @property {string} [city] - Name of the city, e.g. Mumbai. + * @property {string} [country] - Name of the country, e.g. India. + * @property {number} [pincode] - 6-digit PIN Code of the city, e.g. 400001. */ /** * @typedef InformationPhone - * @property {string} [code] - Country code for contact number, e.g. +91 (for India) - * @property {string} [number] - 10-digit mobile number + * @property {string} [code] - Country code for contact number, e.g. +91 (for India). + * @property {string} [number] - 10-digit mobile number. */ /** * @typedef InformationSupportPhone - * @property {string} [code] - Country code for contact number, e.g. +91 (for India) - * @property {string} [number] - 10-digit mobile number - * @property {string} [key] + * @property {string} [code] - Country code for contact number, e.g. +91 (for India). + * @property {string} [number] - 10-digit mobile number. + * @property {string} [key] - Additional identifier or key for the contact number. */ /** * @typedef InformationSupportEmail * @property {string} [value] - Value of email. - * @property {string} [key] + * @property {string} [key] - Additional identifier or key for the email address. */ /** * @typedef InformationLoc - * @property {string} [type] - Country code for contact number, e.g. +91 (for India) - * @property {number[]} [coordinates] - 10-digit mobile number + * @property {string} [type] - Country code for contact number, e.g. +91 (for India). + * @property {number[]} [coordinates] - 10-digit mobile number. */ /** * @typedef InformationSupport - * @property {InformationSupportPhone[]} [phone] - * @property {InformationSupportEmail[]} [email] - * @property {string} [timing] - Working hours of support team, e.g. 9 AM to 9 PM + * @property {InformationSupportPhone[]} [phone] - An array of phone contact + * details, including country code and number. + * @property {InformationSupportEmail[]} [email] - An array of email contact details. + * @property {string} [timing] - Working hours of support team, e.g. 9 AM to 9 PM. */ /** @@ -714,81 +721,81 @@ const Joi = require("joi"); /** * @typedef FacebookLink - * @property {string} [title] - Name of the social media platform, e.g. Facebook - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's Facebook page + * @property {string} [title] - Name of the social media platform, e.g. Facebook. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's Facebook page. */ /** * @typedef InstagramLink - * @property {string} [title] - Name of the social media platform, e.g. Instagram - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's Instagram page + * @property {string} [title] - Name of the social media platform, e.g. Instagram. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's Instagram page. */ /** * @typedef TwitterLink - * @property {string} [title] - Name of the social media platform, e.g. Twitter - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's Twitter account + * @property {string} [title] - Name of the social media platform, e.g. Twitter. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's Twitter account. */ /** * @typedef PinterestLink - * @property {string} [title] - Name of the social media platform, e.g. Pinterest - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's Pinterest page + * @property {string} [title] - Name of the social media platform, e.g. Pinterest. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's Pinterest page. */ /** * @typedef GooglePlusLink - * @property {string} [title] - Name of the social media platform, e.g. Google+ - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's Google+ account + * @property {string} [title] - Name of the social media platform, e.g. Google+. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's Google+ account. */ /** * @typedef YoutubeLink - * @property {string} [title] - Name of the social media platform, e.g. YouTube - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's YouTube channel + * @property {string} [title] - Name of the social media platform, e.g. YouTube. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's YouTube channel. */ /** * @typedef LinkedInLink - * @property {string} [title] - Name of the social media platform, e.g. LinkedIn - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's LinkedIn channel + * @property {string} [title] - Name of the social media platform, e.g. LinkedIn. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's LinkedIn channel. */ /** * @typedef VimeoLink - * @property {string} [title] - Name of the video hosting platform, e.g. Vimeo - * @property {string} [icon] - Hosted URL of social icon image shown on the website - * @property {string} [link] - Web URL of brand's Vimeo channel + * @property {string} [title] - Name of the video hosting platform, e.g. Vimeo. + * @property {string} [icon] - Hosted URL of social icon image shown on the website. + * @property {string} [link] - Web URL of brand's Vimeo channel. */ /** * @typedef BlogLink - * @property {string} [title] - Name of the brand's blog page - * @property {string} [icon] - Hosted URL of icon image shown on the website - * @property {string} [link] - Web URL of brand's blog page + * @property {string} [title] - Name of the brand's blog page. + * @property {string} [icon] - Hosted URL of icon image shown on the website. + * @property {string} [link] - Web URL of brand's blog page. */ /** * @typedef Links - * @property {string} [title] - Name of the related page or link - * @property {string} [link] - Web URL for redirecting to a related page + * @property {string} [title] - Name of the related page or link. + * @property {string} [link] - Web URL for redirecting to a related page. */ /** * @typedef BusinessHighlights * @property {string} [_id] - Unique identifier (24-digit Mongo Object ID) of - * the related business - * @property {string} [title] - Title of the business highlight, e.g. Superfast Delivery + * the related business. + * @property {string} [title] - Title of the business highlight, e.g. Superfast Delivery. * @property {string} [icon] - Hosted URL of icon image representing the - * business highlight - * @property {string} [sub_title] - Detailed information about the highlight + * business highlight. + * @property {string} [sub_title] - Detailed information about the highlight. */ /** @@ -801,82 +808,87 @@ const Joi = require("joi"); * @property {SecureUrl} [favicon] * @property {SecureUrl} [banner] * @property {Domain} [domain] - * @property {Domain[]} [domains] + * @property {Domain[]} [domains] - List of domains associated with the sales channel. * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * for the sales channel details - * @property {string} [slug] - * @property {number} [company_id] + * for the sales channel details. + * @property {string} [slug] - URL-friendly version of the sales channel name. + * @property {number} [company_id] - Numeric ID allotted to the business account + * where the sales channel is mapped. */ /** * @typedef CurrenciesResponse - * @property {Currency[]} [items] + * @property {Currency[]} [items] - A list of currency objects. Each object + * represents a different currency. */ /** * @typedef DefaultCurrency * @property {string} [ref] - The unique identifier (24-digit Mongo Object ID) - * of the default currency + * of the default currency. * @property {string} [code] - 3-character code of the default currency, e.g. - * INR, EUR, USD + * INR, EUR, USD. */ /** * @typedef AppCurrencyResponse * @property {string} [application] - Alphanumeric ID allotted to an application - * (sales channel website) created within a business account + * (sales channel website) created within a business account. * @property {DefaultCurrency} [default_currency] - * @property {Currency[]} [supported_currency] - * @property {string} [_id] - * @property {string} [created_at] - * @property {string} [modified_at] + * @property {Currency[]} [supported_currency] - A list of currencies supported + * by the application. + * @property {string} [_id] - The unique identifier of the application. + * @property {string} [created_at] - ISO 8601 timestamp of when the application + * was created. + * @property {string} [modified_at] - ISO 8601 timestamp of when the application + * was last modified. */ /** * @typedef StoreLatLong - * @property {string} [type] - Coordinates type of the opted store - * @property {number[]} [coordinates] + * @property {string} [type] - Coordinates type of the opted store. + * @property {number[]} [coordinates] - Latitude and Longitude coordinates of the store. */ /** * @typedef OptedStoreAddress - * @property {string} [state] - State of the opted store, e.g. Maharashtra - * @property {string} [address1] - Address of the opted store + * @property {string} [state] - State of the opted store, e.g. Maharashtra. + * @property {string} [address1] - Address of the opted store. * @property {StoreLatLong} [lat_long] - * @property {string} [address2] - Address of the opted store - * @property {number} [pincode] - 6-digit PIN code of the opted store location - * @property {string} [country] - Country of the opted store, e.g. India - * @property {string} [city] - City of the opted store, e.g. Mumbai + * @property {string} [address2] - Address of the opted store. + * @property {number} [pincode] - 6-digit PIN code of the opted store location. + * @property {string} [country] - Country of the opted store, e.g. India. + * @property {string} [city] - City of the opted store, e.g. Mumbai. */ /** * @typedef OrderingStore * @property {OptedStoreAddress} [address] * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the ordering store - * @property {number} [uid] - Ordering store UID - * @property {string} [name] - Store name of the ordering store - * @property {string} [display_name] - Display name of the ordering store + * of the ordering store. + * @property {number} [uid] - Ordering store UID. + * @property {string} [name] - Store name of the ordering store. + * @property {string} [display_name] - Display name of the ordering store. * @property {string} [store_type] - Store type of the ordering store, e.g. - * high_street, mall, warehouse - * @property {string} [store_code] - Store code of the ordering store, e.g. MUM-102 - * @property {number} [pincode] - 6-digit PIN Code of the ordering store, e.g. 400001 - * @property {string} [code] - Code of the ordering store (usually same as Store Code) + * high_street, mall, warehouse. + * @property {string} [store_code] - Store code of the ordering store, e.g. MUM-102. + * @property {number} [pincode] - 6-digit PIN Code of the ordering store, e.g. 400001. + * @property {string} [code] - Code of the ordering store (usually same as Store Code). */ /** * @typedef OrderingStores * @property {Page} [page] - * @property {OrderingStore[]} [items] - * @property {number[]} [deployed_stores] - * @property {boolean} [all_stores] - Allow all stores of the ordering stores - * @property {boolean} [enabled] - Allow ordering stores for current sales channel + * @property {OrderingStore[]} [items] - List of ordering stores. + * @property {number[]} [deployed_stores] - List of all deployed stores. + * @property {boolean} [all_stores] - Allow all stores of the ordering stores. + * @property {boolean} [enabled] - Allow ordering stores for current sales channel. * @property {string} [type] - For hard type delivery, store selection is * compulsory. For soft type, delivery store selection is optional. * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the ordering store + * of the ordering store. * @property {string} [app] - Alphanumeric ID allotted to an application (sales - * channel website) created within a business account + * channel website) created within a business account. * @property {number} [__v] - Version key for tracking ordering stores. Default * value is zero. */ @@ -1163,6 +1175,7 @@ class ConfigurationApplicationModel { /** @returns {GoogleMap} */ static GoogleMap() { return Joi.object({ + enabled: Joi.boolean(), credentials: ConfigurationApplicationModel.GoogleMapCredentials(), }); } diff --git a/sdk/application/Configuration/ConfigurationApplicationValidator.d.ts b/sdk/application/Configuration/ConfigurationApplicationValidator.d.ts index 00c6f2c19..d53c9ad6b 100644 --- a/sdk/application/Configuration/ConfigurationApplicationValidator.d.ts +++ b/sdk/application/Configuration/ConfigurationApplicationValidator.d.ts @@ -2,24 +2,25 @@ export = ConfigurationApplicationValidator; /** @typedef GetAppCurrenciesParam */ /** * @typedef GetAppStaffListParam - * @property {number} [pageNo] - * @property {number} [pageSize] - * @property {boolean} [orderIncent] - This is a boolean value. Select `true` to - * retrieve the staff members eligible for getting incentives on orders. + * @property {number} [pageNo] - The page number to navigate through the given + * set of results. Default value is 1. + * @property {number} [pageSize] - The number of items to retrieve in each page. + * @property {boolean} [orderIncent] - Select `true` to retrieve the staff + * members eligible for getting incentives on orders. * @property {number} [orderingStore] - ID of the ordering store. Helps in * retrieving staff members working at a particular ordering store. - * @property {string} [user] - Mongo ID of the staff. Helps in retrieving the - * details of a particular staff member. - * @property {string} [userName] - User name of the member + * @property {string} [user] - ID of the staff. Helps in retrieving the details + * of a particular staff member. + * @property {string} [userName] - Username of the member. */ /** * @typedef GetAppStaffsParam - * @property {boolean} [orderIncent] - This is a boolean value. Select `true` to - * retrieve the staff members eligible for getting incentives on orders. + * @property {boolean} [orderIncent] - Select `true` to retrieve the staff + * members eligible for getting incentives on orders. * @property {number} [orderingStore] - ID of the ordering store. Helps in * retrieving staff members working at a particular ordering store. - * @property {string} [user] - Mongo ID of the staff. Helps in retrieving the - * details of a particular staff member. + * @property {string} [user] - ID of the staff. Helps in retrieving the details + * of a particular staff member. */ /** @typedef GetApplicationParam */ /** @typedef GetBasicDetailsParam */ @@ -27,7 +28,7 @@ export = ConfigurationApplicationValidator; /** @typedef GetCurrenciesParam */ /** * @typedef GetCurrencyByIdParam - * @property {string} id - Object ID assigned to the currency + * @property {string} id - ID assigned to the currency. */ /** @typedef GetFeaturesParam */ /** @typedef GetIntegrationTokensParam */ @@ -47,7 +48,7 @@ export = ConfigurationApplicationValidator; /** @typedef GetOwnerInfoParam */ /** * @typedef GetStoreDetailByIdParam - * @property {number} storeId - Store uid + * @property {number} storeId - Unique identifier for a store. */ /** @typedef RemoveOrderingStoreCookieParam */ declare class ConfigurationApplicationValidator { @@ -88,11 +89,18 @@ declare namespace ConfigurationApplicationValidator { export { GetAppCurrenciesParam, GetAppStaffListParam, GetAppStaffsParam, GetApplicationParam, GetBasicDetailsParam, GetContactInfoParam, GetCurrenciesParam, GetCurrencyByIdParam, GetFeaturesParam, GetIntegrationTokensParam, GetLanguagesParam, GetOrderingStoreCookieParam, GetOrderingStoresParam, GetOwnerInfoParam, GetStoreDetailByIdParam, RemoveOrderingStoreCookieParam }; } type GetAppStaffListParam = { + /** + * - The page number to navigate through the given + * set of results. Default value is 1. + */ pageNo?: number; + /** + * - The number of items to retrieve in each page. + */ pageSize?: number; /** - * - This is a boolean value. Select `true` to - * retrieve the staff members eligible for getting incentives on orders. + * - Select `true` to retrieve the staff + * members eligible for getting incentives on orders. */ orderIncent?: boolean; /** @@ -101,19 +109,19 @@ type GetAppStaffListParam = { */ orderingStore?: number; /** - * - Mongo ID of the staff. Helps in retrieving the - * details of a particular staff member. + * - ID of the staff. Helps in retrieving the details + * of a particular staff member. */ user?: string; /** - * - User name of the member + * - Username of the member. */ userName?: string; }; type GetAppStaffsParam = { /** - * - This is a boolean value. Select `true` to - * retrieve the staff members eligible for getting incentives on orders. + * - Select `true` to retrieve the staff + * members eligible for getting incentives on orders. */ orderIncent?: boolean; /** @@ -122,14 +130,14 @@ type GetAppStaffsParam = { */ orderingStore?: number; /** - * - Mongo ID of the staff. Helps in retrieving the - * details of a particular staff member. + * - ID of the staff. Helps in retrieving the details + * of a particular staff member. */ user?: string; }; type GetCurrencyByIdParam = { /** - * - Object ID assigned to the currency + * - ID assigned to the currency. */ id: string; }; @@ -154,7 +162,7 @@ type GetOrderingStoresParam = { }; type GetStoreDetailByIdParam = { /** - * - Store uid + * - Unique identifier for a store. */ storeId: number; }; diff --git a/sdk/application/Configuration/ConfigurationApplicationValidator.js b/sdk/application/Configuration/ConfigurationApplicationValidator.js index 78ebdcb88..c600965bc 100644 --- a/sdk/application/Configuration/ConfigurationApplicationValidator.js +++ b/sdk/application/Configuration/ConfigurationApplicationValidator.js @@ -6,25 +6,26 @@ const ConfigurationApplicationModel = require("./ConfigurationApplicationModel") /** * @typedef GetAppStaffListParam - * @property {number} [pageNo] - * @property {number} [pageSize] - * @property {boolean} [orderIncent] - This is a boolean value. Select `true` to - * retrieve the staff members eligible for getting incentives on orders. + * @property {number} [pageNo] - The page number to navigate through the given + * set of results. Default value is 1. + * @property {number} [pageSize] - The number of items to retrieve in each page. + * @property {boolean} [orderIncent] - Select `true` to retrieve the staff + * members eligible for getting incentives on orders. * @property {number} [orderingStore] - ID of the ordering store. Helps in * retrieving staff members working at a particular ordering store. - * @property {string} [user] - Mongo ID of the staff. Helps in retrieving the - * details of a particular staff member. - * @property {string} [userName] - User name of the member + * @property {string} [user] - ID of the staff. Helps in retrieving the details + * of a particular staff member. + * @property {string} [userName] - Username of the member. */ /** * @typedef GetAppStaffsParam - * @property {boolean} [orderIncent] - This is a boolean value. Select `true` to - * retrieve the staff members eligible for getting incentives on orders. + * @property {boolean} [orderIncent] - Select `true` to retrieve the staff + * members eligible for getting incentives on orders. * @property {number} [orderingStore] - ID of the ordering store. Helps in * retrieving staff members working at a particular ordering store. - * @property {string} [user] - Mongo ID of the staff. Helps in retrieving the - * details of a particular staff member. + * @property {string} [user] - ID of the staff. Helps in retrieving the details + * of a particular staff member. */ /** @typedef GetApplicationParam */ @@ -37,7 +38,7 @@ const ConfigurationApplicationModel = require("./ConfigurationApplicationModel") /** * @typedef GetCurrencyByIdParam - * @property {string} id - Object ID assigned to the currency + * @property {string} id - ID assigned to the currency. */ /** @typedef GetFeaturesParam */ @@ -64,7 +65,7 @@ const ConfigurationApplicationModel = require("./ConfigurationApplicationModel") /** * @typedef GetStoreDetailByIdParam - * @property {number} storeId - Store uid + * @property {number} storeId - Unique identifier for a store. */ /** @typedef RemoveOrderingStoreCookieParam */ diff --git a/sdk/application/Content/ContentApplicationClient.d.ts b/sdk/application/Content/ContentApplicationClient.d.ts index a605483d0..d58690f69 100644 --- a/sdk/application/Content/ContentApplicationClient.d.ts +++ b/sdk/application/Content/ContentApplicationClient.d.ts @@ -47,7 +47,7 @@ declare class Content { * @returns {Promise} - Success response * @name getBlog * @summary: Get a blog - * @description: Get all information related to a specific blog such as it's contents, author, publish date, SEO related information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getBlog/). + * @description: Get information related to a specific blog such as it's contents, author, publish date, SEO related information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getBlog/). */ getBlog({ slug, rootId, requestHeaders }?: ContentApplicationValidator.GetBlogParam, { responseHeaders }?: object): Promise; /** @@ -57,7 +57,7 @@ declare class Content { * @returns {Promise} - Success response * @name getBlogs * @summary: List blogs - * @description: List all the blogs against an application - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getBlogs/). + * @description: List all the blogs against an application. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getBlogs/). */ getBlogs({ pageNo, pageSize, tags, search, requestHeaders }?: ContentApplicationValidator.GetBlogsParam, { responseHeaders }?: object): Promise; /** @@ -69,7 +69,7 @@ declare class Content { * * @name getCustomFields * @summary: Get list of custom fields - * @description: Retrieves a list of custom fields attached to a particular resource by using the resource. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getCustomFields/). + * @description: List custom fields attached to a particular resource by using the resource. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getCustomFields/). */ getCustomFields({ resource, resourceId, requestHeaders }?: ContentApplicationValidator.GetCustomFieldsParam, { responseHeaders }?: object): Promise; /** @@ -80,7 +80,7 @@ declare class Content { * Success response * @name getCustomObject * @summary: Get custom object - * @description: Details of custom objects, their field details, definitions, and references can be obtained using this endpoint. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getCustomObject/). + * @description: Get details of custom objects, their field details, definitions, and references can be obtained using this endpoint. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getCustomObject/). */ getCustomObject({ metaobjectId, requestHeaders }?: ContentApplicationValidator.GetCustomObjectParam, { responseHeaders }?: object): Promise; /** @@ -90,7 +90,7 @@ declare class Content { * @returns {Promise} - Success response * @name getDataLoaders * @summary: List Dataloaders - * @description: List all the data loaders that are enabled for an application - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getDataLoaders/). + * @description: List all the data loaders that are enabled for an application. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getDataLoaders/). */ getDataLoaders({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -111,7 +111,7 @@ declare class Content { * Success response * @name getFaqCategories * @summary: List FAQ Categories - * @description: Lists categories for organizing FAQs. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getFaqCategories/). + * @description: List categories for organizing FAQs. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getFaqCategories/). */ getFaqCategories({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -132,7 +132,7 @@ declare class Content { * @returns {Promise} - Success response * @name getFaqs * @summary: List FAQs - * @description: List a list of frequently asked questions and ansers - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getFaqs/). + * @description: List frequently asked questions and answers. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getFaqs/). */ getFaqs({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -142,7 +142,7 @@ declare class Content { * @returns {Promise} - Success response * @name getFaqsByCategorySlug * @summary: List FAQs by category - * @description: Get FAQs belonging to a specific category slug - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getFaqsByCategorySlug/). + * @description: Get FAQs belonging to a specific category slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getFaqsByCategorySlug/). */ getFaqsByCategorySlug({ slug, requestHeaders }?: ContentApplicationValidator.GetFaqsByCategorySlugParam, { responseHeaders }?: object): Promise; /** @@ -152,7 +152,7 @@ declare class Content { * @returns {Promise} - Success response * @name getLandingPage * @summary: Get a landing page - * @description: Gets the content of the application's landing page. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getLandingPage/). + * @description: Get content of the application's landing page. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getLandingPage/). */ getLandingPage({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -173,7 +173,7 @@ declare class Content { * Success response * @name getNavigations * @summary: List navigation items - * @description: Get the navigation link items which can be powered to genreate menus on application's website or equivalent mobile apps - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getNavigations/). + * @description: Get the navigation link items which can be powered to generate menus on application's website or equivalent mobile apps. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getNavigations/). */ getNavigations({ pageNo, pageSize, requestHeaders }?: ContentApplicationValidator.GetNavigationsParam, { responseHeaders }?: object): Promise; /** @@ -193,7 +193,7 @@ declare class Content { * @returns {Promise} - Success response * @name getPages * @summary: Lists pages - * @description: Lists all Custom Pages - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getPages/). + * @description: Lists all Custom Pages. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getPages/). */ getPages({ pageNo, pageSize, requestHeaders }?: ContentApplicationValidator.GetPagesParam, { responseHeaders }?: object): Promise; /** @@ -203,7 +203,7 @@ declare class Content { * @returns {Promise} - Success response * @name getSEOConfiguration * @summary: Get SEO settings - * @description: Get search engine optimization configurations of an application. Details include the title, description and an image - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSEOConfiguration/). + * @description: Get search engine optimization configurations of an application. Details include the title, description and an image. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSEOConfiguration/). */ getSEOConfiguration({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -213,7 +213,7 @@ declare class Content { * @returns {Promise} - Success response * @name getSEOMarkupSchemas * @summary: List SEO Markup schemas - * @description: Get all SEO Markup schema Templates setup for an application - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSEOMarkupSchemas/). + * @description: Get all SEO Markup schema Templates setup for an application. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSEOMarkupSchemas/). */ getSEOMarkupSchemas({ pageType, active, requestHeaders }?: ContentApplicationValidator.GetSEOMarkupSchemasParam, { responseHeaders }?: object): Promise; /** @@ -233,7 +233,7 @@ declare class Content { * @returns {Promise} - Success response * @name getSlideshows * @summary: List Slideshows - * @description: Get a list of slideshows along with their details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSlideshows/). + * @description: List slideshows along with their details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSlideshows/). */ getSlideshows({ pageNo, pageSize, requestHeaders }?: ContentApplicationValidator.GetSlideshowsParam, { responseHeaders }?: object): Promise; /** @@ -241,7 +241,7 @@ declare class Content { * @param {number} [arg.pageSize] - The number of items to retrieve in each page. * @returns {Paginator} * @summary: List Slideshows - * @description: Get a list of slideshows along with their details. + * @description: List slideshows along with their details. */ getSlideshowsPaginator({ pageSize }?: { pageSize?: number; @@ -253,7 +253,7 @@ declare class Content { * @returns {Promise} - Success response * @name getSupportInformation * @summary: Get customer support information - * @description: Get customer support contact details. Contact Details can be either a phone number or an email-id or both - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSupportInformation/). + * @description: Get customer support contact details. Contact Details can be either a phone number or an email-id or both. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSupportInformation/). */ getSupportInformation({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** diff --git a/sdk/application/Content/ContentApplicationClient.js b/sdk/application/Content/ContentApplicationClient.js index 102aba77e..9537838ab 100644 --- a/sdk/application/Content/ContentApplicationClient.js +++ b/sdk/application/Content/ContentApplicationClient.js @@ -144,7 +144,7 @@ class Content { * @returns {Promise} - Success response * @name getBlog * @summary: Get a blog - * @description: Get all information related to a specific blog such as it's contents, author, publish date, SEO related information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getBlog/). + * @description: Get information related to a specific blog such as it's contents, author, publish date, SEO related information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getBlog/). */ async getBlog( { slug, rootId, requestHeaders } = { requestHeaders: {} }, @@ -221,7 +221,7 @@ class Content { * @returns {Promise} - Success response * @name getBlogs * @summary: List blogs - * @description: List all the blogs against an application - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getBlogs/). + * @description: List all the blogs against an application. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getBlogs/). */ async getBlogs( { pageNo, pageSize, tags, search, requestHeaders } = { requestHeaders: {} }, @@ -303,7 +303,7 @@ class Content { * * @name getCustomFields * @summary: Get list of custom fields - * @description: Retrieves a list of custom fields attached to a particular resource by using the resource. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getCustomFields/). + * @description: List custom fields attached to a particular resource by using the resource. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getCustomFields/). */ async getCustomFields( { resource, resourceId, requestHeaders } = { requestHeaders: {} }, @@ -382,7 +382,7 @@ class Content { * Success response * @name getCustomObject * @summary: Get custom object - * @description: Details of custom objects, their field details, definitions, and references can be obtained using this endpoint. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getCustomObject/). + * @description: Get details of custom objects, their field details, definitions, and references can be obtained using this endpoint. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getCustomObject/). */ async getCustomObject( { metaobjectId, requestHeaders } = { requestHeaders: {} }, @@ -460,7 +460,7 @@ class Content { * @returns {Promise} - Success response * @name getDataLoaders * @summary: List Dataloaders - * @description: List all the data loaders that are enabled for an application - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getDataLoaders/). + * @description: List all the data loaders that are enabled for an application. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getDataLoaders/). */ async getDataLoaders( { requestHeaders } = { requestHeaders: {} }, @@ -617,7 +617,7 @@ class Content { * Success response * @name getFaqCategories * @summary: List FAQ Categories - * @description: Lists categories for organizing FAQs. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getFaqCategories/). + * @description: List categories for organizing FAQs. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getFaqCategories/). */ async getFaqCategories( { requestHeaders } = { requestHeaders: {} }, @@ -776,7 +776,7 @@ class Content { * @returns {Promise} - Success response * @name getFaqs * @summary: List FAQs - * @description: List a list of frequently asked questions and ansers - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getFaqs/). + * @description: List frequently asked questions and answers. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getFaqs/). */ async getFaqs( { requestHeaders } = { requestHeaders: {} }, @@ -852,7 +852,7 @@ class Content { * @returns {Promise} - Success response * @name getFaqsByCategorySlug * @summary: List FAQs by category - * @description: Get FAQs belonging to a specific category slug - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getFaqsByCategorySlug/). + * @description: Get FAQs belonging to a specific category slug. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getFaqsByCategorySlug/). */ async getFaqsByCategorySlug( { slug, requestHeaders } = { requestHeaders: {} }, @@ -932,7 +932,7 @@ class Content { * @returns {Promise} - Success response * @name getLandingPage * @summary: Get a landing page - * @description: Gets the content of the application's landing page. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getLandingPage/). + * @description: Get content of the application's landing page. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getLandingPage/). */ async getLandingPage( { requestHeaders } = { requestHeaders: {} }, @@ -1091,7 +1091,7 @@ class Content { * Success response * @name getNavigations * @summary: List navigation items - * @description: Get the navigation link items which can be powered to genreate menus on application's website or equivalent mobile apps - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getNavigations/). + * @description: Get the navigation link items which can be powered to generate menus on application's website or equivalent mobile apps. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getNavigations/). */ async getNavigations( { pageNo, pageSize, requestHeaders } = { requestHeaders: {} }, @@ -1248,7 +1248,7 @@ class Content { * @returns {Promise} - Success response * @name getPages * @summary: Lists pages - * @description: Lists all Custom Pages - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getPages/). + * @description: Lists all Custom Pages. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getPages/). */ async getPages( { pageNo, pageSize, requestHeaders } = { requestHeaders: {} }, @@ -1326,7 +1326,7 @@ class Content { * @returns {Promise} - Success response * @name getSEOConfiguration * @summary: Get SEO settings - * @description: Get search engine optimization configurations of an application. Details include the title, description and an image - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSEOConfiguration/). + * @description: Get search engine optimization configurations of an application. Details include the title, description and an image. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSEOConfiguration/). */ async getSEOConfiguration( { requestHeaders } = { requestHeaders: {} }, @@ -1406,7 +1406,7 @@ class Content { * @returns {Promise} - Success response * @name getSEOMarkupSchemas * @summary: List SEO Markup schemas - * @description: Get all SEO Markup schema Templates setup for an application - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSEOMarkupSchemas/). + * @description: Get all SEO Markup schema Templates setup for an application. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSEOMarkupSchemas/). */ async getSEOMarkupSchemas( { pageType, active, requestHeaders } = { requestHeaders: {} }, @@ -1566,7 +1566,7 @@ class Content { * @returns {Promise} - Success response * @name getSlideshows * @summary: List Slideshows - * @description: Get a list of slideshows along with their details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSlideshows/). + * @description: List slideshows along with their details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSlideshows/). */ async getSlideshows( { pageNo, pageSize, requestHeaders } = { requestHeaders: {} }, @@ -1644,7 +1644,7 @@ class Content { * @param {number} [arg.pageSize] - The number of items to retrieve in each page. * @returns {Paginator} * @summary: List Slideshows - * @description: Get a list of slideshows along with their details. + * @description: List slideshows along with their details. */ getSlideshowsPaginator({ pageSize } = {}) { const paginator = new Paginator(); @@ -1673,7 +1673,7 @@ class Content { * @returns {Promise} - Success response * @name getSupportInformation * @summary: Get customer support information - * @description: Get customer support contact details. Contact Details can be either a phone number or an email-id or both - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSupportInformation/). + * @description: Get customer support contact details. Contact Details can be either a phone number or an email-id or both. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/content/getSupportInformation/). */ async getSupportInformation( { requestHeaders } = { requestHeaders: {} }, diff --git a/sdk/application/Content/ContentApplicationModel.d.ts b/sdk/application/Content/ContentApplicationModel.d.ts index b33aeb061..fe578411f 100644 --- a/sdk/application/Content/ContentApplicationModel.d.ts +++ b/sdk/application/Content/ContentApplicationModel.d.ts @@ -1,20 +1,22 @@ export = ContentApplicationModel; /** * @typedef ApplicationLegal - * @property {string} [application] - * @property {string} [tnc] - * @property {string} [policy] - * @property {string} [shipping] - * @property {string} [returns] - * @property {ApplicationLegalFAQ[]} [faq] - * @property {string} [_id] - * @property {string} [updated_at] - * @property {string} [created_at] + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [tnc] - Content for Terms and Conditions page on storefront. + * @property {string} [policy] - Content for Privacy Policy page on storefront. + * @property {string} [shipping] - Content for Shipping Policy page on storefront. + * @property {string} [returns] - Content for Return policy page on storefront. + * @property {ApplicationLegalFAQ[]} [faq] - FAQs of an application. + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [updated_at] - Timestamp which represent when was the last + * time when data was updated. + * @property {string} [created_at] - Timestamp which represent the time when + * data was created. */ /** * @typedef ApplicationLegalFAQ - * @property {string} [question] - * @property {string} [answer] + * @property {string} [question] - The contents of a question of a FAQ. + * @property {string} [answer] - The contents of a answer of a FAQ. */ /** * @typedef SeoComponent @@ -22,148 +24,168 @@ export = ContentApplicationModel; */ /** * @typedef SeoSchema - * @property {string} [app] - * @property {string} [_id] - * @property {string} [robots_txt] - * @property {boolean} [sitemap_enabled] - * @property {string} [additonal_sitemap] - * @property {boolean} [cannonical_enabled] - * @property {CustomMetaTag[]} [custom_meta_tags] + * @property {string} [app] - Application ID - Identifier for a Sales channel. + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [robots_txt] - Contents of robots.txt file of a sales channel. + * @property {boolean} [sitemap_enabled] - Whether sitemaps is enabled or not + * for a sales channel's website. + * @property {string} [additonal_sitemap] - Contents of additional sitemap. + * @property {boolean} [cannonical_enabled] - Whether canonical tags is enabled + * or not for a sales channel's website. + * @property {CustomMetaTag[]} [custom_meta_tags] - Custom meta tags for a sales + * channel website. * @property {Detail} [details] - * @property {string} [created_at] - * @property {string} [updated_at] + * @property {string} [created_at] - Timestamp which represent the time when + * data was created. + * @property {string} [updated_at] - Timestamp which represent when was the last + * time when data was updated. */ /** * @typedef CustomMetaTag - * @property {string} [name] - * @property {string} [content] - * @property {string} [_id] + * @property {string} [name] - Name of the custom meta tag group. + * @property {string} [content] - Contents of the custom meta tag group. + * @property {string} [_id] - Unique identifier of an entry. */ /** * @typedef Detail - * @property {string} [title] - * @property {string} [description] - * @property {string} [image_url] + * @property {string} [title] - Contents of the og:title of a sales channel website. + * @property {string} [description] - Contents of the og:description of a sales + * channel website. + * @property {string} [image_url] - URL of the og:image of a sales channel website. */ /** * @typedef SeoSchemaComponent - * @property {SEOSchemaMarkupTemplate[]} [items] + * @property {SEOSchemaMarkupTemplate[]} [items] - List of SEO Markup Schemas + * for a sales channel website. */ /** * @typedef SEOSchemaMarkupTemplate - * @property {string} [id] - * @property {string} [title] - * @property {string} [page_type] - * @property {string} [description] - * @property {string} [schema] - * @property {boolean} [active] - * @property {string} [created_at] - * @property {string} [updated_at] - * @property {string} [application] + * @property {string} [id] - Unique identifier for an entry. + * @property {string} [title] - Title of the SEO Schema template. + * @property {string} [page_type] - Page Type for the SEO Schema Template where + * it'll be rendered. + * @property {string} [description] - Description of the SEO Schema Template. + * @property {string} [schema] - Contents of the SEO Schema template in nunjucks format. + * @property {boolean} [active] - Whether SEO Schema template is active or not. + * @property {string} [created_at] - Timestamp which represent the time when + * data was created. + * @property {string} [updated_at] - Timestamp which represent when was the last + * time when data was updated. + * @property {string} [application] - Application ID - Identifier for a Sales channel. */ /** * @typedef ScheduleSchema - * @property {string} [cron] - * @property {string} [start] - * @property {string} [end] - * @property {number} [duration] - * @property {NextSchedule[]} [next_schedule] + * @property {string} [cron] - String representing the cron expression. + * @property {string} [start] - Start time of schedule. + * @property {string} [end] - End time of schedule. + * @property {number} [duration] - Duration of the scheduled entity. + * @property {NextSchedule[]} [next_schedule] - Details regarding the next + * trigger point of schedule. */ /** * @typedef NextSchedule - * @property {string} [start] - * @property {string} [end] + * @property {string} [start] - Start time of next trigger point of schedule. + * @property {string} [end] - End time of next trigger point of schedule. */ /** * @typedef AnnouncementSchema - * @property {string} [announcement] + * @property {string} [announcement] - Details regarding the announcement bar contents. * @property {ScheduleStartSchema} [schedule] */ /** * @typedef ScheduleStartSchema - * @property {string} [start] - * @property {string} [end] + * @property {string} [start] - Start time of schedule. + * @property {string} [end] - End time of schedule. */ /** * @typedef BlogGetResponse - * @property {BlogSchema[]} [items] + * @property {BlogSchema[]} [items] - List of blogs with details. * @property {Page} [page] - * @property {string[]} [filters] + * @property {BlogFilters} [filters] + */ +/** + * @typedef BlogFilters + * @property {string[]} [tags] - All tags present under blogs. */ /** * @typedef ResourceContent - * @property {string} [type] - * @property {string} [value] + * @property {string} [type] - The type of content of blogs - html. + * @property {string} [value] - The contents of blog. */ /** * @typedef Asset - * @property {string} [aspect_ratio] - * @property {string} [id] - * @property {string} [secure_url] + * @property {string} [aspect_ratio] - Aspect ratio of the image. + * @property {string} [id] - Unique identifier for an entry. + * @property {string} [secure_url] - URL of the image. */ /** * @typedef Author - * @property {string} [designation] - * @property {string} [id] - * @property {string} [name] + * @property {string} [designation] - Description of the author of blog. + * @property {string} [id] - Unique Identifier of the author of blog. + * @property {string} [name] - Name of the author of blog. */ /** * @typedef BlogSchema - * @property {string} [_id] - * @property {Object} [_custom_json] - * @property {string} [application] - * @property {boolean} [archived] + * @property {string} [_id] - Unique identifier for an entry. + * @property {Object} [_custom_json] - Custom JSON object for specific use cases. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {boolean} [archived] - Boolean flag denoting whether blog is archived or not. * @property {Author} [author] - * @property {ResourceContent[]} [content] + * @property {ResourceContent[]} [content] - Contents of blog. * @property {Asset} [feature_image] - * @property {boolean} [published] - * @property {string} [reading_time] - * @property {string} [slug] - * @property {string[]} [tags] - * @property {string} [publish_date] + * @property {boolean} [published] - Boolean flag denoting whether blog is + * published or not. + * @property {string} [reading_time] - Estimated time required to read the blog. + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. + * @property {string[]} [tags] - Tags under a blog. + * @property {string} [publish_date] - Timestamp denoting when the blog was published. * @property {SEO} [seo] - * @property {string} [title] + * @property {string} [title] - Title of the Blog. * @property {DateMeta} [date_meta] - * @property {string} [summary] + * @property {string} [summary] - A brief description of blog. */ /** * @typedef SEO - * @property {string} [description] + * @property {string} [description] - The contents of og:description. * @property {SEOImage} [image] - * @property {string} [title] - * @property {SEOMetaItem[]} [meta_tags] + * @property {string} [title] - The contents of og:title. + * @property {SEOMetaItem[]} [meta_tags] - List of meta tags. * @property {SEOSitemap} [sitemap] - * @property {SEObreadcrumb[]} [breadcrumb] - * @property {string} [canonical_url] + * @property {SEObreadcrumb[]} [breadcrumb] - List of action objects which can + * power breadcrumbs on website. + * @property {string} [canonical_url] - The canonical URL for canonical link element. */ /** * @typedef SEOImage - * @property {string} [url] + * @property {string} [url] - The url of image. */ /** * @typedef SEOMetaItem - * @property {string} [title] - * @property {SEOMetaItems[]} [items] + * @property {string} [title] - Title of the custom meta tags group. + * @property {SEOMetaItems[]} [items] - List of key value pairs to power meta tags. */ /** * @typedef SEOMetaItems - * @property {string} [key] - * @property {string} [value] + * @property {string} [key] - The key denoting the attribute name of SEO meta tag. + * @property {string} [value] - The key denoting the attribute value of SEO meta tag. */ /** * @typedef SEOSitemap - * @property {number} [priority] - * @property {string} [frequency] + * @property {number} [priority] - Value of sitemap priority randing from 0.0 to 1.0. + * @property {string} [frequency] - Value of sitemap frequency change denoting + * how frequently the content changes. */ /** * @typedef SEObreadcrumb - * @property {string} [url] + * @property {string} [url] - URL of where the breadcrumb link redirects to. * @property {Action} [action] */ /** * @typedef DateMeta - * @property {string} [created_on] - * @property {string} [modified_on] + * @property {string} [created_on] - Timestamp which represent the time when + * data was created. + * @property {string} [modified_on] - Timestamp which represent when was the + * last time when data was updated. */ /** * @typedef LocaleLanguage @@ -173,138 +195,149 @@ export = ContentApplicationModel; */ /** * @typedef Language - * @property {string} [display] + * @property {string} [display] - Name of an entry in a specific language. */ /** * @typedef Action - * @property {string} [type] + * @property {string} [type] - Type of action to be taken e.g, page. * @property {ActionPage} [page] * @property {ActionPage} [popup] */ /** * @typedef NavigationReference - * @property {string[]} [acl] - * @property {string[]} [tags] + * @property {string[]} [acl] - Details regarding the authorization level to + * access the navigation item. + * @property {string[]} [tags] - List of tags under a navigation link. * @property {LocaleLanguage} [_locale_language] - * @property {string} [image] - * @property {string} [type] + * @property {string} [image] - URL of an image associated with a navigation link. + * @property {string} [type] - Type of action to be taken e.g, page. * @property {Action} [action] - * @property {boolean} [active] - * @property {string} [display] - * @property {number} [sort_order] - * @property {NavigationReference[]} [sub_navigation] + * @property {boolean} [active] - Whether navigation is active or not. + * @property {string} [display] - Display name of the navigation link. + * @property {number} [sort_order] - Number denoting the position of navigation link. + * @property {NavigationReference[]} [sub_navigation] - List of sub links and + * details under a navigation. */ /** * @typedef ConfigurationSchema - * @property {number} [sleep_time] - * @property {boolean} [start_on_launch] - * @property {number} [duration] - * @property {string} [slide_direction] + * @property {number} [sleep_time] - Amount of time in seconds after which + * slideshow/screensaver is run. + * @property {boolean} [start_on_launch] - Flag denoting whether screensaver + * needs to be shown on launch of website/app. + * @property {number} [duration] - Duration of the slideshow/screensaver. + * @property {string} [slide_direction] - Direction of the slideshow. */ /** * @typedef SlideshowMedia - * @property {string} [type] - * @property {string} [url] - * @property {string} [bg_color] - * @property {number} [duration] - * @property {boolean} [auto_decide_duration] + * @property {string} [type] - Type of Media. + * @property {string} [url] - URL of Media where it's hosted. + * @property {string} [bg_color] - Background colour of Media. + * @property {number} [duration] - Amount of time in seconds for which Media has + * to appear. + * @property {boolean} [auto_decide_duration] - Whether the duration for each + * media is to be decided by system or not. If true, it'll equally divide time + * in all medias. * @property {Action} [action] */ /** * @typedef AnnouncementsResponseSchema - * @property {Object} [announcements] + * @property {Object} [announcements] - List all the announcement bar details + * and its contents. * @property {number} [refresh_rate] - Number of seconds after which api should - * hit again to fetch new announcements + * hit again to fetch new announcements. * @property {string[]} [refresh_pages] - List of page slugs on which - * announcement should be fetched as soon as they are loaded + * announcement should be fetched as soon as they are loaded. */ /** * @typedef FaqResponseSchema - * @property {FaqSchema[]} [faqs] + * @property {FaqSchema[]} [faqs] - List of FAQs. */ /** * @typedef DataLoaderSchema - * @property {string} [name] - * @property {string} [service] - * @property {string} [operation_id] - * @property {string} [type] - * @property {string} [url] - * @property {string} [content] + * @property {string} [name] - Name of dataloader. + * @property {string} [service] - Service of data loader which overrides the + * default method. + * @property {string} [operation_id] - Operation ID of the method which data + * loader is overriding. + * @property {string} [type] - Type of data loader. + * @property {string} [url] - URL at which data loader redirects. + * @property {string} [content] - Content of a data loader. * @property {DataLoaderSourceSchema} [__source] - * @property {string} [_id] + * @property {string} [_id] - Unique identifier of an entry. */ /** * @typedef DataLoaderSourceSchema - * @property {string} [type] - * @property {string} [id] + * @property {string} [type] - Type of creator. + * @property {string} [id] - Identifier of an extension. */ /** * @typedef DataLoadersSchema - * @property {DataLoaderSchema[]} [items] + * @property {DataLoaderSchema[]} [items] - List of data loaders. */ /** * @typedef ContentAPIError - * @property {string} [message] - * @property {number} [status] - * @property {string} [code] - * @property {string} [exception] - * @property {string} [info] - * @property {string} [request_id] - * @property {string} [stack_trace] - * @property {Object} [meta] + * @property {string} [message] - Error message. + * @property {number} [status] - HTTP Status code of the error. + * @property {string} [code] - Status code of an error. + * @property {string} [exception] - Exception class name. + * @property {string} [info] - Details regarding the error. + * @property {string} [request_id] - The identifier denoting request. + * @property {string} [stack_trace] - Report of a stack frame to debug the issue. + * @property {Object} [meta] - Metadata related to an error. */ /** * @typedef CommonError - * @property {string} [message] + * @property {string} [message] - Error message. */ /** * @typedef CategorySchema - * @property {number} [index] - * @property {string} [title] - * @property {string} [description] - * @property {string[]} [children] - * @property {string} [_id] - * @property {string} [slug] - * @property {string} [application] - * @property {string} [icon_url] - * @property {Object} [_custom_json] + * @property {number} [index] - Order of FAQ Category. + * @property {string} [title] - Title of the FAQ category. + * @property {string} [description] - Details of the FAQ category. + * @property {string[]} [children] - List of FAQs. + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [icon_url] - URL of the image associated with FAQ Category. + * @property {Object} [_custom_json] - Custom JSON object for specific use cases. */ /** * @typedef ChildrenSchema - * @property {string} [question] - * @property {string} [answer] - * @property {string} [slug] - * @property {string} [application] - * @property {string} [_id] + * @property {string} [question] - The contents of a question of a FAQ. + * @property {string} [answer] - The contents of a answer of a FAQ. + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [_id] - Unique identifier of an entry. */ /** * @typedef FAQCategorySchema - * @property {number} [index] - * @property {string} [title] - * @property {string} [description] - * @property {ChildrenSchema[]} [children] - * @property {string} [_id] - * @property {string} [slug] - * @property {string} [application] - * @property {string} [icon_url] - * @property {Object} [_custom_json] + * @property {number} [index] - Order of FAQ Category. + * @property {string} [title] - Title of a FAQ Category. + * @property {string} [description] - Details of the FAQ category. + * @property {ChildrenSchema[]} [children] - Details regarding a FAQs stored + * under a FAQs category. + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [icon_url] - URL of the image associated with FAQ Category. + * @property {Object} [_custom_json] - Custom JSON object for specific use cases. */ /** * @typedef FaqSchema - * @property {string} [slug] - * @property {string} [application] - * @property {string} [_id] - * @property {string} [question] - * @property {string} [answer] - * @property {string[]} [tags] + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [question] - The contents of a question of a FAQ. + * @property {string} [answer] - The contents of a answer of a FAQ. + * @property {string[]} [tags] - Tags under a FAQ. */ /** * @typedef GetFaqSchema - * @property {FaqSchema[]} [faqs] + * @property {FaqSchema[]} [faqs] - List of FAQs. */ /** * @typedef GetFaqCategoriesSchema - * @property {CategorySchema[]} [categories] + * @property {CategorySchema[]} [categories] - List of FAQ Categories. */ /** * @typedef GetFaqCategoryBySlugSchema @@ -312,134 +345,143 @@ export = ContentApplicationModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef LandingPageSchema - * @property {string} [slug] + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. * @property {Action} [action] - * @property {string[]} [platform] + * @property {string[]} [platform] - List of platforms linked to this landing page. * @property {CreatedBySchema} [created_by] * @property {DateMeta} [date_meta] - * @property {string} [_id] - * @property {string} [application] - * @property {boolean} [archived] - * @property {Object} [_custom_json] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {boolean} [archived] - Whether landing page is archived or not. + * @property {Object} [_custom_json] - Custom JSON object for specific use cases. */ /** * @typedef NavigationGetResponse - * @property {NavigationSchema[]} [items] + * @property {NavigationSchema[]} [items] - List of navigation items. * @property {Page} [page] */ /** * @typedef Orientation - * @property {string[]} [portrait] - * @property {string[]} [landscape] + * @property {string[]} [portrait] - Data related to devices where navigation is + * assigned in portrait mode. + * @property {string[]} [landscape] - Data related to devices where navigation + * is assigned in landscape mode. */ /** * @typedef NavigationSchema - * @property {string} [_id] - * @property {string} [application] - * @property {boolean} [archived] - * @property {string} [name] - * @property {string} [slug] - * @property {string[]} [platform] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {boolean} [archived] - Whether navigation is archived or not. + * @property {string} [name] - Name of the navigation link. + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. + * @property {string[]} [platform] - Details regarding the platforms for which + * this navigation is to applied on. * @property {CreatedBySchema} [created_by] * @property {DateMeta} [date_meta] * @property {Orientation} [orientation] - * @property {number} [version] - * @property {NavigationReference[]} [navigation] + * @property {number} [version] - A hardcoded key for internally managing + * navigation versions. + * @property {NavigationReference[]} [navigation] - List of all navigations + * links and relevant details. */ /** * @typedef PageGetResponse - * @property {PageSchema[]} [items] + * @property {PageSchema[]} [items] - List of details of custom pages. * @property {Page} [page] */ /** * @typedef PageSchema - * @property {string} [_id] - * @property {string} [application] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [application] - Application ID - Identifier for a Sales channel. * @property {string[]} [component_ids] - Components can be used to store - * multiple components - * @property {Object[]} [content] - * @property {string} [content_path] + * multiple components. + * @property {Object[]} [content] - Contents of a custom page. + * @property {string} [content_path] - A CDN URL at which the entire html + * content can be fetched from. * @property {CreatedBySchema} [created_by] * @property {DateMeta} [date_meta] - * @property {string} [description] + * @property {string} [description] - Description about the page. * @property {Asset} [feature_image] - * @property {Object[]} [page_meta] + * @property {Object[]} [page_meta] - List of Custom JSON object for specific use cases. * @property {ScheduleSchema} [_schedule] - * @property {Object} [_custom_json] - * @property {string} [orientation] - * @property {string} [platform] - * @property {boolean} [published] - * @property {string} [slug] - * @property {string[]} [tags] - * @property {string} [title] - * @property {string} [type] + * @property {Object} [_custom_json] - Custom JSON object for specific use cases. + * @property {string} [orientation] - Orientation for Custom Pages - Landscape + * or portrait. + * @property {string} [platform] - Platform for Custom Pages - Denotes the device type. + * @property {boolean} [published] - Whether page is active or not on website. + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. + * @property {string[]} [tags] - Tags under a page. + * @property {string} [title] - The title of the page. + * @property {string} [type] - Type of editor through which the page was created + * so appropriate rendering engine is used. * @property {SEO} [seo] - * @property {Object} [visibility] - * @property {boolean} [archived] + * @property {Object} [visibility] - Visibility of Page. + * @property {boolean} [archived] - Flag denoting whether the page is archived or not. */ /** * @typedef CreatedBySchema - * @property {string} [id] + * @property {string} [id] - Details containing the creator of custom page. */ /** * @typedef SlideshowGetResponse - * @property {SlideshowSchema[]} [items] + * @property {SlideshowSchema[]} [items] - Details related to slideshow/screensaver. * @property {Page} [page] */ /** * @typedef SlideshowSchema - * @property {string} [_id] - * @property {string} [slug] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [slug] - Details related to slideshow/screensaver. * @property {DateMeta} [date_meta] - * @property {string} [application] - * @property {string} [platform] + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [platform] - Details related to slideshow/screensaver. * @property {ConfigurationSchema} [configuration] - * @property {SlideshowMedia[]} [media] - * @property {boolean} [active] - * @property {boolean} [archived] - * @property {Object} [_custom_json] + * @property {SlideshowMedia[]} [media] - Details related to slideshow/screensaver. + * @property {boolean} [active] - Details related to slideshow/screensaver. + * @property {boolean} [archived] - Whether slideshow is deleted or not. + * @property {Object} [_custom_json] - Custom JSON object for specific use cases. */ /** * @typedef Support - * @property {boolean} [created] - * @property {string} [_id] - * @property {string} [config_type] - * @property {string} [application] - * @property {string} [created_at] - * @property {string} [updated_at] + * @property {boolean} [created] - Whether support contact details are created or not. + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [created_at] - Timestamp which represent the time when + * data was created. + * @property {string} [updated_at] - Timestamp which represent when was the last + * time when data was updated. * @property {ContactSchema} [contact] */ /** * @typedef PhoneProperties - * @property {string} [key] - * @property {string} [code] - * @property {string} [number] - * @property {string} [phone_type] + * @property {string} [key] - Name of the Contact SPOC. + * @property {string} [code] - International dial Code. + * @property {string} [number] - Phone Number. + * @property {string} [phone_type] - Denotes the type of phone number. */ /** * @typedef PhoneSchema - * @property {boolean} [active] - * @property {PhoneProperties[]} [phone] + * @property {boolean} [active] - Flag denoting whether contact detail is active or not. + * @property {PhoneProperties[]} [phone] - Details related to phone contact of SPOC. */ /** * @typedef EmailProperties - * @property {string} [key] - * @property {string} [value] + * @property {string} [key] - Name of email SPOC. + * @property {string} [value] - Email Id of the SPOC. */ /** * @typedef EmailSchema - * @property {boolean} [active] - * @property {EmailProperties[]} [email] + * @property {boolean} [active] - Whether contact detail is active or not. + * @property {EmailProperties[]} [email] - Details related to email contact of SPOC. */ /** * @typedef ContactSchema @@ -448,89 +490,101 @@ export = ContentApplicationModel; */ /** * @typedef TagsSchema - * @property {string} [application] - * @property {string} [_id] - * @property {TagSchema[]} [tags] + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [_id] - Unique identifier of an entry. + * @property {TagSchema[]} [tags] - List of Third party injectable html tags. */ /** * @typedef TagSchema - * @property {string} [name] - * @property {string} [url] - * @property {string} [type] - * @property {string} [sub_type] - * @property {string} [_id] - * @property {string} [position] - * @property {Object} [attributes] - * @property {string} [content] - * @property {Object[]} [pages] + * @property {string} [name] - Name of the html tag. + * @property {string} [url] - URL at which css or js might be hosted. + * @property {string} [type] - Whether Tag is JS or CSS. + * @property {string} [sub_type] - Whether js/css is external or inline. + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [position] - Position where Tag is so to be placed. + * @property {Object} [attributes] - Custom JSON object for specific use cases. + * @property {string} [content] - Content of tag. + * @property {Object[]} [pages] - List of all the page where tag is to be added. * @property {TagSourceSchema} [__source] */ /** * @typedef TagSourceSchema - * @property {string} [type] - * @property {string} [id] + * @property {string} [type] - Type of creator of tag. + * @property {string} [id] - Identifier of an extension. */ /** * @typedef CustomObjectFieldValue - * @property {Object} [value] + * @property {Object} [value] - Value of custom field. */ /** * @typedef CustomObjectListItemDefinationSchema - * @property {string} [_id] - * @property {string} [name] - * @property {string} [type] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [name] - Name of definition of custom field. + * @property {string} [type] - Data type of the custom field. */ /** * @typedef CustomObjectFieldSchema - * @property {string} [_id] - * @property {string} [key] - * @property {CustomObjectFieldValue[]} [value] - * @property {string} [type] - * @property {string} [definition_id] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [key] - Key of custom field inside custom object. + * @property {CustomObjectFieldValue[]} [value] - Value of custom field inside + * custom object. + * @property {string} [type] - Data type of custom field inside custom object. + * @property {string} [definition_id] - Definition id of custom field inside + * custom object. */ /** * @typedef CustomObjectByIdSchema - * @property {string} [_id] - * @property {string} [status] - * @property {string} [display_name] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [status] - String denoting whether custom object is active + * or inactive. + * @property {string} [display_name] - Unique Display name of a custom object + * which is system generated: Concatenation of string definition name and _id. * @property {CustomObjectListItemDefinationSchema} [definition] - * @property {Object[]} [references] - * @property {CustomObjectFieldSchema[]} [fields] + * @property {Object[]} [references] - List of custom fields ids where the + * custom object is added as a field. + * @property {CustomObjectFieldSchema[]} [fields] - List of custom fields + * against a Custom Object. */ /** * @typedef CustomFieldValue - * @property {Object} [value] + * @property {Object} [value] - Array containing value(s) of custom field. */ /** * @typedef CustomFieldSchema - * @property {string} [_id] - * @property {string} [namespace] - * @property {string} [key] - * @property {string} [resource] - * @property {string} [creator] - * @property {CustomFieldValue[]} [value] - * @property {string} [resource_id] - * @property {string} [type] - * @property {boolean} [multi_value] - * @property {string} [company_id] - * @property {string} [application_id] - * @property {string} [definition_id] - * @property {boolean} [has_invalid_values] - * @property {Object[]} [invalid_value_errors] - * @property {string} [created_by] - * @property {boolean} [is_deleted] - * @property {string} [created_at] - * @property {string} [updated_at] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [namespace] - Namespace under which custom field is present. + * @property {string} [key] - Unique identifier for a custom field. + * @property {string} [resource] - Type of an entity under which custom field is defined. + * @property {string} [creator] - Denotes where the custom field has been + * defined - within a company or within a sales channel. + * @property {CustomFieldValue[]} [value] - Array containing values of custom field. + * @property {string} [resource_id] - Unique identifier for the entity under + * which custom field is defined. + * @property {string} [type] - The type type of custom field. + * @property {boolean} [multi_value] - Whether custom field can have multiple + * values or not. + * @property {string} [company_id] - Unique Identifier for a company. + * @property {string} [application_id] - Application ID - Identifier for a Sales channel. + * @property {string} [definition_id] - Unique identifier for a custom field definition. + * @property {boolean} [has_invalid_values] - Whether the custom field has invalid values. + * @property {Object[]} [invalid_value_errors] - Array denoting if there's a + * validation failure on a custom field inside a custom object. + * @property {string} [created_by] - Details of the owner of custom field creator. + * @property {boolean} [is_deleted] - Whether the custom field definition is deleted. + * @property {string} [created_at] - Timestamp which represent the time when + * data was created. + * @property {string} [updated_at] - Timestamp which represent when was the last + * time when data was updated. */ /** * @typedef CustomFieldsResponseByResourceIdSchema - * @property {CustomFieldSchema[]} [items] + * @property {CustomFieldSchema[]} [items] - List of custom fields against a resource. */ /** * @typedef ActionPage - * @property {Object} [params] - * @property {Object} [query] - * @property {string} [url] + * @property {Object} [params] - Parameters that should be considered in path. + * @property {Object} [query] - Query parameter if any to be added to the action. + * @property {string} [url] - The URL for the action. * @property {PageType} type */ /** @@ -545,6 +599,7 @@ export = ContentApplicationModel; * | "category" * | "collection" * | "collections" + * | "custom" * | "contact-us" * | "external" * | "faq" @@ -584,25 +639,60 @@ export = ContentApplicationModel; declare class ContentApplicationModel { } declare namespace ContentApplicationModel { - export { ApplicationLegal, ApplicationLegalFAQ, SeoComponent, SeoSchema, CustomMetaTag, Detail, SeoSchemaComponent, SEOSchemaMarkupTemplate, ScheduleSchema, NextSchedule, AnnouncementSchema, ScheduleStartSchema, BlogGetResponse, ResourceContent, Asset, Author, BlogSchema, SEO, SEOImage, SEOMetaItem, SEOMetaItems, SEOSitemap, SEObreadcrumb, DateMeta, LocaleLanguage, Language, Action, NavigationReference, ConfigurationSchema, SlideshowMedia, AnnouncementsResponseSchema, FaqResponseSchema, DataLoaderSchema, DataLoaderSourceSchema, DataLoadersSchema, ContentAPIError, CommonError, CategorySchema, ChildrenSchema, FAQCategorySchema, FaqSchema, GetFaqSchema, GetFaqCategoriesSchema, GetFaqCategoryBySlugSchema, Page, LandingPageSchema, NavigationGetResponse, Orientation, NavigationSchema, PageGetResponse, PageSchema, CreatedBySchema, SlideshowGetResponse, SlideshowSchema, Support, PhoneProperties, PhoneSchema, EmailProperties, EmailSchema, ContactSchema, TagsSchema, TagSchema, TagSourceSchema, CustomObjectFieldValue, CustomObjectListItemDefinationSchema, CustomObjectFieldSchema, CustomObjectByIdSchema, CustomFieldValue, CustomFieldSchema, CustomFieldsResponseByResourceIdSchema, ActionPage, PageType }; + export { ApplicationLegal, ApplicationLegalFAQ, SeoComponent, SeoSchema, CustomMetaTag, Detail, SeoSchemaComponent, SEOSchemaMarkupTemplate, ScheduleSchema, NextSchedule, AnnouncementSchema, ScheduleStartSchema, BlogGetResponse, BlogFilters, ResourceContent, Asset, Author, BlogSchema, SEO, SEOImage, SEOMetaItem, SEOMetaItems, SEOSitemap, SEObreadcrumb, DateMeta, LocaleLanguage, Language, Action, NavigationReference, ConfigurationSchema, SlideshowMedia, AnnouncementsResponseSchema, FaqResponseSchema, DataLoaderSchema, DataLoaderSourceSchema, DataLoadersSchema, ContentAPIError, CommonError, CategorySchema, ChildrenSchema, FAQCategorySchema, FaqSchema, GetFaqSchema, GetFaqCategoriesSchema, GetFaqCategoryBySlugSchema, Page, LandingPageSchema, NavigationGetResponse, Orientation, NavigationSchema, PageGetResponse, PageSchema, CreatedBySchema, SlideshowGetResponse, SlideshowSchema, Support, PhoneProperties, PhoneSchema, EmailProperties, EmailSchema, ContactSchema, TagsSchema, TagSchema, TagSourceSchema, CustomObjectFieldValue, CustomObjectListItemDefinationSchema, CustomObjectFieldSchema, CustomObjectByIdSchema, CustomFieldValue, CustomFieldSchema, CustomFieldsResponseByResourceIdSchema, ActionPage, PageType }; } /** @returns {ApplicationLegal} */ declare function ApplicationLegal(): ApplicationLegal; type ApplicationLegal = { + /** + * - Application ID - Identifier for a Sales channel. + */ application?: string; + /** + * - Content for Terms and Conditions page on storefront. + */ tnc?: string; + /** + * - Content for Privacy Policy page on storefront. + */ policy?: string; + /** + * - Content for Shipping Policy page on storefront. + */ shipping?: string; + /** + * - Content for Return policy page on storefront. + */ returns?: string; + /** + * - FAQs of an application. + */ faq?: ApplicationLegalFAQ[]; + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - Timestamp which represent when was the last + * time when data was updated. + */ updated_at?: string; + /** + * - Timestamp which represent the time when + * data was created. + */ created_at?: string; }; /** @returns {ApplicationLegalFAQ} */ declare function ApplicationLegalFAQ(): ApplicationLegalFAQ; type ApplicationLegalFAQ = { + /** + * - The contents of a question of a FAQ. + */ question?: string; + /** + * - The contents of a answer of a FAQ. + */ answer?: string; }; /** @returns {SeoComponent} */ @@ -613,167 +703,404 @@ type SeoComponent = { /** @returns {SeoSchema} */ declare function SeoSchema(): SeoSchema; type SeoSchema = { + /** + * - Application ID - Identifier for a Sales channel. + */ app?: string; + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - Contents of robots.txt file of a sales channel. + */ robots_txt?: string; + /** + * - Whether sitemaps is enabled or not + * for a sales channel's website. + */ sitemap_enabled?: boolean; + /** + * - Contents of additional sitemap. + */ additonal_sitemap?: string; + /** + * - Whether canonical tags is enabled + * or not for a sales channel's website. + */ cannonical_enabled?: boolean; + /** + * - Custom meta tags for a sales + * channel website. + */ custom_meta_tags?: CustomMetaTag[]; details?: Detail; + /** + * - Timestamp which represent the time when + * data was created. + */ created_at?: string; + /** + * - Timestamp which represent when was the last + * time when data was updated. + */ updated_at?: string; }; /** @returns {CustomMetaTag} */ declare function CustomMetaTag(): CustomMetaTag; type CustomMetaTag = { + /** + * - Name of the custom meta tag group. + */ name?: string; + /** + * - Contents of the custom meta tag group. + */ content?: string; + /** + * - Unique identifier of an entry. + */ _id?: string; }; /** @returns {Detail} */ declare function Detail(): Detail; type Detail = { + /** + * - Contents of the og:title of a sales channel website. + */ title?: string; + /** + * - Contents of the og:description of a sales + * channel website. + */ description?: string; + /** + * - URL of the og:image of a sales channel website. + */ image_url?: string; }; /** @returns {SeoSchemaComponent} */ declare function SeoSchemaComponent(): SeoSchemaComponent; type SeoSchemaComponent = { + /** + * - List of SEO Markup Schemas + * for a sales channel website. + */ items?: SEOSchemaMarkupTemplate[]; }; /** @returns {SEOSchemaMarkupTemplate} */ declare function SEOSchemaMarkupTemplate(): SEOSchemaMarkupTemplate; type SEOSchemaMarkupTemplate = { + /** + * - Unique identifier for an entry. + */ id?: string; + /** + * - Title of the SEO Schema template. + */ title?: string; + /** + * - Page Type for the SEO Schema Template where + * it'll be rendered. + */ page_type?: string; + /** + * - Description of the SEO Schema Template. + */ description?: string; + /** + * - Contents of the SEO Schema template in nunjucks format. + */ schema?: string; + /** + * - Whether SEO Schema template is active or not. + */ active?: boolean; + /** + * - Timestamp which represent the time when + * data was created. + */ created_at?: string; + /** + * - Timestamp which represent when was the last + * time when data was updated. + */ updated_at?: string; + /** + * - Application ID - Identifier for a Sales channel. + */ application?: string; }; /** @returns {ScheduleSchema} */ declare function ScheduleSchema(): ScheduleSchema; type ScheduleSchema = { + /** + * - String representing the cron expression. + */ cron?: string; + /** + * - Start time of schedule. + */ start?: string; + /** + * - End time of schedule. + */ end?: string; + /** + * - Duration of the scheduled entity. + */ duration?: number; + /** + * - Details regarding the next + * trigger point of schedule. + */ next_schedule?: NextSchedule[]; }; /** @returns {NextSchedule} */ declare function NextSchedule(): NextSchedule; type NextSchedule = { + /** + * - Start time of next trigger point of schedule. + */ start?: string; + /** + * - End time of next trigger point of schedule. + */ end?: string; }; /** @returns {AnnouncementSchema} */ declare function AnnouncementSchema(): AnnouncementSchema; type AnnouncementSchema = { + /** + * - Details regarding the announcement bar contents. + */ announcement?: string; schedule?: ScheduleStartSchema; }; /** @returns {ScheduleStartSchema} */ declare function ScheduleStartSchema(): ScheduleStartSchema; type ScheduleStartSchema = { + /** + * - Start time of schedule. + */ start?: string; + /** + * - End time of schedule. + */ end?: string; }; /** @returns {BlogGetResponse} */ declare function BlogGetResponse(): BlogGetResponse; type BlogGetResponse = { + /** + * - List of blogs with details. + */ items?: BlogSchema[]; page?: Page; - filters?: string[]; + filters?: BlogFilters; +}; +/** @returns {BlogFilters} */ +declare function BlogFilters(): BlogFilters; +type BlogFilters = { + /** + * - All tags present under blogs. + */ + tags?: string[]; }; /** @returns {ResourceContent} */ declare function ResourceContent(): ResourceContent; type ResourceContent = { + /** + * - The type of content of blogs - html. + */ type?: string; + /** + * - The contents of blog. + */ value?: string; }; /** @returns {Asset} */ declare function Asset(): Asset; type Asset = { + /** + * - Aspect ratio of the image. + */ aspect_ratio?: string; + /** + * - Unique identifier for an entry. + */ id?: string; + /** + * - URL of the image. + */ secure_url?: string; }; /** @returns {Author} */ declare function Author(): Author; type Author = { + /** + * - Description of the author of blog. + */ designation?: string; + /** + * - Unique Identifier of the author of blog. + */ id?: string; + /** + * - Name of the author of blog. + */ name?: string; }; /** @returns {BlogSchema} */ declare function BlogSchema(): BlogSchema; type BlogSchema = { + /** + * - Unique identifier for an entry. + */ _id?: string; + /** + * - Custom JSON object for specific use cases. + */ _custom_json?: any; + /** + * - Application ID - Identifier for a Sales channel. + */ application?: string; + /** + * - Boolean flag denoting whether blog is archived or not. + */ archived?: boolean; author?: Author; + /** + * - Contents of blog. + */ content?: ResourceContent[]; feature_image?: Asset; + /** + * - Boolean flag denoting whether blog is + * published or not. + */ published?: boolean; + /** + * - Estimated time required to read the blog. + */ reading_time?: string; + /** + * - A short, human-readable, URL-friendly identifier. + */ slug?: string; + /** + * - Tags under a blog. + */ tags?: string[]; + /** + * - Timestamp denoting when the blog was published. + */ publish_date?: string; seo?: SEO; + /** + * - Title of the Blog. + */ title?: string; date_meta?: DateMeta; + /** + * - A brief description of blog. + */ summary?: string; }; /** @returns {SEO} */ declare function SEO(): SEO; type SEO = { + /** + * - The contents of og:description. + */ description?: string; image?: SEOImage; + /** + * - The contents of og:title. + */ title?: string; + /** + * - List of meta tags. + */ meta_tags?: SEOMetaItem[]; sitemap?: SEOSitemap; + /** + * - List of action objects which can + * power breadcrumbs on website. + */ breadcrumb?: SEObreadcrumb[]; + /** + * - The canonical URL for canonical link element. + */ canonical_url?: string; }; /** @returns {SEOImage} */ declare function SEOImage(): SEOImage; type SEOImage = { + /** + * - The url of image. + */ url?: string; }; /** @returns {SEOMetaItem} */ declare function SEOMetaItem(): SEOMetaItem; type SEOMetaItem = { + /** + * - Title of the custom meta tags group. + */ title?: string; + /** + * - List of key value pairs to power meta tags. + */ items?: SEOMetaItems[]; }; /** @returns {SEOMetaItems} */ declare function SEOMetaItems(): SEOMetaItems; type SEOMetaItems = { + /** + * - The key denoting the attribute name of SEO meta tag. + */ key?: string; + /** + * - The key denoting the attribute value of SEO meta tag. + */ value?: string; }; /** @returns {SEOSitemap} */ declare function SEOSitemap(): SEOSitemap; type SEOSitemap = { + /** + * - Value of sitemap priority randing from 0.0 to 1.0. + */ priority?: number; + /** + * - Value of sitemap frequency change denoting + * how frequently the content changes. + */ frequency?: string; }; /** @returns {SEObreadcrumb} */ declare function SEObreadcrumb(): SEObreadcrumb; type SEObreadcrumb = { + /** + * - URL of where the breadcrumb link redirects to. + */ url?: string; action?: Action; }; /** @returns {DateMeta} */ declare function DateMeta(): DateMeta; type DateMeta = { + /** + * - Timestamp which represent the time when + * data was created. + */ created_on?: string; + /** + * - Timestamp which represent when was the + * last time when data was updated. + */ modified_on?: string; }; /** @returns {LocaleLanguage} */ @@ -786,11 +1113,17 @@ type LocaleLanguage = { /** @returns {Language} */ declare function Language(): Language; type Language = { + /** + * - Name of an entry in a specific language. + */ display?: string; }; /** @returns {Action} */ declare function Action(): Action; type Action = { + /** + * - Type of action to be taken e.g, page. + */ type?: string; page?: ActionPage; popup?: ActionPage; @@ -798,148 +1131,366 @@ type Action = { /** @returns {NavigationReference} */ declare function NavigationReference(): NavigationReference; type NavigationReference = { + /** + * - Details regarding the authorization level to + * access the navigation item. + */ acl?: string[]; + /** + * - List of tags under a navigation link. + */ tags?: string[]; _locale_language?: LocaleLanguage; + /** + * - URL of an image associated with a navigation link. + */ image?: string; + /** + * - Type of action to be taken e.g, page. + */ type?: string; action?: Action; + /** + * - Whether navigation is active or not. + */ active?: boolean; + /** + * - Display name of the navigation link. + */ display?: string; + /** + * - Number denoting the position of navigation link. + */ sort_order?: number; + /** + * - List of sub links and + * details under a navigation. + */ sub_navigation?: NavigationReference[]; }; /** @returns {ConfigurationSchema} */ declare function ConfigurationSchema(): ConfigurationSchema; type ConfigurationSchema = { + /** + * - Amount of time in seconds after which + * slideshow/screensaver is run. + */ sleep_time?: number; + /** + * - Flag denoting whether screensaver + * needs to be shown on launch of website/app. + */ start_on_launch?: boolean; + /** + * - Duration of the slideshow/screensaver. + */ duration?: number; + /** + * - Direction of the slideshow. + */ slide_direction?: string; }; /** @returns {SlideshowMedia} */ declare function SlideshowMedia(): SlideshowMedia; type SlideshowMedia = { + /** + * - Type of Media. + */ type?: string; + /** + * - URL of Media where it's hosted. + */ url?: string; + /** + * - Background colour of Media. + */ bg_color?: string; + /** + * - Amount of time in seconds for which Media has + * to appear. + */ duration?: number; + /** + * - Whether the duration for each + * media is to be decided by system or not. If true, it'll equally divide time + * in all medias. + */ auto_decide_duration?: boolean; action?: Action; }; /** @returns {AnnouncementsResponseSchema} */ declare function AnnouncementsResponseSchema(): AnnouncementsResponseSchema; type AnnouncementsResponseSchema = { + /** + * - List all the announcement bar details + * and its contents. + */ announcements?: any; /** * - Number of seconds after which api should - * hit again to fetch new announcements + * hit again to fetch new announcements. */ refresh_rate?: number; /** * - List of page slugs on which - * announcement should be fetched as soon as they are loaded + * announcement should be fetched as soon as they are loaded. */ refresh_pages?: string[]; }; /** @returns {FaqResponseSchema} */ declare function FaqResponseSchema(): FaqResponseSchema; type FaqResponseSchema = { + /** + * - List of FAQs. + */ faqs?: FaqSchema[]; }; /** @returns {DataLoaderSchema} */ declare function DataLoaderSchema(): DataLoaderSchema; type DataLoaderSchema = { + /** + * - Name of dataloader. + */ name?: string; + /** + * - Service of data loader which overrides the + * default method. + */ service?: string; + /** + * - Operation ID of the method which data + * loader is overriding. + */ operation_id?: string; + /** + * - Type of data loader. + */ type?: string; + /** + * - URL at which data loader redirects. + */ url?: string; + /** + * - Content of a data loader. + */ content?: string; __source?: DataLoaderSourceSchema; + /** + * - Unique identifier of an entry. + */ _id?: string; }; /** @returns {DataLoaderSourceSchema} */ declare function DataLoaderSourceSchema(): DataLoaderSourceSchema; type DataLoaderSourceSchema = { + /** + * - Type of creator. + */ type?: string; + /** + * - Identifier of an extension. + */ id?: string; }; /** @returns {DataLoadersSchema} */ declare function DataLoadersSchema(): DataLoadersSchema; type DataLoadersSchema = { + /** + * - List of data loaders. + */ items?: DataLoaderSchema[]; }; /** @returns {ContentAPIError} */ declare function ContentAPIError(): ContentAPIError; type ContentAPIError = { + /** + * - Error message. + */ message?: string; + /** + * - HTTP Status code of the error. + */ status?: number; + /** + * - Status code of an error. + */ code?: string; + /** + * - Exception class name. + */ exception?: string; + /** + * - Details regarding the error. + */ info?: string; + /** + * - The identifier denoting request. + */ request_id?: string; + /** + * - Report of a stack frame to debug the issue. + */ stack_trace?: string; + /** + * - Metadata related to an error. + */ meta?: any; }; /** @returns {CommonError} */ declare function CommonError(): CommonError; type CommonError = { + /** + * - Error message. + */ message?: string; }; /** @returns {CategorySchema} */ declare function CategorySchema(): CategorySchema; type CategorySchema = { + /** + * - Order of FAQ Category. + */ index?: number; + /** + * - Title of the FAQ category. + */ title?: string; + /** + * - Details of the FAQ category. + */ description?: string; + /** + * - List of FAQs. + */ children?: string[]; + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - A short, human-readable, URL-friendly identifier. + */ slug?: string; + /** + * - Application ID - Identifier for a Sales channel. + */ application?: string; + /** + * - URL of the image associated with FAQ Category. + */ icon_url?: string; + /** + * - Custom JSON object for specific use cases. + */ _custom_json?: any; }; /** @returns {ChildrenSchema} */ declare function ChildrenSchema(): ChildrenSchema; type ChildrenSchema = { + /** + * - The contents of a question of a FAQ. + */ question?: string; + /** + * - The contents of a answer of a FAQ. + */ answer?: string; + /** + * - A short, human-readable, URL-friendly identifier. + */ slug?: string; + /** + * - Application ID - Identifier for a Sales channel. + */ application?: string; + /** + * - Unique identifier of an entry. + */ _id?: string; }; /** @returns {FAQCategorySchema} */ declare function FAQCategorySchema(): FAQCategorySchema; type FAQCategorySchema = { + /** + * - Order of FAQ Category. + */ index?: number; + /** + * - Title of a FAQ Category. + */ title?: string; + /** + * - Details of the FAQ category. + */ description?: string; + /** + * - Details regarding a FAQs stored + * under a FAQs category. + */ children?: ChildrenSchema[]; + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - A short, human-readable, URL-friendly identifier. + */ slug?: string; + /** + * - Application ID - Identifier for a Sales channel. + */ application?: string; + /** + * - URL of the image associated with FAQ Category. + */ icon_url?: string; + /** + * - Custom JSON object for specific use cases. + */ _custom_json?: any; }; /** @returns {FaqSchema} */ declare function FaqSchema(): FaqSchema; type FaqSchema = { + /** + * - A short, human-readable, URL-friendly identifier. + */ slug?: string; + /** + * - Application ID - Identifier for a Sales channel. + */ application?: string; + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - The contents of a question of a FAQ. + */ question?: string; + /** + * - The contents of a answer of a FAQ. + */ answer?: string; + /** + * - Tags under a FAQ. + */ tags?: string[]; }; /** @returns {GetFaqSchema} */ declare function GetFaqSchema(): GetFaqSchema; type GetFaqSchema = { + /** + * - List of FAQs. + */ faqs?: FaqSchema[]; }; /** @returns {GetFaqCategoriesSchema} */ declare function GetFaqCategoriesSchema(): GetFaqCategoriesSchema; type GetFaqCategoriesSchema = { + /** + * - List of FAQ Categories. + */ categories?: CategorySchema[]; }; /** @returns {GetFaqCategoryBySlugSchema} */ @@ -950,150 +1501,357 @@ type GetFaqCategoryBySlugSchema = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {LandingPageSchema} */ declare function LandingPageSchema(): LandingPageSchema; type LandingPageSchema = { + /** + * - A short, human-readable, URL-friendly identifier. + */ slug?: string; action?: Action; + /** + * - List of platforms linked to this landing page. + */ platform?: string[]; created_by?: CreatedBySchema; date_meta?: DateMeta; + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - Application ID - Identifier for a Sales channel. + */ application?: string; + /** + * - Whether landing page is archived or not. + */ archived?: boolean; + /** + * - Custom JSON object for specific use cases. + */ _custom_json?: any; }; /** @returns {NavigationGetResponse} */ declare function NavigationGetResponse(): NavigationGetResponse; type NavigationGetResponse = { + /** + * - List of navigation items. + */ items?: NavigationSchema[]; page?: Page; }; /** @returns {Orientation} */ declare function Orientation(): Orientation; type Orientation = { + /** + * - Data related to devices where navigation is + * assigned in portrait mode. + */ portrait?: string[]; + /** + * - Data related to devices where navigation + * is assigned in landscape mode. + */ landscape?: string[]; }; /** @returns {NavigationSchema} */ declare function NavigationSchema(): NavigationSchema; type NavigationSchema = { + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - Application ID - Identifier for a Sales channel. + */ application?: string; + /** + * - Whether navigation is archived or not. + */ archived?: boolean; + /** + * - Name of the navigation link. + */ name?: string; + /** + * - A short, human-readable, URL-friendly identifier. + */ slug?: string; + /** + * - Details regarding the platforms for which + * this navigation is to applied on. + */ platform?: string[]; created_by?: CreatedBySchema; date_meta?: DateMeta; orientation?: Orientation; + /** + * - A hardcoded key for internally managing + * navigation versions. + */ version?: number; + /** + * - List of all navigations + * links and relevant details. + */ navigation?: NavigationReference[]; }; /** @returns {PageGetResponse} */ declare function PageGetResponse(): PageGetResponse; type PageGetResponse = { + /** + * - List of details of custom pages. + */ items?: PageSchema[]; page?: Page; }; /** @returns {PageSchema} */ declare function PageSchema(): PageSchema; type PageSchema = { + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - Application ID - Identifier for a Sales channel. + */ application?: string; /** * - Components can be used to store - * multiple components + * multiple components. */ component_ids?: string[]; + /** + * - Contents of a custom page. + */ content?: any[]; + /** + * - A CDN URL at which the entire html + * content can be fetched from. + */ content_path?: string; created_by?: CreatedBySchema; date_meta?: DateMeta; + /** + * - Description about the page. + */ description?: string; feature_image?: Asset; + /** + * - List of Custom JSON object for specific use cases. + */ page_meta?: any[]; _schedule?: ScheduleSchema; + /** + * - Custom JSON object for specific use cases. + */ _custom_json?: any; + /** + * - Orientation for Custom Pages - Landscape + * or portrait. + */ orientation?: string; + /** + * - Platform for Custom Pages - Denotes the device type. + */ platform?: string; + /** + * - Whether page is active or not on website. + */ published?: boolean; + /** + * - A short, human-readable, URL-friendly identifier. + */ slug?: string; + /** + * - Tags under a page. + */ tags?: string[]; + /** + * - The title of the page. + */ title?: string; + /** + * - Type of editor through which the page was created + * so appropriate rendering engine is used. + */ type?: string; seo?: SEO; + /** + * - Visibility of Page. + */ visibility?: any; + /** + * - Flag denoting whether the page is archived or not. + */ archived?: boolean; }; /** @returns {CreatedBySchema} */ declare function CreatedBySchema(): CreatedBySchema; type CreatedBySchema = { + /** + * - Details containing the creator of custom page. + */ id?: string; }; /** @returns {SlideshowGetResponse} */ declare function SlideshowGetResponse(): SlideshowGetResponse; type SlideshowGetResponse = { + /** + * - Details related to slideshow/screensaver. + */ items?: SlideshowSchema[]; page?: Page; }; /** @returns {SlideshowSchema} */ declare function SlideshowSchema(): SlideshowSchema; type SlideshowSchema = { + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - Details related to slideshow/screensaver. + */ slug?: string; date_meta?: DateMeta; + /** + * - Application ID - Identifier for a Sales channel. + */ application?: string; + /** + * - Details related to slideshow/screensaver. + */ platform?: string; configuration?: ConfigurationSchema; + /** + * - Details related to slideshow/screensaver. + */ media?: SlideshowMedia[]; + /** + * - Details related to slideshow/screensaver. + */ active?: boolean; + /** + * - Whether slideshow is deleted or not. + */ archived?: boolean; + /** + * - Custom JSON object for specific use cases. + */ _custom_json?: any; }; /** @returns {Support} */ declare function Support(): Support; type Support = { + /** + * - Whether support contact details are created or not. + */ created?: boolean; + /** + * - Unique identifier of an entry. + */ _id?: string; - config_type?: string; + /** + * - Application ID - Identifier for a Sales channel. + */ application?: string; + /** + * - Timestamp which represent the time when + * data was created. + */ created_at?: string; + /** + * - Timestamp which represent when was the last + * time when data was updated. + */ updated_at?: string; contact?: ContactSchema; }; /** @returns {PhoneProperties} */ declare function PhoneProperties(): PhoneProperties; type PhoneProperties = { + /** + * - Name of the Contact SPOC. + */ key?: string; + /** + * - International dial Code. + */ code?: string; + /** + * - Phone Number. + */ number?: string; + /** + * - Denotes the type of phone number. + */ phone_type?: string; }; /** @returns {PhoneSchema} */ declare function PhoneSchema(): PhoneSchema; type PhoneSchema = { + /** + * - Flag denoting whether contact detail is active or not. + */ active?: boolean; + /** + * - Details related to phone contact of SPOC. + */ phone?: PhoneProperties[]; }; /** @returns {EmailProperties} */ declare function EmailProperties(): EmailProperties; type EmailProperties = { + /** + * - Name of email SPOC. + */ key?: string; + /** + * - Email Id of the SPOC. + */ value?: string; }; /** @returns {EmailSchema} */ declare function EmailSchema(): EmailSchema; type EmailSchema = { + /** + * - Whether contact detail is active or not. + */ active?: boolean; + /** + * - Details related to email contact of SPOC. + */ email?: EmailProperties[]; }; /** @returns {ContactSchema} */ @@ -1105,98 +1863,263 @@ type ContactSchema = { /** @returns {TagsSchema} */ declare function TagsSchema(): TagsSchema; type TagsSchema = { + /** + * - Application ID - Identifier for a Sales channel. + */ application?: string; + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - List of Third party injectable html tags. + */ tags?: TagSchema[]; }; /** @returns {TagSchema} */ declare function TagSchema(): TagSchema; type TagSchema = { + /** + * - Name of the html tag. + */ name?: string; + /** + * - URL at which css or js might be hosted. + */ url?: string; + /** + * - Whether Tag is JS or CSS. + */ type?: string; + /** + * - Whether js/css is external or inline. + */ sub_type?: string; + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - Position where Tag is so to be placed. + */ position?: string; + /** + * - Custom JSON object for specific use cases. + */ attributes?: any; + /** + * - Content of tag. + */ content?: string; + /** + * - List of all the page where tag is to be added. + */ pages?: any[]; __source?: TagSourceSchema; }; /** @returns {TagSourceSchema} */ declare function TagSourceSchema(): TagSourceSchema; type TagSourceSchema = { + /** + * - Type of creator of tag. + */ type?: string; + /** + * - Identifier of an extension. + */ id?: string; }; /** @returns {CustomObjectFieldValue} */ declare function CustomObjectFieldValue(): CustomObjectFieldValue; type CustomObjectFieldValue = { + /** + * - Value of custom field. + */ value?: any; }; /** @returns {CustomObjectListItemDefinationSchema} */ declare function CustomObjectListItemDefinationSchema(): CustomObjectListItemDefinationSchema; type CustomObjectListItemDefinationSchema = { + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - Name of definition of custom field. + */ name?: string; + /** + * - Data type of the custom field. + */ type?: string; }; /** @returns {CustomObjectFieldSchema} */ declare function CustomObjectFieldSchema(): CustomObjectFieldSchema; type CustomObjectFieldSchema = { + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - Key of custom field inside custom object. + */ key?: string; + /** + * - Value of custom field inside + * custom object. + */ value?: CustomObjectFieldValue[]; + /** + * - Data type of custom field inside custom object. + */ type?: string; + /** + * - Definition id of custom field inside + * custom object. + */ definition_id?: string; }; /** @returns {CustomObjectByIdSchema} */ declare function CustomObjectByIdSchema(): CustomObjectByIdSchema; type CustomObjectByIdSchema = { + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - String denoting whether custom object is active + * or inactive. + */ status?: string; + /** + * - Unique Display name of a custom object + * which is system generated: Concatenation of string definition name and _id. + */ display_name?: string; definition?: CustomObjectListItemDefinationSchema; + /** + * - List of custom fields ids where the + * custom object is added as a field. + */ references?: any[]; + /** + * - List of custom fields + * against a Custom Object. + */ fields?: CustomObjectFieldSchema[]; }; /** @returns {CustomFieldValue} */ declare function CustomFieldValue(): CustomFieldValue; type CustomFieldValue = { + /** + * - Array containing value(s) of custom field. + */ value?: any; }; /** @returns {CustomFieldSchema} */ declare function CustomFieldSchema(): CustomFieldSchema; type CustomFieldSchema = { + /** + * - Unique identifier of an entry. + */ _id?: string; + /** + * - Namespace under which custom field is present. + */ namespace?: string; + /** + * - Unique identifier for a custom field. + */ key?: string; + /** + * - Type of an entity under which custom field is defined. + */ resource?: string; + /** + * - Denotes where the custom field has been + * defined - within a company or within a sales channel. + */ creator?: string; + /** + * - Array containing values of custom field. + */ value?: CustomFieldValue[]; + /** + * - Unique identifier for the entity under + * which custom field is defined. + */ resource_id?: string; + /** + * - The type type of custom field. + */ type?: string; + /** + * - Whether custom field can have multiple + * values or not. + */ multi_value?: boolean; + /** + * - Unique Identifier for a company. + */ company_id?: string; + /** + * - Application ID - Identifier for a Sales channel. + */ application_id?: string; + /** + * - Unique identifier for a custom field definition. + */ definition_id?: string; + /** + * - Whether the custom field has invalid values. + */ has_invalid_values?: boolean; + /** + * - Array denoting if there's a + * validation failure on a custom field inside a custom object. + */ invalid_value_errors?: any[]; + /** + * - Details of the owner of custom field creator. + */ created_by?: string; + /** + * - Whether the custom field definition is deleted. + */ is_deleted?: boolean; + /** + * - Timestamp which represent the time when + * data was created. + */ created_at?: string; + /** + * - Timestamp which represent when was the last + * time when data was updated. + */ updated_at?: string; }; /** @returns {CustomFieldsResponseByResourceIdSchema} */ declare function CustomFieldsResponseByResourceIdSchema(): CustomFieldsResponseByResourceIdSchema; type CustomFieldsResponseByResourceIdSchema = { + /** + * - List of custom fields against a resource. + */ items?: CustomFieldSchema[]; }; /** @returns {ActionPage} */ declare function ActionPage(): ActionPage; type ActionPage = { + /** + * - Parameters that should be considered in path. + */ params?: any; + /** + * - Query parameter if any to be added to the action. + */ query?: any; + /** + * - The URL for the action. + */ url?: string; type: PageType; }; @@ -1206,4 +2129,4 @@ type ActionPage = { * @returns {PageType} */ declare function PageType(): PageType; -type PageType = "about-us" | "addresses" | "blog" | "brands" | "cards" | "cart" | "categories" | "brand" | "category" | "collection" | "collections" | "contact-us" | "external" | "faq" | "freshchat" | "home" | "notification-settings" | "orders" | "page" | "policy" | "product" | "product-request" | "products" | "profile" | "profile-order-shipment" | "profile-basic" | "profile-company" | "profile-emails" | "profile-phones" | "rate-us" | "refer-earn" | "settings" | "shared-cart" | "tnc" | "track-order" | "wishlist" | "sections" | "form" | "cart-delivery" | "cart-payment" | "cart-review" | "login" | "register" | "shipping-policy" | "return-policy" | "order-status"; +type PageType = "about-us" | "addresses" | "blog" | "brands" | "cards" | "cart" | "categories" | "brand" | "category" | "collection" | "collections" | "custom" | "contact-us" | "external" | "faq" | "freshchat" | "home" | "notification-settings" | "orders" | "page" | "policy" | "product" | "product-request" | "products" | "profile" | "profile-order-shipment" | "profile-basic" | "profile-company" | "profile-emails" | "profile-phones" | "rate-us" | "refer-earn" | "settings" | "shared-cart" | "tnc" | "track-order" | "wishlist" | "sections" | "form" | "cart-delivery" | "cart-payment" | "cart-review" | "login" | "register" | "shipping-policy" | "return-policy" | "order-status"; diff --git a/sdk/application/Content/ContentApplicationModel.js b/sdk/application/Content/ContentApplicationModel.js index cc1692cd2..2de1e17f0 100644 --- a/sdk/application/Content/ContentApplicationModel.js +++ b/sdk/application/Content/ContentApplicationModel.js @@ -2,21 +2,23 @@ const Joi = require("joi"); /** * @typedef ApplicationLegal - * @property {string} [application] - * @property {string} [tnc] - * @property {string} [policy] - * @property {string} [shipping] - * @property {string} [returns] - * @property {ApplicationLegalFAQ[]} [faq] - * @property {string} [_id] - * @property {string} [updated_at] - * @property {string} [created_at] + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [tnc] - Content for Terms and Conditions page on storefront. + * @property {string} [policy] - Content for Privacy Policy page on storefront. + * @property {string} [shipping] - Content for Shipping Policy page on storefront. + * @property {string} [returns] - Content for Return policy page on storefront. + * @property {ApplicationLegalFAQ[]} [faq] - FAQs of an application. + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [updated_at] - Timestamp which represent when was the last + * time when data was updated. + * @property {string} [created_at] - Timestamp which represent the time when + * data was created. */ /** * @typedef ApplicationLegalFAQ - * @property {string} [question] - * @property {string} [answer] + * @property {string} [question] - The contents of a question of a FAQ. + * @property {string} [answer] - The contents of a answer of a FAQ. */ /** @@ -26,168 +28,189 @@ const Joi = require("joi"); /** * @typedef SeoSchema - * @property {string} [app] - * @property {string} [_id] - * @property {string} [robots_txt] - * @property {boolean} [sitemap_enabled] - * @property {string} [additonal_sitemap] - * @property {boolean} [cannonical_enabled] - * @property {CustomMetaTag[]} [custom_meta_tags] + * @property {string} [app] - Application ID - Identifier for a Sales channel. + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [robots_txt] - Contents of robots.txt file of a sales channel. + * @property {boolean} [sitemap_enabled] - Whether sitemaps is enabled or not + * for a sales channel's website. + * @property {string} [additonal_sitemap] - Contents of additional sitemap. + * @property {boolean} [cannonical_enabled] - Whether canonical tags is enabled + * or not for a sales channel's website. + * @property {CustomMetaTag[]} [custom_meta_tags] - Custom meta tags for a sales + * channel website. * @property {Detail} [details] - * @property {string} [created_at] - * @property {string} [updated_at] + * @property {string} [created_at] - Timestamp which represent the time when + * data was created. + * @property {string} [updated_at] - Timestamp which represent when was the last + * time when data was updated. */ /** * @typedef CustomMetaTag - * @property {string} [name] - * @property {string} [content] - * @property {string} [_id] + * @property {string} [name] - Name of the custom meta tag group. + * @property {string} [content] - Contents of the custom meta tag group. + * @property {string} [_id] - Unique identifier of an entry. */ /** * @typedef Detail - * @property {string} [title] - * @property {string} [description] - * @property {string} [image_url] + * @property {string} [title] - Contents of the og:title of a sales channel website. + * @property {string} [description] - Contents of the og:description of a sales + * channel website. + * @property {string} [image_url] - URL of the og:image of a sales channel website. */ /** * @typedef SeoSchemaComponent - * @property {SEOSchemaMarkupTemplate[]} [items] + * @property {SEOSchemaMarkupTemplate[]} [items] - List of SEO Markup Schemas + * for a sales channel website. */ /** * @typedef SEOSchemaMarkupTemplate - * @property {string} [id] - * @property {string} [title] - * @property {string} [page_type] - * @property {string} [description] - * @property {string} [schema] - * @property {boolean} [active] - * @property {string} [created_at] - * @property {string} [updated_at] - * @property {string} [application] + * @property {string} [id] - Unique identifier for an entry. + * @property {string} [title] - Title of the SEO Schema template. + * @property {string} [page_type] - Page Type for the SEO Schema Template where + * it'll be rendered. + * @property {string} [description] - Description of the SEO Schema Template. + * @property {string} [schema] - Contents of the SEO Schema template in nunjucks format. + * @property {boolean} [active] - Whether SEO Schema template is active or not. + * @property {string} [created_at] - Timestamp which represent the time when + * data was created. + * @property {string} [updated_at] - Timestamp which represent when was the last + * time when data was updated. + * @property {string} [application] - Application ID - Identifier for a Sales channel. */ /** * @typedef ScheduleSchema - * @property {string} [cron] - * @property {string} [start] - * @property {string} [end] - * @property {number} [duration] - * @property {NextSchedule[]} [next_schedule] + * @property {string} [cron] - String representing the cron expression. + * @property {string} [start] - Start time of schedule. + * @property {string} [end] - End time of schedule. + * @property {number} [duration] - Duration of the scheduled entity. + * @property {NextSchedule[]} [next_schedule] - Details regarding the next + * trigger point of schedule. */ /** * @typedef NextSchedule - * @property {string} [start] - * @property {string} [end] + * @property {string} [start] - Start time of next trigger point of schedule. + * @property {string} [end] - End time of next trigger point of schedule. */ /** * @typedef AnnouncementSchema - * @property {string} [announcement] + * @property {string} [announcement] - Details regarding the announcement bar contents. * @property {ScheduleStartSchema} [schedule] */ /** * @typedef ScheduleStartSchema - * @property {string} [start] - * @property {string} [end] + * @property {string} [start] - Start time of schedule. + * @property {string} [end] - End time of schedule. */ /** * @typedef BlogGetResponse - * @property {BlogSchema[]} [items] + * @property {BlogSchema[]} [items] - List of blogs with details. * @property {Page} [page] - * @property {string[]} [filters] + * @property {BlogFilters} [filters] + */ + +/** + * @typedef BlogFilters + * @property {string[]} [tags] - All tags present under blogs. */ /** * @typedef ResourceContent - * @property {string} [type] - * @property {string} [value] + * @property {string} [type] - The type of content of blogs - html. + * @property {string} [value] - The contents of blog. */ /** * @typedef Asset - * @property {string} [aspect_ratio] - * @property {string} [id] - * @property {string} [secure_url] + * @property {string} [aspect_ratio] - Aspect ratio of the image. + * @property {string} [id] - Unique identifier for an entry. + * @property {string} [secure_url] - URL of the image. */ /** * @typedef Author - * @property {string} [designation] - * @property {string} [id] - * @property {string} [name] + * @property {string} [designation] - Description of the author of blog. + * @property {string} [id] - Unique Identifier of the author of blog. + * @property {string} [name] - Name of the author of blog. */ /** * @typedef BlogSchema - * @property {string} [_id] - * @property {Object} [_custom_json] - * @property {string} [application] - * @property {boolean} [archived] + * @property {string} [_id] - Unique identifier for an entry. + * @property {Object} [_custom_json] - Custom JSON object for specific use cases. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {boolean} [archived] - Boolean flag denoting whether blog is archived or not. * @property {Author} [author] - * @property {ResourceContent[]} [content] + * @property {ResourceContent[]} [content] - Contents of blog. * @property {Asset} [feature_image] - * @property {boolean} [published] - * @property {string} [reading_time] - * @property {string} [slug] - * @property {string[]} [tags] - * @property {string} [publish_date] + * @property {boolean} [published] - Boolean flag denoting whether blog is + * published or not. + * @property {string} [reading_time] - Estimated time required to read the blog. + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. + * @property {string[]} [tags] - Tags under a blog. + * @property {string} [publish_date] - Timestamp denoting when the blog was published. * @property {SEO} [seo] - * @property {string} [title] + * @property {string} [title] - Title of the Blog. * @property {DateMeta} [date_meta] - * @property {string} [summary] + * @property {string} [summary] - A brief description of blog. */ /** * @typedef SEO - * @property {string} [description] + * @property {string} [description] - The contents of og:description. * @property {SEOImage} [image] - * @property {string} [title] - * @property {SEOMetaItem[]} [meta_tags] + * @property {string} [title] - The contents of og:title. + * @property {SEOMetaItem[]} [meta_tags] - List of meta tags. * @property {SEOSitemap} [sitemap] - * @property {SEObreadcrumb[]} [breadcrumb] - * @property {string} [canonical_url] + * @property {SEObreadcrumb[]} [breadcrumb] - List of action objects which can + * power breadcrumbs on website. + * @property {string} [canonical_url] - The canonical URL for canonical link element. */ /** * @typedef SEOImage - * @property {string} [url] + * @property {string} [url] - The url of image. */ /** * @typedef SEOMetaItem - * @property {string} [title] - * @property {SEOMetaItems[]} [items] + * @property {string} [title] - Title of the custom meta tags group. + * @property {SEOMetaItems[]} [items] - List of key value pairs to power meta tags. */ /** * @typedef SEOMetaItems - * @property {string} [key] - * @property {string} [value] + * @property {string} [key] - The key denoting the attribute name of SEO meta tag. + * @property {string} [value] - The key denoting the attribute value of SEO meta tag. */ /** * @typedef SEOSitemap - * @property {number} [priority] - * @property {string} [frequency] + * @property {number} [priority] - Value of sitemap priority randing from 0.0 to 1.0. + * @property {string} [frequency] - Value of sitemap frequency change denoting + * how frequently the content changes. */ /** * @typedef SEObreadcrumb - * @property {string} [url] + * @property {string} [url] - URL of where the breadcrumb link redirects to. * @property {Action} [action] */ /** * @typedef DateMeta - * @property {string} [created_on] - * @property {string} [modified_on] + * @property {string} [created_on] - Timestamp which represent the time when + * data was created. + * @property {string} [modified_on] - Timestamp which represent when was the + * last time when data was updated. */ /** @@ -199,155 +222,166 @@ const Joi = require("joi"); /** * @typedef Language - * @property {string} [display] + * @property {string} [display] - Name of an entry in a specific language. */ /** * @typedef Action - * @property {string} [type] + * @property {string} [type] - Type of action to be taken e.g, page. * @property {ActionPage} [page] * @property {ActionPage} [popup] */ /** * @typedef NavigationReference - * @property {string[]} [acl] - * @property {string[]} [tags] + * @property {string[]} [acl] - Details regarding the authorization level to + * access the navigation item. + * @property {string[]} [tags] - List of tags under a navigation link. * @property {LocaleLanguage} [_locale_language] - * @property {string} [image] - * @property {string} [type] + * @property {string} [image] - URL of an image associated with a navigation link. + * @property {string} [type] - Type of action to be taken e.g, page. * @property {Action} [action] - * @property {boolean} [active] - * @property {string} [display] - * @property {number} [sort_order] - * @property {NavigationReference[]} [sub_navigation] + * @property {boolean} [active] - Whether navigation is active or not. + * @property {string} [display] - Display name of the navigation link. + * @property {number} [sort_order] - Number denoting the position of navigation link. + * @property {NavigationReference[]} [sub_navigation] - List of sub links and + * details under a navigation. */ /** * @typedef ConfigurationSchema - * @property {number} [sleep_time] - * @property {boolean} [start_on_launch] - * @property {number} [duration] - * @property {string} [slide_direction] + * @property {number} [sleep_time] - Amount of time in seconds after which + * slideshow/screensaver is run. + * @property {boolean} [start_on_launch] - Flag denoting whether screensaver + * needs to be shown on launch of website/app. + * @property {number} [duration] - Duration of the slideshow/screensaver. + * @property {string} [slide_direction] - Direction of the slideshow. */ /** * @typedef SlideshowMedia - * @property {string} [type] - * @property {string} [url] - * @property {string} [bg_color] - * @property {number} [duration] - * @property {boolean} [auto_decide_duration] + * @property {string} [type] - Type of Media. + * @property {string} [url] - URL of Media where it's hosted. + * @property {string} [bg_color] - Background colour of Media. + * @property {number} [duration] - Amount of time in seconds for which Media has + * to appear. + * @property {boolean} [auto_decide_duration] - Whether the duration for each + * media is to be decided by system or not. If true, it'll equally divide time + * in all medias. * @property {Action} [action] */ /** * @typedef AnnouncementsResponseSchema - * @property {Object} [announcements] + * @property {Object} [announcements] - List all the announcement bar details + * and its contents. * @property {number} [refresh_rate] - Number of seconds after which api should - * hit again to fetch new announcements + * hit again to fetch new announcements. * @property {string[]} [refresh_pages] - List of page slugs on which - * announcement should be fetched as soon as they are loaded + * announcement should be fetched as soon as they are loaded. */ /** * @typedef FaqResponseSchema - * @property {FaqSchema[]} [faqs] + * @property {FaqSchema[]} [faqs] - List of FAQs. */ /** * @typedef DataLoaderSchema - * @property {string} [name] - * @property {string} [service] - * @property {string} [operation_id] - * @property {string} [type] - * @property {string} [url] - * @property {string} [content] + * @property {string} [name] - Name of dataloader. + * @property {string} [service] - Service of data loader which overrides the + * default method. + * @property {string} [operation_id] - Operation ID of the method which data + * loader is overriding. + * @property {string} [type] - Type of data loader. + * @property {string} [url] - URL at which data loader redirects. + * @property {string} [content] - Content of a data loader. * @property {DataLoaderSourceSchema} [__source] - * @property {string} [_id] + * @property {string} [_id] - Unique identifier of an entry. */ /** * @typedef DataLoaderSourceSchema - * @property {string} [type] - * @property {string} [id] + * @property {string} [type] - Type of creator. + * @property {string} [id] - Identifier of an extension. */ /** * @typedef DataLoadersSchema - * @property {DataLoaderSchema[]} [items] + * @property {DataLoaderSchema[]} [items] - List of data loaders. */ /** * @typedef ContentAPIError - * @property {string} [message] - * @property {number} [status] - * @property {string} [code] - * @property {string} [exception] - * @property {string} [info] - * @property {string} [request_id] - * @property {string} [stack_trace] - * @property {Object} [meta] + * @property {string} [message] - Error message. + * @property {number} [status] - HTTP Status code of the error. + * @property {string} [code] - Status code of an error. + * @property {string} [exception] - Exception class name. + * @property {string} [info] - Details regarding the error. + * @property {string} [request_id] - The identifier denoting request. + * @property {string} [stack_trace] - Report of a stack frame to debug the issue. + * @property {Object} [meta] - Metadata related to an error. */ /** * @typedef CommonError - * @property {string} [message] + * @property {string} [message] - Error message. */ /** * @typedef CategorySchema - * @property {number} [index] - * @property {string} [title] - * @property {string} [description] - * @property {string[]} [children] - * @property {string} [_id] - * @property {string} [slug] - * @property {string} [application] - * @property {string} [icon_url] - * @property {Object} [_custom_json] + * @property {number} [index] - Order of FAQ Category. + * @property {string} [title] - Title of the FAQ category. + * @property {string} [description] - Details of the FAQ category. + * @property {string[]} [children] - List of FAQs. + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [icon_url] - URL of the image associated with FAQ Category. + * @property {Object} [_custom_json] - Custom JSON object for specific use cases. */ /** * @typedef ChildrenSchema - * @property {string} [question] - * @property {string} [answer] - * @property {string} [slug] - * @property {string} [application] - * @property {string} [_id] + * @property {string} [question] - The contents of a question of a FAQ. + * @property {string} [answer] - The contents of a answer of a FAQ. + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [_id] - Unique identifier of an entry. */ /** * @typedef FAQCategorySchema - * @property {number} [index] - * @property {string} [title] - * @property {string} [description] - * @property {ChildrenSchema[]} [children] - * @property {string} [_id] - * @property {string} [slug] - * @property {string} [application] - * @property {string} [icon_url] - * @property {Object} [_custom_json] + * @property {number} [index] - Order of FAQ Category. + * @property {string} [title] - Title of a FAQ Category. + * @property {string} [description] - Details of the FAQ category. + * @property {ChildrenSchema[]} [children] - Details regarding a FAQs stored + * under a FAQs category. + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [icon_url] - URL of the image associated with FAQ Category. + * @property {Object} [_custom_json] - Custom JSON object for specific use cases. */ /** * @typedef FaqSchema - * @property {string} [slug] - * @property {string} [application] - * @property {string} [_id] - * @property {string} [question] - * @property {string} [answer] - * @property {string[]} [tags] + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [question] - The contents of a question of a FAQ. + * @property {string} [answer] - The contents of a answer of a FAQ. + * @property {string[]} [tags] - Tags under a FAQ. */ /** * @typedef GetFaqSchema - * @property {FaqSchema[]} [faqs] + * @property {FaqSchema[]} [faqs] - List of FAQs. */ /** * @typedef GetFaqCategoriesSchema - * @property {CategorySchema[]} [categories] + * @property {CategorySchema[]} [categories] - List of FAQ Categories. */ /** @@ -357,148 +391,157 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef LandingPageSchema - * @property {string} [slug] + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. * @property {Action} [action] - * @property {string[]} [platform] + * @property {string[]} [platform] - List of platforms linked to this landing page. * @property {CreatedBySchema} [created_by] * @property {DateMeta} [date_meta] - * @property {string} [_id] - * @property {string} [application] - * @property {boolean} [archived] - * @property {Object} [_custom_json] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {boolean} [archived] - Whether landing page is archived or not. + * @property {Object} [_custom_json] - Custom JSON object for specific use cases. */ /** * @typedef NavigationGetResponse - * @property {NavigationSchema[]} [items] + * @property {NavigationSchema[]} [items] - List of navigation items. * @property {Page} [page] */ /** * @typedef Orientation - * @property {string[]} [portrait] - * @property {string[]} [landscape] + * @property {string[]} [portrait] - Data related to devices where navigation is + * assigned in portrait mode. + * @property {string[]} [landscape] - Data related to devices where navigation + * is assigned in landscape mode. */ /** * @typedef NavigationSchema - * @property {string} [_id] - * @property {string} [application] - * @property {boolean} [archived] - * @property {string} [name] - * @property {string} [slug] - * @property {string[]} [platform] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {boolean} [archived] - Whether navigation is archived or not. + * @property {string} [name] - Name of the navigation link. + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. + * @property {string[]} [platform] - Details regarding the platforms for which + * this navigation is to applied on. * @property {CreatedBySchema} [created_by] * @property {DateMeta} [date_meta] * @property {Orientation} [orientation] - * @property {number} [version] - * @property {NavigationReference[]} [navigation] + * @property {number} [version] - A hardcoded key for internally managing + * navigation versions. + * @property {NavigationReference[]} [navigation] - List of all navigations + * links and relevant details. */ /** * @typedef PageGetResponse - * @property {PageSchema[]} [items] + * @property {PageSchema[]} [items] - List of details of custom pages. * @property {Page} [page] */ /** * @typedef PageSchema - * @property {string} [_id] - * @property {string} [application] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [application] - Application ID - Identifier for a Sales channel. * @property {string[]} [component_ids] - Components can be used to store - * multiple components - * @property {Object[]} [content] - * @property {string} [content_path] + * multiple components. + * @property {Object[]} [content] - Contents of a custom page. + * @property {string} [content_path] - A CDN URL at which the entire html + * content can be fetched from. * @property {CreatedBySchema} [created_by] * @property {DateMeta} [date_meta] - * @property {string} [description] + * @property {string} [description] - Description about the page. * @property {Asset} [feature_image] - * @property {Object[]} [page_meta] + * @property {Object[]} [page_meta] - List of Custom JSON object for specific use cases. * @property {ScheduleSchema} [_schedule] - * @property {Object} [_custom_json] - * @property {string} [orientation] - * @property {string} [platform] - * @property {boolean} [published] - * @property {string} [slug] - * @property {string[]} [tags] - * @property {string} [title] - * @property {string} [type] + * @property {Object} [_custom_json] - Custom JSON object for specific use cases. + * @property {string} [orientation] - Orientation for Custom Pages - Landscape + * or portrait. + * @property {string} [platform] - Platform for Custom Pages - Denotes the device type. + * @property {boolean} [published] - Whether page is active or not on website. + * @property {string} [slug] - A short, human-readable, URL-friendly identifier. + * @property {string[]} [tags] - Tags under a page. + * @property {string} [title] - The title of the page. + * @property {string} [type] - Type of editor through which the page was created + * so appropriate rendering engine is used. * @property {SEO} [seo] - * @property {Object} [visibility] - * @property {boolean} [archived] + * @property {Object} [visibility] - Visibility of Page. + * @property {boolean} [archived] - Flag denoting whether the page is archived or not. */ /** * @typedef CreatedBySchema - * @property {string} [id] + * @property {string} [id] - Details containing the creator of custom page. */ /** * @typedef SlideshowGetResponse - * @property {SlideshowSchema[]} [items] + * @property {SlideshowSchema[]} [items] - Details related to slideshow/screensaver. * @property {Page} [page] */ /** * @typedef SlideshowSchema - * @property {string} [_id] - * @property {string} [slug] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [slug] - Details related to slideshow/screensaver. * @property {DateMeta} [date_meta] - * @property {string} [application] - * @property {string} [platform] + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [platform] - Details related to slideshow/screensaver. * @property {ConfigurationSchema} [configuration] - * @property {SlideshowMedia[]} [media] - * @property {boolean} [active] - * @property {boolean} [archived] - * @property {Object} [_custom_json] + * @property {SlideshowMedia[]} [media] - Details related to slideshow/screensaver. + * @property {boolean} [active] - Details related to slideshow/screensaver. + * @property {boolean} [archived] - Whether slideshow is deleted or not. + * @property {Object} [_custom_json] - Custom JSON object for specific use cases. */ /** * @typedef Support - * @property {boolean} [created] - * @property {string} [_id] - * @property {string} [config_type] - * @property {string} [application] - * @property {string} [created_at] - * @property {string} [updated_at] + * @property {boolean} [created] - Whether support contact details are created or not. + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [created_at] - Timestamp which represent the time when + * data was created. + * @property {string} [updated_at] - Timestamp which represent when was the last + * time when data was updated. * @property {ContactSchema} [contact] */ /** * @typedef PhoneProperties - * @property {string} [key] - * @property {string} [code] - * @property {string} [number] - * @property {string} [phone_type] + * @property {string} [key] - Name of the Contact SPOC. + * @property {string} [code] - International dial Code. + * @property {string} [number] - Phone Number. + * @property {string} [phone_type] - Denotes the type of phone number. */ /** * @typedef PhoneSchema - * @property {boolean} [active] - * @property {PhoneProperties[]} [phone] + * @property {boolean} [active] - Flag denoting whether contact detail is active or not. + * @property {PhoneProperties[]} [phone] - Details related to phone contact of SPOC. */ /** * @typedef EmailProperties - * @property {string} [key] - * @property {string} [value] + * @property {string} [key] - Name of email SPOC. + * @property {string} [value] - Email Id of the SPOC. */ /** * @typedef EmailSchema - * @property {boolean} [active] - * @property {EmailProperties[]} [email] + * @property {boolean} [active] - Whether contact detail is active or not. + * @property {EmailProperties[]} [email] - Details related to email contact of SPOC. */ /** @@ -509,99 +552,111 @@ const Joi = require("joi"); /** * @typedef TagsSchema - * @property {string} [application] - * @property {string} [_id] - * @property {TagSchema[]} [tags] + * @property {string} [application] - Application ID - Identifier for a Sales channel. + * @property {string} [_id] - Unique identifier of an entry. + * @property {TagSchema[]} [tags] - List of Third party injectable html tags. */ /** * @typedef TagSchema - * @property {string} [name] - * @property {string} [url] - * @property {string} [type] - * @property {string} [sub_type] - * @property {string} [_id] - * @property {string} [position] - * @property {Object} [attributes] - * @property {string} [content] - * @property {Object[]} [pages] + * @property {string} [name] - Name of the html tag. + * @property {string} [url] - URL at which css or js might be hosted. + * @property {string} [type] - Whether Tag is JS or CSS. + * @property {string} [sub_type] - Whether js/css is external or inline. + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [position] - Position where Tag is so to be placed. + * @property {Object} [attributes] - Custom JSON object for specific use cases. + * @property {string} [content] - Content of tag. + * @property {Object[]} [pages] - List of all the page where tag is to be added. * @property {TagSourceSchema} [__source] */ /** * @typedef TagSourceSchema - * @property {string} [type] - * @property {string} [id] + * @property {string} [type] - Type of creator of tag. + * @property {string} [id] - Identifier of an extension. */ /** * @typedef CustomObjectFieldValue - * @property {Object} [value] + * @property {Object} [value] - Value of custom field. */ /** * @typedef CustomObjectListItemDefinationSchema - * @property {string} [_id] - * @property {string} [name] - * @property {string} [type] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [name] - Name of definition of custom field. + * @property {string} [type] - Data type of the custom field. */ /** * @typedef CustomObjectFieldSchema - * @property {string} [_id] - * @property {string} [key] - * @property {CustomObjectFieldValue[]} [value] - * @property {string} [type] - * @property {string} [definition_id] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [key] - Key of custom field inside custom object. + * @property {CustomObjectFieldValue[]} [value] - Value of custom field inside + * custom object. + * @property {string} [type] - Data type of custom field inside custom object. + * @property {string} [definition_id] - Definition id of custom field inside + * custom object. */ /** * @typedef CustomObjectByIdSchema - * @property {string} [_id] - * @property {string} [status] - * @property {string} [display_name] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [status] - String denoting whether custom object is active + * or inactive. + * @property {string} [display_name] - Unique Display name of a custom object + * which is system generated: Concatenation of string definition name and _id. * @property {CustomObjectListItemDefinationSchema} [definition] - * @property {Object[]} [references] - * @property {CustomObjectFieldSchema[]} [fields] + * @property {Object[]} [references] - List of custom fields ids where the + * custom object is added as a field. + * @property {CustomObjectFieldSchema[]} [fields] - List of custom fields + * against a Custom Object. */ /** * @typedef CustomFieldValue - * @property {Object} [value] + * @property {Object} [value] - Array containing value(s) of custom field. */ /** * @typedef CustomFieldSchema - * @property {string} [_id] - * @property {string} [namespace] - * @property {string} [key] - * @property {string} [resource] - * @property {string} [creator] - * @property {CustomFieldValue[]} [value] - * @property {string} [resource_id] - * @property {string} [type] - * @property {boolean} [multi_value] - * @property {string} [company_id] - * @property {string} [application_id] - * @property {string} [definition_id] - * @property {boolean} [has_invalid_values] - * @property {Object[]} [invalid_value_errors] - * @property {string} [created_by] - * @property {boolean} [is_deleted] - * @property {string} [created_at] - * @property {string} [updated_at] + * @property {string} [_id] - Unique identifier of an entry. + * @property {string} [namespace] - Namespace under which custom field is present. + * @property {string} [key] - Unique identifier for a custom field. + * @property {string} [resource] - Type of an entity under which custom field is defined. + * @property {string} [creator] - Denotes where the custom field has been + * defined - within a company or within a sales channel. + * @property {CustomFieldValue[]} [value] - Array containing values of custom field. + * @property {string} [resource_id] - Unique identifier for the entity under + * which custom field is defined. + * @property {string} [type] - The type type of custom field. + * @property {boolean} [multi_value] - Whether custom field can have multiple + * values or not. + * @property {string} [company_id] - Unique Identifier for a company. + * @property {string} [application_id] - Application ID - Identifier for a Sales channel. + * @property {string} [definition_id] - Unique identifier for a custom field definition. + * @property {boolean} [has_invalid_values] - Whether the custom field has invalid values. + * @property {Object[]} [invalid_value_errors] - Array denoting if there's a + * validation failure on a custom field inside a custom object. + * @property {string} [created_by] - Details of the owner of custom field creator. + * @property {boolean} [is_deleted] - Whether the custom field definition is deleted. + * @property {string} [created_at] - Timestamp which represent the time when + * data was created. + * @property {string} [updated_at] - Timestamp which represent when was the last + * time when data was updated. */ /** * @typedef CustomFieldsResponseByResourceIdSchema - * @property {CustomFieldSchema[]} [items] + * @property {CustomFieldSchema[]} [items] - List of custom fields against a resource. */ /** * @typedef ActionPage - * @property {Object} [params] - * @property {Object} [query] - * @property {string} [url] + * @property {Object} [params] - Parameters that should be considered in path. + * @property {Object} [query] - Query parameter if any to be added to the action. + * @property {string} [url] - The URL for the action. * @property {PageType} type */ @@ -617,6 +672,7 @@ const Joi = require("joi"); * | "category" * | "collection" * | "collections" + * | "custom" * | "contact-us" * | "external" * | "faq" @@ -785,7 +841,14 @@ class ContentApplicationModel { return Joi.object({ items: Joi.array().items(ContentApplicationModel.BlogSchema()), page: ContentApplicationModel.Page(), - filters: Joi.array().items(Joi.string().allow("")), + filters: ContentApplicationModel.BlogFilters(), + }); + } + + /** @returns {BlogFilters} */ + static BlogFilters() { + return Joi.object({ + tags: Joi.array().items(Joi.string().allow("")), }); } @@ -1238,7 +1301,6 @@ class ContentApplicationModel { return Joi.object({ created: Joi.boolean(), _id: Joi.string().allow(""), - config_type: Joi.string().allow(""), application: Joi.string().allow(""), created_at: Joi.string().allow(""), updated_at: Joi.string().allow(""), @@ -1447,6 +1509,8 @@ class ContentApplicationModel { "collections", + "custom", + "contact-us", "external", diff --git a/sdk/application/Content/ContentApplicationValidator.d.ts b/sdk/application/Content/ContentApplicationValidator.d.ts index 06cadc4a8..2c88ad2d2 100644 --- a/sdk/application/Content/ContentApplicationValidator.d.ts +++ b/sdk/application/Content/ContentApplicationValidator.d.ts @@ -5,24 +5,25 @@ export = ContentApplicationValidator; * @property {string} slug - A short, human-readable, URL-friendly identifier of * a blog. You can get slug value from the endpoint * /service/application/content/v1.0/blogs/. - * @property {string} [rootId] - ID given to the HTML element + * @property {string} [rootId] - ID given to the HTML element. */ /** * @typedef GetBlogsParam * @property {number} [pageNo] - The page number to navigate through the given - * set of results. Default value is 1. + * set of results. Default value is 1. . * @property {number} [pageSize] - The number of items to retrieve in each page. * @property {string} [tags] - Blogs retrieve based on the list of tags passed. * @property {string} [search] - Blogs retrieve based on the title. */ /** * @typedef GetCustomFieldsParam - * @property {string} resource - * @property {string} resourceId + * @property {string} resource - This is the name of resource for which you want + * to fetch custom fields eg. product, collection, customer etc. + * @property {string} resourceId - This is the resource id for which custom fields created */ /** * @typedef GetCustomObjectParam - * @property {string} metaobjectId + * @property {string} metaobjectId - This is meta object id */ /** @typedef GetDataLoadersParam */ /** @@ -50,7 +51,7 @@ export = ContentApplicationValidator; /** * @typedef GetNavigationsParam * @property {number} [pageNo] - The page number to navigate through the given - * set of results. Default value is 1. + * set of results. Default value is 1. . * @property {number} [pageSize] - The number of items to retrieve in each page. */ /** @@ -58,19 +59,19 @@ export = ContentApplicationValidator; * @property {string} slug - A short, human-readable, URL-friendly identifier of * a page. You can get slug value from the endpoint * /service/application/content/v2.0/pages/. - * @property {string} [rootId] - ID given to the HTML element + * @property {string} [rootId] - ID given to the HTML element. */ /** * @typedef GetPagesParam * @property {number} [pageNo] - The page number to navigate through the given - * set of results. Default value is 1. + * set of results. Default value is 1. . * @property {number} [pageSize] - The number of items to retrieve in each page. */ /** @typedef GetSEOConfigurationParam */ /** * @typedef GetSEOMarkupSchemasParam * @property {string} [pageType] - The type of page against which schema - * template was created + * template was created. * @property {boolean} [active] - Boolean value for fetching seo schema. */ /** @@ -82,7 +83,7 @@ export = ContentApplicationValidator; /** * @typedef GetSlideshowsParam * @property {number} [pageNo] - The page number to navigate through the given - * set of results. Default value is 1. + * set of results. Default value is 1. . * @property {number} [pageSize] - The number of items to retrieve in each page. */ /** @typedef GetSupportInformationParam */ @@ -144,14 +145,14 @@ type GetBlogParam = { */ slug: string; /** - * - ID given to the HTML element + * - ID given to the HTML element. */ rootId?: string; }; type GetBlogsParam = { /** * - The page number to navigate through the given - * set of results. Default value is 1. + * set of results. Default value is 1. . */ pageNo?: number; /** @@ -168,10 +169,20 @@ type GetBlogsParam = { search?: string; }; type GetCustomFieldsParam = { + /** + * - This is the name of resource for which you want + * to fetch custom fields eg. product, collection, customer etc. + */ resource: string; + /** + * - This is the resource id for which custom fields created + */ resourceId: string; }; type GetCustomObjectParam = { + /** + * - This is meta object id + */ metaobjectId: string; }; type GetFaqBySlugParam = { @@ -201,7 +212,7 @@ type GetFaqsByCategorySlugParam = { type GetNavigationsParam = { /** * - The page number to navigate through the given - * set of results. Default value is 1. + * set of results. Default value is 1. . */ pageNo?: number; /** @@ -217,14 +228,14 @@ type GetPageParam = { */ slug: string; /** - * - ID given to the HTML element + * - ID given to the HTML element. */ rootId?: string; }; type GetPagesParam = { /** * - The page number to navigate through the given - * set of results. Default value is 1. + * set of results. Default value is 1. . */ pageNo?: number; /** @@ -235,7 +246,7 @@ type GetPagesParam = { type GetSEOMarkupSchemasParam = { /** * - The type of page against which schema - * template was created + * template was created. */ pageType?: string; /** @@ -254,7 +265,7 @@ type GetSlideshowParam = { type GetSlideshowsParam = { /** * - The page number to navigate through the given - * set of results. Default value is 1. + * set of results. Default value is 1. . */ pageNo?: number; /** diff --git a/sdk/application/Content/ContentApplicationValidator.js b/sdk/application/Content/ContentApplicationValidator.js index 3cd5efeb4..08f91976a 100644 --- a/sdk/application/Content/ContentApplicationValidator.js +++ b/sdk/application/Content/ContentApplicationValidator.js @@ -9,13 +9,13 @@ const ContentApplicationModel = require("./ContentApplicationModel"); * @property {string} slug - A short, human-readable, URL-friendly identifier of * a blog. You can get slug value from the endpoint * /service/application/content/v1.0/blogs/. - * @property {string} [rootId] - ID given to the HTML element + * @property {string} [rootId] - ID given to the HTML element. */ /** * @typedef GetBlogsParam * @property {number} [pageNo] - The page number to navigate through the given - * set of results. Default value is 1. + * set of results. Default value is 1. . * @property {number} [pageSize] - The number of items to retrieve in each page. * @property {string} [tags] - Blogs retrieve based on the list of tags passed. * @property {string} [search] - Blogs retrieve based on the title. @@ -23,13 +23,14 @@ const ContentApplicationModel = require("./ContentApplicationModel"); /** * @typedef GetCustomFieldsParam - * @property {string} resource - * @property {string} resourceId + * @property {string} resource - This is the name of resource for which you want + * to fetch custom fields eg. product, collection, customer etc. + * @property {string} resourceId - This is the resource id for which custom fields created */ /** * @typedef GetCustomObjectParam - * @property {string} metaobjectId + * @property {string} metaobjectId - This is meta object id */ /** @typedef GetDataLoadersParam */ @@ -66,7 +67,7 @@ const ContentApplicationModel = require("./ContentApplicationModel"); /** * @typedef GetNavigationsParam * @property {number} [pageNo] - The page number to navigate through the given - * set of results. Default value is 1. + * set of results. Default value is 1. . * @property {number} [pageSize] - The number of items to retrieve in each page. */ @@ -75,13 +76,13 @@ const ContentApplicationModel = require("./ContentApplicationModel"); * @property {string} slug - A short, human-readable, URL-friendly identifier of * a page. You can get slug value from the endpoint * /service/application/content/v2.0/pages/. - * @property {string} [rootId] - ID given to the HTML element + * @property {string} [rootId] - ID given to the HTML element. */ /** * @typedef GetPagesParam * @property {number} [pageNo] - The page number to navigate through the given - * set of results. Default value is 1. + * set of results. Default value is 1. . * @property {number} [pageSize] - The number of items to retrieve in each page. */ @@ -90,7 +91,7 @@ const ContentApplicationModel = require("./ContentApplicationModel"); /** * @typedef GetSEOMarkupSchemasParam * @property {string} [pageType] - The type of page against which schema - * template was created + * template was created. * @property {boolean} [active] - Boolean value for fetching seo schema. */ @@ -104,7 +105,7 @@ const ContentApplicationModel = require("./ContentApplicationModel"); /** * @typedef GetSlideshowsParam * @property {number} [pageNo] - The page number to navigate through the given - * set of results. Default value is 1. + * set of results. Default value is 1. . * @property {number} [pageSize] - The number of items to retrieve in each page. */ diff --git a/sdk/application/FileStorage/FileStorageApplicationClient.d.ts b/sdk/application/FileStorage/FileStorageApplicationClient.d.ts index 2cd68f372..fe8f5d238 100644 --- a/sdk/application/FileStorage/FileStorageApplicationClient.d.ts +++ b/sdk/application/FileStorage/FileStorageApplicationClient.d.ts @@ -16,7 +16,7 @@ declare class FileStorage { * @returns {Promise} - Success response * @name completeUpload * @summary: Complete file upload - * @description: Complete the file upload and store the file details such as name, size, content type, and namespace to maintain integrity within the system's database - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/filestorage/completeUpload/). + * @description: Complete the file upload and store the file details such as name, size, content type, and namespace to maintain integrity within the system's database. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/filestorage/completeUpload/). */ completeUpload({ namespace, body, requestHeaders }?: FileStorageApplicationValidator.CompleteUploadParam, { responseHeaders }?: object): Promise; /** @@ -35,8 +35,8 @@ declare class FileStorage { * @param {import("../ApplicationAPIClient").Options} - Options * @returns {Promise} - Success response * @name startUpload - * @summary: Initiate file upload - * @description: Get a signed url for uploading a file - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/filestorage/startUpload/). + * @summary: Initiates file upload + * @description: Starts the process of uploading a file to storage location, and returns a signed url in response. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/filestorage/startUpload/). */ startUpload({ namespace, body, requestHeaders }?: FileStorageApplicationValidator.StartUploadParam, { responseHeaders }?: object): Promise; /** diff --git a/sdk/application/FileStorage/FileStorageApplicationClient.js b/sdk/application/FileStorage/FileStorageApplicationClient.js index 1caf2bcb6..9cd9807f3 100644 --- a/sdk/application/FileStorage/FileStorageApplicationClient.js +++ b/sdk/application/FileStorage/FileStorageApplicationClient.js @@ -44,7 +44,7 @@ class FileStorage { * @returns {Promise} - Success response * @name completeUpload * @summary: Complete file upload - * @description: Complete the file upload and store the file details such as name, size, content type, and namespace to maintain integrity within the system's database - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/filestorage/completeUpload/). + * @description: Complete the file upload and store the file details such as name, size, content type, and namespace to maintain integrity within the system's database. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/filestorage/completeUpload/). */ async completeUpload( { namespace, body, requestHeaders } = { requestHeaders: {} }, @@ -199,8 +199,8 @@ class FileStorage { * @param {import("../ApplicationAPIClient").Options} - Options * @returns {Promise} - Success response * @name startUpload - * @summary: Initiate file upload - * @description: Get a signed url for uploading a file - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/filestorage/startUpload/). + * @summary: Initiates file upload + * @description: Starts the process of uploading a file to storage location, and returns a signed url in response. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/filestorage/startUpload/). */ async startUpload( { namespace, body, requestHeaders } = { requestHeaders: {} }, diff --git a/sdk/application/FileStorage/FileStorageApplicationModel.d.ts b/sdk/application/FileStorage/FileStorageApplicationModel.d.ts index 9664d28c3..1173b874c 100644 --- a/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +++ b/sdk/application/FileStorage/FileStorageApplicationModel.d.ts @@ -1,75 +1,77 @@ export = FileStorageApplicationModel; /** * @typedef CDN - * @property {string} url - * @property {string} absolute_url - * @property {string} relative_url + * @property {string} url - The CDN URL for accessing the file. + * @property {string} absolute_url - The absolute URL of the file. + * @property {string} relative_url - The relative URL of the file. */ /** * @typedef Upload - * @property {number} expiry - * @property {string} url + * @property {number} expiry - The expiration time for the signed URL. + * @property {string} url - The signed URL for uploading the file. */ /** * @typedef StartResponse - * @property {string} file_name - * @property {string} file_path - * @property {string} content_type - * @property {string} [method] - * @property {string} namespace - * @property {string} operation - * @property {number} size + * @property {string} file_name - The name of the file that was uploaded. + * @property {string} file_path - The path to the file in the storage location. + * @property {string} content_type - The content type of the file. + * @property {string} [method] - The HTTP method to be used for uploading the file. + * @property {string} namespace - The namespace associated with the file. + * @property {string} operation - The operation to be performed on the storage service. + * @property {number} size - The size of the file in bytes. * @property {Upload} upload * @property {CDN} cdn - * @property {string[]} [tags] + * @property {string[]} [tags] - Tags associated with the file. */ /** * @typedef Params - * @property {string} [subpath] - The subpath for the file. + * @property {string} [subpath] - Specifies a particular directory or location + * within the storage structure where the file should be placed or is located. */ /** * @typedef StartRequest - * @property {string} file_name - * @property {string} content_type - * @property {number} size - * @property {string[]} [tags] + * @property {string} file_name - The name of the file to be uploaded. + * @property {string} content_type - The name of the file to be uploaded. + * @property {number} size - The size of the file in bytes. + * @property {string[]} [tags] - Tags associated with the file. * @property {Params} [params] */ /** * @typedef CreatedBy - * @property {string} [username] + * @property {string} [username] - The username of the user who created the file. */ /** * @typedef CompleteResponse - * @property {string} _id - * @property {string} file_name - * @property {string} file_path - * @property {string} content_type - * @property {string} namespace - * @property {string} operation - * @property {number} size + * @property {string} _id - The unique identifier of the uploaded file. + * @property {string} file_name - The name of the file that was uploaded. + * @property {string} file_path - The path to the file in the storage location. + * @property {string} content_type - The content type of the file. + * @property {string} namespace - The namespace associated with the file. + * @property {string} operation - The operation performed on the storage service. + * @property {number} size - The size of the file in bytes. * @property {Upload} upload * @property {CDN} cdn - * @property {boolean} success - * @property {string[]} [tags] - * @property {string} created_on - * @property {string} modified_on + * @property {boolean} success - The success status of the upload operation. + * @property {string[]} [tags] - Tags associated with the file. + * @property {string} created_on - The timestamp when the file was created. + * @property {string} modified_on - The timestamp when the file was last modified. * @property {CreatedBy} [created_by] */ /** * @typedef Urls - * @property {string} url - * @property {string} signed_url - * @property {number} expiry + * @property {string} url - This is the original asset URL provided in the + * request. This is the URL for which a signed URL has been generated. + * @property {string} signed_url - Generated signed URL. + * @property {number} expiry - The expiration time for the signed URL. */ /** * @typedef SignUrlResponse - * @property {Urls[]} urls + * @property {Urls[]} urls - Signed URL object. */ /** * @typedef SignUrlRequest - * @property {number} expiry - * @property {string[]} urls + * @property {number} expiry - The expiration time for the signed URL. + * @property {string[]} urls - List of asset URLs to be signed. . */ declare class FileStorageApplicationModel { } @@ -79,85 +81,192 @@ declare namespace FileStorageApplicationModel { /** @returns {CDN} */ declare function CDN(): CDN; type CDN = { + /** + * - The CDN URL for accessing the file. + */ url: string; + /** + * - The absolute URL of the file. + */ absolute_url: string; + /** + * - The relative URL of the file. + */ relative_url: string; }; /** @returns {Upload} */ declare function Upload(): Upload; type Upload = { + /** + * - The expiration time for the signed URL. + */ expiry: number; + /** + * - The signed URL for uploading the file. + */ url: string; }; /** @returns {StartResponse} */ declare function StartResponse(): StartResponse; type StartResponse = { + /** + * - The name of the file that was uploaded. + */ file_name: string; + /** + * - The path to the file in the storage location. + */ file_path: string; + /** + * - The content type of the file. + */ content_type: string; + /** + * - The HTTP method to be used for uploading the file. + */ method?: string; + /** + * - The namespace associated with the file. + */ namespace: string; + /** + * - The operation to be performed on the storage service. + */ operation: string; + /** + * - The size of the file in bytes. + */ size: number; upload: Upload; cdn: CDN; + /** + * - Tags associated with the file. + */ tags?: string[]; }; /** @returns {Params} */ declare function Params(): Params; type Params = { /** - * - The subpath for the file. + * - Specifies a particular directory or location + * within the storage structure where the file should be placed or is located. */ subpath?: string; }; /** @returns {StartRequest} */ declare function StartRequest(): StartRequest; type StartRequest = { + /** + * - The name of the file to be uploaded. + */ file_name: string; + /** + * - The name of the file to be uploaded. + */ content_type: string; + /** + * - The size of the file in bytes. + */ size: number; + /** + * - Tags associated with the file. + */ tags?: string[]; params?: Params; }; /** @returns {CreatedBy} */ declare function CreatedBy(): CreatedBy; type CreatedBy = { + /** + * - The username of the user who created the file. + */ username?: string; }; /** @returns {CompleteResponse} */ declare function CompleteResponse(): CompleteResponse; type CompleteResponse = { + /** + * - The unique identifier of the uploaded file. + */ _id: string; + /** + * - The name of the file that was uploaded. + */ file_name: string; + /** + * - The path to the file in the storage location. + */ file_path: string; + /** + * - The content type of the file. + */ content_type: string; + /** + * - The namespace associated with the file. + */ namespace: string; + /** + * - The operation performed on the storage service. + */ operation: string; + /** + * - The size of the file in bytes. + */ size: number; upload: Upload; cdn: CDN; + /** + * - The success status of the upload operation. + */ success: boolean; + /** + * - Tags associated with the file. + */ tags?: string[]; + /** + * - The timestamp when the file was created. + */ created_on: string; + /** + * - The timestamp when the file was last modified. + */ modified_on: string; created_by?: CreatedBy; }; /** @returns {Urls} */ declare function Urls(): Urls; type Urls = { + /** + * - This is the original asset URL provided in the + * request. This is the URL for which a signed URL has been generated. + */ url: string; + /** + * - Generated signed URL. + */ signed_url: string; + /** + * - The expiration time for the signed URL. + */ expiry: number; }; /** @returns {SignUrlResponse} */ declare function SignUrlResponse(): SignUrlResponse; type SignUrlResponse = { + /** + * - Signed URL object. + */ urls: Urls[]; }; /** @returns {SignUrlRequest} */ declare function SignUrlRequest(): SignUrlRequest; type SignUrlRequest = { + /** + * - The expiration time for the signed URL. + */ expiry: number; + /** + * - List of asset URLs to be signed. . + */ urls: string[]; }; diff --git a/sdk/application/FileStorage/FileStorageApplicationModel.js b/sdk/application/FileStorage/FileStorageApplicationModel.js index 463b21a19..4708e3504 100644 --- a/sdk/application/FileStorage/FileStorageApplicationModel.js +++ b/sdk/application/FileStorage/FileStorageApplicationModel.js @@ -2,84 +2,86 @@ const Joi = require("joi"); /** * @typedef CDN - * @property {string} url - * @property {string} absolute_url - * @property {string} relative_url + * @property {string} url - The CDN URL for accessing the file. + * @property {string} absolute_url - The absolute URL of the file. + * @property {string} relative_url - The relative URL of the file. */ /** * @typedef Upload - * @property {number} expiry - * @property {string} url + * @property {number} expiry - The expiration time for the signed URL. + * @property {string} url - The signed URL for uploading the file. */ /** * @typedef StartResponse - * @property {string} file_name - * @property {string} file_path - * @property {string} content_type - * @property {string} [method] - * @property {string} namespace - * @property {string} operation - * @property {number} size + * @property {string} file_name - The name of the file that was uploaded. + * @property {string} file_path - The path to the file in the storage location. + * @property {string} content_type - The content type of the file. + * @property {string} [method] - The HTTP method to be used for uploading the file. + * @property {string} namespace - The namespace associated with the file. + * @property {string} operation - The operation to be performed on the storage service. + * @property {number} size - The size of the file in bytes. * @property {Upload} upload * @property {CDN} cdn - * @property {string[]} [tags] + * @property {string[]} [tags] - Tags associated with the file. */ /** * @typedef Params - * @property {string} [subpath] - The subpath for the file. + * @property {string} [subpath] - Specifies a particular directory or location + * within the storage structure where the file should be placed or is located. */ /** * @typedef StartRequest - * @property {string} file_name - * @property {string} content_type - * @property {number} size - * @property {string[]} [tags] + * @property {string} file_name - The name of the file to be uploaded. + * @property {string} content_type - The name of the file to be uploaded. + * @property {number} size - The size of the file in bytes. + * @property {string[]} [tags] - Tags associated with the file. * @property {Params} [params] */ /** * @typedef CreatedBy - * @property {string} [username] + * @property {string} [username] - The username of the user who created the file. */ /** * @typedef CompleteResponse - * @property {string} _id - * @property {string} file_name - * @property {string} file_path - * @property {string} content_type - * @property {string} namespace - * @property {string} operation - * @property {number} size + * @property {string} _id - The unique identifier of the uploaded file. + * @property {string} file_name - The name of the file that was uploaded. + * @property {string} file_path - The path to the file in the storage location. + * @property {string} content_type - The content type of the file. + * @property {string} namespace - The namespace associated with the file. + * @property {string} operation - The operation performed on the storage service. + * @property {number} size - The size of the file in bytes. * @property {Upload} upload * @property {CDN} cdn - * @property {boolean} success - * @property {string[]} [tags] - * @property {string} created_on - * @property {string} modified_on + * @property {boolean} success - The success status of the upload operation. + * @property {string[]} [tags] - Tags associated with the file. + * @property {string} created_on - The timestamp when the file was created. + * @property {string} modified_on - The timestamp when the file was last modified. * @property {CreatedBy} [created_by] */ /** * @typedef Urls - * @property {string} url - * @property {string} signed_url - * @property {number} expiry + * @property {string} url - This is the original asset URL provided in the + * request. This is the URL for which a signed URL has been generated. + * @property {string} signed_url - Generated signed URL. + * @property {number} expiry - The expiration time for the signed URL. */ /** * @typedef SignUrlResponse - * @property {Urls[]} urls + * @property {Urls[]} urls - Signed URL object. */ /** * @typedef SignUrlRequest - * @property {number} expiry - * @property {string[]} urls + * @property {number} expiry - The expiration time for the signed URL. + * @property {string[]} urls - List of asset URLs to be signed. . */ class FileStorageApplicationModel { diff --git a/sdk/application/Lead/LeadApplicationClient.d.ts b/sdk/application/Lead/LeadApplicationClient.d.ts index ac4a2073c..ca117066c 100644 --- a/sdk/application/Lead/LeadApplicationClient.d.ts +++ b/sdk/application/Lead/LeadApplicationClient.d.ts @@ -18,7 +18,7 @@ declare class Lead { * @returns {Promise} - Success response * @name createHistory * @summary: Log ticket history - * @description: Adds a history entry for a specific support ticket. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/lead/createHistory/). + * @description: Create a history entry for a specific support ticket. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/lead/createHistory/). */ createHistory({ id, body, requestHeaders }?: LeadApplicationValidator.CreateHistoryParam, { responseHeaders }?: object): Promise; /** @@ -28,7 +28,7 @@ declare class Lead { * @returns {Promise} - Success response * @name createTicket * @summary: Creates a ticket - * @description: Generates a new customer support ticket for a user query. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/lead/createTicket/). + * @description: Create a new customer support ticket for a user query. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/lead/createTicket/). */ createTicket({ body, requestHeaders }?: LeadApplicationValidator.CreateTicketParam, { responseHeaders }?: object): Promise; /** @@ -59,7 +59,7 @@ declare class Lead { * Success response * @name submitCustomForm * @summary: Submits form data - * @description: Sends user-entered data from a custom form for processing. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/lead/submitCustomForm/). + * @description: Create user-entered data from a custom form for processing. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/lead/submitCustomForm/). */ submitCustomForm({ slug, body, requestHeaders }?: LeadApplicationValidator.SubmitCustomFormParam, { responseHeaders }?: object): Promise; } diff --git a/sdk/application/Lead/LeadApplicationClient.js b/sdk/application/Lead/LeadApplicationClient.js index 200386505..e2c919a37 100644 --- a/sdk/application/Lead/LeadApplicationClient.js +++ b/sdk/application/Lead/LeadApplicationClient.js @@ -43,7 +43,7 @@ class Lead { * @returns {Promise} - Success response * @name createHistory * @summary: Log ticket history - * @description: Adds a history entry for a specific support ticket. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/lead/createHistory/). + * @description: Create a history entry for a specific support ticket. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/lead/createHistory/). */ async createHistory( { id, body, requestHeaders } = { requestHeaders: {} }, @@ -121,7 +121,7 @@ class Lead { * @returns {Promise} - Success response * @name createTicket * @summary: Creates a ticket - * @description: Generates a new customer support ticket for a user query. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/lead/createTicket/). + * @description: Create a new customer support ticket for a user query. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/lead/createTicket/). */ async createTicket( { body, requestHeaders } = { requestHeaders: {} }, @@ -354,7 +354,7 @@ class Lead { * Success response * @name submitCustomForm * @summary: Submits form data - * @description: Sends user-entered data from a custom form for processing. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/lead/submitCustomForm/). + * @description: Create user-entered data from a custom form for processing. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/lead/submitCustomForm/). */ async submitCustomForm( { slug, body, requestHeaders } = { requestHeaders: {} }, diff --git a/sdk/application/Lead/LeadApplicationModel.d.ts b/sdk/application/Lead/LeadApplicationModel.d.ts index e67dcf3f2..a53bb5f5f 100644 --- a/sdk/application/Lead/LeadApplicationModel.d.ts +++ b/sdk/application/Lead/LeadApplicationModel.d.ts @@ -1,142 +1,161 @@ export = LeadApplicationModel; /** * @typedef TicketHistoryPayload - * @property {Object} value - Details of history event + * @property {Object} value - Details of history event. * @property {HistoryTypeEnum} type */ /** * @typedef CustomFormSubmissionPayload - * @property {Object[]} response - Form response - * @property {TicketAsset[]} [attachments] - List of all attachments related to the form + * @property {Object[]} response - Custom form response. + * @property {TicketAsset[]} [attachments] - List of all attachments related to the form. */ /** * @typedef SubmitCustomFormResponse - * @property {string} message - Success message for form submission + * @property {string} message - Success message for form submission. * @property {Ticket} [ticket] + * @property {FormFieldResponse} [response] + */ +/** + * @typedef FormFieldResponse + * @property {string} [_id] - Unique identifier for a custom form response. + * @property {number} [__v] - Version of the form. + * @property {string} [application_id] - Unique identifier for a Sales channel. + * @property {string} [form_slug] - A short, human-readable, URL-friendly unique + * identifier for a custom form. + * @property {CreatedOn} [created_on] + * @property {FormFieldResponseValues[]} [response] - Data related to + * acknowledgement on submission of custom form. + */ +/** + * @typedef FormFieldResponseValues + * @property {string} [key] - Keyname of field against which the input was + * filled in custom form. */ /** * @typedef TicketContext - * @property {string} [application_id] - Application ID related to the ticket - * @property {string} company_id - Company ID related to the ticket + * @property {string} [application_id] - Unique identifier for a Sales channel. + * @property {string} company_id - Company ID related to the ticket. */ /** * @typedef CreatedOn - * @property {string} user_agent - Useragent details + * @property {string} user_agent - Useragent details. */ /** * @typedef TicketAsset - * @property {string} [display] - Display text for asset - * @property {string} value - To be used for details + * @property {string} [display] - Display text for asset. + * @property {string} value - To be used for details. * @property {TicketAssetTypeEnum} type */ /** * @typedef TicketContent - * @property {string} title - Title for ticket - * @property {string} [description] - Long description of issue - * @property {TicketAsset[]} [attachments] - List of all attachments related to the ticket + * @property {string} title - Title for ticket. + * @property {string} [description] - Long description of issue. + * @property {TicketAsset[]} [attachments] - List of all attachments related to + * the ticket. */ /** * @typedef AddTicketPayload - * @property {Object} [created_by] - Creator of the ticket - * @property {string} [status] - Status of the ticket + * @property {Object} [created_by] - Creator of the ticket. + * @property {string} [status] - Status of the ticket. * @property {PriorityEnum} [priority] - * @property {string} category - Category of the ticket + * @property {string} category - Category of the ticket. * @property {TicketContent} content - * @property {Object} [_custom_json] - Optional custom data that needs to be sent - * @property {string[]} [subscribers] + * @property {Object} [_custom_json] - Optional custom data that needs to be sent. + * @property {string[]} [subscribers] - List of emails to be informed for ticket updates. */ /** * @typedef Priority * @property {PriorityEnum} key - * @property {string} display - Display text for priority - * @property {string} color - Color for priority + * @property {string} display - Display text for priority. + * @property {string} color - Color for priority. */ /** * @typedef Status - * @property {string} key - Key for status - * @property {string} display - Display text for status - * @property {string} color - Color for status + * @property {string} key - Key for status. + * @property {string} display - Display text for status. + * @property {string} color - Color for status. */ /** * @typedef SubmitButton - * @property {string} title - Title for submit button - * @property {string} title_color - Title color submit button - * @property {string} background_color - Color for submit button + * @property {string} title - Title for submit button. + * @property {string} title_color - Title color submit button. + * @property {string} background_color - Color for submit button. */ /** * @typedef PollForAssignment - * @property {number} duration - Duration for polling of staff - * @property {string} message - Message for polling - * @property {string} success_message - Message for successful polling - * @property {string} failure_message - Message if polling failed + * @property {number} duration - Duration for polling of staff. + * @property {string} message - Message for polling. + * @property {string} success_message - Message for successful polling. + * @property {string} failure_message - Message if polling failed. */ /** * @typedef CustomForm - * @property {string} application_id - Application ID for form - * @property {string} slug - Slug for the form, which is to be used for accessing the form - * @property {string} [header_image] - Form header image that will be shown to the user - * @property {string} title - Form title that will be shown to the user - * @property {string} [description] - Form description that will be shown to the user + * @property {string} application_id - Application ID - Identifier for a Sales channel. + * @property {string} slug - Slug for the form, which is to be used for + * accessing the form. + * @property {string} [header_image] - Form header image that will be shown to the user. + * @property {string} title - Form title that will be shown to the user. + * @property {string} [description] - Form description that will be shown to the user. * @property {Priority} priority - * @property {boolean} login_required - Denotes if login is required to make a - * form response submission - * @property {boolean} should_notify - Denotes if new response submission for - * the form should be notified to the assignees + * @property {boolean} login_required - If login is required to make a form + * response submission. + * @property {boolean} should_notify - If new response submission for the form + * should be notified to the assignees. * @property {string} [success_message] - Message that is to be shown on - * succesfull form response submission + * successful form response submission. * @property {SubmitButton} [submit_button] - * @property {Object[]} inputs - List of all the form fields + * @property {Object[]} inputs - List of all the form fields. * @property {CreatedOn} [created_on] * @property {PollForAssignment} [poll_for_assignment] - * @property {string} _id - Unique identifier for the form + * @property {string} _id - Unique identifier for the form. */ /** * @typedef FeedbackForm - * @property {Object} [inputs] - Input details for the feed back form - * @property {string} [title] - Title for the feed back form - * @property {Object} [timestamps] - Gives details of category releted data + * @property {Object} [inputs] - Input details for the feedback form. + * @property {string} [title] - Title for the feedback form. + * @property {Object} [timestamps] - Timestamp details of feedback form. */ /** * @typedef TicketCategory - * @property {string} display - Category display value identifier - * @property {string} key - Category key value identifier + * @property {string} display - Category display value identifier. + * @property {string} key - Category key value identifier. * @property {TicketCategory} [sub_categories] - * @property {number} [group_id] - Group id of category releted data + * @property {number} [group_id] - Group id of category related data. * @property {FeedbackForm} [feedback_form] */ /** * @typedef TicketHistory - * @property {string} type - Type of the history event - * @property {Object} value - Data of the history event - * @property {string} ticket_id - Readable ticket number + * @property {string} type - Type of the history event. + * @property {Object} value - Data of the history event. + * @property {string} ticket_id - Readable ticket number. * @property {CreatedOn} [created_on] - * @property {Object} [created_by] - User who created the history event - * @property {string} _id - Unique identifier of the history event - * @property {string} [updated_at] - Time of last update of the history event - * @property {string} [created_at] - Time of creation of the history event + * @property {Object} [created_by] - User who created the history event. + * @property {string} _id - Unique identifier of the history event. + * @property {string} [updated_at] - Time of last update of the history event. + * @property {string} [created_at] - Time of creation of the history event. */ /** * @typedef Ticket * @property {TicketContext} [context] * @property {CreatedOn} [created_on] - * @property {string} [response_id] - Details of company and application - * realated to the ticket + * @property {string} [response_id] - Details of company and application related + * to the ticket. * @property {TicketContent} [content] * @property {TicketCategory} category - * @property {string} [sub_category] - Sub-category assigned to the ticket + * @property {string} [sub_category] - Sub-category assigned to the ticket. * @property {TicketSourceEnum} source * @property {Status} status * @property {Priority} priority - * @property {Object} [created_by] - User details of ticket creator - * @property {Object} [assigned_to] - Details of support staff to whom ticket is assigned - * @property {string[]} [tags] - Tags relevant to ticket - * @property {Object} [_custom_json] - Custom json relevant to the ticket - * @property {boolean} [is_feedback_pending] - Denotes if feedback submission is - * pending for the ticket - * @property {Object} [integration] - Integration type and its details of the ticket - * @property {string} _id - Unique identifier for the ticket - * @property {string} [updated_at] - Time when the ticket was last updated - * @property {string} [created_at] - Time when the ticket was created + * @property {Object} [created_by] - User details of ticket creator. + * @property {Object} [assigned_to] - Details of support staff to whom ticket is assigned. + * @property {string[]} [tags] - Tags relevant to ticket. + * @property {Object} [_custom_json] - Custom json relevant to the ticket. + * @property {boolean} [is_feedback_pending] - If feedback submission is pending + * for the ticket. + * @property {Object} [integration] - Integration type and its details of the ticket. + * @property {string} _id - Unique identifier for the ticket. + * @property {string} [updated_at] - Time when the ticket was last updated. + * @property {string} [created_at] - Time when the ticket was created. */ /** @typedef {"low" | "medium" | "high" | "urgent"} PriorityEnum */ /** @typedef {"rating" | "log" | "comment" | "thread"} HistoryTypeEnum */ @@ -155,13 +174,13 @@ export = LeadApplicationModel; declare class LeadApplicationModel { } declare namespace LeadApplicationModel { - export { TicketHistoryPayload, CustomFormSubmissionPayload, SubmitCustomFormResponse, TicketContext, CreatedOn, TicketAsset, TicketContent, AddTicketPayload, Priority, Status, SubmitButton, PollForAssignment, CustomForm, FeedbackForm, TicketCategory, TicketHistory, Ticket, PriorityEnum, HistoryTypeEnum, TicketAssetTypeEnum, TicketSourceEnum }; + export { TicketHistoryPayload, CustomFormSubmissionPayload, SubmitCustomFormResponse, FormFieldResponse, FormFieldResponseValues, TicketContext, CreatedOn, TicketAsset, TicketContent, AddTicketPayload, Priority, Status, SubmitButton, PollForAssignment, CustomForm, FeedbackForm, TicketCategory, TicketHistory, Ticket, PriorityEnum, HistoryTypeEnum, TicketAssetTypeEnum, TicketSourceEnum }; } /** @returns {TicketHistoryPayload} */ declare function TicketHistoryPayload(): TicketHistoryPayload; type TicketHistoryPayload = { /** - * - Details of history event + * - Details of history event. */ value: any; type: HistoryTypeEnum; @@ -170,11 +189,11 @@ type TicketHistoryPayload = { declare function CustomFormSubmissionPayload(): CustomFormSubmissionPayload; type CustomFormSubmissionPayload = { /** - * - Form response + * - Custom form response. */ response: any[]; /** - * - List of all attachments related to the form + * - List of all attachments related to the form. */ attachments?: TicketAsset[]; }; @@ -182,20 +201,57 @@ type CustomFormSubmissionPayload = { declare function SubmitCustomFormResponse(): SubmitCustomFormResponse; type SubmitCustomFormResponse = { /** - * - Success message for form submission + * - Success message for form submission. */ message: string; ticket?: Ticket; + response?: FormFieldResponse; +}; +/** @returns {FormFieldResponse} */ +declare function FormFieldResponse(): FormFieldResponse; +type FormFieldResponse = { + /** + * - Unique identifier for a custom form response. + */ + _id?: string; + /** + * - Version of the form. + */ + __v?: number; + /** + * - Unique identifier for a Sales channel. + */ + application_id?: string; + /** + * - A short, human-readable, URL-friendly unique + * identifier for a custom form. + */ + form_slug?: string; + created_on?: CreatedOn; + /** + * - Data related to + * acknowledgement on submission of custom form. + */ + response?: FormFieldResponseValues[]; +}; +/** @returns {FormFieldResponseValues} */ +declare function FormFieldResponseValues(): FormFieldResponseValues; +type FormFieldResponseValues = { + /** + * - Keyname of field against which the input was + * filled in custom form. + */ + key?: string; }; /** @returns {TicketContext} */ declare function TicketContext(): TicketContext; type TicketContext = { /** - * - Application ID related to the ticket + * - Unique identifier for a Sales channel. */ application_id?: string; /** - * - Company ID related to the ticket + * - Company ID related to the ticket. */ company_id: string; }; @@ -203,7 +259,7 @@ type TicketContext = { declare function CreatedOn(): CreatedOn; type CreatedOn = { /** - * - Useragent details + * - Useragent details. */ user_agent: string; }; @@ -211,11 +267,11 @@ type CreatedOn = { declare function TicketAsset(): TicketAsset; type TicketAsset = { /** - * - Display text for asset + * - Display text for asset. */ display?: string; /** - * - To be used for details + * - To be used for details. */ value: string; type: TicketAssetTypeEnum; @@ -224,15 +280,16 @@ type TicketAsset = { declare function TicketContent(): TicketContent; type TicketContent = { /** - * - Title for ticket + * - Title for ticket. */ title: string; /** - * - Long description of issue + * - Long description of issue. */ description?: string; /** - * - List of all attachments related to the ticket + * - List of all attachments related to + * the ticket. */ attachments?: TicketAsset[]; }; @@ -240,23 +297,26 @@ type TicketContent = { declare function AddTicketPayload(): AddTicketPayload; type AddTicketPayload = { /** - * - Creator of the ticket + * - Creator of the ticket. */ created_by?: any; /** - * - Status of the ticket + * - Status of the ticket. */ status?: string; priority?: PriorityEnum; /** - * - Category of the ticket + * - Category of the ticket. */ category: string; content: TicketContent; /** - * - Optional custom data that needs to be sent + * - Optional custom data that needs to be sent. */ _custom_json?: any; + /** + * - List of emails to be informed for ticket updates. + */ subscribers?: string[]; }; /** @returns {Priority} */ @@ -264,11 +324,11 @@ declare function Priority(): Priority; type Priority = { key: PriorityEnum; /** - * - Display text for priority + * - Display text for priority. */ display: string; /** - * - Color for priority + * - Color for priority. */ color: string; }; @@ -276,15 +336,15 @@ type Priority = { declare function Status(): Status; type Status = { /** - * - Key for status + * - Key for status. */ key: string; /** - * - Display text for status + * - Display text for status. */ display: string; /** - * - Color for status + * - Color for status. */ color: string; }; @@ -292,15 +352,15 @@ type Status = { declare function SubmitButton(): SubmitButton; type SubmitButton = { /** - * - Title for submit button + * - Title for submit button. */ title: string; /** - * - Title color submit button + * - Title color submit button. */ title_color: string; /** - * - Color for submit button + * - Color for submit button. */ background_color: string; }; @@ -308,19 +368,19 @@ type SubmitButton = { declare function PollForAssignment(): PollForAssignment; type PollForAssignment = { /** - * - Duration for polling of staff + * - Duration for polling of staff. */ duration: number; /** - * - Message for polling + * - Message for polling. */ message: string; /** - * - Message for successful polling + * - Message for successful polling. */ success_message: string; /** - * - Message if polling failed + * - Message if polling failed. */ failure_message: string; }; @@ -328,50 +388,51 @@ type PollForAssignment = { declare function CustomForm(): CustomForm; type CustomForm = { /** - * - Application ID for form + * - Application ID - Identifier for a Sales channel. */ application_id: string; /** - * - Slug for the form, which is to be used for accessing the form + * - Slug for the form, which is to be used for + * accessing the form. */ slug: string; /** - * - Form header image that will be shown to the user + * - Form header image that will be shown to the user. */ header_image?: string; /** - * - Form title that will be shown to the user + * - Form title that will be shown to the user. */ title: string; /** - * - Form description that will be shown to the user + * - Form description that will be shown to the user. */ description?: string; priority: Priority; /** - * - Denotes if login is required to make a - * form response submission + * - If login is required to make a form + * response submission. */ login_required: boolean; /** - * - Denotes if new response submission for - * the form should be notified to the assignees + * - If new response submission for the form + * should be notified to the assignees. */ should_notify: boolean; /** * - Message that is to be shown on - * succesfull form response submission + * successful form response submission. */ success_message?: string; submit_button?: SubmitButton; /** - * - List of all the form fields + * - List of all the form fields. */ inputs: any[]; created_on?: CreatedOn; poll_for_assignment?: PollForAssignment; /** - * - Unique identifier for the form + * - Unique identifier for the form. */ _id: string; }; @@ -379,15 +440,15 @@ type CustomForm = { declare function FeedbackForm(): FeedbackForm; type FeedbackForm = { /** - * - Input details for the feed back form + * - Input details for the feedback form. */ inputs?: any; /** - * - Title for the feed back form + * - Title for the feedback form. */ title?: string; /** - * - Gives details of category releted data + * - Timestamp details of feedback form. */ timestamps?: any; }; @@ -395,16 +456,16 @@ type FeedbackForm = { declare function TicketCategory(): TicketCategory; type TicketCategory = { /** - * - Category display value identifier + * - Category display value identifier. */ display: string; /** - * - Category key value identifier + * - Category key value identifier. */ key: string; sub_categories?: TicketCategory; /** - * - Group id of category releted data + * - Group id of category related data. */ group_id?: number; feedback_form?: FeedbackForm; @@ -413,32 +474,32 @@ type TicketCategory = { declare function TicketHistory(): TicketHistory; type TicketHistory = { /** - * - Type of the history event + * - Type of the history event. */ type: string; /** - * - Data of the history event + * - Data of the history event. */ value: any; /** - * - Readable ticket number + * - Readable ticket number. */ ticket_id: string; created_on?: CreatedOn; /** - * - User who created the history event + * - User who created the history event. */ created_by?: any; /** - * - Unique identifier of the history event + * - Unique identifier of the history event. */ _id: string; /** - * - Time of last update of the history event + * - Time of last update of the history event. */ updated_at?: string; /** - * - Time of creation of the history event + * - Time of creation of the history event. */ created_at?: string; }; @@ -448,54 +509,54 @@ type Ticket = { context?: TicketContext; created_on?: CreatedOn; /** - * - Details of company and application - * realated to the ticket + * - Details of company and application related + * to the ticket. */ response_id?: string; content?: TicketContent; category: TicketCategory; /** - * - Sub-category assigned to the ticket + * - Sub-category assigned to the ticket. */ sub_category?: string; source: TicketSourceEnum; status: Status; priority: Priority; /** - * - User details of ticket creator + * - User details of ticket creator. */ created_by?: any; /** - * - Details of support staff to whom ticket is assigned + * - Details of support staff to whom ticket is assigned. */ assigned_to?: any; /** - * - Tags relevant to ticket + * - Tags relevant to ticket. */ tags?: string[]; /** - * - Custom json relevant to the ticket + * - Custom json relevant to the ticket. */ _custom_json?: any; /** - * - Denotes if feedback submission is - * pending for the ticket + * - If feedback submission is pending + * for the ticket. */ is_feedback_pending?: boolean; /** - * - Integration type and its details of the ticket + * - Integration type and its details of the ticket. */ integration?: any; /** - * - Unique identifier for the ticket + * - Unique identifier for the ticket. */ _id: string; /** - * - Time when the ticket was last updated + * - Time when the ticket was last updated. */ updated_at?: string; /** - * - Time when the ticket was created + * - Time when the ticket was created. */ created_at?: string; }; diff --git a/sdk/application/Lead/LeadApplicationModel.js b/sdk/application/Lead/LeadApplicationModel.js index 80594eff1..536be3de7 100644 --- a/sdk/application/Lead/LeadApplicationModel.js +++ b/sdk/application/Lead/LeadApplicationModel.js @@ -2,158 +2,179 @@ const Joi = require("joi"); /** * @typedef TicketHistoryPayload - * @property {Object} value - Details of history event + * @property {Object} value - Details of history event. * @property {HistoryTypeEnum} type */ /** * @typedef CustomFormSubmissionPayload - * @property {Object[]} response - Form response - * @property {TicketAsset[]} [attachments] - List of all attachments related to the form + * @property {Object[]} response - Custom form response. + * @property {TicketAsset[]} [attachments] - List of all attachments related to the form. */ /** * @typedef SubmitCustomFormResponse - * @property {string} message - Success message for form submission + * @property {string} message - Success message for form submission. * @property {Ticket} [ticket] + * @property {FormFieldResponse} [response] + */ + +/** + * @typedef FormFieldResponse + * @property {string} [_id] - Unique identifier for a custom form response. + * @property {number} [__v] - Version of the form. + * @property {string} [application_id] - Unique identifier for a Sales channel. + * @property {string} [form_slug] - A short, human-readable, URL-friendly unique + * identifier for a custom form. + * @property {CreatedOn} [created_on] + * @property {FormFieldResponseValues[]} [response] - Data related to + * acknowledgement on submission of custom form. + */ + +/** + * @typedef FormFieldResponseValues + * @property {string} [key] - Keyname of field against which the input was + * filled in custom form. */ /** * @typedef TicketContext - * @property {string} [application_id] - Application ID related to the ticket - * @property {string} company_id - Company ID related to the ticket + * @property {string} [application_id] - Unique identifier for a Sales channel. + * @property {string} company_id - Company ID related to the ticket. */ /** * @typedef CreatedOn - * @property {string} user_agent - Useragent details + * @property {string} user_agent - Useragent details. */ /** * @typedef TicketAsset - * @property {string} [display] - Display text for asset - * @property {string} value - To be used for details + * @property {string} [display] - Display text for asset. + * @property {string} value - To be used for details. * @property {TicketAssetTypeEnum} type */ /** * @typedef TicketContent - * @property {string} title - Title for ticket - * @property {string} [description] - Long description of issue - * @property {TicketAsset[]} [attachments] - List of all attachments related to the ticket + * @property {string} title - Title for ticket. + * @property {string} [description] - Long description of issue. + * @property {TicketAsset[]} [attachments] - List of all attachments related to + * the ticket. */ /** * @typedef AddTicketPayload - * @property {Object} [created_by] - Creator of the ticket - * @property {string} [status] - Status of the ticket + * @property {Object} [created_by] - Creator of the ticket. + * @property {string} [status] - Status of the ticket. * @property {PriorityEnum} [priority] - * @property {string} category - Category of the ticket + * @property {string} category - Category of the ticket. * @property {TicketContent} content - * @property {Object} [_custom_json] - Optional custom data that needs to be sent - * @property {string[]} [subscribers] + * @property {Object} [_custom_json] - Optional custom data that needs to be sent. + * @property {string[]} [subscribers] - List of emails to be informed for ticket updates. */ /** * @typedef Priority * @property {PriorityEnum} key - * @property {string} display - Display text for priority - * @property {string} color - Color for priority + * @property {string} display - Display text for priority. + * @property {string} color - Color for priority. */ /** * @typedef Status - * @property {string} key - Key for status - * @property {string} display - Display text for status - * @property {string} color - Color for status + * @property {string} key - Key for status. + * @property {string} display - Display text for status. + * @property {string} color - Color for status. */ /** * @typedef SubmitButton - * @property {string} title - Title for submit button - * @property {string} title_color - Title color submit button - * @property {string} background_color - Color for submit button + * @property {string} title - Title for submit button. + * @property {string} title_color - Title color submit button. + * @property {string} background_color - Color for submit button. */ /** * @typedef PollForAssignment - * @property {number} duration - Duration for polling of staff - * @property {string} message - Message for polling - * @property {string} success_message - Message for successful polling - * @property {string} failure_message - Message if polling failed + * @property {number} duration - Duration for polling of staff. + * @property {string} message - Message for polling. + * @property {string} success_message - Message for successful polling. + * @property {string} failure_message - Message if polling failed. */ /** * @typedef CustomForm - * @property {string} application_id - Application ID for form - * @property {string} slug - Slug for the form, which is to be used for accessing the form - * @property {string} [header_image] - Form header image that will be shown to the user - * @property {string} title - Form title that will be shown to the user - * @property {string} [description] - Form description that will be shown to the user + * @property {string} application_id - Application ID - Identifier for a Sales channel. + * @property {string} slug - Slug for the form, which is to be used for + * accessing the form. + * @property {string} [header_image] - Form header image that will be shown to the user. + * @property {string} title - Form title that will be shown to the user. + * @property {string} [description] - Form description that will be shown to the user. * @property {Priority} priority - * @property {boolean} login_required - Denotes if login is required to make a - * form response submission - * @property {boolean} should_notify - Denotes if new response submission for - * the form should be notified to the assignees + * @property {boolean} login_required - If login is required to make a form + * response submission. + * @property {boolean} should_notify - If new response submission for the form + * should be notified to the assignees. * @property {string} [success_message] - Message that is to be shown on - * succesfull form response submission + * successful form response submission. * @property {SubmitButton} [submit_button] - * @property {Object[]} inputs - List of all the form fields + * @property {Object[]} inputs - List of all the form fields. * @property {CreatedOn} [created_on] * @property {PollForAssignment} [poll_for_assignment] - * @property {string} _id - Unique identifier for the form + * @property {string} _id - Unique identifier for the form. */ /** * @typedef FeedbackForm - * @property {Object} [inputs] - Input details for the feed back form - * @property {string} [title] - Title for the feed back form - * @property {Object} [timestamps] - Gives details of category releted data + * @property {Object} [inputs] - Input details for the feedback form. + * @property {string} [title] - Title for the feedback form. + * @property {Object} [timestamps] - Timestamp details of feedback form. */ /** * @typedef TicketCategory - * @property {string} display - Category display value identifier - * @property {string} key - Category key value identifier + * @property {string} display - Category display value identifier. + * @property {string} key - Category key value identifier. * @property {TicketCategory} [sub_categories] - * @property {number} [group_id] - Group id of category releted data + * @property {number} [group_id] - Group id of category related data. * @property {FeedbackForm} [feedback_form] */ /** * @typedef TicketHistory - * @property {string} type - Type of the history event - * @property {Object} value - Data of the history event - * @property {string} ticket_id - Readable ticket number + * @property {string} type - Type of the history event. + * @property {Object} value - Data of the history event. + * @property {string} ticket_id - Readable ticket number. * @property {CreatedOn} [created_on] - * @property {Object} [created_by] - User who created the history event - * @property {string} _id - Unique identifier of the history event - * @property {string} [updated_at] - Time of last update of the history event - * @property {string} [created_at] - Time of creation of the history event + * @property {Object} [created_by] - User who created the history event. + * @property {string} _id - Unique identifier of the history event. + * @property {string} [updated_at] - Time of last update of the history event. + * @property {string} [created_at] - Time of creation of the history event. */ /** * @typedef Ticket * @property {TicketContext} [context] * @property {CreatedOn} [created_on] - * @property {string} [response_id] - Details of company and application - * realated to the ticket + * @property {string} [response_id] - Details of company and application related + * to the ticket. * @property {TicketContent} [content] * @property {TicketCategory} category - * @property {string} [sub_category] - Sub-category assigned to the ticket + * @property {string} [sub_category] - Sub-category assigned to the ticket. * @property {TicketSourceEnum} source * @property {Status} status * @property {Priority} priority - * @property {Object} [created_by] - User details of ticket creator - * @property {Object} [assigned_to] - Details of support staff to whom ticket is assigned - * @property {string[]} [tags] - Tags relevant to ticket - * @property {Object} [_custom_json] - Custom json relevant to the ticket - * @property {boolean} [is_feedback_pending] - Denotes if feedback submission is - * pending for the ticket - * @property {Object} [integration] - Integration type and its details of the ticket - * @property {string} _id - Unique identifier for the ticket - * @property {string} [updated_at] - Time when the ticket was last updated - * @property {string} [created_at] - Time when the ticket was created + * @property {Object} [created_by] - User details of ticket creator. + * @property {Object} [assigned_to] - Details of support staff to whom ticket is assigned. + * @property {string[]} [tags] - Tags relevant to ticket. + * @property {Object} [_custom_json] - Custom json relevant to the ticket. + * @property {boolean} [is_feedback_pending] - If feedback submission is pending + * for the ticket. + * @property {Object} [integration] - Integration type and its details of the ticket. + * @property {string} _id - Unique identifier for the ticket. + * @property {string} [updated_at] - Time when the ticket was last updated. + * @property {string} [created_at] - Time when the ticket was created. */ /** @typedef {"low" | "medium" | "high" | "urgent"} PriorityEnum */ @@ -196,6 +217,28 @@ class LeadApplicationModel { return Joi.object({ message: Joi.string().allow("").required(), ticket: LeadApplicationModel.Ticket(), + response: LeadApplicationModel.FormFieldResponse(), + }); + } + + /** @returns {FormFieldResponse} */ + static FormFieldResponse() { + return Joi.object({ + _id: Joi.string().allow(""), + __v: Joi.number(), + application_id: Joi.string().allow(""), + form_slug: Joi.string().allow(""), + created_on: LeadApplicationModel.CreatedOn(), + response: Joi.array().items( + LeadApplicationModel.FormFieldResponseValues() + ), + }); + } + + /** @returns {FormFieldResponseValues} */ + static FormFieldResponseValues() { + return Joi.object({ + key: Joi.string().allow(""), }); } diff --git a/sdk/application/Lead/LeadApplicationValidator.d.ts b/sdk/application/Lead/LeadApplicationValidator.d.ts index be5fb95a8..30568ae36 100644 --- a/sdk/application/Lead/LeadApplicationValidator.d.ts +++ b/sdk/application/Lead/LeadApplicationValidator.d.ts @@ -1,7 +1,7 @@ export = LeadApplicationValidator; /** * @typedef CreateHistoryParam - * @property {string} id - Ticket ID for which history is created + * @property {string} id - Ticket ID for which history is created. * @property {LeadApplicationModel.TicketHistoryPayload} body */ /** @@ -10,15 +10,15 @@ export = LeadApplicationValidator; */ /** * @typedef GetCustomFormParam - * @property {string} slug - Slug of form whose response is getting submitted + * @property {string} slug - Slug of form whose response is getting submitted. */ /** * @typedef GetTicketParam - * @property {string} id - ID of ticket to be retrieved + * @property {string} id - ID of ticket to be retrieved. */ /** * @typedef SubmitCustomFormParam - * @property {string} slug - Slug of form whose response is getting submitted + * @property {string} slug - Slug of form whose response is getting submitted. * @property {LeadApplicationModel.CustomFormSubmissionPayload} body */ declare class LeadApplicationValidator { @@ -38,7 +38,7 @@ declare namespace LeadApplicationValidator { } type CreateHistoryParam = { /** - * - Ticket ID for which history is created + * - Ticket ID for which history is created. */ id: string; body: LeadApplicationModel.TicketHistoryPayload; @@ -48,19 +48,19 @@ type CreateTicketParam = { }; type GetCustomFormParam = { /** - * - Slug of form whose response is getting submitted + * - Slug of form whose response is getting submitted. */ slug: string; }; type GetTicketParam = { /** - * - ID of ticket to be retrieved + * - ID of ticket to be retrieved. */ id: string; }; type SubmitCustomFormParam = { /** - * - Slug of form whose response is getting submitted + * - Slug of form whose response is getting submitted. */ slug: string; body: LeadApplicationModel.CustomFormSubmissionPayload; diff --git a/sdk/application/Lead/LeadApplicationValidator.js b/sdk/application/Lead/LeadApplicationValidator.js index 9cb539932..cd464b3f2 100644 --- a/sdk/application/Lead/LeadApplicationValidator.js +++ b/sdk/application/Lead/LeadApplicationValidator.js @@ -4,7 +4,7 @@ const LeadApplicationModel = require("./LeadApplicationModel"); /** * @typedef CreateHistoryParam - * @property {string} id - Ticket ID for which history is created + * @property {string} id - Ticket ID for which history is created. * @property {LeadApplicationModel.TicketHistoryPayload} body */ @@ -15,17 +15,17 @@ const LeadApplicationModel = require("./LeadApplicationModel"); /** * @typedef GetCustomFormParam - * @property {string} slug - Slug of form whose response is getting submitted + * @property {string} slug - Slug of form whose response is getting submitted. */ /** * @typedef GetTicketParam - * @property {string} id - ID of ticket to be retrieved + * @property {string} id - ID of ticket to be retrieved. */ /** * @typedef SubmitCustomFormParam - * @property {string} slug - Slug of form whose response is getting submitted + * @property {string} slug - Slug of form whose response is getting submitted. * @property {LeadApplicationModel.CustomFormSubmissionPayload} body */ diff --git a/sdk/application/Logistic/LogisticApplicationClient.d.ts b/sdk/application/Logistic/LogisticApplicationClient.d.ts index ffeaea1ba..ea8a3c961 100644 --- a/sdk/application/Logistic/LogisticApplicationClient.d.ts +++ b/sdk/application/Logistic/LogisticApplicationClient.d.ts @@ -24,7 +24,7 @@ declare class Logistic { * @returns {Promise} - Success response * @name getAllCountries * @summary: Get deliverable countries - * @description: Retrieves a list of countries within the specified delivery zones for that application. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getAllCountries/). + * @description: Get a list of countries within the specified delivery zones for that application. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getAllCountries/). */ getAllCountries({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -34,7 +34,7 @@ declare class Logistic { * @returns {Promise} - Success response * @name getCountries * @summary: Get countries - * @description: Fetch the list of supported countries. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getCountries/). + * @description: List of supported countries. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getCountries/). */ getCountries({ onboarding, pageNo, pageSize, q, requestHeaders }?: LogisticApplicationValidator.GetCountriesParam, { responseHeaders }?: object): Promise; /** @@ -44,7 +44,7 @@ declare class Logistic { * @returns {Promise} - Success response * @name getCountry * @summary: Get country details - * @description: Fetch details about a particular country and its address format customized for different business scenarios. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getCountry/). + * @description: Get details about a particular country and its address format customized for different business scenarios. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getCountry/). */ getCountry({ countryIsoCode, requestHeaders }?: LogisticApplicationValidator.GetCountryParam, { responseHeaders }?: object): Promise; /** @@ -54,7 +54,7 @@ declare class Logistic { * @returns {Promise} - Success response * @name getLocalities * @summary: Get localities - * @description: Retrieve geographical data for a specific type of locality based on the provided filters. For instance, obtain a list of cities for a given country and state. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getLocalities/). + * @description: Get geographical data for a specific type of locality based on the provided filters. For instance, obtain a list of cities for a given country and state. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getLocalities/). */ getLocalities({ localityType, country, state, city, pageNo, pageSize, q, requestHeaders, }?: LogisticApplicationValidator.GetLocalitiesParam, { responseHeaders }?: object): Promise; /** @@ -64,7 +64,7 @@ declare class Logistic { * @returns {Promise} - Success response * @name getLocality * @summary: Get locality detail - * @description: Retrieve detailed geographical data for a specific locality, such as a pincode. For example, for a pincode value of 400603, the service returns its parent locations, including city, state, and country details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getLocality/). + * @description: Get detailed geographical data for a specific locality, such as a pincode. For example, for a pincode value of 400603, the service returns its parent locations, including city, state, and country details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getLocality/). */ getLocality({ localityType, localityValue, country, state, city, requestHeaders }?: LogisticApplicationValidator.GetLocalityParam, { responseHeaders }?: object): Promise; /** @@ -74,7 +74,7 @@ declare class Logistic { * @returns {Promise} - Success response * @name getLocations * @summary: Get available selling locations - * @description: Retrieves stores available for the application based on Delivery Zones and Order Orchestration rules. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getLocations/). + * @description: Get stores available for the application based on Delivery Zones and Order Orchestration rules. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getLocations/). */ getLocations({ xApplicationId, xApplicationData, country, state, city, pincode, sector, pageNo, pageSize, requestHeaders, }?: LogisticApplicationValidator.GetLocationsParam, { responseHeaders }?: object): Promise; /** @@ -85,7 +85,7 @@ declare class Logistic { * Success response * @name getOptimalLocations * @summary: Get selling locations - * @description: Determines and returns the best fulfillment center for customers by analyzing their location, product availability, and inventory levels. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getOptimalLocations/). + * @description: Get optimal fulfillment centre for customers by analyzing their location, product availability, and inventory levels. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getOptimalLocations/). */ getOptimalLocations({ body, requestHeaders }?: LogisticApplicationValidator.GetOptimalLocationsParam, { responseHeaders }?: object): Promise; /** @@ -95,7 +95,7 @@ declare class Logistic { * @returns {Promise} - Success response * @name getPincodeCity * @summary: Get pincode details - * @description: Retrieve details of a specific pincode, such as obtaining its city and state information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getPincodeCity/). + * @description: Get details of a specific pincode, such as obtaining its city and state information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getPincodeCity/). */ getPincodeCity({ pincode, requestHeaders }?: LogisticApplicationValidator.GetPincodeCityParam, { responseHeaders }?: object): Promise; /** @@ -107,7 +107,7 @@ declare class Logistic { * * @name getPincodeZones * @summary: Get zones - * @description: Retrieve the delivery zone associated with a given pincode - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getPincodeZones/). + * @description: Get the delivery zone associated with a given pincode. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getPincodeZones/). */ getPincodeZones({ body, requestHeaders }?: LogisticApplicationValidator.GetPincodeZonesParam, { responseHeaders }?: object): Promise; /** @@ -117,7 +117,7 @@ declare class Logistic { * @returns {Promise} - Success response * @name getTatProduct * @summary: Get product's turnaround time - * @description: Retrieve the estimated delivery timeframe for a specific product from a designated store. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getTatProduct/). + * @description: Get the estimated delivery time frame for a specific product from a designated store. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getTatProduct/). */ getTatProduct({ body, requestHeaders }?: LogisticApplicationValidator.GetTatProductParam, { responseHeaders }?: object): Promise; /** diff --git a/sdk/application/Logistic/LogisticApplicationClient.js b/sdk/application/Logistic/LogisticApplicationClient.js index be65ba7c9..dccdc5b0d 100644 --- a/sdk/application/Logistic/LogisticApplicationClient.js +++ b/sdk/application/Logistic/LogisticApplicationClient.js @@ -54,7 +54,7 @@ class Logistic { * @returns {Promise} - Success response * @name getAllCountries * @summary: Get deliverable countries - * @description: Retrieves a list of countries within the specified delivery zones for that application. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getAllCountries/). + * @description: Get a list of countries within the specified delivery zones for that application. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getAllCountries/). */ async getAllCountries( { requestHeaders } = { requestHeaders: {} }, @@ -132,7 +132,7 @@ class Logistic { * @returns {Promise} - Success response * @name getCountries * @summary: Get countries - * @description: Fetch the list of supported countries. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getCountries/). + * @description: List of supported countries. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getCountries/). */ async getCountries( { onboarding, pageNo, pageSize, q, requestHeaders } = { @@ -216,7 +216,7 @@ class Logistic { * @returns {Promise} - Success response * @name getCountry * @summary: Get country details - * @description: Fetch details about a particular country and its address format customized for different business scenarios. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getCountry/). + * @description: Get details about a particular country and its address format customized for different business scenarios. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getCountry/). */ async getCountry( { countryIsoCode, requestHeaders } = { requestHeaders: {} }, @@ -294,7 +294,7 @@ class Logistic { * @returns {Promise} - Success response * @name getLocalities * @summary: Get localities - * @description: Retrieve geographical data for a specific type of locality based on the provided filters. For instance, obtain a list of cities for a given country and state. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getLocalities/). + * @description: Get geographical data for a specific type of locality based on the provided filters. For instance, obtain a list of cities for a given country and state. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getLocalities/). */ async getLocalities( { @@ -387,7 +387,7 @@ class Logistic { * @returns {Promise} - Success response * @name getLocality * @summary: Get locality detail - * @description: Retrieve detailed geographical data for a specific locality, such as a pincode. For example, for a pincode value of 400603, the service returns its parent locations, including city, state, and country details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getLocality/). + * @description: Get detailed geographical data for a specific locality, such as a pincode. For example, for a pincode value of 400603, the service returns its parent locations, including city, state, and country details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getLocality/). */ async getLocality( { localityType, localityValue, country, state, city, requestHeaders } = { @@ -470,7 +470,7 @@ class Logistic { * @returns {Promise} - Success response * @name getLocations * @summary: Get available selling locations - * @description: Retrieves stores available for the application based on Delivery Zones and Order Orchestration rules. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getLocations/). + * @description: Get stores available for the application based on Delivery Zones and Order Orchestration rules. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getLocations/). */ async getLocations( { @@ -589,7 +589,7 @@ class Logistic { * Success response * @name getOptimalLocations * @summary: Get selling locations - * @description: Determines and returns the best fulfillment center for customers by analyzing their location, product availability, and inventory levels. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getOptimalLocations/). + * @description: Get optimal fulfillment centre for customers by analyzing their location, product availability, and inventory levels. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getOptimalLocations/). */ async getOptimalLocations( { body, requestHeaders } = { requestHeaders: {} }, @@ -669,7 +669,7 @@ class Logistic { * @returns {Promise} - Success response * @name getPincodeCity * @summary: Get pincode details - * @description: Retrieve details of a specific pincode, such as obtaining its city and state information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getPincodeCity/). + * @description: Get details of a specific pincode, such as obtaining its city and state information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getPincodeCity/). */ async getPincodeCity( { pincode, requestHeaders } = { requestHeaders: {} }, @@ -749,7 +749,7 @@ class Logistic { * * @name getPincodeZones * @summary: Get zones - * @description: Retrieve the delivery zone associated with a given pincode - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getPincodeZones/). + * @description: Get the delivery zone associated with a given pincode. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getPincodeZones/). */ async getPincodeZones( { body, requestHeaders } = { requestHeaders: {} }, @@ -827,7 +827,7 @@ class Logistic { * @returns {Promise} - Success response * @name getTatProduct * @summary: Get product's turnaround time - * @description: Retrieve the estimated delivery timeframe for a specific product from a designated store. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getTatProduct/). + * @description: Get the estimated delivery time frame for a specific product from a designated store. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/logistic/getTatProduct/). */ async getTatProduct( { body, requestHeaders } = { requestHeaders: {} }, diff --git a/sdk/application/Logistic/LogisticApplicationModel.d.ts b/sdk/application/Logistic/LogisticApplicationModel.d.ts index 52cd4f0ea..f70d6f08d 100644 --- a/sdk/application/Logistic/LogisticApplicationModel.d.ts +++ b/sdk/application/Logistic/LogisticApplicationModel.d.ts @@ -1,132 +1,178 @@ export = LogisticApplicationModel; /** * @typedef GetStoreResponse - * @property {StoreItemResponse[]} [items] + * @property {StoreItemResponse[]} [items] - List of locations, each containing + * detailed information about individual location. * @property {Page} [page] */ /** * @typedef StoreItemResponse - * @property {number} [id] - * @property {string} [store_type] - * @property {string} [fulfillment_type] - * @property {number} [processing_time] - * @property {string[]} [tags] - * @property {number} [company_id] - * @property {number} [latitude] - * @property {number} [longitude] + * @property {number} [id] - A unique identifier for the location. + * @property {string} [store_type] - The type of store, indicating the nature of + * the store, such as retail or warehouse. + * @property {string} [fulfillment_type] - The method of fulfillment used by the + * store, such as shipping, pickup, or delivery. + * @property {number} [processing_time] - The average time taken by the store to + * process orders, measured in minutes. + * @property {string[]} [tags] - List of tags associated with the store for + * categorization and search purposes. + * @property {number} [company_id] - The unique identifier of the company that + * owns the store. + * @property {number} [latitude] - The geographical latitude coordinate of the + * store location. + * @property {number} [longitude] - The geographical longitude coordinate of the + * store location. */ /** * @typedef ValidateAddressRequest - * @property {string} [address] - A string representing the complete address, - * combining address line 1, address line 2, area, landmark, sector, city, - * state, and pincode. This provides a comprehensive view of the address details. - * @property {string} [address1] - A string representing the first line of the - * address, typically containing street or building information. - * @property {string} [address2] - A string representing the second line of the - * address, which can be used for additional address details if needed. - * @property {string} [area] - A string specifying the locality or area - * associated with the address. - * @property {string} [landmark] - A string representing a prominent nearby - * landmark that aids in locating the address. - * @property {string} [pincode] - A string indicating the postal code or PIN - * code of the address area. - * @property {string} [sector] - A string specifying the sector or district of - * the address if applicable. - * @property {string} [city] - A string denoting the city or municipality of the address. - * @property {string} [state] - A string indicating the state or province of the address. - * @property {string} [name] - A string representing the recipient's name or the - * organization name associated with the address. - * @property {string} [phone] - An integer representing the recipient's contact - * phone number. - * @property {string} [email] - A string containing the recipient's email address. + * @property {string} [address] - Complete address, combining address line 1, + * address line 2, area, landmark, sector, city, state, and pincode. + * @property {string} [address1] - First line of the address, typically + * containing street or building information. + * @property {string} [address2] - Second line of the address, which can be used + * for additional address details if needed. + * @property {string} [area] - Locality or area associated with the address. + * @property {string} [landmark] - Prominent nearby landmark that aids in + * locating the address. + * @property {string} [pincode] - Postal code or PIN code of the address area. + * @property {string} [sector] - Specifies the sector or district of the address + * if applicable. + * @property {string} [city] - Denote the city or municipality of the address. + * @property {string} [state] - Indicates the state or province of the address. + * @property {string} [name] - Recipient's name associated with the address. + * @property {string} [phone] - Recipient's contact phone number. + * @property {string} [email] - Recipient's email address. */ /** * @typedef PincodeParentsResponse - * @property {string} [sub_type] - * @property {string} [display_name] - * @property {string} [name] - * @property {string} [uid] + * @property {string} [sub_type] - Specific type of locality hierarchy the + * pincode belongs to (e.g., city, state, country). + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string} [name] - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + * @property {string} [uid] - Unique identifier for the locality. */ /** * @typedef PincodeMetaResponse - * @property {string} [zone] - * @property {number} [internal_zone_id] + * @property {string} [zone] - Geographical region to which the pincode belongs, + * often used to categorize or group pincodes for regional management or + * postal purposes. + * @property {number} [internal_zone_id] - A unique identifier used within the + * system to track or reference the specific zone associated with the pincode. */ /** * @typedef PincodeErrorSchemaResponse - * @property {string} [message] - * @property {string} [value] - * @property {string} [type] + * @property {string} [message] - A user-readable description of the error, + * explaining what went wrong. + * @property {string} [value] - A specific code or identifier related to the + * error, used for referencing or categorizing the error. + * @property {string} [type] - The classification of the error, indicating the + * kind of issue. */ /** * @typedef CountryMetaResponse - * @property {string} [country_code] - * @property {string} [isd_code] + * @property {string} [country_code] - The ISO 3166-1 alpha-2 code representing + * the country (e.g., "IN" for India, "US" for the United States). + * @property {string} [isd_code] - The International Subscriber Dialing (ISD) + * code, also known as the country dialing code, used for making international + * phone calls to the country (e.g., "+91" for India, "+1" for the United States). */ /** * @typedef PincodeLatLongData - * @property {string} [type] - * @property {string[]} [coordinates] + * @property {string} [type] - Specifies the type of geographical feature or + * data, typically "Point" for coordinates in geographic data systems. + * @property {string[]} [coordinates] - Contains the latitude and longitude + * values representing the precise location. The format is usually an array + * with two values: [longitude, latitude]. */ /** * @typedef PincodeDataResponse - * @property {PincodeParentsResponse[]} [parents] + * @property {PincodeParentsResponse[]} [parents] - List of object representing + * a collection of geographical locations, each associated with specific + * hierarchical data such as cities, states, or countries. * @property {PincodeMetaResponse} [meta] - * @property {string} [display_name] + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. * @property {PincodeErrorSchemaResponse} error * @property {CountryMetaResponse} [meta_code] * @property {PincodeLatLongData} [lat_long] - * @property {string} [sub_type] - * @property {string} [name] - * @property {string} [uid] + * @property {string} [sub_type] - Indicates the specific type of locality + * hierarchy the pincode belongs to (e.g., city, state, country). + * @property {string} [name] - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + * @property {string} [uid] - This field stands for "Unique Identifier," a + * unique value assigned to each instance to ensure differentiation and reference. */ /** * @typedef PincodeApiResponse - * @property {boolean} success - * @property {PincodeDataResponse[]} [data] + * @property {boolean} success - Indicates whether the API request was + * successful (true) or failed (false). + * @property {PincodeDataResponse[]} [data] - Contains the actual response data + * when the request is successful, providing details like pincode information + * or related data. * @property {PincodeErrorSchemaResponse} error */ /** * @typedef TATCategoryRequest - * @property {string} [level] - * @property {number} [id] + * @property {string} [level] - Specifies the hierarchical level of the category + * (e.g., country, state, city). + * @property {number} [id] - Represents the unique identifier for the category + * at the specified level. */ /** * @typedef TATArticlesRequest * @property {TATCategoryRequest} [category] - * @property {string} [manufacturing_time_unit] - * @property {number} [manufacturing_time] + * @property {string} [manufacturing_time_unit] - The unit of measurement for + * the manufacturing time, such as hours or days. + * @property {number} [manufacturing_time] - The amount of time required to + * manufacture the article, specified in the unit given by `manufacturing_time_unit`. */ /** * @typedef TATLocationDetailsRequest - * @property {number} [fulfillment_id] - * @property {string} [from_pincode] - * @property {TATArticlesRequest[]} [articles] + * @property {number} [fulfillment_id] - A unique identifier of the fulfilling location. + * @property {string} [from_pincode] - The postal code of the location from + * which the fulfillment originates. + * @property {TATArticlesRequest[]} [articles] - List of articles included in + * the fulfillment request, which provides details about the items to be + * processed or shipped. */ /** * @typedef TATViewRequest - * @property {string} [to_pincode] - * @property {string} [source] - * @property {string} [action] - * @property {string} [identifier] - * @property {TATLocationDetailsRequest[]} [location_details] - * @property {string} [journey] + * @property {string} [to_pincode] - The postal code of the destination location + * where the fulfillment or shipment is headed. + * @property {string} [source] - The origin or source of the request, indicating + * where the data or action is coming from. + * @property {string} [action] - The specific operation or request being made, + * such as viewing, updating, or managing data. + * @property {string} [identifier] - A unique ID used to reference or track the + * specific request or item within the system. + * @property {TATLocationDetailsRequest[]} [location_details] - Locations + * involved in the request, including details about both the source and destination. + * @property {string} [journey] - Indicates the direction of the request or + * shipment. It can either be "forward" (from the source to the destination) + * or "return" (from the destination back to the source). */ /** * @typedef TATErrorSchemaResponse - * @property {string} [message] - * @property {string} [value] - * @property {string} [type] + * @property {string} [message] - A user-readable description of the error, + * explaining what went wrong. + * @property {string} [value] - A specific code or identifier related to the + * error, used for referencing or categorizing the error. + * @property {string} [type] - The classification of the error, indicating the + * kind of issue. */ /** * @typedef TATTimestampResponse - * @property {number} [min] - * @property {number} [max] + * @property {number} [min] - The earliest possible timestamp. + * @property {number} [max] - The latest possible timestamp. */ /** * @typedef TATFormattedResponse - * @property {string} [min] - * @property {string} [max] + * @property {string} [min] - The earliest possible timestamp. + * @property {string} [max] - The latest possible timestamp. */ /** * @typedef TATPromiseResponse @@ -135,137 +181,192 @@ export = LogisticApplicationModel; */ /** * @typedef TATArticlesResponse - * @property {string} [manufacturing_time_unit] + * @property {string} [manufacturing_time_unit] - The unit of measurement for + * the manufacturing time such as hours or days. * @property {TATErrorSchemaResponse} [error] - * @property {boolean} [is_cod_available] + * @property {boolean} [is_cod_available] - Indicates whether Cash on Delivery + * (COD) is available for the articles. * @property {TATPromiseResponse} [promise] - * @property {number} [manufacturing_time] + * @property {number} [manufacturing_time] - The time required to manufacture + * the articles, measured in the unit specified by manufacturing_time_unit. * @property {TATCategoryRequest} [category] - * @property {number} [_manufacturing_time_seconds] + * @property {number} [_manufacturing_time_seconds] - The manufacturing time + * converted into seconds. */ /** * @typedef TATLocationDetailsResponse - * @property {number} [fulfillment_id] - * @property {string} [from_pincode] - * @property {TATArticlesResponse[]} [articles] + * @property {number} [fulfillment_id] - A unique identifier of the fulfilling location. + * @property {string} [from_pincode] - The postal code of the location from + * which the fulfillment originates. + * @property {TATArticlesResponse[]} [articles] - List of articles included in + * the fulfillment request, which provides details about the items to be + * processed or shipped. */ /** * @typedef TATViewResponse - * @property {string} [to_pincode] - * @property {string} [request_uuid] - * @property {string} [payment_mode] - * @property {boolean} [success] + * @property {string} [to_pincode] - The postal code of the destination location + * where the fulfillment or shipment is headed. + * @property {string} [request_uuid] - A unique identifier for the request. + * @property {string} [payment_mode] - The mode of payment used for the transaction. + * @property {boolean} [success] - Whether the request was successful (true/false). * @property {TATErrorSchemaResponse} [error] - * @property {boolean} [is_cod_available] - * @property {string} [source] - * @property {string} [action] - * @property {string} [stormbreaker_uuid] - * @property {string} [to_city] - * @property {string} [identifier] - * @property {TATLocationDetailsResponse[]} [location_details] - * @property {string} [journey] + * @property {boolean} [is_cod_available] - Whether Cash on Delivery (COD) is + * available for the request. + * @property {string} [source] - The origin or source of the request. + * @property {string} [action] - The action performed or requested (e.g., + * forward, return). + * @property {string} [stormbreaker_uuid] - A unique identifier related to the + * stormbreaker process. + * @property {string} [to_city] - The city corresponding to the destination pincode. + * @property {string} [identifier] - A unique identifier for the request or transaction. + * @property {TATLocationDetailsResponse[]} [location_details] - Location + * involved in the request. + * @property {string} [journey] - Type of journey, either forward or return. */ /** * @typedef DP - * @property {number} fm_priority - * @property {number} lm_priority - * @property {number} rvp_priority - * @property {string} payment_mode - * @property {string[]} operations - * @property {string} [area_code] - * @property {boolean} [assign_dp_from_sb] - * @property {string} [internal_account_id] - * @property {string} [external_account_id] - * @property {string} [transport_mode] + * @property {number} fm_priority - First Mile Priority; focuses on the initial + * segment of the logistics process, from the point of origin to the first + * distribution center. + * @property {number} lm_priority - Last Mile Priority; deals with the final + * stage of the delivery process, where goods are delivered from the + * distribution center to the final destination. + * @property {number} rvp_priority - Reverse Pickup Priority; pertains to the + * process of collecting goods from the customer for return or exchange. + * @property {string} payment_mode - The method of payment used for + * transactions, such as credit card, debit card, cash on delivery, etc. + * @property {string[]} operations - Refers to the various activities and + * processes involved in managing and executing the delivery and logistics operations. + * @property {string} [area_code] - A code that identifies a specific geographic + * area, often used for sorting and routing deliveries. + * @property {boolean} [assign_dp_from_sb] - Indicates whether the delivery + * partner (DP) is assigned from stormbreaker service. + * @property {string} [internal_account_id] - An identifier used internally to + * track accounts or entities within the organization's system. + * @property {string} [external_account_id] - An identifier used to reference + * accounts or entities outside the organization's system, such as partner accounts. + * @property {string} [transport_mode] - The method of transportation used for + * delivering goods, such as road, rail, air, or sea. */ /** * @typedef LogisticsResponse - * @property {Object} [dp] + * @property {Object} [dp] - Provide entity responsible for handling the + * delivery of goods. */ /** * @typedef CountryEntityResponse * @property {CountryMetaResponse} [meta] * @property {LogisticsResponse} [logistics] - * @property {string} [display_name] - * @property {string} [type] - * @property {boolean} [is_active] - * @property {string} [parent_id] - * @property {string} [sub_type] - * @property {string} [name] - * @property {string} [uid] + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string} [type] - Specifies the type of geographical feature or + * data, typically "Point" for coordinates in geographic data systems. + * @property {boolean} [is_active] - Whether the country entity is currently + * active or not. + * @property {string} [parent_id] - Identifier for the parent of the current locality. + * @property {string} [sub_type] - Specific type of locality hierarchy the + * pincode belongs to (e.g., city, state, country). + * @property {string} [name] - Country name. + * @property {string} [uid] - Unique identifier for the country. */ /** * @typedef CountryListResponse - * @property {CountryEntityResponse[]} [results] + * @property {CountryEntityResponse[]} [results] - A list of country entities, + * each containing details about individual countries. */ /** * @typedef GetZoneFromPincodeViewRequest - * @property {string} pincode - * @property {string} country + * @property {string} pincode - The postal code or ZIP code used to pinpoint a + * specific geographic area or location. + * @property {string} country - The country where the pincode is located. */ /** * @typedef GetZoneFromPincodeViewResponse - * @property {string} serviceability_type - * @property {string[]} zones + * @property {string} serviceability_type - Specifies the type of serviceability + * for the given pincode, indicating whether it's deliverable or serviceable + * under certain conditions. + * @property {string[]} zones - Lists the zones associated with the pincode, + * detailing the geographical or logistical zones for service. */ /** * @typedef ReAssignStoreRequest - * @property {Object} configuration - * @property {string} to_pincode - * @property {number[]} ignored_locations - * @property {string} identifier - * @property {Object[]} articles + * @property {Object} configuration - Specifies the configuration settings or + * parameters for the store reassignment. + * @property {string} to_pincode - The postal code of the destination location + * where the fulfillment or shipment is headed. + * @property {number[]} ignored_locations - Locations that should be excluded + * from the reassignment process. + * @property {string} identifier - A unique identifier for the reassignment request. + * @property {Object[]} articles - List of articles or items involved in the + * store reassignment. */ /** * @typedef ReAssignStoreResponse - * @property {string} to_pincode - * @property {string} pystormbreaker_uuid - * @property {boolean} success - * @property {Object} error - * @property {Object[]} [assigned_stores] + * @property {string} to_pincode - The postal code of the destination location + * where the fulfillment or shipment is headed. + * @property {string} pystormbreaker_uuid - A unique identifier for tracking the + * reassignment operation. + * @property {boolean} success - Whether the reassignment was successful or not. + * @property {Object} error - Details about any errors encountered during the + * reassignment. + * @property {Object[]} [assigned_stores] - List of stores that have been + * successfully reassigned. */ /** * @typedef CountryHierarchy - * @property {string} [name] - * @property {string} [slug] + * @property {string} [name] - It represent a country name. + * @property {string} [slug] - A URL-friendly version of the name, often used + * for referencing or querying purposes. */ /** * @typedef CurrencyObject - * @property {string} [code] - * @property {string} [name] - * @property {string} [symbol] + * @property {string} [code] - The currency code, typically a three-letter ISO + * code (e.g., "USD" for US Dollar). + * @property {string} [name] - It represent a country name. + * @property {string} [symbol] - The symbol used to represent the currency + * (e.g., "$" for US Dollar). */ /** * @typedef CountryObject - * @property {string} [id] - * @property {string} [name] - * @property {string} [display_name] - * @property {string} [iso2] - * @property {string} [iso3] - * @property {string[]} [timezones] - * @property {CountryHierarchy[]} [hierarchy] - * @property {string} [phone_code] - * @property {string} [latitude] - * @property {string} [longitude] + * @property {string} [id] - Unique identifier for the country. + * @property {string} [name] - It represent a country name. + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string} [iso2] - Two-letter ISO code representing the country. + * @property {string} [iso3] - Three-letter ISO code representing the country. + * @property {string[]} [timezones] - List of time zones used in the country + * (e.g., ["America/New_York", "America/Los_Angeles"]). + * @property {CountryHierarchy[]} [hierarchy] - Levels within the country (e.g., + * states, cities) and their slugs (e.g., [{"name": "State", "slug": "state"}, + * {"name": "City", "slug": "city"}]). + * @property {string} [phone_code] - International dialing code for the country + * (e.g., "+1"). + * @property {string} [latitude] - Geographical latitude of the country (e.g., "37.0902"). + * @property {string} [longitude] - Geographical longitude of the country (e.g., + * "-95.7129"). * @property {CurrencyObject} [currency] - * @property {string} [type] + * @property {string} [type] - Indicates the type of object (e.g., "country"). */ /** * @typedef GetCountries - * @property {CountryObject[]} [items] + * @property {CountryObject[]} [items] - List of countries, each containing + * detailed information about individual country. * @property {Page} [page] */ /** * @typedef GetOneOrAllPath - * @property {string} [locality_type] - * @property {string} [locality_value] + * @property {string} [locality_type] - Specifies the type of locality to be + * retrieved, such as city, state, or pincode (e.g., "city", "state", "pincode"). + * @property {string} [locality_value] - The specific value of the locality + * being queried, such as the name of the city or the pincode (e.g., "Mumbai", + * "400093"). */ /** * @typedef GetOneOrAllQuery - * @property {string} [country] - * @property {string} [state] - * @property {string} [city] - * @property {string} [sector] + * @property {string} [country] - The name of the country to filter the results. + * @property {string} [state] - The name of the state within the specified country. + * @property {string} [city] - The name of the city within the specified state. + * @property {string} [sector] - The name of the sector or area within the specified city. */ /** * @typedef GetOneOrAllParams @@ -274,22 +375,24 @@ export = LogisticApplicationModel; */ /** * @typedef GetOneOrAll - * @property {string} [operation_id] + * @property {string} [operation_id] - Identifier for the specific operation or + * query being performed. * @property {GetOneOrAllParams} [params] */ /** * @typedef LengthValidation - * @property {number} [min] - * @property {number} [max] + * @property {number} [min] - The minimum number of characters or digits allowed. + * @property {number} [max] - The maximum number of characters or digits allowed. */ /** * @typedef FieldValidationRegex - * @property {string} [value] + * @property {string} [value] - Regular expression pattern used to validate the field. * @property {LengthValidation} [length] */ /** * @typedef FieldValidation - * @property {string} [type] + * @property {string} [type] - Specifies the validation method, such as regex + * for regular expression validation. * @property {FieldValidationRegex} [regex] */ /** @@ -299,87 +402,126 @@ export = LogisticApplicationModel; */ /** * @typedef GetCountryFieldsAddress - * @property {string} display_name - * @property {string} slug - * @property {boolean} required - * @property {boolean} [edit] - * @property {string} input + * @property {string} display_name - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string} slug - URL-friendly version of the name, often used for + * referencing or querying purposes. + * @property {boolean} required - Indicates whether the field is mandatory for + * the user to fill out. + * @property {boolean} [edit] - Specifies if the field can be edited by the user. + * @property {string} input - Defines the type of input control used for the + * field (e.g., textbox). * @property {FieldValidation} [validation] * @property {GetCountryFieldsAddressValues} [values] - * @property {string} [error_text] + * @property {string} [error_text] - The message shown to the user if the input + * does not meet the validation criteria. */ /** * @typedef GetCountryFieldsAddressTemplate - * @property {string} checkout_form - * @property {string} store_os_form - * @property {string} default_display + * @property {string} checkout_form - The format used to display or collect + * address information during checkout. + * @property {string} store_os_form - The format used for address entry or + * display in the store's operating system. + * @property {string} default_display - The general format for displaying + * address information. */ /** * @typedef GetCountryFields - * @property {GetCountryFieldsAddress[]} address - * @property {string[]} serviceability_fields + * @property {GetCountryFieldsAddress[]} address - Specifies the fields and + * attributes related to address information, including display names, input + * types, and validation rules. This section defines the details needed for + * address collection and formatting. + * @property {string[]} serviceability_fields - Lists the specific address + * fields used to determine whether a location is serviceable. These fields + * are crucial for validating service coverage and availability. * @property {GetCountryFieldsAddressTemplate} address_template */ /** * @typedef GetCountry - * @property {string} [id] - * @property {string} [name] - * @property {string} [display_name] - * @property {string} [iso2] - * @property {string} [iso3] - * @property {string[]} [timezones] - * @property {CountryHierarchy[]} [hierarchy] - * @property {string} [phone_code] - * @property {string} [latitude] - * @property {string} [longitude] + * @property {string} [id] - Unique identifier for the country. + * @property {string} [name] - It represent a country name. + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string} [iso2] - Two-letter ISO code representing the country. + * @property {string} [iso3] - Three-letter ISO code representing the country. + * @property {string[]} [timezones] - List of time zones used in the country + * (e.g., ["America/New_York", "America/Los_Angeles"]). + * @property {CountryHierarchy[]} [hierarchy] - Levels within the country (e.g., + * states, cities) and their slugs (e.g., [{"name": "State", "slug": "state"}, + * {"name": "City", "slug": "city"}]). + * @property {string} [phone_code] - International dialing code for the country + * (e.g., "+1"). + * @property {string} [latitude] - Geographical latitude of the country (e.g., "37.0902"). + * @property {string} [longitude] - Geographical longitude of the country (e.g., + * "-95.7129"). * @property {CurrencyObject} [currency] - * @property {string} [type] + * @property {string} [type] - Indicates the type of object (e.g., "country"). * @property {GetCountryFields} [fields] */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef Localities - * @property {string} [id] - * @property {string} [name] - * @property {string} [display_name] - * @property {string[]} [parent_ids] - * @property {string} [type] + * @property {string} [id] - A unique identifier for the locality. + * @property {string} [name] - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string[]} [parent_ids] - Identifiers for the parent of the current locality. + * @property {string} [type] - Specifies the category of the address component, + * such as pincode, state, city, country, or sector. + * @property {LocalityParent[]} [localities] - Representing the localities that + * are associated with or contained within the current locality. It provides + * detailed information about the parent localities, including their names, + * identifiers, and hierarchical relationships. */ /** * @typedef LocalityParent - * @property {string} [id] - * @property {string} [name] - * @property {string} [display_name] - * @property {string[]} [parent_ids] - * @property {string} [type] + * @property {string} [id] - A unique identifier for the locality. + * @property {string} [name] - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string[]} [parent_ids] - Identifiers for the parent of the current locality. + * @property {string} [type] - Specifies the category of the address component, + * such as pincode, state, city, country, or sector. */ /** * @typedef GetLocalities - * @property {Localities[]} [items] + * @property {Localities[]} [items] - List of localities, each containing + * detailed information about individual locality. * @property {Page} [page] */ /** * @typedef GetLocality - * @property {string} [id] - * @property {string} [name] - * @property {string} [display_name] - * @property {string[]} [parent_ids] - * @property {string} [type] - * @property {LocalityParent[]} [localities] + * @property {string} [id] - A unique identifier for the locality. + * @property {string} [name] - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string[]} [parent_ids] - Identifiers for the parent of the current locality. + * @property {string} [type] - Specifies the category of the address component, + * such as pincode, state, city, country, or sector. + * @property {LocalityParent[]} [localities] - Representing the localities that + * are associated with or contained within the current locality. It provides + * detailed information about the parent localities, including their names, + * identifiers, and hierarchical relationships. */ /** * @typedef ErrorResponse - * @property {string} [error] - * @property {string} [message] + * @property {string} [error] - Error code identifying the type of error. + * @property {string} [message] - User-friendly explanation of what went wrong. */ declare class LogisticApplicationModel { } @@ -389,183 +531,376 @@ declare namespace LogisticApplicationModel { /** @returns {GetStoreResponse} */ declare function GetStoreResponse(): GetStoreResponse; type GetStoreResponse = { + /** + * - List of locations, each containing + * detailed information about individual location. + */ items?: StoreItemResponse[]; page?: Page; }; /** @returns {StoreItemResponse} */ declare function StoreItemResponse(): StoreItemResponse; type StoreItemResponse = { + /** + * - A unique identifier for the location. + */ id?: number; + /** + * - The type of store, indicating the nature of + * the store, such as retail or warehouse. + */ store_type?: string; + /** + * - The method of fulfillment used by the + * store, such as shipping, pickup, or delivery. + */ fulfillment_type?: string; + /** + * - The average time taken by the store to + * process orders, measured in minutes. + */ processing_time?: number; + /** + * - List of tags associated with the store for + * categorization and search purposes. + */ tags?: string[]; + /** + * - The unique identifier of the company that + * owns the store. + */ company_id?: number; + /** + * - The geographical latitude coordinate of the + * store location. + */ latitude?: number; + /** + * - The geographical longitude coordinate of the + * store location. + */ longitude?: number; }; /** @returns {ValidateAddressRequest} */ declare function ValidateAddressRequest(): ValidateAddressRequest; type ValidateAddressRequest = { /** - * - A string representing the complete address, - * combining address line 1, address line 2, area, landmark, sector, city, - * state, and pincode. This provides a comprehensive view of the address details. + * - Complete address, combining address line 1, + * address line 2, area, landmark, sector, city, state, and pincode. */ address?: string; /** - * - A string representing the first line of the - * address, typically containing street or building information. + * - First line of the address, typically + * containing street or building information. */ address1?: string; /** - * - A string representing the second line of the - * address, which can be used for additional address details if needed. + * - Second line of the address, which can be used + * for additional address details if needed. */ address2?: string; /** - * - A string specifying the locality or area - * associated with the address. + * - Locality or area associated with the address. */ area?: string; /** - * - A string representing a prominent nearby - * landmark that aids in locating the address. + * - Prominent nearby landmark that aids in + * locating the address. */ landmark?: string; /** - * - A string indicating the postal code or PIN - * code of the address area. + * - Postal code or PIN code of the address area. */ pincode?: string; /** - * - A string specifying the sector or district of - * the address if applicable. + * - Specifies the sector or district of the address + * if applicable. */ sector?: string; /** - * - A string denoting the city or municipality of the address. + * - Denote the city or municipality of the address. */ city?: string; /** - * - A string indicating the state or province of the address. + * - Indicates the state or province of the address. */ state?: string; /** - * - A string representing the recipient's name or the - * organization name associated with the address. + * - Recipient's name associated with the address. */ name?: string; /** - * - An integer representing the recipient's contact - * phone number. + * - Recipient's contact phone number. */ phone?: string; /** - * - A string containing the recipient's email address. + * - Recipient's email address. */ email?: string; }; /** @returns {PincodeParentsResponse} */ declare function PincodeParentsResponse(): PincodeParentsResponse; type PincodeParentsResponse = { + /** + * - Specific type of locality hierarchy the + * pincode belongs to (e.g., city, state, country). + */ sub_type?: string; + /** + * - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + */ display_name?: string; + /** + * - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + */ name?: string; + /** + * - Unique identifier for the locality. + */ uid?: string; }; /** @returns {PincodeMetaResponse} */ declare function PincodeMetaResponse(): PincodeMetaResponse; type PincodeMetaResponse = { + /** + * - Geographical region to which the pincode belongs, + * often used to categorize or group pincodes for regional management or + * postal purposes. + */ zone?: string; + /** + * - A unique identifier used within the + * system to track or reference the specific zone associated with the pincode. + */ internal_zone_id?: number; }; /** @returns {PincodeErrorSchemaResponse} */ declare function PincodeErrorSchemaResponse(): PincodeErrorSchemaResponse; type PincodeErrorSchemaResponse = { + /** + * - A user-readable description of the error, + * explaining what went wrong. + */ message?: string; + /** + * - A specific code or identifier related to the + * error, used for referencing or categorizing the error. + */ value?: string; + /** + * - The classification of the error, indicating the + * kind of issue. + */ type?: string; }; /** @returns {CountryMetaResponse} */ declare function CountryMetaResponse(): CountryMetaResponse; type CountryMetaResponse = { + /** + * - The ISO 3166-1 alpha-2 code representing + * the country (e.g., "IN" for India, "US" for the United States). + */ country_code?: string; + /** + * - The International Subscriber Dialing (ISD) + * code, also known as the country dialing code, used for making international + * phone calls to the country (e.g., "+91" for India, "+1" for the United States). + */ isd_code?: string; }; /** @returns {PincodeLatLongData} */ declare function PincodeLatLongData(): PincodeLatLongData; type PincodeLatLongData = { + /** + * - Specifies the type of geographical feature or + * data, typically "Point" for coordinates in geographic data systems. + */ type?: string; + /** + * - Contains the latitude and longitude + * values representing the precise location. The format is usually an array + * with two values: [longitude, latitude]. + */ coordinates?: string[]; }; /** @returns {PincodeDataResponse} */ declare function PincodeDataResponse(): PincodeDataResponse; type PincodeDataResponse = { + /** + * - List of object representing + * a collection of geographical locations, each associated with specific + * hierarchical data such as cities, states, or countries. + */ parents?: PincodeParentsResponse[]; meta?: PincodeMetaResponse; + /** + * - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + */ display_name?: string; error: PincodeErrorSchemaResponse; meta_code?: CountryMetaResponse; lat_long?: PincodeLatLongData; + /** + * - Indicates the specific type of locality + * hierarchy the pincode belongs to (e.g., city, state, country). + */ sub_type?: string; + /** + * - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + */ name?: string; + /** + * - This field stands for "Unique Identifier," a + * unique value assigned to each instance to ensure differentiation and reference. + */ uid?: string; }; /** @returns {PincodeApiResponse} */ declare function PincodeApiResponse(): PincodeApiResponse; type PincodeApiResponse = { + /** + * - Indicates whether the API request was + * successful (true) or failed (false). + */ success: boolean; + /** + * - Contains the actual response data + * when the request is successful, providing details like pincode information + * or related data. + */ data?: PincodeDataResponse[]; error: PincodeErrorSchemaResponse; }; /** @returns {TATCategoryRequest} */ declare function TATCategoryRequest(): TATCategoryRequest; type TATCategoryRequest = { + /** + * - Specifies the hierarchical level of the category + * (e.g., country, state, city). + */ level?: string; + /** + * - Represents the unique identifier for the category + * at the specified level. + */ id?: number; }; /** @returns {TATArticlesRequest} */ declare function TATArticlesRequest(): TATArticlesRequest; type TATArticlesRequest = { category?: TATCategoryRequest; + /** + * - The unit of measurement for + * the manufacturing time, such as hours or days. + */ manufacturing_time_unit?: string; + /** + * - The amount of time required to + * manufacture the article, specified in the unit given by `manufacturing_time_unit`. + */ manufacturing_time?: number; }; /** @returns {TATLocationDetailsRequest} */ declare function TATLocationDetailsRequest(): TATLocationDetailsRequest; type TATLocationDetailsRequest = { + /** + * - A unique identifier of the fulfilling location. + */ fulfillment_id?: number; + /** + * - The postal code of the location from + * which the fulfillment originates. + */ from_pincode?: string; + /** + * - List of articles included in + * the fulfillment request, which provides details about the items to be + * processed or shipped. + */ articles?: TATArticlesRequest[]; }; /** @returns {TATViewRequest} */ declare function TATViewRequest(): TATViewRequest; type TATViewRequest = { + /** + * - The postal code of the destination location + * where the fulfillment or shipment is headed. + */ to_pincode?: string; + /** + * - The origin or source of the request, indicating + * where the data or action is coming from. + */ source?: string; + /** + * - The specific operation or request being made, + * such as viewing, updating, or managing data. + */ action?: string; + /** + * - A unique ID used to reference or track the + * specific request or item within the system. + */ identifier?: string; + /** + * - Locations + * involved in the request, including details about both the source and destination. + */ location_details?: TATLocationDetailsRequest[]; + /** + * - Indicates the direction of the request or + * shipment. It can either be "forward" (from the source to the destination) + * or "return" (from the destination back to the source). + */ journey?: string; }; /** @returns {TATErrorSchemaResponse} */ declare function TATErrorSchemaResponse(): TATErrorSchemaResponse; type TATErrorSchemaResponse = { + /** + * - A user-readable description of the error, + * explaining what went wrong. + */ message?: string; + /** + * - A specific code or identifier related to the + * error, used for referencing or categorizing the error. + */ value?: string; + /** + * - The classification of the error, indicating the + * kind of issue. + */ type?: string; }; /** @returns {TATTimestampResponse} */ declare function TATTimestampResponse(): TATTimestampResponse; type TATTimestampResponse = { + /** + * - The earliest possible timestamp. + */ min?: number; + /** + * - The latest possible timestamp. + */ max?: number; }; /** @returns {TATFormattedResponse} */ declare function TATFormattedResponse(): TATFormattedResponse; type TATFormattedResponse = { + /** + * - The earliest possible timestamp. + */ min?: string; + /** + * - The latest possible timestamp. + */ max?: string; }; /** @returns {TATPromiseResponse} */ @@ -577,55 +912,170 @@ type TATPromiseResponse = { /** @returns {TATArticlesResponse} */ declare function TATArticlesResponse(): TATArticlesResponse; type TATArticlesResponse = { + /** + * - The unit of measurement for + * the manufacturing time such as hours or days. + */ manufacturing_time_unit?: string; error?: TATErrorSchemaResponse; + /** + * - Indicates whether Cash on Delivery + * (COD) is available for the articles. + */ is_cod_available?: boolean; promise?: TATPromiseResponse; + /** + * - The time required to manufacture + * the articles, measured in the unit specified by manufacturing_time_unit. + */ manufacturing_time?: number; category?: TATCategoryRequest; + /** + * - The manufacturing time + * converted into seconds. + */ _manufacturing_time_seconds?: number; }; /** @returns {TATLocationDetailsResponse} */ declare function TATLocationDetailsResponse(): TATLocationDetailsResponse; type TATLocationDetailsResponse = { + /** + * - A unique identifier of the fulfilling location. + */ fulfillment_id?: number; + /** + * - The postal code of the location from + * which the fulfillment originates. + */ from_pincode?: string; + /** + * - List of articles included in + * the fulfillment request, which provides details about the items to be + * processed or shipped. + */ articles?: TATArticlesResponse[]; }; /** @returns {TATViewResponse} */ declare function TATViewResponse(): TATViewResponse; type TATViewResponse = { + /** + * - The postal code of the destination location + * where the fulfillment or shipment is headed. + */ to_pincode?: string; + /** + * - A unique identifier for the request. + */ request_uuid?: string; + /** + * - The mode of payment used for the transaction. + */ payment_mode?: string; + /** + * - Whether the request was successful (true/false). + */ success?: boolean; error?: TATErrorSchemaResponse; + /** + * - Whether Cash on Delivery (COD) is + * available for the request. + */ is_cod_available?: boolean; + /** + * - The origin or source of the request. + */ source?: string; + /** + * - The action performed or requested (e.g., + * forward, return). + */ action?: string; + /** + * - A unique identifier related to the + * stormbreaker process. + */ stormbreaker_uuid?: string; + /** + * - The city corresponding to the destination pincode. + */ to_city?: string; + /** + * - A unique identifier for the request or transaction. + */ identifier?: string; + /** + * - Location + * involved in the request. + */ location_details?: TATLocationDetailsResponse[]; + /** + * - Type of journey, either forward or return. + */ journey?: string; }; /** @returns {DP} */ declare function DP(): DP; type DP = { + /** + * - First Mile Priority; focuses on the initial + * segment of the logistics process, from the point of origin to the first + * distribution center. + */ fm_priority: number; + /** + * - Last Mile Priority; deals with the final + * stage of the delivery process, where goods are delivered from the + * distribution center to the final destination. + */ lm_priority: number; + /** + * - Reverse Pickup Priority; pertains to the + * process of collecting goods from the customer for return or exchange. + */ rvp_priority: number; + /** + * - The method of payment used for + * transactions, such as credit card, debit card, cash on delivery, etc. + */ payment_mode: string; + /** + * - Refers to the various activities and + * processes involved in managing and executing the delivery and logistics operations. + */ operations: string[]; + /** + * - A code that identifies a specific geographic + * area, often used for sorting and routing deliveries. + */ area_code?: string; + /** + * - Indicates whether the delivery + * partner (DP) is assigned from stormbreaker service. + */ assign_dp_from_sb?: boolean; + /** + * - An identifier used internally to + * track accounts or entities within the organization's system. + */ internal_account_id?: string; + /** + * - An identifier used to reference + * accounts or entities outside the organization's system, such as partner accounts. + */ external_account_id?: string; + /** + * - The method of transportation used for + * delivering goods, such as road, rail, air, or sea. + */ transport_mode?: string; }; /** @returns {LogisticsResponse} */ declare function LogisticsResponse(): LogisticsResponse; type LogisticsResponse = { + /** + * - Provide entity responsible for handling the + * delivery of goods. + */ dp?: any; }; /** @returns {CountryEntityResponse} */ @@ -633,96 +1083,261 @@ declare function CountryEntityResponse(): CountryEntityResponse; type CountryEntityResponse = { meta?: CountryMetaResponse; logistics?: LogisticsResponse; + /** + * - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + */ display_name?: string; + /** + * - Specifies the type of geographical feature or + * data, typically "Point" for coordinates in geographic data systems. + */ type?: string; + /** + * - Whether the country entity is currently + * active or not. + */ is_active?: boolean; + /** + * - Identifier for the parent of the current locality. + */ parent_id?: string; + /** + * - Specific type of locality hierarchy the + * pincode belongs to (e.g., city, state, country). + */ sub_type?: string; + /** + * - Country name. + */ name?: string; + /** + * - Unique identifier for the country. + */ uid?: string; }; /** @returns {CountryListResponse} */ declare function CountryListResponse(): CountryListResponse; type CountryListResponse = { + /** + * - A list of country entities, + * each containing details about individual countries. + */ results?: CountryEntityResponse[]; }; /** @returns {GetZoneFromPincodeViewRequest} */ declare function GetZoneFromPincodeViewRequest(): GetZoneFromPincodeViewRequest; type GetZoneFromPincodeViewRequest = { + /** + * - The postal code or ZIP code used to pinpoint a + * specific geographic area or location. + */ pincode: string; + /** + * - The country where the pincode is located. + */ country: string; }; /** @returns {GetZoneFromPincodeViewResponse} */ declare function GetZoneFromPincodeViewResponse(): GetZoneFromPincodeViewResponse; type GetZoneFromPincodeViewResponse = { + /** + * - Specifies the type of serviceability + * for the given pincode, indicating whether it's deliverable or serviceable + * under certain conditions. + */ serviceability_type: string; + /** + * - Lists the zones associated with the pincode, + * detailing the geographical or logistical zones for service. + */ zones: string[]; }; /** @returns {ReAssignStoreRequest} */ declare function ReAssignStoreRequest(): ReAssignStoreRequest; type ReAssignStoreRequest = { + /** + * - Specifies the configuration settings or + * parameters for the store reassignment. + */ configuration: any; + /** + * - The postal code of the destination location + * where the fulfillment or shipment is headed. + */ to_pincode: string; + /** + * - Locations that should be excluded + * from the reassignment process. + */ ignored_locations: number[]; + /** + * - A unique identifier for the reassignment request. + */ identifier: string; + /** + * - List of articles or items involved in the + * store reassignment. + */ articles: any[]; }; /** @returns {ReAssignStoreResponse} */ declare function ReAssignStoreResponse(): ReAssignStoreResponse; type ReAssignStoreResponse = { + /** + * - The postal code of the destination location + * where the fulfillment or shipment is headed. + */ to_pincode: string; + /** + * - A unique identifier for tracking the + * reassignment operation. + */ pystormbreaker_uuid: string; + /** + * - Whether the reassignment was successful or not. + */ success: boolean; + /** + * - Details about any errors encountered during the + * reassignment. + */ error: any; + /** + * - List of stores that have been + * successfully reassigned. + */ assigned_stores?: any[]; }; /** @returns {CountryHierarchy} */ declare function CountryHierarchy(): CountryHierarchy; type CountryHierarchy = { + /** + * - It represent a country name. + */ name?: string; + /** + * - A URL-friendly version of the name, often used + * for referencing or querying purposes. + */ slug?: string; }; /** @returns {CurrencyObject} */ declare function CurrencyObject(): CurrencyObject; type CurrencyObject = { + /** + * - The currency code, typically a three-letter ISO + * code (e.g., "USD" for US Dollar). + */ code?: string; + /** + * - It represent a country name. + */ name?: string; + /** + * - The symbol used to represent the currency + * (e.g., "$" for US Dollar). + */ symbol?: string; }; /** @returns {CountryObject} */ declare function CountryObject(): CountryObject; type CountryObject = { + /** + * - Unique identifier for the country. + */ id?: string; + /** + * - It represent a country name. + */ name?: string; + /** + * - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + */ display_name?: string; + /** + * - Two-letter ISO code representing the country. + */ iso2?: string; + /** + * - Three-letter ISO code representing the country. + */ iso3?: string; + /** + * - List of time zones used in the country + * (e.g., ["America/New_York", "America/Los_Angeles"]). + */ timezones?: string[]; + /** + * - Levels within the country (e.g., + * states, cities) and their slugs (e.g., [{"name": "State", "slug": "state"}, + * {"name": "City", "slug": "city"}]). + */ hierarchy?: CountryHierarchy[]; + /** + * - International dialing code for the country + * (e.g., "+1"). + */ phone_code?: string; + /** + * - Geographical latitude of the country (e.g., "37.0902"). + */ latitude?: string; + /** + * - Geographical longitude of the country (e.g., + * "-95.7129"). + */ longitude?: string; currency?: CurrencyObject; + /** + * - Indicates the type of object (e.g., "country"). + */ type?: string; }; /** @returns {GetCountries} */ declare function GetCountries(): GetCountries; type GetCountries = { + /** + * - List of countries, each containing + * detailed information about individual country. + */ items?: CountryObject[]; page?: Page; }; /** @returns {GetOneOrAllPath} */ declare function GetOneOrAllPath(): GetOneOrAllPath; type GetOneOrAllPath = { + /** + * - Specifies the type of locality to be + * retrieved, such as city, state, or pincode (e.g., "city", "state", "pincode"). + */ locality_type?: string; + /** + * - The specific value of the locality + * being queried, such as the name of the city or the pincode (e.g., "Mumbai", + * "400093"). + */ locality_value?: string; }; /** @returns {GetOneOrAllQuery} */ declare function GetOneOrAllQuery(): GetOneOrAllQuery; type GetOneOrAllQuery = { + /** + * - The name of the country to filter the results. + */ country?: string; + /** + * - The name of the state within the specified country. + */ state?: string; + /** + * - The name of the city within the specified state. + */ city?: string; + /** + * - The name of the sector or area within the specified city. + */ sector?: string; }; /** @returns {GetOneOrAllParams} */ @@ -734,24 +1349,41 @@ type GetOneOrAllParams = { /** @returns {GetOneOrAll} */ declare function GetOneOrAll(): GetOneOrAll; type GetOneOrAll = { + /** + * - Identifier for the specific operation or + * query being performed. + */ operation_id?: string; params?: GetOneOrAllParams; }; /** @returns {LengthValidation} */ declare function LengthValidation(): LengthValidation; type LengthValidation = { + /** + * - The minimum number of characters or digits allowed. + */ min?: number; + /** + * - The maximum number of characters or digits allowed. + */ max?: number; }; /** @returns {FieldValidationRegex} */ declare function FieldValidationRegex(): FieldValidationRegex; type FieldValidationRegex = { + /** + * - Regular expression pattern used to validate the field. + */ value?: string; length?: LengthValidation; }; /** @returns {FieldValidation} */ declare function FieldValidation(): FieldValidation; type FieldValidation = { + /** + * - Specifies the validation method, such as regex + * for regular expression validation. + */ type?: string; regex?: FieldValidationRegex; }; @@ -764,94 +1396,280 @@ type GetCountryFieldsAddressValues = { /** @returns {GetCountryFieldsAddress} */ declare function GetCountryFieldsAddress(): GetCountryFieldsAddress; type GetCountryFieldsAddress = { + /** + * - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + */ display_name: string; + /** + * - URL-friendly version of the name, often used for + * referencing or querying purposes. + */ slug: string; + /** + * - Indicates whether the field is mandatory for + * the user to fill out. + */ required: boolean; + /** + * - Specifies if the field can be edited by the user. + */ edit?: boolean; + /** + * - Defines the type of input control used for the + * field (e.g., textbox). + */ input: string; validation?: FieldValidation; values?: GetCountryFieldsAddressValues; + /** + * - The message shown to the user if the input + * does not meet the validation criteria. + */ error_text?: string; }; /** @returns {GetCountryFieldsAddressTemplate} */ declare function GetCountryFieldsAddressTemplate(): GetCountryFieldsAddressTemplate; type GetCountryFieldsAddressTemplate = { + /** + * - The format used to display or collect + * address information during checkout. + */ checkout_form: string; + /** + * - The format used for address entry or + * display in the store's operating system. + */ store_os_form: string; + /** + * - The general format for displaying + * address information. + */ default_display: string; }; /** @returns {GetCountryFields} */ declare function GetCountryFields(): GetCountryFields; type GetCountryFields = { + /** + * - Specifies the fields and + * attributes related to address information, including display names, input + * types, and validation rules. This section defines the details needed for + * address collection and formatting. + */ address: GetCountryFieldsAddress[]; + /** + * - Lists the specific address + * fields used to determine whether a location is serviceable. These fields + * are crucial for validating service coverage and availability. + */ serviceability_fields: string[]; address_template: GetCountryFieldsAddressTemplate; }; /** @returns {GetCountry} */ declare function GetCountry(): GetCountry; type GetCountry = { + /** + * - Unique identifier for the country. + */ id?: string; + /** + * - It represent a country name. + */ name?: string; + /** + * - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + */ display_name?: string; + /** + * - Two-letter ISO code representing the country. + */ iso2?: string; + /** + * - Three-letter ISO code representing the country. + */ iso3?: string; + /** + * - List of time zones used in the country + * (e.g., ["America/New_York", "America/Los_Angeles"]). + */ timezones?: string[]; + /** + * - Levels within the country (e.g., + * states, cities) and their slugs (e.g., [{"name": "State", "slug": "state"}, + * {"name": "City", "slug": "city"}]). + */ hierarchy?: CountryHierarchy[]; + /** + * - International dialing code for the country + * (e.g., "+1"). + */ phone_code?: string; + /** + * - Geographical latitude of the country (e.g., "37.0902"). + */ latitude?: string; + /** + * - Geographical longitude of the country (e.g., + * "-95.7129"). + */ longitude?: string; currency?: CurrencyObject; + /** + * - Indicates the type of object (e.g., "country"). + */ type?: string; fields?: GetCountryFields; }; /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {Localities} */ declare function Localities(): Localities; type Localities = { + /** + * - A unique identifier for the locality. + */ id?: string; + /** + * - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + */ name?: string; + /** + * - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + */ display_name?: string; + /** + * - Identifiers for the parent of the current locality. + */ parent_ids?: string[]; + /** + * - Specifies the category of the address component, + * such as pincode, state, city, country, or sector. + */ type?: string; + /** + * - Representing the localities that + * are associated with or contained within the current locality. It provides + * detailed information about the parent localities, including their names, + * identifiers, and hierarchical relationships. + */ + localities?: LocalityParent[]; }; /** @returns {LocalityParent} */ declare function LocalityParent(): LocalityParent; type LocalityParent = { + /** + * - A unique identifier for the locality. + */ id?: string; + /** + * - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + */ name?: string; + /** + * - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + */ display_name?: string; + /** + * - Identifiers for the parent of the current locality. + */ parent_ids?: string[]; + /** + * - Specifies the category of the address component, + * such as pincode, state, city, country, or sector. + */ type?: string; }; /** @returns {GetLocalities} */ declare function GetLocalities(): GetLocalities; type GetLocalities = { + /** + * - List of localities, each containing + * detailed information about individual locality. + */ items?: Localities[]; page?: Page; }; /** @returns {GetLocality} */ declare function GetLocality(): GetLocality; type GetLocality = { + /** + * - A unique identifier for the locality. + */ id?: string; + /** + * - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + */ name?: string; + /** + * - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + */ display_name?: string; + /** + * - Identifiers for the parent of the current locality. + */ parent_ids?: string[]; + /** + * - Specifies the category of the address component, + * such as pincode, state, city, country, or sector. + */ type?: string; + /** + * - Representing the localities that + * are associated with or contained within the current locality. It provides + * detailed information about the parent localities, including their names, + * identifiers, and hierarchical relationships. + */ localities?: LocalityParent[]; }; /** @returns {ErrorResponse} */ declare function ErrorResponse(): ErrorResponse; type ErrorResponse = { + /** + * - Error code identifying the type of error. + */ error?: string; + /** + * - User-friendly explanation of what went wrong. + */ message?: string; }; diff --git a/sdk/application/Logistic/LogisticApplicationModel.js b/sdk/application/Logistic/LogisticApplicationModel.js index a5a05abdb..8451fef66 100644 --- a/sdk/application/Logistic/LogisticApplicationModel.js +++ b/sdk/application/Logistic/LogisticApplicationModel.js @@ -2,148 +2,194 @@ const Joi = require("joi"); /** * @typedef GetStoreResponse - * @property {StoreItemResponse[]} [items] + * @property {StoreItemResponse[]} [items] - List of locations, each containing + * detailed information about individual location. * @property {Page} [page] */ /** * @typedef StoreItemResponse - * @property {number} [id] - * @property {string} [store_type] - * @property {string} [fulfillment_type] - * @property {number} [processing_time] - * @property {string[]} [tags] - * @property {number} [company_id] - * @property {number} [latitude] - * @property {number} [longitude] + * @property {number} [id] - A unique identifier for the location. + * @property {string} [store_type] - The type of store, indicating the nature of + * the store, such as retail or warehouse. + * @property {string} [fulfillment_type] - The method of fulfillment used by the + * store, such as shipping, pickup, or delivery. + * @property {number} [processing_time] - The average time taken by the store to + * process orders, measured in minutes. + * @property {string[]} [tags] - List of tags associated with the store for + * categorization and search purposes. + * @property {number} [company_id] - The unique identifier of the company that + * owns the store. + * @property {number} [latitude] - The geographical latitude coordinate of the + * store location. + * @property {number} [longitude] - The geographical longitude coordinate of the + * store location. */ /** * @typedef ValidateAddressRequest - * @property {string} [address] - A string representing the complete address, - * combining address line 1, address line 2, area, landmark, sector, city, - * state, and pincode. This provides a comprehensive view of the address details. - * @property {string} [address1] - A string representing the first line of the - * address, typically containing street or building information. - * @property {string} [address2] - A string representing the second line of the - * address, which can be used for additional address details if needed. - * @property {string} [area] - A string specifying the locality or area - * associated with the address. - * @property {string} [landmark] - A string representing a prominent nearby - * landmark that aids in locating the address. - * @property {string} [pincode] - A string indicating the postal code or PIN - * code of the address area. - * @property {string} [sector] - A string specifying the sector or district of - * the address if applicable. - * @property {string} [city] - A string denoting the city or municipality of the address. - * @property {string} [state] - A string indicating the state or province of the address. - * @property {string} [name] - A string representing the recipient's name or the - * organization name associated with the address. - * @property {string} [phone] - An integer representing the recipient's contact - * phone number. - * @property {string} [email] - A string containing the recipient's email address. + * @property {string} [address] - Complete address, combining address line 1, + * address line 2, area, landmark, sector, city, state, and pincode. + * @property {string} [address1] - First line of the address, typically + * containing street or building information. + * @property {string} [address2] - Second line of the address, which can be used + * for additional address details if needed. + * @property {string} [area] - Locality or area associated with the address. + * @property {string} [landmark] - Prominent nearby landmark that aids in + * locating the address. + * @property {string} [pincode] - Postal code or PIN code of the address area. + * @property {string} [sector] - Specifies the sector or district of the address + * if applicable. + * @property {string} [city] - Denote the city or municipality of the address. + * @property {string} [state] - Indicates the state or province of the address. + * @property {string} [name] - Recipient's name associated with the address. + * @property {string} [phone] - Recipient's contact phone number. + * @property {string} [email] - Recipient's email address. */ /** * @typedef PincodeParentsResponse - * @property {string} [sub_type] - * @property {string} [display_name] - * @property {string} [name] - * @property {string} [uid] + * @property {string} [sub_type] - Specific type of locality hierarchy the + * pincode belongs to (e.g., city, state, country). + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string} [name] - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + * @property {string} [uid] - Unique identifier for the locality. */ /** * @typedef PincodeMetaResponse - * @property {string} [zone] - * @property {number} [internal_zone_id] + * @property {string} [zone] - Geographical region to which the pincode belongs, + * often used to categorize or group pincodes for regional management or + * postal purposes. + * @property {number} [internal_zone_id] - A unique identifier used within the + * system to track or reference the specific zone associated with the pincode. */ /** * @typedef PincodeErrorSchemaResponse - * @property {string} [message] - * @property {string} [value] - * @property {string} [type] + * @property {string} [message] - A user-readable description of the error, + * explaining what went wrong. + * @property {string} [value] - A specific code or identifier related to the + * error, used for referencing or categorizing the error. + * @property {string} [type] - The classification of the error, indicating the + * kind of issue. */ /** * @typedef CountryMetaResponse - * @property {string} [country_code] - * @property {string} [isd_code] + * @property {string} [country_code] - The ISO 3166-1 alpha-2 code representing + * the country (e.g., "IN" for India, "US" for the United States). + * @property {string} [isd_code] - The International Subscriber Dialing (ISD) + * code, also known as the country dialing code, used for making international + * phone calls to the country (e.g., "+91" for India, "+1" for the United States). */ /** * @typedef PincodeLatLongData - * @property {string} [type] - * @property {string[]} [coordinates] + * @property {string} [type] - Specifies the type of geographical feature or + * data, typically "Point" for coordinates in geographic data systems. + * @property {string[]} [coordinates] - Contains the latitude and longitude + * values representing the precise location. The format is usually an array + * with two values: [longitude, latitude]. */ /** * @typedef PincodeDataResponse - * @property {PincodeParentsResponse[]} [parents] + * @property {PincodeParentsResponse[]} [parents] - List of object representing + * a collection of geographical locations, each associated with specific + * hierarchical data such as cities, states, or countries. * @property {PincodeMetaResponse} [meta] - * @property {string} [display_name] + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. * @property {PincodeErrorSchemaResponse} error * @property {CountryMetaResponse} [meta_code] * @property {PincodeLatLongData} [lat_long] - * @property {string} [sub_type] - * @property {string} [name] - * @property {string} [uid] + * @property {string} [sub_type] - Indicates the specific type of locality + * hierarchy the pincode belongs to (e.g., city, state, country). + * @property {string} [name] - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + * @property {string} [uid] - This field stands for "Unique Identifier," a + * unique value assigned to each instance to ensure differentiation and reference. */ /** * @typedef PincodeApiResponse - * @property {boolean} success - * @property {PincodeDataResponse[]} [data] + * @property {boolean} success - Indicates whether the API request was + * successful (true) or failed (false). + * @property {PincodeDataResponse[]} [data] - Contains the actual response data + * when the request is successful, providing details like pincode information + * or related data. * @property {PincodeErrorSchemaResponse} error */ /** * @typedef TATCategoryRequest - * @property {string} [level] - * @property {number} [id] + * @property {string} [level] - Specifies the hierarchical level of the category + * (e.g., country, state, city). + * @property {number} [id] - Represents the unique identifier for the category + * at the specified level. */ /** * @typedef TATArticlesRequest * @property {TATCategoryRequest} [category] - * @property {string} [manufacturing_time_unit] - * @property {number} [manufacturing_time] + * @property {string} [manufacturing_time_unit] - The unit of measurement for + * the manufacturing time, such as hours or days. + * @property {number} [manufacturing_time] - The amount of time required to + * manufacture the article, specified in the unit given by `manufacturing_time_unit`. */ /** * @typedef TATLocationDetailsRequest - * @property {number} [fulfillment_id] - * @property {string} [from_pincode] - * @property {TATArticlesRequest[]} [articles] + * @property {number} [fulfillment_id] - A unique identifier of the fulfilling location. + * @property {string} [from_pincode] - The postal code of the location from + * which the fulfillment originates. + * @property {TATArticlesRequest[]} [articles] - List of articles included in + * the fulfillment request, which provides details about the items to be + * processed or shipped. */ /** * @typedef TATViewRequest - * @property {string} [to_pincode] - * @property {string} [source] - * @property {string} [action] - * @property {string} [identifier] - * @property {TATLocationDetailsRequest[]} [location_details] - * @property {string} [journey] + * @property {string} [to_pincode] - The postal code of the destination location + * where the fulfillment or shipment is headed. + * @property {string} [source] - The origin or source of the request, indicating + * where the data or action is coming from. + * @property {string} [action] - The specific operation or request being made, + * such as viewing, updating, or managing data. + * @property {string} [identifier] - A unique ID used to reference or track the + * specific request or item within the system. + * @property {TATLocationDetailsRequest[]} [location_details] - Locations + * involved in the request, including details about both the source and destination. + * @property {string} [journey] - Indicates the direction of the request or + * shipment. It can either be "forward" (from the source to the destination) + * or "return" (from the destination back to the source). */ /** * @typedef TATErrorSchemaResponse - * @property {string} [message] - * @property {string} [value] - * @property {string} [type] + * @property {string} [message] - A user-readable description of the error, + * explaining what went wrong. + * @property {string} [value] - A specific code or identifier related to the + * error, used for referencing or categorizing the error. + * @property {string} [type] - The classification of the error, indicating the + * kind of issue. */ /** * @typedef TATTimestampResponse - * @property {number} [min] - * @property {number} [max] + * @property {number} [min] - The earliest possible timestamp. + * @property {number} [max] - The latest possible timestamp. */ /** * @typedef TATFormattedResponse - * @property {string} [min] - * @property {string} [max] + * @property {string} [min] - The earliest possible timestamp. + * @property {string} [max] - The latest possible timestamp. */ /** @@ -154,153 +200,208 @@ const Joi = require("joi"); /** * @typedef TATArticlesResponse - * @property {string} [manufacturing_time_unit] + * @property {string} [manufacturing_time_unit] - The unit of measurement for + * the manufacturing time such as hours or days. * @property {TATErrorSchemaResponse} [error] - * @property {boolean} [is_cod_available] + * @property {boolean} [is_cod_available] - Indicates whether Cash on Delivery + * (COD) is available for the articles. * @property {TATPromiseResponse} [promise] - * @property {number} [manufacturing_time] + * @property {number} [manufacturing_time] - The time required to manufacture + * the articles, measured in the unit specified by manufacturing_time_unit. * @property {TATCategoryRequest} [category] - * @property {number} [_manufacturing_time_seconds] + * @property {number} [_manufacturing_time_seconds] - The manufacturing time + * converted into seconds. */ /** * @typedef TATLocationDetailsResponse - * @property {number} [fulfillment_id] - * @property {string} [from_pincode] - * @property {TATArticlesResponse[]} [articles] + * @property {number} [fulfillment_id] - A unique identifier of the fulfilling location. + * @property {string} [from_pincode] - The postal code of the location from + * which the fulfillment originates. + * @property {TATArticlesResponse[]} [articles] - List of articles included in + * the fulfillment request, which provides details about the items to be + * processed or shipped. */ /** * @typedef TATViewResponse - * @property {string} [to_pincode] - * @property {string} [request_uuid] - * @property {string} [payment_mode] - * @property {boolean} [success] + * @property {string} [to_pincode] - The postal code of the destination location + * where the fulfillment or shipment is headed. + * @property {string} [request_uuid] - A unique identifier for the request. + * @property {string} [payment_mode] - The mode of payment used for the transaction. + * @property {boolean} [success] - Whether the request was successful (true/false). * @property {TATErrorSchemaResponse} [error] - * @property {boolean} [is_cod_available] - * @property {string} [source] - * @property {string} [action] - * @property {string} [stormbreaker_uuid] - * @property {string} [to_city] - * @property {string} [identifier] - * @property {TATLocationDetailsResponse[]} [location_details] - * @property {string} [journey] + * @property {boolean} [is_cod_available] - Whether Cash on Delivery (COD) is + * available for the request. + * @property {string} [source] - The origin or source of the request. + * @property {string} [action] - The action performed or requested (e.g., + * forward, return). + * @property {string} [stormbreaker_uuid] - A unique identifier related to the + * stormbreaker process. + * @property {string} [to_city] - The city corresponding to the destination pincode. + * @property {string} [identifier] - A unique identifier for the request or transaction. + * @property {TATLocationDetailsResponse[]} [location_details] - Location + * involved in the request. + * @property {string} [journey] - Type of journey, either forward or return. */ /** * @typedef DP - * @property {number} fm_priority - * @property {number} lm_priority - * @property {number} rvp_priority - * @property {string} payment_mode - * @property {string[]} operations - * @property {string} [area_code] - * @property {boolean} [assign_dp_from_sb] - * @property {string} [internal_account_id] - * @property {string} [external_account_id] - * @property {string} [transport_mode] + * @property {number} fm_priority - First Mile Priority; focuses on the initial + * segment of the logistics process, from the point of origin to the first + * distribution center. + * @property {number} lm_priority - Last Mile Priority; deals with the final + * stage of the delivery process, where goods are delivered from the + * distribution center to the final destination. + * @property {number} rvp_priority - Reverse Pickup Priority; pertains to the + * process of collecting goods from the customer for return or exchange. + * @property {string} payment_mode - The method of payment used for + * transactions, such as credit card, debit card, cash on delivery, etc. + * @property {string[]} operations - Refers to the various activities and + * processes involved in managing and executing the delivery and logistics operations. + * @property {string} [area_code] - A code that identifies a specific geographic + * area, often used for sorting and routing deliveries. + * @property {boolean} [assign_dp_from_sb] - Indicates whether the delivery + * partner (DP) is assigned from stormbreaker service. + * @property {string} [internal_account_id] - An identifier used internally to + * track accounts or entities within the organization's system. + * @property {string} [external_account_id] - An identifier used to reference + * accounts or entities outside the organization's system, such as partner accounts. + * @property {string} [transport_mode] - The method of transportation used for + * delivering goods, such as road, rail, air, or sea. */ /** * @typedef LogisticsResponse - * @property {Object} [dp] + * @property {Object} [dp] - Provide entity responsible for handling the + * delivery of goods. */ /** * @typedef CountryEntityResponse * @property {CountryMetaResponse} [meta] * @property {LogisticsResponse} [logistics] - * @property {string} [display_name] - * @property {string} [type] - * @property {boolean} [is_active] - * @property {string} [parent_id] - * @property {string} [sub_type] - * @property {string} [name] - * @property {string} [uid] + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string} [type] - Specifies the type of geographical feature or + * data, typically "Point" for coordinates in geographic data systems. + * @property {boolean} [is_active] - Whether the country entity is currently + * active or not. + * @property {string} [parent_id] - Identifier for the parent of the current locality. + * @property {string} [sub_type] - Specific type of locality hierarchy the + * pincode belongs to (e.g., city, state, country). + * @property {string} [name] - Country name. + * @property {string} [uid] - Unique identifier for the country. */ /** * @typedef CountryListResponse - * @property {CountryEntityResponse[]} [results] + * @property {CountryEntityResponse[]} [results] - A list of country entities, + * each containing details about individual countries. */ /** * @typedef GetZoneFromPincodeViewRequest - * @property {string} pincode - * @property {string} country + * @property {string} pincode - The postal code or ZIP code used to pinpoint a + * specific geographic area or location. + * @property {string} country - The country where the pincode is located. */ /** * @typedef GetZoneFromPincodeViewResponse - * @property {string} serviceability_type - * @property {string[]} zones + * @property {string} serviceability_type - Specifies the type of serviceability + * for the given pincode, indicating whether it's deliverable or serviceable + * under certain conditions. + * @property {string[]} zones - Lists the zones associated with the pincode, + * detailing the geographical or logistical zones for service. */ /** * @typedef ReAssignStoreRequest - * @property {Object} configuration - * @property {string} to_pincode - * @property {number[]} ignored_locations - * @property {string} identifier - * @property {Object[]} articles + * @property {Object} configuration - Specifies the configuration settings or + * parameters for the store reassignment. + * @property {string} to_pincode - The postal code of the destination location + * where the fulfillment or shipment is headed. + * @property {number[]} ignored_locations - Locations that should be excluded + * from the reassignment process. + * @property {string} identifier - A unique identifier for the reassignment request. + * @property {Object[]} articles - List of articles or items involved in the + * store reassignment. */ /** * @typedef ReAssignStoreResponse - * @property {string} to_pincode - * @property {string} pystormbreaker_uuid - * @property {boolean} success - * @property {Object} error - * @property {Object[]} [assigned_stores] + * @property {string} to_pincode - The postal code of the destination location + * where the fulfillment or shipment is headed. + * @property {string} pystormbreaker_uuid - A unique identifier for tracking the + * reassignment operation. + * @property {boolean} success - Whether the reassignment was successful or not. + * @property {Object} error - Details about any errors encountered during the + * reassignment. + * @property {Object[]} [assigned_stores] - List of stores that have been + * successfully reassigned. */ /** * @typedef CountryHierarchy - * @property {string} [name] - * @property {string} [slug] + * @property {string} [name] - It represent a country name. + * @property {string} [slug] - A URL-friendly version of the name, often used + * for referencing or querying purposes. */ /** * @typedef CurrencyObject - * @property {string} [code] - * @property {string} [name] - * @property {string} [symbol] + * @property {string} [code] - The currency code, typically a three-letter ISO + * code (e.g., "USD" for US Dollar). + * @property {string} [name] - It represent a country name. + * @property {string} [symbol] - The symbol used to represent the currency + * (e.g., "$" for US Dollar). */ /** * @typedef CountryObject - * @property {string} [id] - * @property {string} [name] - * @property {string} [display_name] - * @property {string} [iso2] - * @property {string} [iso3] - * @property {string[]} [timezones] - * @property {CountryHierarchy[]} [hierarchy] - * @property {string} [phone_code] - * @property {string} [latitude] - * @property {string} [longitude] + * @property {string} [id] - Unique identifier for the country. + * @property {string} [name] - It represent a country name. + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string} [iso2] - Two-letter ISO code representing the country. + * @property {string} [iso3] - Three-letter ISO code representing the country. + * @property {string[]} [timezones] - List of time zones used in the country + * (e.g., ["America/New_York", "America/Los_Angeles"]). + * @property {CountryHierarchy[]} [hierarchy] - Levels within the country (e.g., + * states, cities) and their slugs (e.g., [{"name": "State", "slug": "state"}, + * {"name": "City", "slug": "city"}]). + * @property {string} [phone_code] - International dialing code for the country + * (e.g., "+1"). + * @property {string} [latitude] - Geographical latitude of the country (e.g., "37.0902"). + * @property {string} [longitude] - Geographical longitude of the country (e.g., + * "-95.7129"). * @property {CurrencyObject} [currency] - * @property {string} [type] + * @property {string} [type] - Indicates the type of object (e.g., "country"). */ /** * @typedef GetCountries - * @property {CountryObject[]} [items] + * @property {CountryObject[]} [items] - List of countries, each containing + * detailed information about individual country. * @property {Page} [page] */ /** * @typedef GetOneOrAllPath - * @property {string} [locality_type] - * @property {string} [locality_value] + * @property {string} [locality_type] - Specifies the type of locality to be + * retrieved, such as city, state, or pincode (e.g., "city", "state", "pincode"). + * @property {string} [locality_value] - The specific value of the locality + * being queried, such as the name of the city or the pincode (e.g., "Mumbai", + * "400093"). */ /** * @typedef GetOneOrAllQuery - * @property {string} [country] - * @property {string} [state] - * @property {string} [city] - * @property {string} [sector] + * @property {string} [country] - The name of the country to filter the results. + * @property {string} [state] - The name of the state within the specified country. + * @property {string} [city] - The name of the city within the specified state. + * @property {string} [sector] - The name of the sector or area within the specified city. */ /** @@ -311,25 +412,27 @@ const Joi = require("joi"); /** * @typedef GetOneOrAll - * @property {string} [operation_id] + * @property {string} [operation_id] - Identifier for the specific operation or + * query being performed. * @property {GetOneOrAllParams} [params] */ /** * @typedef LengthValidation - * @property {number} [min] - * @property {number} [max] + * @property {number} [min] - The minimum number of characters or digits allowed. + * @property {number} [max] - The maximum number of characters or digits allowed. */ /** * @typedef FieldValidationRegex - * @property {string} [value] + * @property {string} [value] - Regular expression pattern used to validate the field. * @property {LengthValidation} [length] */ /** * @typedef FieldValidation - * @property {string} [type] + * @property {string} [type] - Specifies the validation method, such as regex + * for regular expression validation. * @property {FieldValidationRegex} [regex] */ @@ -341,96 +444,135 @@ const Joi = require("joi"); /** * @typedef GetCountryFieldsAddress - * @property {string} display_name - * @property {string} slug - * @property {boolean} required - * @property {boolean} [edit] - * @property {string} input + * @property {string} display_name - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string} slug - URL-friendly version of the name, often used for + * referencing or querying purposes. + * @property {boolean} required - Indicates whether the field is mandatory for + * the user to fill out. + * @property {boolean} [edit] - Specifies if the field can be edited by the user. + * @property {string} input - Defines the type of input control used for the + * field (e.g., textbox). * @property {FieldValidation} [validation] * @property {GetCountryFieldsAddressValues} [values] - * @property {string} [error_text] + * @property {string} [error_text] - The message shown to the user if the input + * does not meet the validation criteria. */ /** * @typedef GetCountryFieldsAddressTemplate - * @property {string} checkout_form - * @property {string} store_os_form - * @property {string} default_display + * @property {string} checkout_form - The format used to display or collect + * address information during checkout. + * @property {string} store_os_form - The format used for address entry or + * display in the store's operating system. + * @property {string} default_display - The general format for displaying + * address information. */ /** * @typedef GetCountryFields - * @property {GetCountryFieldsAddress[]} address - * @property {string[]} serviceability_fields + * @property {GetCountryFieldsAddress[]} address - Specifies the fields and + * attributes related to address information, including display names, input + * types, and validation rules. This section defines the details needed for + * address collection and formatting. + * @property {string[]} serviceability_fields - Lists the specific address + * fields used to determine whether a location is serviceable. These fields + * are crucial for validating service coverage and availability. * @property {GetCountryFieldsAddressTemplate} address_template */ /** * @typedef GetCountry - * @property {string} [id] - * @property {string} [name] - * @property {string} [display_name] - * @property {string} [iso2] - * @property {string} [iso3] - * @property {string[]} [timezones] - * @property {CountryHierarchy[]} [hierarchy] - * @property {string} [phone_code] - * @property {string} [latitude] - * @property {string} [longitude] + * @property {string} [id] - Unique identifier for the country. + * @property {string} [name] - It represent a country name. + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string} [iso2] - Two-letter ISO code representing the country. + * @property {string} [iso3] - Three-letter ISO code representing the country. + * @property {string[]} [timezones] - List of time zones used in the country + * (e.g., ["America/New_York", "America/Los_Angeles"]). + * @property {CountryHierarchy[]} [hierarchy] - Levels within the country (e.g., + * states, cities) and their slugs (e.g., [{"name": "State", "slug": "state"}, + * {"name": "City", "slug": "city"}]). + * @property {string} [phone_code] - International dialing code for the country + * (e.g., "+1"). + * @property {string} [latitude] - Geographical latitude of the country (e.g., "37.0902"). + * @property {string} [longitude] - Geographical longitude of the country (e.g., + * "-95.7129"). * @property {CurrencyObject} [currency] - * @property {string} [type] + * @property {string} [type] - Indicates the type of object (e.g., "country"). * @property {GetCountryFields} [fields] */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef Localities - * @property {string} [id] - * @property {string} [name] - * @property {string} [display_name] - * @property {string[]} [parent_ids] - * @property {string} [type] + * @property {string} [id] - A unique identifier for the locality. + * @property {string} [name] - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string[]} [parent_ids] - Identifiers for the parent of the current locality. + * @property {string} [type] - Specifies the category of the address component, + * such as pincode, state, city, country, or sector. + * @property {LocalityParent[]} [localities] - Representing the localities that + * are associated with or contained within the current locality. It provides + * detailed information about the parent localities, including their names, + * identifiers, and hierarchical relationships. */ /** * @typedef LocalityParent - * @property {string} [id] - * @property {string} [name] - * @property {string} [display_name] - * @property {string[]} [parent_ids] - * @property {string} [type] + * @property {string} [id] - A unique identifier for the locality. + * @property {string} [name] - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string[]} [parent_ids] - Identifiers for the parent of the current locality. + * @property {string} [type] - Specifies the category of the address component, + * such as pincode, state, city, country, or sector. */ /** * @typedef GetLocalities - * @property {Localities[]} [items] + * @property {Localities[]} [items] - List of localities, each containing + * detailed information about individual locality. * @property {Page} [page] */ /** * @typedef GetLocality - * @property {string} [id] - * @property {string} [name] - * @property {string} [display_name] - * @property {string[]} [parent_ids] - * @property {string} [type] - * @property {LocalityParent[]} [localities] + * @property {string} [id] - A unique identifier for the locality. + * @property {string} [name] - The actual geographical data, such as country + * names (India), state names (Maharashtra), pin codes (400603), city names + * (Dubai), or local sectors (Deira). + * @property {string} [display_name] - User-friendly version of the geographical + * data, which may be more descriptive or formatted differently. + * @property {string[]} [parent_ids] - Identifiers for the parent of the current locality. + * @property {string} [type] - Specifies the category of the address component, + * such as pincode, state, city, country, or sector. + * @property {LocalityParent[]} [localities] - Representing the localities that + * are associated with or contained within the current locality. It provides + * detailed information about the parent localities, including their names, + * identifiers, and hierarchical relationships. */ /** * @typedef ErrorResponse - * @property {string} [error] - * @property {string} [message] + * @property {string} [error] - Error code identifying the type of error. + * @property {string} [message] - User-friendly explanation of what went wrong. */ class LogisticApplicationModel { @@ -933,6 +1075,7 @@ class LogisticApplicationModel { display_name: Joi.string().allow(""), parent_ids: Joi.array().items(Joi.string().allow("")), type: Joi.string().allow(""), + localities: Joi.array().items(LogisticApplicationModel.LocalityParent()), }); } diff --git a/sdk/application/Logistic/LogisticApplicationValidator.d.ts b/sdk/application/Logistic/LogisticApplicationValidator.d.ts index 8afdaeb13..7359d0e05 100644 --- a/sdk/application/Logistic/LogisticApplicationValidator.d.ts +++ b/sdk/application/Logistic/LogisticApplicationValidator.d.ts @@ -2,57 +2,53 @@ export = LogisticApplicationValidator; /** @typedef GetAllCountriesParam */ /** * @typedef GetCountriesParam - * @property {boolean} [onboarding] - Only fetch countries which allowed for - * onboard on Platform. - * @property {number} [pageNo] - Page number. - * @property {number} [pageSize] - Page size. - * @property {string} [q] - Search. + * @property {boolean} [onboarding] - List countries which allowed for onboard + * on Platform. + * @property {number} [pageNo] - The page number to navigate through the given + * set of results. Default value is 1. + * @property {number} [pageSize] - The number of items to retrieve in each page. + * Default value is 12. + * @property {string} [q] - The number of items to retrieve in each page. + * Default value is 12. */ /** * @typedef GetCountryParam - * @property {string} countryIsoCode - The `country_iso_code` is ISO-2 (alpha-2) - * code for the country. + * @property {string} countryIsoCode - The ISO 3166-1 alpha-2 code representing + * the country (e.g., "IN" for India, "US" for the United States). */ /** * @typedef GetLocalitiesParam - * @property {string} localityType - A `locality_type` contains unique - * geographical division. - * @property {string} [country] - A `country` contains a specific value of the - * country iso2 code. - * @property {string} [state] - A `state` contains a specific value of the - * state, province. - * @property {string} [city] - A `city` contains a specific value of the city. - * @property {number} [pageNo] - Page number. - * @property {number} [pageSize] - Page size. - * @property {string} [q] - Search. + * @property {string} localityType - Unique geographical division. + * @property {string} [country] - Country name. + * @property {string} [state] - State or the province. + * @property {string} [city] - City. + * @property {number} [pageNo] - The page number to navigate through the given + * set of results. Default value is 1. + * @property {number} [pageSize] - The number of items to retrieve in each page. + * Default value is 12. + * @property {string} [q] - This parameter is used to filter or search the records. */ /** * @typedef GetLocalityParam - * @property {string} localityType - A `locality_type` contains value - * geographical division. - * @property {string} localityValue - A `locality_value` contains a specific - * name of the locality. - * @property {string} [country] - A `country` contains a specific value of the - * country iso2 code. - * @property {string} [state] - A `state` contains a specific value of the - * state, province. - * @property {string} [city] - A `city` contains a specific value of the city. + * @property {string} localityType - Geographical division. + * @property {string} localityValue - Name of the locality. + * @property {string} [country] - Country name. + * @property {string} [state] - State or the province. + * @property {string} [city] - City. */ /** * @typedef GetLocationsParam - * @property {string} xApplicationId - A `x-application-id` is a unique - * identifier for a particular sale channel. - * @property {string} xApplicationData - A `x-application-data` is a unique - * identifier for a particular sale channel. - * @property {string} [country] - A `country` contains a specific value of the - * country `iso2` code. - * @property {string} [state] - A `state` contains a specific value of the - * state, province. - * @property {string} [city] - A `city` contains a specific value of the city. - * @property {number} [pincode] - A `pincode` contains a specific value of the city. - * @property {string} [sector] - A `sector` contains a specific value of the city. - * @property {number} [pageNo] - Page number. - * @property {number} [pageSize] - Page size. + * @property {string} xApplicationId - Unique identifier for a particular sales channel. + * @property {string} xApplicationData - Sales channel details. + * @property {string} [country] - The country `iso2` code. + * @property {string} [state] - State or the province. + * @property {string} [city] - City. + * @property {number} [pincode] - Pincode of the area. + * @property {string} [sector] - Specific sector of the city. + * @property {number} [pageNo] - The page number to navigate through the given + * set of results. Default value is 1. + * @property {number} [pageSize] - The number of items to retrieve in each page. + * Default value is 12. */ /** * @typedef GetOptimalLocationsParam @@ -60,7 +56,7 @@ export = LogisticApplicationValidator; */ /** * @typedef GetPincodeCityParam - * @property {string} pincode - A `pincode` contains a specific address of a location. + * @property {string} pincode - Postal code or PIN code of the address area. */ /** * @typedef GetPincodeZonesParam @@ -72,7 +68,8 @@ export = LogisticApplicationValidator; */ /** * @typedef ValidateAddressParam - * @property {string} countryIsoCode - The ISO code of the country. + * @property {string} countryIsoCode - The ISO 3166-1 alpha-2 code representing + * the country (e.g., "IN" for India, "US" for the United States). * @property {string} templateName - The type of address form. * @property {LogisticApplicationModel.ValidateAddressRequest} body */ @@ -105,128 +102,124 @@ declare namespace LogisticApplicationValidator { } type GetCountriesParam = { /** - * - Only fetch countries which allowed for - * onboard on Platform. + * - List countries which allowed for onboard + * on Platform. */ onboarding?: boolean; /** - * - Page number. + * - The page number to navigate through the given + * set of results. Default value is 1. */ pageNo?: number; /** - * - Page size. + * - The number of items to retrieve in each page. + * Default value is 12. */ pageSize?: number; /** - * - Search. + * - The number of items to retrieve in each page. + * Default value is 12. */ q?: string; }; type GetCountryParam = { /** - * - The `country_iso_code` is ISO-2 (alpha-2) - * code for the country. + * - The ISO 3166-1 alpha-2 code representing + * the country (e.g., "IN" for India, "US" for the United States). */ countryIsoCode: string; }; type GetLocalitiesParam = { /** - * - A `locality_type` contains unique - * geographical division. + * - Unique geographical division. */ localityType: string; /** - * - A `country` contains a specific value of the - * country iso2 code. + * - Country name. */ country?: string; /** - * - A `state` contains a specific value of the - * state, province. + * - State or the province. */ state?: string; /** - * - A `city` contains a specific value of the city. + * - City. */ city?: string; /** - * - Page number. + * - The page number to navigate through the given + * set of results. Default value is 1. */ pageNo?: number; /** - * - Page size. + * - The number of items to retrieve in each page. + * Default value is 12. */ pageSize?: number; /** - * - Search. + * - This parameter is used to filter or search the records. */ q?: string; }; type GetLocalityParam = { /** - * - A `locality_type` contains value - * geographical division. + * - Geographical division. */ localityType: string; /** - * - A `locality_value` contains a specific - * name of the locality. + * - Name of the locality. */ localityValue: string; /** - * - A `country` contains a specific value of the - * country iso2 code. + * - Country name. */ country?: string; /** - * - A `state` contains a specific value of the - * state, province. + * - State or the province. */ state?: string; /** - * - A `city` contains a specific value of the city. + * - City. */ city?: string; }; type GetLocationsParam = { /** - * - A `x-application-id` is a unique - * identifier for a particular sale channel. + * - Unique identifier for a particular sales channel. */ xApplicationId: string; /** - * - A `x-application-data` is a unique - * identifier for a particular sale channel. + * - Sales channel details. */ xApplicationData: string; /** - * - A `country` contains a specific value of the - * country `iso2` code. + * - The country `iso2` code. */ country?: string; /** - * - A `state` contains a specific value of the - * state, province. + * - State or the province. */ state?: string; /** - * - A `city` contains a specific value of the city. + * - City. */ city?: string; /** - * - A `pincode` contains a specific value of the city. + * - Pincode of the area. */ pincode?: number; /** - * - A `sector` contains a specific value of the city. + * - Specific sector of the city. */ sector?: string; /** - * - Page number. + * - The page number to navigate through the given + * set of results. Default value is 1. */ pageNo?: number; /** - * - Page size. + * - The number of items to retrieve in each page. + * Default value is 12. */ pageSize?: number; }; @@ -235,7 +228,7 @@ type GetOptimalLocationsParam = { }; type GetPincodeCityParam = { /** - * - A `pincode` contains a specific address of a location. + * - Postal code or PIN code of the address area. */ pincode: string; }; @@ -247,7 +240,8 @@ type GetTatProductParam = { }; type ValidateAddressParam = { /** - * - The ISO code of the country. + * - The ISO 3166-1 alpha-2 code representing + * the country (e.g., "IN" for India, "US" for the United States). */ countryIsoCode: string; /** diff --git a/sdk/application/Logistic/LogisticApplicationValidator.js b/sdk/application/Logistic/LogisticApplicationValidator.js index d43c9bdda..da37dc967 100644 --- a/sdk/application/Logistic/LogisticApplicationValidator.js +++ b/sdk/application/Logistic/LogisticApplicationValidator.js @@ -6,61 +6,57 @@ const LogisticApplicationModel = require("./LogisticApplicationModel"); /** * @typedef GetCountriesParam - * @property {boolean} [onboarding] - Only fetch countries which allowed for - * onboard on Platform. - * @property {number} [pageNo] - Page number. - * @property {number} [pageSize] - Page size. - * @property {string} [q] - Search. + * @property {boolean} [onboarding] - List countries which allowed for onboard + * on Platform. + * @property {number} [pageNo] - The page number to navigate through the given + * set of results. Default value is 1. + * @property {number} [pageSize] - The number of items to retrieve in each page. + * Default value is 12. + * @property {string} [q] - The number of items to retrieve in each page. + * Default value is 12. */ /** * @typedef GetCountryParam - * @property {string} countryIsoCode - The `country_iso_code` is ISO-2 (alpha-2) - * code for the country. + * @property {string} countryIsoCode - The ISO 3166-1 alpha-2 code representing + * the country (e.g., "IN" for India, "US" for the United States). */ /** * @typedef GetLocalitiesParam - * @property {string} localityType - A `locality_type` contains unique - * geographical division. - * @property {string} [country] - A `country` contains a specific value of the - * country iso2 code. - * @property {string} [state] - A `state` contains a specific value of the - * state, province. - * @property {string} [city] - A `city` contains a specific value of the city. - * @property {number} [pageNo] - Page number. - * @property {number} [pageSize] - Page size. - * @property {string} [q] - Search. + * @property {string} localityType - Unique geographical division. + * @property {string} [country] - Country name. + * @property {string} [state] - State or the province. + * @property {string} [city] - City. + * @property {number} [pageNo] - The page number to navigate through the given + * set of results. Default value is 1. + * @property {number} [pageSize] - The number of items to retrieve in each page. + * Default value is 12. + * @property {string} [q] - This parameter is used to filter or search the records. */ /** * @typedef GetLocalityParam - * @property {string} localityType - A `locality_type` contains value - * geographical division. - * @property {string} localityValue - A `locality_value` contains a specific - * name of the locality. - * @property {string} [country] - A `country` contains a specific value of the - * country iso2 code. - * @property {string} [state] - A `state` contains a specific value of the - * state, province. - * @property {string} [city] - A `city` contains a specific value of the city. + * @property {string} localityType - Geographical division. + * @property {string} localityValue - Name of the locality. + * @property {string} [country] - Country name. + * @property {string} [state] - State or the province. + * @property {string} [city] - City. */ /** * @typedef GetLocationsParam - * @property {string} xApplicationId - A `x-application-id` is a unique - * identifier for a particular sale channel. - * @property {string} xApplicationData - A `x-application-data` is a unique - * identifier for a particular sale channel. - * @property {string} [country] - A `country` contains a specific value of the - * country `iso2` code. - * @property {string} [state] - A `state` contains a specific value of the - * state, province. - * @property {string} [city] - A `city` contains a specific value of the city. - * @property {number} [pincode] - A `pincode` contains a specific value of the city. - * @property {string} [sector] - A `sector` contains a specific value of the city. - * @property {number} [pageNo] - Page number. - * @property {number} [pageSize] - Page size. + * @property {string} xApplicationId - Unique identifier for a particular sales channel. + * @property {string} xApplicationData - Sales channel details. + * @property {string} [country] - The country `iso2` code. + * @property {string} [state] - State or the province. + * @property {string} [city] - City. + * @property {number} [pincode] - Pincode of the area. + * @property {string} [sector] - Specific sector of the city. + * @property {number} [pageNo] - The page number to navigate through the given + * set of results. Default value is 1. + * @property {number} [pageSize] - The number of items to retrieve in each page. + * Default value is 12. */ /** @@ -70,7 +66,7 @@ const LogisticApplicationModel = require("./LogisticApplicationModel"); /** * @typedef GetPincodeCityParam - * @property {string} pincode - A `pincode` contains a specific address of a location. + * @property {string} pincode - Postal code or PIN code of the address area. */ /** @@ -85,7 +81,8 @@ const LogisticApplicationModel = require("./LogisticApplicationModel"); /** * @typedef ValidateAddressParam - * @property {string} countryIsoCode - The ISO code of the country. + * @property {string} countryIsoCode - The ISO 3166-1 alpha-2 code representing + * the country (e.g., "IN" for India, "US" for the United States). * @property {string} templateName - The type of address form. * @property {LogisticApplicationModel.ValidateAddressRequest} body */ diff --git a/sdk/application/Order/OrderApplicationClient.d.ts b/sdk/application/Order/OrderApplicationClient.d.ts index e05d3fcf4..3d014a8a7 100644 --- a/sdk/application/Order/OrderApplicationClient.d.ts +++ b/sdk/application/Order/OrderApplicationClient.d.ts @@ -27,7 +27,7 @@ declare class Order { * Success response * @name getCustomerDetailsByShipmentId * @summary: Get shipment's customer - * @description: Retrieve customer details such as mobile number using Shipment ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getCustomerDetailsByShipmentId/). + * @description: Get customer details such as mobile number using Shipment ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getCustomerDetailsByShipmentId/). */ getCustomerDetailsByShipmentId({ orderId, shipmentId, requestHeaders }?: OrderApplicationValidator.GetCustomerDetailsByShipmentIdParam, { responseHeaders }?: object): Promise; /** @@ -38,7 +38,7 @@ declare class Order { * Success response * @name getInvoiceByShipmentId * @summary: Retrieves invoice for shipment - * @description: Retrieve the invoice corresponding to a specific shipment ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getInvoiceByShipmentId/). + * @description: Get invoice corresponding to a specific shipment ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getInvoiceByShipmentId/). */ getInvoiceByShipmentId({ shipmentId, requestHeaders }?: OrderApplicationValidator.GetInvoiceByShipmentIdParam, { responseHeaders }?: object): Promise; /** @@ -48,7 +48,7 @@ declare class Order { * @returns {Promise} - Success response * @name getOrderById * @summary: Get an order - * @description: Retrieve order details such as tracking details, shipment, store information using Fynd Order ID - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getOrderById/). + * @description: Get order details such as tracking details, shipment, store information using Fynd Order ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getOrderById/). */ getOrderById({ orderId, allowInactive, requestHeaders }?: OrderApplicationValidator.GetOrderByIdParam, { responseHeaders }?: object): Promise; /** @@ -58,7 +58,7 @@ declare class Order { * @returns {Promise} - Success response * @name getOrders * @summary: List customer orders - * @description: Retrieves all orders associated with a customer account - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getOrders/). + * @description: Get all orders associated with a customer account. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getOrders/). */ getOrders({ status, pageNo, pageSize, fromDate, toDate, startDate, endDate, customMeta, allowInactive, requestHeaders, }?: OrderApplicationValidator.GetOrdersParam, { responseHeaders }?: object): Promise; /** @@ -68,7 +68,7 @@ declare class Order { * @returns {Promise} - Success response * @name getShipmentBagReasons * @summary: List bag cancellation reasons - * @description: Get reasons to perform full or partial cancellation of a bag - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getShipmentBagReasons/). + * @description: Get reasons to perform full or partial cancellation of a bag. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getShipmentBagReasons/). */ getShipmentBagReasons({ shipmentId, bagId, requestHeaders }?: OrderApplicationValidator.GetShipmentBagReasonsParam, { responseHeaders }?: object): Promise; /** @@ -78,7 +78,7 @@ declare class Order { * @returns {Promise} - Success response * @name getShipmentById * @summary: Get a Shipment - * @description: Retrieve shipment details such as price breakup, tracking details, store information, etc. using Shipment ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getShipmentById/). + * @description: Get shipment details such as price breakup, tracking details, store information, etc. using Shipment ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getShipmentById/). */ getShipmentById({ shipmentId, allowInactive, requestHeaders }?: OrderApplicationValidator.GetShipmentByIdParam, { responseHeaders }?: object): Promise; /** @@ -88,7 +88,7 @@ declare class Order { * @returns {Promise} - Success response * @name getShipmentReasons * @summary: List shipment cancellation reasons - * @description: Get reasons to perform full or partial cancellation of a shipment - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getShipmentReasons/). + * @description: Get reasons to perform full or partial cancellation of a shipment. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getShipmentReasons/). */ getShipmentReasons({ shipmentId, requestHeaders }?: OrderApplicationValidator.GetShipmentReasonsParam, { responseHeaders }?: object): Promise; /** @@ -99,7 +99,7 @@ declare class Order { * Success response * @name sendOtpToShipmentCustomer * @summary: Send OTP to customer - * @description: Sends a one-time password (OTP) to the customer for shipment verification - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/sendOtpToShipmentCustomer/). + * @description: Send OTP to the customer for shipment verification. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/sendOtpToShipmentCustomer/). */ sendOtpToShipmentCustomer({ orderId, shipmentId, requestHeaders }?: OrderApplicationValidator.SendOtpToShipmentCustomerParam, { responseHeaders }?: object): Promise; /** @@ -121,7 +121,7 @@ declare class Order { * * @name updateShipmentStatus * @summary: Updates shipment status - * @description: Modifies the current status of a specific shipment using its shipment ID. Supports both partial and full transition as per the configured settings. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/updateShipmentStatus/). + * @description: Update current status of a specific shipment using its shipment ID. Supports both partial and full transition as per the configured settings. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/updateShipmentStatus/). */ updateShipmentStatus({ shipmentId, body, requestHeaders }?: OrderApplicationValidator.UpdateShipmentStatusParam, { responseHeaders }?: object): Promise; /** @@ -131,7 +131,7 @@ declare class Order { * @returns {Promise} - Success response * @name verifyOtpShipmentCustomer * @summary: Verifies OTP - * @description: Confirms the OTP sent to the shipment customer for verification. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/verifyOtpShipmentCustomer/). + * @description: Verify OTP sent by customer. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/verifyOtpShipmentCustomer/). */ verifyOtpShipmentCustomer({ orderId, shipmentId, body, requestHeaders }?: OrderApplicationValidator.VerifyOtpShipmentCustomerParam, { responseHeaders }?: object): Promise; } diff --git a/sdk/application/Order/OrderApplicationClient.js b/sdk/application/Order/OrderApplicationClient.js index a4b8224e3..24ea0feb2 100644 --- a/sdk/application/Order/OrderApplicationClient.js +++ b/sdk/application/Order/OrderApplicationClient.js @@ -61,7 +61,7 @@ class Order { * Success response * @name getCustomerDetailsByShipmentId * @summary: Get shipment's customer - * @description: Retrieve customer details such as mobile number using Shipment ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getCustomerDetailsByShipmentId/). + * @description: Get customer details such as mobile number using Shipment ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getCustomerDetailsByShipmentId/). */ async getCustomerDetailsByShipmentId( { orderId, shipmentId, requestHeaders } = { requestHeaders: {} }, @@ -142,7 +142,7 @@ class Order { * Success response * @name getInvoiceByShipmentId * @summary: Retrieves invoice for shipment - * @description: Retrieve the invoice corresponding to a specific shipment ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getInvoiceByShipmentId/). + * @description: Get invoice corresponding to a specific shipment ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getInvoiceByShipmentId/). */ async getInvoiceByShipmentId( { shipmentId, requestHeaders } = { requestHeaders: {} }, @@ -222,7 +222,7 @@ class Order { * @returns {Promise} - Success response * @name getOrderById * @summary: Get an order - * @description: Retrieve order details such as tracking details, shipment, store information using Fynd Order ID - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getOrderById/). + * @description: Get order details such as tracking details, shipment, store information using Fynd Order ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getOrderById/). */ async getOrderById( { orderId, allowInactive, requestHeaders } = { requestHeaders: {} }, @@ -301,7 +301,7 @@ class Order { * @returns {Promise} - Success response * @name getOrders * @summary: List customer orders - * @description: Retrieves all orders associated with a customer account - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getOrders/). + * @description: Get all orders associated with a customer account. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getOrders/). */ async getOrders( { @@ -417,7 +417,7 @@ class Order { * @returns {Promise} - Success response * @name getShipmentBagReasons * @summary: List bag cancellation reasons - * @description: Get reasons to perform full or partial cancellation of a bag - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getShipmentBagReasons/). + * @description: Get reasons to perform full or partial cancellation of a bag. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getShipmentBagReasons/). */ async getShipmentBagReasons( { shipmentId, bagId, requestHeaders } = { requestHeaders: {} }, @@ -497,7 +497,7 @@ class Order { * @returns {Promise} - Success response * @name getShipmentById * @summary: Get a Shipment - * @description: Retrieve shipment details such as price breakup, tracking details, store information, etc. using Shipment ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getShipmentById/). + * @description: Get shipment details such as price breakup, tracking details, store information, etc. using Shipment ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getShipmentById/). */ async getShipmentById( { shipmentId, allowInactive, requestHeaders } = { requestHeaders: {} }, @@ -576,7 +576,7 @@ class Order { * @returns {Promise} - Success response * @name getShipmentReasons * @summary: List shipment cancellation reasons - * @description: Get reasons to perform full or partial cancellation of a shipment - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getShipmentReasons/). + * @description: Get reasons to perform full or partial cancellation of a shipment. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/getShipmentReasons/). */ async getShipmentReasons( { shipmentId, requestHeaders } = { requestHeaders: {} }, @@ -655,7 +655,7 @@ class Order { * Success response * @name sendOtpToShipmentCustomer * @summary: Send OTP to customer - * @description: Sends a one-time password (OTP) to the customer for shipment verification - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/sendOtpToShipmentCustomer/). + * @description: Send OTP to the customer for shipment verification. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/sendOtpToShipmentCustomer/). */ async sendOtpToShipmentCustomer( { orderId, shipmentId, requestHeaders } = { requestHeaders: {} }, @@ -815,7 +815,7 @@ class Order { * * @name updateShipmentStatus * @summary: Updates shipment status - * @description: Modifies the current status of a specific shipment using its shipment ID. Supports both partial and full transition as per the configured settings. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/updateShipmentStatus/). + * @description: Update current status of a specific shipment using its shipment ID. Supports both partial and full transition as per the configured settings. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/updateShipmentStatus/). */ async updateShipmentStatus( { shipmentId, body, requestHeaders } = { requestHeaders: {} }, @@ -893,7 +893,7 @@ class Order { * @returns {Promise} - Success response * @name verifyOtpShipmentCustomer * @summary: Verifies OTP - * @description: Confirms the OTP sent to the shipment customer for verification. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/verifyOtpShipmentCustomer/). + * @description: Verify OTP sent by customer. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/order/verifyOtpShipmentCustomer/). */ async verifyOtpShipmentCustomer( { orderId, shipmentId, body, requestHeaders } = { requestHeaders: {} }, diff --git a/sdk/application/Order/OrderApplicationModel.d.ts b/sdk/application/Order/OrderApplicationModel.d.ts index 0d9adcffc..48c495134 100644 --- a/sdk/application/Order/OrderApplicationModel.d.ts +++ b/sdk/application/Order/OrderApplicationModel.d.ts @@ -1,369 +1,429 @@ export = OrderApplicationModel; /** * @typedef OrderPage - * @property {string} [type] - * @property {number} [item_total] - * @property {number} [current] - * @property {number} [size] - * @property {boolean} [has_next] + * @property {string} [type] - Specifies type of pagination. If it is 'cursor' + * based or 'number' based. + * @property {number} [item_total] - Total number of items available across all + * pages. It provides a count of all the items that match the query criteria, + * regardless of pagination. + * @property {number} [current] - Specifies the current page number. It helps in + * identifying the position within the paginated results. + * @property {number} [size] - Represents the number of items on the current + * page. It indicates how many items are included in each page of the + * paginated response. + * @property {boolean} [has_next] - Indicates whether there is a next page + * available. It is true if a next page exists and false if the current page + * is the last one. */ /** * @typedef UserInfo - * @property {string} [first_name] - * @property {string} [gender] - * @property {string} [name] - * @property {string} [last_name] - * @property {string} [mobile] - * @property {string} [email] + * @property {string} [first_name] - First name of the user. + * @property {string} [gender] - Gender of the user. + * @property {string} [name] - Full name of the user (including first and last names). + * @property {string} [last_name] - Last name of the user. + * @property {string} [mobile] - Mobile number of the user. + * @property {string} [email] - Email address of the user. */ /** * @typedef BreakupValues - * @property {number} [value] - * @property {string} [currency_symbol] - * @property {string} [name] - * @property {string} [display] - * @property {string} [currency_code] + * @property {number} [value] - The numerical value associated with the entity. + * @property {string} [currency_symbol] - Symbol representing the currency used + * for the value. + * @property {string} [name] - The official name of the entity. + * @property {string} [display] - The name of the entity as it should be displayed. + * @property {string} [currency_code] - The international currency code + * representing the currency used for the value. */ /** * @typedef ShipmentPayment - * @property {string} [mop] - * @property {string} [payment_mode] - * @property {string} [status] - * @property {string} [mode] - * @property {string} [logo] - * @property {string} [display_name] + * @property {string} [mop] - Abbreviation or code for the payment mode. + * @property {string} [payment_mode] - The specific payment mode used. + * @property {string} [status] - The current status of the payment. + * @property {string} [mode] - The payment mode. + * @property {string} [logo] - URL of the logo representing the payment mode. + * @property {string} [display_name] - The name to be displayed for the payment mode. */ /** * @typedef ShipmentPaymentInfo * @property {string} [mop] - Stands for "Mode of Payment". This is a short code * (like "COD" for Cash On Delivery) that represents the payment method used. * @property {string} [payment_mode] - Information about the payment mode, - * indicates whether COD or PREPAID + * indicates whether COD or PREPAID. * @property {string} [status] - Indicates the current status of the payment, - * Paid or Unpaid - * @property {string} [mode] - Information about the payment source. For eg, NB_ICICI - * @property {string} [logo] - A URL to an image representing the payment method + * Paid or Unpaid. + * @property {string} [mode] - Information about the payment source. For eg, NB_ICICI. + * @property {string} [logo] - A URL to an image representing the payment method. * @property {string} [display_name] - The name of the payment method as it - * should be displayed to the user - * @property {number} [amount] - Amount paid using this payment method + * should be displayed to the user. + * @property {number} [amount] - Amount paid using this payment method. */ /** * @typedef ShipmentUserInfo - * @property {string} [first_name] - * @property {string} [gender] - * @property {string} [name] - * @property {string} [last_name] - * @property {string} [mobile] - * @property {string} [email] + * @property {string} [first_name] - The unique identifier of the store. + * @property {string} [gender] - A code associated with the store. + * @property {string} [name] - The name of the store. + * @property {string} [last_name] - The name of the company associated with the store. + * @property {string} [mobile] - The identifier of the company associated with the store. + * @property {string} [email] - Email address of the user. */ /** * @typedef FulfillingStore - * @property {number} [id] - * @property {string} [code] - * @property {string} [name] - * @property {string} [company_name] - * @property {number} [company_id] + * @property {number} [id] - The unique identifier of the store. + * @property {string} [code] - A code associated with the store. + * @property {string} [name] - The name of the store. + * @property {string} [company_name] - The name of the company associated with the store. + * @property {number} [company_id] - The identifier of the company associated + * with the store. */ /** * @typedef ShipmentStatus - * @property {string} [value] - * @property {string} [title] - * @property {string} [hex_code] + * @property {string} [value] - The internal or code value representing the + * shipment status. + * @property {string} [title] - The title or display name representing the + * shipment status. + * @property {string} [hex_code] - The hexadecimal color code associated with + * the shipment status. */ /** * @typedef Invoice - * @property {string} [invoice_url] - * @property {string} [updated_date] - * @property {string} [label_url] + * @property {string} [invoice_url] - URL providing access to the invoice. + * @property {string} [updated_date] - The date and time when the invoice was + * last updated. + * @property {string} [label_url] - URL providing access to the invoice label. */ /** * @typedef NestedTrackingDetails - * @property {boolean} [is_passed] - * @property {string} [time] - * @property {boolean} [is_current] - * @property {string} [status] + * @property {boolean} [is_passed] - Indicates whether the tracking event has + * passed or occurred. + * @property {string} [time] - The time associated with the tracking event. + * @property {boolean} [is_current] - Indicates whether the tracking event is + * the current or active status. + * @property {string} [status] - The status of the tracking event. */ /** * @typedef TrackingDetails - * @property {string} [value] - * @property {boolean} [is_current] - * @property {boolean} [is_passed] - * @property {string} [status] - * @property {string} [time] - * @property {string} [created_ts] - * @property {NestedTrackingDetails[]} [tracking_details] + * @property {string} [value] - Current value or state of the process. + * @property {boolean} [is_current] - Indicates whether the tracking event is + * the current or active status. + * @property {boolean} [is_passed] - Indicates whether the tracking event has + * passed or occurred. + * @property {string} [status] - The status of the tracking event. + * @property {string} [time] - The time associated with the tracking event. + * @property {string} [created_ts] - Timestamp when this status was created. + * @property {NestedTrackingDetails[]} [tracking_details] - Nested tracking details. */ /** * @typedef TimeStampData - * @property {string} [min] - * @property {string} [max] + * @property {string} [min] - The minimum timestamp value. + * @property {string} [max] - The maximum timestamp value. */ /** * @typedef Promise - * @property {boolean} [show_promise] + * @property {boolean} [show_promise] - Indicates whether the promise details + * should be shown. * @property {TimeStampData} [timestamp] */ /** * @typedef ShipmentTotalDetails - * @property {number} [pieces] - * @property {number} [total_price] - * @property {number} [sizes] + * @property {number} [pieces] - The total number of pieces included. + * @property {number} [total_price] - The total price of the order or item. + * @property {number} [sizes] - The number of different sizes included. */ /** * @typedef Prices - * @property {number} [delivery_charge] - * @property {number} [coupon_value] - * @property {number} [brand_calculated_amount] - * @property {number} [value_of_good] - * @property {number} [price_marked] - * @property {number} [coupon_effective_discount] - * @property {string} [currency_symbol] - * @property {number} [discount] - * @property {number} [gst_tax_percentage] - * @property {number} [cod_charges] - * @property {number} [amount_paid] - * @property {boolean} [added_to_fynd_cash] - * @property {number} [transfer_price] - * @property {number} [cashback_applied] - * @property {number} [price_effective] - * @property {number} [cashback] - * @property {number} [refund_credit] - * @property {number} [amount_paid_roundoff] - * @property {number} [promotion_effective_discount] - * @property {number} [refund_amount] - * @property {string} [currency_code] - * @property {number} [fynd_credits] - * @property {number} [amount_to_be_collected] + * @property {number} [delivery_charge] - The delivery charge for the order. + * @property {number} [coupon_value] - The value of the coupon applied. + * @property {number} [brand_calculated_amount] - The amount calculated by the brand. + * @property {number} [value_of_good] - The value of the goods before tax and + * other charges. + * @property {number} [price_marked] - The original marked price of the item. + * @property {number} [coupon_effective_discount] - The effective discount from coupons. + * @property {string} [currency_symbol] - The symbol of the currency used. + * @property {number} [discount] - The discount applied to the item. + * @property {number} [gst_tax_percentage] - The GST tax percentage applied. + * @property {number} [cod_charges] - The cash on delivery charges, if applicable. + * @property {number} [amount_paid] - The total amount paid by the customer. + * @property {boolean} [added_to_fynd_cash] - Indicates if the refund amount was + * added to Fynd Cash. + * @property {number} [transfer_price] - The transfer price of the item. + * @property {number} [cashback_applied] - The amount of cashback applied. + * @property {number} [price_effective] - The effective price after all adjustments. + * @property {number} [cashback] - The cashback amount earned. + * @property {number} [refund_credit] - The amount credited for refund . + * @property {number} [amount_paid_roundoff] - The rounded-off amount paid by + * the customer. + * @property {number} [promotion_effective_discount] - The effective discount + * from promotions. + * @property {number} [refund_amount] - The amount refunded to the customer. + * @property {string} [currency_code] - The code of the currency used. + * @property {number} [fynd_credits] - The amount of Fynd credits used. + * @property {number} [amount_to_be_collected] - The total amount that needs to + * be collected from the customer. */ /** * @typedef ItemBrand - * @property {string} [logo] - * @property {string} [name] + * @property {string} [logo] - The URL of the brand's logo. + * @property {string} [name] - The name of the brand. */ /** * @typedef Item - * @property {string[]} [image] - * @property {string[]} [l1_categories] + * @property {string[]} [image] - An array of URLs pointing to images of the item. + * @property {string[]} [l1_categories] - An array of level 1 categories the item belongs. * @property {ItemBrand} [brand] - * @property {string} [seller_identifier] - * @property {string} [code] - * @property {number} [id] - * @property {string} [name] - * @property {string} [l3_category_name] - * @property {string} [slug_key] - * @property {string[]} [l2_categories] - * @property {string} [size] - * @property {Object} [attributes] + * @property {string} [seller_identifier] - The identifier for the seller . + * @property {string} [code] - The code or SKU of the item. + * @property {number} [id] - The unique identifier of the item. + * @property {string} [name] - The name of the item. + * @property {string} [l3_category_name] - The level 3 category name. + * @property {string} [slug_key] - A unique key or identifier for the item slug. + * @property {string[]} [l2_categories] - An array of level 2 categories the + * item belongs to. + * @property {string} [size] - The size of the item. + * @property {Object} [attributes] - An object containing various attributes of the item. */ /** * @typedef AppliedFreeArticles - * @property {string} [article_id] - * @property {Object} [free_gift_item_details] - * @property {string} [parent_item_identifier] - * @property {number} [quantity] + * @property {string} [article_id] - The unique identifier for the article. + * @property {Object} [free_gift_item_details] - An object containing details + * about the free gift item. + * @property {string} [parent_item_identifier] - The identifier for the parent + * item to which this free article is related. + * @property {number} [quantity] - The quantity of the free article. */ /** * @typedef AppliedPromos - * @property {boolean} [mrp_promotion] - * @property {string} [promotion_name] - * @property {number} [article_quantity] - * @property {string} [promo_id] - * @property {number} [amount] - * @property {string} [promotion_type] - * @property {AppliedFreeArticles[]} [applied_free_articles] + * @property {boolean} [mrp_promotion] - Indicates if the promotion is applied to the MRP. + * @property {string} [promotion_name] - The name of the promotion . + * @property {number} [article_quantity] - The quantity of articles required to + * qualify for the promotion. + * @property {string} [promo_id] - The unique identifier for the promotion. + * @property {number} [amount] - The discount amount provided by the promotion. + * @property {string} [promotion_type] - The type of promotion. + * @property {AppliedFreeArticles[]} [applied_free_articles] - An array + * containing details of free articles applied under the promotion. */ /** * @typedef Identifiers - * @property {string} [ean] - * @property {string} [sku_code] + * @property {string} [ean] - The European Article Number (EAN) of the item. + * @property {string} [sku_code] - The Stock Keeping Unit (SKU) code of the item. */ /** * @typedef FinancialBreakup - * @property {number} [coupon_value] - * @property {number} [delivery_charge] - * @property {number} [brand_calculated_amount] - * @property {number} [value_of_good] - * @property {number} [price_marked] - * @property {number} [coupon_effective_discount] - * @property {string} [hsn_code] - * @property {number} [discount] - * @property {number} [gst_tax_percentage] - * @property {number} [cod_charges] - * @property {number} [amount_paid] - * @property {boolean} [added_to_fynd_cash] - * @property {string} [size] - * @property {number} [transfer_price] - * @property {number} [cashback_applied] - * @property {number} [price_effective] - * @property {number} [cashback] - * @property {number} [refund_credit] - * @property {number} [amount_paid_roundoff] - * @property {number} [total_units] + * @property {number} [coupon_value] - The value of the coupon applied. + * @property {number} [delivery_charge] - The delivery charge for the order. + * @property {number} [brand_calculated_amount] - The amount calculated by the brand. + * @property {number} [value_of_good] - The value of the goods before tax and + * other charges. + * @property {number} [price_marked] - The original marked price of the item. + * @property {number} [coupon_effective_discount] - The effective discount from coupons. + * @property {string} [hsn_code] - The HSN (Harmonized System of Nomenclature) + * code of the item. + * @property {number} [discount] - The discount applied to the item. + * @property {number} [gst_tax_percentage] - The GST tax percentage applied . + * @property {number} [cod_charges] - The cash on delivery charges, if applicable. + * @property {number} [amount_paid] - The total amount paid by the customer. + * @property {boolean} [added_to_fynd_cash] - Indicates if the refund amount was + * added to Fynd Cash. + * @property {string} [size] - The size of the item . + * @property {number} [transfer_price] - The transfer price of the item. + * @property {number} [cashback_applied] - The amount of cashback applied. + * @property {number} [price_effective] - The effective price after all adjustments. + * @property {number} [cashback] - The cashback amount earned. + * @property {number} [refund_credit] - The amount credited for refund . + * @property {number} [amount_paid_roundoff] - The rounded-off amount paid by + * the customer. + * @property {number} [total_units] - The total number of units purchased. * @property {Identifiers} [identifiers] - * @property {string} [gst_tag] - * @property {string} [item_name] - * @property {number} [promotion_effective_discount] - * @property {number} [gst_fee] - * @property {number} [refund_amount] - * @property {number} [fynd_credits] - * @property {number} [amount_to_be_collected] + * @property {string} [gst_tag] - The GST tag indicating the type of GST applied. + * @property {string} [item_name] - The name of the item. + * @property {number} [promotion_effective_discount] - The effective discount + * from promotions. + * @property {number} [gst_fee] - The GST fee applied to the item. + * @property {number} [refund_amount] - The amount refunded to the customer. + * @property {number} [fynd_credits] - The amount of Fynd credits used. + * @property {number} [amount_to_be_collected] - The total amount that needs to + * be collected from the customer. */ /** * @typedef CurrentStatus - * @property {string} [updated_at] - * @property {string} [name] - * @property {string} [status] - * @property {string} [journey_type] + * @property {string} [updated_at] - The date and time when the status was last updated. + * @property {string} [name] - The name or label indicating the current state or status. + * @property {string} [status] - The current status of the bag. + * @property {string} [journey_type] - The type of journey for the shipment, + * indicating the direction of the shipment. */ /** * @typedef Bags - * @property {string} [delivery_date] - * @property {number} [line_number] - * @property {string} [currency_symbol] + * @property {string} [delivery_date] - The date and time when the item is + * expected to be delivered . + * @property {number} [line_number] - The line number of the item in the order. + * @property {string} [currency_symbol] - The symbol of the currency used. * @property {Item} [item] - * @property {AppliedPromos[]} [applied_promos] - * @property {number} [quantity] + * @property {AppliedPromos[]} [applied_promos] - An array containing + * information about applied promotions. + * @property {number} [quantity] - The quantity of the item. * @property {Prices} [prices] - * @property {boolean} [can_cancel] - * @property {boolean} [can_return] - * @property {number} [id] - * @property {string} [returnable_date] - * @property {FinancialBreakup[]} [financial_breakup] - * @property {Object} [parent_promo_bags] - * @property {Object} [meta] - * @property {string} [currency_code] - * @property {string} [seller_identifier] + * @property {boolean} [can_cancel] - Indicates if the item can be canceled. + * @property {boolean} [can_return] - Indicates if the item can be returned. + * @property {number} [id] - The unique identifier for the order item. + * @property {string} [returnable_date] - The last date and time by which the + * item can be returned. + * @property {FinancialBreakup[]} [financial_breakup] - An array containing + * financial details of the item. + * @property {Object} [parent_promo_bags] - An object containing details of + * parent promotional bags. + * @property {Object} [meta] - An object containing metadata for the item. + * @property {string} [currency_code] - The code of the currency used. + * @property {string} [seller_identifier] - The identifier for the seller. * @property {CurrentStatus} [current_status] * @property {Article} [article] */ /** * @typedef FulfillingCompany - * @property {number} [id] - * @property {string} [name] + * @property {number} [id] - The unique identifier for the fulfilling company. + * @property {string} [name] - The name of the fulfilling company. */ /** * @typedef Article - * @property {string[]} [tags] + * @property {string[]} [tags] - An array of tags associated with the article. */ /** * @typedef Address - * @property {string} [pincode] - * @property {string} [phone] - * @property {number} [latitude] - * @property {string} [address2] - * @property {string} [landmark] - * @property {string} [area] - * @property {string} [city] - * @property {string} [address] - * @property {string} [address_type] - * @property {number} [longitude] - * @property {string} [country_iso_code] - * @property {string} [state] - * @property {string} [created_at] - * @property {string} [address1] - * @property {string} [display_address] - * @property {string} [name] - * @property {string} [contact_person] - * @property {string} [address_category] - * @property {string} [email] - * @property {string} [country_phone_code] - * @property {string} [version] - * @property {string} [updated_at] - * @property {string} [country] + * @property {string} [pincode] - The postal code of the address. + * @property {string} [phone] - The phone number of the person associated with + * the address. + * @property {number} [latitude] - The latitude coordinate. + * @property {string} [address2] - The secondary line of the address. + * @property {string} [landmark] - A nearby landmark. + * @property {string} [area] - The area or locality. + * @property {string} [city] - The city of the address. + * @property {string} [address] - The full address. + * @property {string} [address_type] - The type of address. + * @property {number} [longitude] - The longitude coordinate. + * @property {string} [country_iso_code] - The ISO code for the country. + * @property {string} [state] - The state of the address. + * @property {string} [created_at] - The date and time when the address was created. + * @property {string} [address1] - The primary line of the address. + * @property {string} [display_address] - The formatted display address, + * typically used for printing or displaying in user interfaces. + * @property {string} [name] - The name of the person associated with the address. + * @property {string} [contact_person] - The name of the contact person. + * @property {string} [address_category] - The category of the address. + * @property {string} [email] - The email address. + * @property {string} [country_phone_code] - The country phone code. + * @property {string} [version] - The version of the address format. + * @property {string} [updated_at] - The date and time when the address was last updated . + * @property {string} [country] - The country of the address. */ /** * @typedef Shipments * @property {ShipmentPayment} [payment] - * @property {ShipmentPaymentInfo[]} [payment_info] - "Array of objects + * @property {ShipmentPaymentInfo[]} [payment_info] - Array of objects * containing payment methods used for placing an order. Each object will - * provide information about corresponding payment method with relevant details." - * @property {string} [order_type] - * @property {string} [gstin_code] - * @property {boolean} [show_download_invoice] - * @property {boolean} [can_cancel] + * provide information about corresponding payment method with relevant details. + * @property {string} [order_type] - The type of order. + * @property {string} [gstin_code] - The GSTIN code for the shipment. + * @property {boolean} [show_download_invoice] - Indicates if the download + * invoice option should be shown. + * @property {boolean} [can_cancel] - Indicates if the shipment can be canceled. * @property {ShipmentUserInfo} [user_info] - * @property {string} [shipment_id] + * @property {string} [shipment_id] - The unique identifier for the shipment. * @property {FulfillingStore} [fulfilling_store] - * @property {Object[]} [custom_meta] + * @property {Object[]} [custom_meta] - An object containing custom metadata for + * the shipment. * @property {ShipmentStatus} [shipment_status] - * @property {string} [comment] + * @property {string} [comment] - Any comments related to the shipment. * @property {Invoice} [invoice] - * @property {boolean} [show_track_link] - * @property {Object} [refund_details] - * @property {BreakupValues[]} [breakup_values] - * @property {Object} [can_break] - * @property {string} [traking_no] - * @property {TrackingDetails[]} [tracking_details] + * @property {boolean} [show_track_link] - Indicates if the track link should be shown. + * @property {Object} [refund_details] - An object containing details of any refunds. + * @property {BreakupValues[]} [breakup_values] - An array containing the + * breakup of various charges and discounts. + * @property {Object} [can_break] - An object containing details about the + * breakability of the shipment. + * @property {string} [traking_no] - The tracking number for the shipment. + * @property {TrackingDetails[]} [tracking_details] - An array containing + * details of the tracking history of the shipment. * @property {Promise} [promise] - * @property {number} [total_bags] + * @property {number} [total_bags] - The total number of bags in the shipment. * @property {ShipmentTotalDetails} [total_details] * @property {Prices} [prices] - * @property {string} [returnable_date] - * @property {string} [shipment_created_at] - * @property {string} [shipment_created_ts] - * @property {Object} [size_info] - * @property {Bags[]} [bags] - * @property {string} [dp_name] - * @property {string} [awb_no] - * @property {boolean} [beneficiary_details] + * @property {string} [returnable_date] - The last date by which the item can be returned. + * @property {string} [shipment_created_at] - The date and time when the + * shipment was created. + * @property {string} [shipment_created_ts] - The timestamp when the shipment was created. + * @property {Object} [size_info] - An object containing size information for + * the items in the shipment. + * @property {Bags[]} [bags] - An array containing details about the individual + * bags in the shipment. + * @property {string} [dp_name] - The name of the delivery partner. + * @property {string} [awb_no] - The airway bill number for the shipment. + * @property {boolean} [beneficiary_details] - Indicates if there are any + * beneficiary details. * @property {FulfillingCompany} [fulfilling_company] - * @property {boolean} [can_return] + * @property {boolean} [can_return] - Indicates if the shipment can be returned. * @property {Address} [delivery_address] * @property {Address} [billing_address] - * @property {string} [track_url] - * @property {string} [order_id] - * @property {string} [need_help_url] - * @property {Object} [return_meta] - * @property {string} [delivery_date] + * @property {string} [track_url] - The URL for tracking the shipment. + * @property {string} [order_id] - The unique identifier for the order. + * @property {string} [need_help_url] - The URL for customer support or help. + * @property {Object} [return_meta] - An object containing metadata about the + * return process. + * @property {string} [delivery_date] - The expected delivery date. * @property {OrderRequest} [order] */ /** * @typedef BagsForReorderArticleAssignment - * @property {string} [strategy] - * @property {string} [level] + * @property {string} [strategy] - The strategy used for article assignment. + * @property {string} [level] - The level at which the article assignment is made. */ /** * @typedef BagsForReorder - * @property {string} [item_size] - * @property {number} [quantity] - * @property {number} [store_id] + * @property {string} [item_size] - The size of the item. + * @property {number} [quantity] - The quantity of the item. + * @property {number} [store_id] - The identifier for the store. * @property {BagsForReorderArticleAssignment} [article_assignment] - * @property {number} [seller_id] - * @property {number} [item_id] + * @property {number} [seller_id] - The identifier for the seller. + * @property {number} [item_id] - The unique identifier for the item. */ /** * @typedef OrderSchema - * @property {number} [total_shipments_in_order] - * @property {string} [gstin_code] + * @property {number} [total_shipments_in_order] - The total number of shipments + * in the order. + * @property {string} [gstin_code] - The GSTIN code for the shipment. * @property {UserInfo} [user_info] - * @property {BreakupValues[]} [breakup_values] - * @property {string} [order_created_time] - * @property {string} [order_created_ts] - * @property {string} [order_id] - * @property {Shipments[]} [shipments] - * @property {BagsForReorder[]} [bags_for_reorder] - * @property {Object} [meta] + * @property {BreakupValues[]} [breakup_values] - An array containing the + * breakup of various charges and discounts. + * @property {string} [order_created_time] - The date and time when the order was created. + * @property {string} [order_created_ts] - The timestamp when the order was created. + * @property {string} [order_id] - The unique identifier for the order. + * @property {Shipments[]} [shipments] - An array containing details of + * individual shipments within the order. + * @property {BagsForReorder[]} [bags_for_reorder] - An array containing details + * of bags available for reorder. + * @property {Object} [meta] - An object containing additional metadata for the order. */ /** * @typedef OrderStatuses - * @property {number} [value] - * @property {boolean} [is_selected] - * @property {string} [display] + * @property {number} [value] - The value representing the selection. + * @property {boolean} [is_selected] - Indicates whether this option is + * currently selected. + * @property {string} [display] - The text to display . */ /** * @typedef OrderFilters - * @property {OrderStatuses[]} [statuses] + * @property {OrderStatuses[]} [statuses] - An array containing the order statuses. */ /** * @typedef OrderList * @property {OrderPage} [page] - * @property {OrderSchema[]} [items] + * @property {OrderSchema[]} [items] - List of orders, each containing detailed + * information about individual orders and their respective shipments. * @property {OrderFilters} [filters] */ /** * @typedef ApefaceApiError - * @property {string} [message] - * @property {boolean} [success] + * @property {string} [message] - Contains any message related to the operation. + * @property {boolean} [success] - Indicates if the operation was successful. */ /** * @typedef OrderById @@ -375,183 +435,197 @@ export = OrderApplicationModel; */ /** * @typedef ResponseGetInvoiceShipment - * @property {string} presigned_type - * @property {boolean} success - * @property {string} shipment_id - * @property {string} presigned_url + * @property {string} presigned_type - Type of presigned URL. + * @property {boolean} success - Indicates if the operation was successful . + * @property {string} shipment_id - Identifier for the shipment. + * @property {string} presigned_url - The presigned URL for accessing the + * shipment data, obtained from the response data. */ /** * @typedef Track - * @property {string} [account_name] - * @property {string} [shipment_type] - * @property {string} [status] - * @property {string} [last_location_recieved_at] - * @property {string} [updated_time] - * @property {string} [updated_at] - * @property {string} [reason] - * @property {string} [awb] + * @property {string} [account_name] - The name of the account handling the shipment. + * @property {string} [shipment_type] - The type of shipment. + * @property {string} [status] - The current status of the shipment. + * @property {string} [last_location_recieved_at] - The last known location of + * the shipment. + * @property {string} [updated_time] - The timestamp of the last update. + * @property {string} [updated_at] - The date and time when the shipment was last updated. + * @property {string} [reason] - The reason or additional information about the shipment. + * @property {string} [awb] - The Air Waybill (AWB) number for the shipment. */ /** * @typedef ShipmentTrack - * @property {Track[]} [results] + * @property {Track[]} [results] - A array containing tracking details. */ /** * @typedef CustomerDetailsResponse - * @property {string} [phone] - * @property {string} [shipment_id] - * @property {string} [name] - * @property {string} [order_id] - * @property {string} [country] + * @property {string} [phone] - Customer's phone number. + * @property {string} [shipment_id] - Unique identifier of the shipment. + * @property {string} [name] - Customer's name. + * @property {string} [order_id] - Unique identifier of the order. + * @property {string} [country] - Country of the customer. */ /** * @typedef SendOtpToCustomerResponse - * @property {string} [request_id] - * @property {string} [message] - * @property {boolean} [success] - * @property {number} [resend_timer] + * @property {string} [request_id] - Unique identifier for the request. + * @property {string} [message] - Message indicating the result of the request. + * @property {boolean} [success] - Indicates whether the request was successful. + * @property {number} [resend_timer] - Time in seconds before the OTP can be resent. */ /** * @typedef VerifyOtp - * @property {string} [otp_code] - * @property {string} [request_id] + * @property {string} [otp_code] - The OTP code provided by the user for verification. + * @property {string} [request_id] - Unique identifier for the request. */ /** * @typedef VerifyOtpResponse - * @property {boolean} [success] + * @property {boolean} [success] - Indicates whether the request was successful. */ /** * @typedef BagReasonMeta - * @property {boolean} [show_text_area] + * @property {boolean} [show_text_area] - Indicates whether to display a text + * box on the front end. */ /** * @typedef QuestionSet - * @property {number} [id] - * @property {string} [display_name] + * @property {number} [id] - The unique identifier for the question. + * @property {string} [display_name] - The text displayed for the question. */ /** * @typedef BagReasons - * @property {string[]} [qc_type] - * @property {number} [id] - * @property {string} [display_name] + * @property {string[]} [qc_type] - A list of quality check types. + * @property {number} [id] - The unique identifier. + * @property {string} [display_name] - The text displayed. * @property {BagReasonMeta} [meta] - * @property {QuestionSet[]} [question_set] - * @property {BagReasons[]} [reasons] + * @property {QuestionSet[]} [question_set] - A list of questions for delivery partner. + * @property {BagReasons[]} [reasons] - A list of reasons. */ /** * @typedef ShipmentBagReasons - * @property {BagReasons[]} [reasons] - * @property {boolean} [success] + * @property {BagReasons[]} [reasons] - A list of shipment's bag reasons. + * @property {boolean} [success] - Indicates if the operation was successful. */ /** * @typedef ShipmentReason - * @property {number} [priority] - * @property {boolean} [show_text_area] - * @property {number} [reason_id] - * @property {string} [feedback_type] - * @property {string} [reason_text] - * @property {string} [flow] + * @property {number} [priority] - The priority level of the reason. + * @property {boolean} [show_text_area] - A flag indicating whether to show a + * textbox on the frontend. + * @property {number} [reason_id] - The unique identifier for the reason. + * @property {string} [feedback_type] - The type of feedback. + * @property {string} [reason_text] - The text describing the reason. + * @property {string} [flow] - The process flow related to the reason. */ /** * @typedef ShipmentReasons - * @property {ShipmentReason[]} [reasons] + * @property {ShipmentReason[]} [reasons] - A list of shipment reasons. */ /** * @typedef ProductsReasonsData - * @property {number} [reason_id] - * @property {string} [reason_text] + * @property {number} [reason_id] - The unique identifier for the reason. + * @property {string} [reason_text] - The text describing the reason. */ /** * @typedef ProductsReasonsFilters - * @property {number} [line_number] - * @property {number} [quantity] - * @property {string} [identifier] + * @property {number} [line_number] - The specific line item of bag. + * @property {number} [quantity] - The quantity of the product. + * @property {string} [identifier] - The unique identifier for the product. */ /** * @typedef ProductsReasons * @property {ProductsReasonsData} [data] - * @property {ProductsReasonsFilters[]} [filters] + * @property {ProductsReasonsFilters[]} [filters] - Criteria applied to filter + * the products. */ /** * @typedef EntityReasonData - * @property {number} [reason_id] - * @property {string} [reason_text] + * @property {number} [reason_id] - The unique identifier for the reason. + * @property {string} [reason_text] - The text describing the reason. */ /** * @typedef EntitiesReasons * @property {EntityReasonData} [data] - * @property {Object[]} [filters] + * @property {Object[]} [filters] - Criteria applied to filter the shipment. */ /** * @typedef ReasonsData - * @property {ProductsReasons[]} [products] - * @property {EntitiesReasons[]} [entities] + * @property {ProductsReasons[]} [products] - Reasons data for bags. + * @property {EntitiesReasons[]} [entities] - Reasons data for shipments. */ /** * @typedef Products - * @property {number} [line_number] - * @property {number} [quantity] - * @property {string} [identifier] + * @property {number} [line_number] - The specific line item of bag. + * @property {number} [quantity] - The quantity of the product. + * @property {string} [identifier] - The unique identifier for the product. */ /** * @typedef ProductsDataUpdatesFilters - * @property {number} [line_number] - * @property {string} [identifier] + * @property {number} [line_number] - The specific line item of bag. + * @property {string} [identifier] - The quantity of the product. */ /** * @typedef ProductsDataUpdates - * @property {Object} [data] - * @property {ProductsDataUpdatesFilters[]} [filters] + * @property {Object} [data] - Information about the data to be updated. + * @property {ProductsDataUpdatesFilters[]} [filters] - Criteria applied to + * filter the products. */ /** * @typedef EntitiesDataUpdates - * @property {Object} [data] - * @property {Object[]} [filters] + * @property {Object} [data] - Information about the data to be updated. + * @property {Object[]} [filters] - Criteria applied to filter the shipments. */ /** * @typedef DataUpdates - * @property {ProductsDataUpdates[]} [products] - * @property {EntitiesDataUpdates[]} [entities] + * @property {ProductsDataUpdates[]} [products] - Data updates for bags. + * @property {EntitiesDataUpdates[]} [entities] - Data updates for shipments. */ /** * @typedef ShipmentsRequest * @property {ReasonsData} [reasons] - * @property {Products[]} [products] + * @property {Products[]} [products] - Specific bag to be updated. * @property {DataUpdates} [data_updates] - * @property {string} identifier + * @property {string} identifier - The unique identifier for request which is + * the shipment_id. */ /** * @typedef StatuesRequest - * @property {ShipmentsRequest[]} [shipments] - * @property {string} [exclude_bags_next_state] - * @property {string} [status] + * @property {ShipmentsRequest[]} [shipments] - A list containing information + * about shipments. + * @property {string} [exclude_bags_next_state] - State to be change for + * Remaining Bag/Products. + * @property {string} [status] - The status to which the entity is to be transitioned. */ /** * @typedef OrderRequest - * @property {Object} [meta] + * @property {Object} [meta] - Metadata for the order. */ /** * @typedef UpdateShipmentStatusRequest - * @property {StatuesRequest[]} [statuses] - * @property {boolean} [task] - * @property {boolean} [lock_after_transition] - * @property {boolean} [force_transition] - * @property {boolean} [unlock_before_transition] + * @property {StatuesRequest[]} [statuses] - An array containing different status details. + * @property {boolean} [task] - Indicates whether the task is active or required. + * @property {boolean} [lock_after_transition] - Indicates whether the status + * should be locked after the transition. + * @property {boolean} [force_transition] - Indicates whether the transition + * should be forced. + * @property {boolean} [unlock_before_transition] - Indicates whether the status + * should be unlocked before the transition. */ /** * @typedef StatusesBodyResponse - * @property {Object[]} [shipments] + * @property {Object[]} [shipments] - List of shipments. */ /** * @typedef ShipmentApplicationStatusResponse - * @property {StatusesBodyResponse[]} [statuses] + * @property {StatusesBodyResponse[]} [statuses] - An array containing different + * status options of shipments. */ /** * @typedef ErrorResponse - * @property {string} [code] - * @property {string} [message] - * @property {number} [status] - * @property {string} [exception] - * @property {string} [stack_trace] + * @property {string} [code] - The HTTP status code of the response. + * @property {string} [message] - A message providing details about the response. + * @property {number} [status] - An additional code providing more context about + * the response. + * @property {string} [exception] - Details of any exception that occurred. + * @property {string} [stack_trace] - The stack trace of any exception that occurred. */ declare class OrderApplicationModel { } @@ -561,39 +635,115 @@ declare namespace OrderApplicationModel { /** @returns {OrderPage} */ declare function OrderPage(): OrderPage; type OrderPage = { + /** + * - Specifies type of pagination. If it is 'cursor' + * based or 'number' based. + */ type?: string; + /** + * - Total number of items available across all + * pages. It provides a count of all the items that match the query criteria, + * regardless of pagination. + */ item_total?: number; + /** + * - Specifies the current page number. It helps in + * identifying the position within the paginated results. + */ current?: number; + /** + * - Represents the number of items on the current + * page. It indicates how many items are included in each page of the + * paginated response. + */ size?: number; + /** + * - Indicates whether there is a next page + * available. It is true if a next page exists and false if the current page + * is the last one. + */ has_next?: boolean; }; /** @returns {UserInfo} */ declare function UserInfo(): UserInfo; type UserInfo = { + /** + * - First name of the user. + */ first_name?: string; + /** + * - Gender of the user. + */ gender?: string; + /** + * - Full name of the user (including first and last names). + */ name?: string; + /** + * - Last name of the user. + */ last_name?: string; + /** + * - Mobile number of the user. + */ mobile?: string; + /** + * - Email address of the user. + */ email?: string; }; /** @returns {BreakupValues} */ declare function BreakupValues(): BreakupValues; type BreakupValues = { + /** + * - The numerical value associated with the entity. + */ value?: number; + /** + * - Symbol representing the currency used + * for the value. + */ currency_symbol?: string; + /** + * - The official name of the entity. + */ name?: string; + /** + * - The name of the entity as it should be displayed. + */ display?: string; + /** + * - The international currency code + * representing the currency used for the value. + */ currency_code?: string; }; /** @returns {ShipmentPayment} */ declare function ShipmentPayment(): ShipmentPayment; type ShipmentPayment = { + /** + * - Abbreviation or code for the payment mode. + */ mop?: string; + /** + * - The specific payment mode used. + */ payment_mode?: string; + /** + * - The current status of the payment. + */ status?: string; + /** + * - The payment mode. + */ mode?: string; + /** + * - URL of the logo representing the payment mode. + */ logo?: string; + /** + * - The name to be displayed for the payment mode. + */ display_name?: string; }; /** @returns {ShipmentPaymentInfo} */ @@ -606,235 +756,651 @@ type ShipmentPaymentInfo = { mop?: string; /** * - Information about the payment mode, - * indicates whether COD or PREPAID + * indicates whether COD or PREPAID. */ payment_mode?: string; /** * - Indicates the current status of the payment, - * Paid or Unpaid + * Paid or Unpaid. */ status?: string; /** - * - Information about the payment source. For eg, NB_ICICI + * - Information about the payment source. For eg, NB_ICICI. */ mode?: string; /** - * - A URL to an image representing the payment method + * - A URL to an image representing the payment method. */ logo?: string; /** * - The name of the payment method as it - * should be displayed to the user + * should be displayed to the user. */ display_name?: string; /** - * - Amount paid using this payment method + * - Amount paid using this payment method. */ amount?: number; }; /** @returns {ShipmentUserInfo} */ declare function ShipmentUserInfo(): ShipmentUserInfo; type ShipmentUserInfo = { + /** + * - The unique identifier of the store. + */ first_name?: string; + /** + * - A code associated with the store. + */ gender?: string; + /** + * - The name of the store. + */ name?: string; + /** + * - The name of the company associated with the store. + */ last_name?: string; + /** + * - The identifier of the company associated with the store. + */ mobile?: string; + /** + * - Email address of the user. + */ email?: string; }; /** @returns {FulfillingStore} */ declare function FulfillingStore(): FulfillingStore; type FulfillingStore = { + /** + * - The unique identifier of the store. + */ id?: number; + /** + * - A code associated with the store. + */ code?: string; + /** + * - The name of the store. + */ name?: string; + /** + * - The name of the company associated with the store. + */ company_name?: string; + /** + * - The identifier of the company associated + * with the store. + */ company_id?: number; }; /** @returns {ShipmentStatus} */ declare function ShipmentStatus(): ShipmentStatus; type ShipmentStatus = { + /** + * - The internal or code value representing the + * shipment status. + */ value?: string; + /** + * - The title or display name representing the + * shipment status. + */ title?: string; + /** + * - The hexadecimal color code associated with + * the shipment status. + */ hex_code?: string; }; /** @returns {Invoice} */ declare function Invoice(): Invoice; type Invoice = { + /** + * - URL providing access to the invoice. + */ invoice_url?: string; + /** + * - The date and time when the invoice was + * last updated. + */ updated_date?: string; + /** + * - URL providing access to the invoice label. + */ label_url?: string; }; /** @returns {NestedTrackingDetails} */ declare function NestedTrackingDetails(): NestedTrackingDetails; type NestedTrackingDetails = { + /** + * - Indicates whether the tracking event has + * passed or occurred. + */ is_passed?: boolean; + /** + * - The time associated with the tracking event. + */ time?: string; + /** + * - Indicates whether the tracking event is + * the current or active status. + */ is_current?: boolean; + /** + * - The status of the tracking event. + */ status?: string; }; /** @returns {TrackingDetails} */ declare function TrackingDetails(): TrackingDetails; type TrackingDetails = { + /** + * - Current value or state of the process. + */ value?: string; + /** + * - Indicates whether the tracking event is + * the current or active status. + */ is_current?: boolean; + /** + * - Indicates whether the tracking event has + * passed or occurred. + */ is_passed?: boolean; + /** + * - The status of the tracking event. + */ status?: string; + /** + * - The time associated with the tracking event. + */ time?: string; + /** + * - Timestamp when this status was created. + */ created_ts?: string; + /** + * - Nested tracking details. + */ tracking_details?: NestedTrackingDetails[]; }; /** @returns {TimeStampData} */ declare function TimeStampData(): TimeStampData; type TimeStampData = { + /** + * - The minimum timestamp value. + */ min?: string; + /** + * - The maximum timestamp value. + */ max?: string; }; /** @returns {Promise} */ declare function Promise(): Promise; type Promise = { + /** + * - Indicates whether the promise details + * should be shown. + */ show_promise?: boolean; timestamp?: TimeStampData; }; /** @returns {ShipmentTotalDetails} */ declare function ShipmentTotalDetails(): ShipmentTotalDetails; type ShipmentTotalDetails = { + /** + * - The total number of pieces included. + */ pieces?: number; + /** + * - The total price of the order or item. + */ total_price?: number; + /** + * - The number of different sizes included. + */ sizes?: number; }; /** @returns {Prices} */ declare function Prices(): Prices; type Prices = { + /** + * - The delivery charge for the order. + */ delivery_charge?: number; + /** + * - The value of the coupon applied. + */ coupon_value?: number; + /** + * - The amount calculated by the brand. + */ brand_calculated_amount?: number; + /** + * - The value of the goods before tax and + * other charges. + */ value_of_good?: number; + /** + * - The original marked price of the item. + */ price_marked?: number; + /** + * - The effective discount from coupons. + */ coupon_effective_discount?: number; + /** + * - The symbol of the currency used. + */ currency_symbol?: string; + /** + * - The discount applied to the item. + */ discount?: number; + /** + * - The GST tax percentage applied. + */ gst_tax_percentage?: number; + /** + * - The cash on delivery charges, if applicable. + */ cod_charges?: number; + /** + * - The total amount paid by the customer. + */ amount_paid?: number; + /** + * - Indicates if the refund amount was + * added to Fynd Cash. + */ added_to_fynd_cash?: boolean; + /** + * - The transfer price of the item. + */ transfer_price?: number; + /** + * - The amount of cashback applied. + */ cashback_applied?: number; + /** + * - The effective price after all adjustments. + */ price_effective?: number; + /** + * - The cashback amount earned. + */ cashback?: number; + /** + * - The amount credited for refund . + */ refund_credit?: number; + /** + * - The rounded-off amount paid by + * the customer. + */ amount_paid_roundoff?: number; + /** + * - The effective discount + * from promotions. + */ promotion_effective_discount?: number; + /** + * - The amount refunded to the customer. + */ refund_amount?: number; + /** + * - The code of the currency used. + */ currency_code?: string; + /** + * - The amount of Fynd credits used. + */ fynd_credits?: number; + /** + * - The total amount that needs to + * be collected from the customer. + */ amount_to_be_collected?: number; }; /** @returns {ItemBrand} */ declare function ItemBrand(): ItemBrand; type ItemBrand = { + /** + * - The URL of the brand's logo. + */ logo?: string; + /** + * - The name of the brand. + */ name?: string; }; /** @returns {Item} */ declare function Item(): Item; type Item = { + /** + * - An array of URLs pointing to images of the item. + */ image?: string[]; + /** + * - An array of level 1 categories the item belongs. + */ l1_categories?: string[]; brand?: ItemBrand; + /** + * - The identifier for the seller . + */ seller_identifier?: string; + /** + * - The code or SKU of the item. + */ code?: string; + /** + * - The unique identifier of the item. + */ id?: number; + /** + * - The name of the item. + */ name?: string; + /** + * - The level 3 category name. + */ l3_category_name?: string; + /** + * - A unique key or identifier for the item slug. + */ slug_key?: string; + /** + * - An array of level 2 categories the + * item belongs to. + */ l2_categories?: string[]; + /** + * - The size of the item. + */ size?: string; + /** + * - An object containing various attributes of the item. + */ attributes?: any; }; /** @returns {AppliedFreeArticles} */ declare function AppliedFreeArticles(): AppliedFreeArticles; type AppliedFreeArticles = { + /** + * - The unique identifier for the article. + */ article_id?: string; + /** + * - An object containing details + * about the free gift item. + */ free_gift_item_details?: any; + /** + * - The identifier for the parent + * item to which this free article is related. + */ parent_item_identifier?: string; + /** + * - The quantity of the free article. + */ quantity?: number; }; /** @returns {AppliedPromos} */ declare function AppliedPromos(): AppliedPromos; type AppliedPromos = { + /** + * - Indicates if the promotion is applied to the MRP. + */ mrp_promotion?: boolean; + /** + * - The name of the promotion . + */ promotion_name?: string; + /** + * - The quantity of articles required to + * qualify for the promotion. + */ article_quantity?: number; + /** + * - The unique identifier for the promotion. + */ promo_id?: string; + /** + * - The discount amount provided by the promotion. + */ amount?: number; + /** + * - The type of promotion. + */ promotion_type?: string; + /** + * - An array + * containing details of free articles applied under the promotion. + */ applied_free_articles?: AppliedFreeArticles[]; }; /** @returns {Identifiers} */ declare function Identifiers(): Identifiers; type Identifiers = { + /** + * - The European Article Number (EAN) of the item. + */ ean?: string; + /** + * - The Stock Keeping Unit (SKU) code of the item. + */ sku_code?: string; }; /** @returns {FinancialBreakup} */ declare function FinancialBreakup(): FinancialBreakup; type FinancialBreakup = { + /** + * - The value of the coupon applied. + */ coupon_value?: number; + /** + * - The delivery charge for the order. + */ delivery_charge?: number; + /** + * - The amount calculated by the brand. + */ brand_calculated_amount?: number; + /** + * - The value of the goods before tax and + * other charges. + */ value_of_good?: number; + /** + * - The original marked price of the item. + */ price_marked?: number; + /** + * - The effective discount from coupons. + */ coupon_effective_discount?: number; + /** + * - The HSN (Harmonized System of Nomenclature) + * code of the item. + */ hsn_code?: string; + /** + * - The discount applied to the item. + */ discount?: number; + /** + * - The GST tax percentage applied . + */ gst_tax_percentage?: number; + /** + * - The cash on delivery charges, if applicable. + */ cod_charges?: number; + /** + * - The total amount paid by the customer. + */ amount_paid?: number; + /** + * - Indicates if the refund amount was + * added to Fynd Cash. + */ added_to_fynd_cash?: boolean; + /** + * - The size of the item . + */ size?: string; + /** + * - The transfer price of the item. + */ transfer_price?: number; + /** + * - The amount of cashback applied. + */ cashback_applied?: number; + /** + * - The effective price after all adjustments. + */ price_effective?: number; + /** + * - The cashback amount earned. + */ cashback?: number; + /** + * - The amount credited for refund . + */ refund_credit?: number; + /** + * - The rounded-off amount paid by + * the customer. + */ amount_paid_roundoff?: number; + /** + * - The total number of units purchased. + */ total_units?: number; identifiers?: Identifiers; + /** + * - The GST tag indicating the type of GST applied. + */ gst_tag?: string; + /** + * - The name of the item. + */ item_name?: string; + /** + * - The effective discount + * from promotions. + */ promotion_effective_discount?: number; + /** + * - The GST fee applied to the item. + */ gst_fee?: number; + /** + * - The amount refunded to the customer. + */ refund_amount?: number; + /** + * - The amount of Fynd credits used. + */ fynd_credits?: number; + /** + * - The total amount that needs to + * be collected from the customer. + */ amount_to_be_collected?: number; }; /** @returns {CurrentStatus} */ declare function CurrentStatus(): CurrentStatus; type CurrentStatus = { + /** + * - The date and time when the status was last updated. + */ updated_at?: string; + /** + * - The name or label indicating the current state or status. + */ name?: string; + /** + * - The current status of the bag. + */ status?: string; + /** + * - The type of journey for the shipment, + * indicating the direction of the shipment. + */ journey_type?: string; }; /** @returns {Bags} */ declare function Bags(): Bags; type Bags = { + /** + * - The date and time when the item is + * expected to be delivered . + */ delivery_date?: string; + /** + * - The line number of the item in the order. + */ line_number?: number; + /** + * - The symbol of the currency used. + */ currency_symbol?: string; item?: Item; + /** + * - An array containing + * information about applied promotions. + */ applied_promos?: AppliedPromos[]; + /** + * - The quantity of the item. + */ quantity?: number; prices?: Prices; + /** + * - Indicates if the item can be canceled. + */ can_cancel?: boolean; + /** + * - Indicates if the item can be returned. + */ can_return?: boolean; + /** + * - The unique identifier for the order item. + */ id?: number; + /** + * - The last date and time by which the + * item can be returned. + */ returnable_date?: string; + /** + * - An array containing + * financial details of the item. + */ financial_breakup?: FinancialBreakup[]; + /** + * - An object containing details of + * parent promotional bags. + */ parent_promo_bags?: any; + /** + * - An object containing metadata for the item. + */ meta?: any; + /** + * - The code of the currency used. + */ currency_code?: string; + /** + * - The identifier for the seller. + */ seller_identifier?: string; current_status?: CurrentStatus; article?: Article; @@ -842,39 +1408,119 @@ type Bags = { /** @returns {FulfillingCompany} */ declare function FulfillingCompany(): FulfillingCompany; type FulfillingCompany = { + /** + * - The unique identifier for the fulfilling company. + */ id?: number; + /** + * - The name of the fulfilling company. + */ name?: string; }; /** @returns {Article} */ declare function Article(): Article; type Article = { + /** + * - An array of tags associated with the article. + */ tags?: string[]; }; /** @returns {Address} */ declare function Address(): Address; type Address = { + /** + * - The postal code of the address. + */ pincode?: string; + /** + * - The phone number of the person associated with + * the address. + */ phone?: string; + /** + * - The latitude coordinate. + */ latitude?: number; + /** + * - The secondary line of the address. + */ address2?: string; + /** + * - A nearby landmark. + */ landmark?: string; + /** + * - The area or locality. + */ area?: string; + /** + * - The city of the address. + */ city?: string; + /** + * - The full address. + */ address?: string; + /** + * - The type of address. + */ address_type?: string; + /** + * - The longitude coordinate. + */ longitude?: number; + /** + * - The ISO code for the country. + */ country_iso_code?: string; + /** + * - The state of the address. + */ state?: string; + /** + * - The date and time when the address was created. + */ created_at?: string; + /** + * - The primary line of the address. + */ address1?: string; + /** + * - The formatted display address, + * typically used for printing or displaying in user interfaces. + */ display_address?: string; + /** + * - The name of the person associated with the address. + */ name?: string; + /** + * - The name of the contact person. + */ contact_person?: string; + /** + * - The category of the address. + */ address_category?: string; + /** + * - The email address. + */ email?: string; + /** + * - The country phone code. + */ country_phone_code?: string; + /** + * - The version of the address format. + */ version?: string; + /** + * - The date and time when the address was last updated . + */ updated_at?: string; + /** + * - The country of the address. + */ country?: string; }; /** @returns {Shipments} */ @@ -882,104 +1528,273 @@ declare function Shipments(): Shipments; type Shipments = { payment?: ShipmentPayment; /** - * - "Array of objects + * - Array of objects * containing payment methods used for placing an order. Each object will - * provide information about corresponding payment method with relevant details." + * provide information about corresponding payment method with relevant details. */ payment_info?: ShipmentPaymentInfo[]; + /** + * - The type of order. + */ order_type?: string; + /** + * - The GSTIN code for the shipment. + */ gstin_code?: string; + /** + * - Indicates if the download + * invoice option should be shown. + */ show_download_invoice?: boolean; + /** + * - Indicates if the shipment can be canceled. + */ can_cancel?: boolean; user_info?: ShipmentUserInfo; + /** + * - The unique identifier for the shipment. + */ shipment_id?: string; fulfilling_store?: FulfillingStore; + /** + * - An object containing custom metadata for + * the shipment. + */ custom_meta?: any[]; shipment_status?: ShipmentStatus; + /** + * - Any comments related to the shipment. + */ comment?: string; invoice?: Invoice; + /** + * - Indicates if the track link should be shown. + */ show_track_link?: boolean; + /** + * - An object containing details of any refunds. + */ refund_details?: any; + /** + * - An array containing the + * breakup of various charges and discounts. + */ breakup_values?: BreakupValues[]; + /** + * - An object containing details about the + * breakability of the shipment. + */ can_break?: any; + /** + * - The tracking number for the shipment. + */ traking_no?: string; + /** + * - An array containing + * details of the tracking history of the shipment. + */ tracking_details?: TrackingDetails[]; promise?: Promise; + /** + * - The total number of bags in the shipment. + */ total_bags?: number; total_details?: ShipmentTotalDetails; prices?: Prices; + /** + * - The last date by which the item can be returned. + */ returnable_date?: string; + /** + * - The date and time when the + * shipment was created. + */ shipment_created_at?: string; + /** + * - The timestamp when the shipment was created. + */ shipment_created_ts?: string; + /** + * - An object containing size information for + * the items in the shipment. + */ size_info?: any; + /** + * - An array containing details about the individual + * bags in the shipment. + */ bags?: Bags[]; + /** + * - The name of the delivery partner. + */ dp_name?: string; + /** + * - The airway bill number for the shipment. + */ awb_no?: string; + /** + * - Indicates if there are any + * beneficiary details. + */ beneficiary_details?: boolean; fulfilling_company?: FulfillingCompany; + /** + * - Indicates if the shipment can be returned. + */ can_return?: boolean; delivery_address?: Address; billing_address?: Address; + /** + * - The URL for tracking the shipment. + */ track_url?: string; + /** + * - The unique identifier for the order. + */ order_id?: string; + /** + * - The URL for customer support or help. + */ need_help_url?: string; + /** + * - An object containing metadata about the + * return process. + */ return_meta?: any; + /** + * - The expected delivery date. + */ delivery_date?: string; order?: OrderRequest; }; /** @returns {BagsForReorderArticleAssignment} */ declare function BagsForReorderArticleAssignment(): BagsForReorderArticleAssignment; type BagsForReorderArticleAssignment = { + /** + * - The strategy used for article assignment. + */ strategy?: string; + /** + * - The level at which the article assignment is made. + */ level?: string; }; /** @returns {BagsForReorder} */ declare function BagsForReorder(): BagsForReorder; type BagsForReorder = { + /** + * - The size of the item. + */ item_size?: string; + /** + * - The quantity of the item. + */ quantity?: number; + /** + * - The identifier for the store. + */ store_id?: number; article_assignment?: BagsForReorderArticleAssignment; + /** + * - The identifier for the seller. + */ seller_id?: number; + /** + * - The unique identifier for the item. + */ item_id?: number; }; /** @returns {OrderSchema} */ declare function OrderSchema(): OrderSchema; type OrderSchema = { + /** + * - The total number of shipments + * in the order. + */ total_shipments_in_order?: number; + /** + * - The GSTIN code for the shipment. + */ gstin_code?: string; user_info?: UserInfo; + /** + * - An array containing the + * breakup of various charges and discounts. + */ breakup_values?: BreakupValues[]; + /** + * - The date and time when the order was created. + */ order_created_time?: string; + /** + * - The timestamp when the order was created. + */ order_created_ts?: string; + /** + * - The unique identifier for the order. + */ order_id?: string; + /** + * - An array containing details of + * individual shipments within the order. + */ shipments?: Shipments[]; + /** + * - An array containing details + * of bags available for reorder. + */ bags_for_reorder?: BagsForReorder[]; + /** + * - An object containing additional metadata for the order. + */ meta?: any; }; /** @returns {OrderStatuses} */ declare function OrderStatuses(): OrderStatuses; type OrderStatuses = { + /** + * - The value representing the selection. + */ value?: number; + /** + * - Indicates whether this option is + * currently selected. + */ is_selected?: boolean; + /** + * - The text to display . + */ display?: string; }; /** @returns {OrderFilters} */ declare function OrderFilters(): OrderFilters; type OrderFilters = { + /** + * - An array containing the order statuses. + */ statuses?: OrderStatuses[]; }; /** @returns {OrderList} */ declare function OrderList(): OrderList; type OrderList = { page?: OrderPage; + /** + * - List of orders, each containing detailed + * information about individual orders and their respective shipments. + */ items?: OrderSchema[]; filters?: OrderFilters; }; /** @returns {ApefaceApiError} */ declare function ApefaceApiError(): ApefaceApiError; type ApefaceApiError = { + /** + * - Contains any message related to the operation. + */ message?: string; + /** + * - Indicates if the operation was successful. + */ success?: boolean; }; /** @returns {OrderById} */ @@ -995,211 +1810,471 @@ type ShipmentById = { /** @returns {ResponseGetInvoiceShipment} */ declare function ResponseGetInvoiceShipment(): ResponseGetInvoiceShipment; type ResponseGetInvoiceShipment = { + /** + * - Type of presigned URL. + */ presigned_type: string; + /** + * - Indicates if the operation was successful . + */ success: boolean; + /** + * - Identifier for the shipment. + */ shipment_id: string; + /** + * - The presigned URL for accessing the + * shipment data, obtained from the response data. + */ presigned_url: string; }; /** @returns {Track} */ declare function Track(): Track; type Track = { + /** + * - The name of the account handling the shipment. + */ account_name?: string; + /** + * - The type of shipment. + */ shipment_type?: string; + /** + * - The current status of the shipment. + */ status?: string; + /** + * - The last known location of + * the shipment. + */ last_location_recieved_at?: string; + /** + * - The timestamp of the last update. + */ updated_time?: string; + /** + * - The date and time when the shipment was last updated. + */ updated_at?: string; + /** + * - The reason or additional information about the shipment. + */ reason?: string; + /** + * - The Air Waybill (AWB) number for the shipment. + */ awb?: string; }; /** @returns {ShipmentTrack} */ declare function ShipmentTrack(): ShipmentTrack; type ShipmentTrack = { + /** + * - A array containing tracking details. + */ results?: Track[]; }; /** @returns {CustomerDetailsResponse} */ declare function CustomerDetailsResponse(): CustomerDetailsResponse; type CustomerDetailsResponse = { + /** + * - Customer's phone number. + */ phone?: string; + /** + * - Unique identifier of the shipment. + */ shipment_id?: string; + /** + * - Customer's name. + */ name?: string; + /** + * - Unique identifier of the order. + */ order_id?: string; + /** + * - Country of the customer. + */ country?: string; }; /** @returns {SendOtpToCustomerResponse} */ declare function SendOtpToCustomerResponse(): SendOtpToCustomerResponse; type SendOtpToCustomerResponse = { + /** + * - Unique identifier for the request. + */ request_id?: string; + /** + * - Message indicating the result of the request. + */ message?: string; + /** + * - Indicates whether the request was successful. + */ success?: boolean; + /** + * - Time in seconds before the OTP can be resent. + */ resend_timer?: number; }; /** @returns {VerifyOtp} */ declare function VerifyOtp(): VerifyOtp; type VerifyOtp = { + /** + * - The OTP code provided by the user for verification. + */ otp_code?: string; + /** + * - Unique identifier for the request. + */ request_id?: string; }; /** @returns {VerifyOtpResponse} */ declare function VerifyOtpResponse(): VerifyOtpResponse; type VerifyOtpResponse = { + /** + * - Indicates whether the request was successful. + */ success?: boolean; }; /** @returns {BagReasonMeta} */ declare function BagReasonMeta(): BagReasonMeta; type BagReasonMeta = { + /** + * - Indicates whether to display a text + * box on the front end. + */ show_text_area?: boolean; }; /** @returns {QuestionSet} */ declare function QuestionSet(): QuestionSet; type QuestionSet = { + /** + * - The unique identifier for the question. + */ id?: number; + /** + * - The text displayed for the question. + */ display_name?: string; }; /** @returns {BagReasons} */ declare function BagReasons(): BagReasons; type BagReasons = { + /** + * - A list of quality check types. + */ qc_type?: string[]; + /** + * - The unique identifier. + */ id?: number; + /** + * - The text displayed. + */ display_name?: string; meta?: BagReasonMeta; + /** + * - A list of questions for delivery partner. + */ question_set?: QuestionSet[]; + /** + * - A list of reasons. + */ reasons?: BagReasons[]; }; /** @returns {ShipmentBagReasons} */ declare function ShipmentBagReasons(): ShipmentBagReasons; type ShipmentBagReasons = { + /** + * - A list of shipment's bag reasons. + */ reasons?: BagReasons[]; + /** + * - Indicates if the operation was successful. + */ success?: boolean; }; /** @returns {ShipmentReason} */ declare function ShipmentReason(): ShipmentReason; type ShipmentReason = { + /** + * - The priority level of the reason. + */ priority?: number; + /** + * - A flag indicating whether to show a + * textbox on the frontend. + */ show_text_area?: boolean; + /** + * - The unique identifier for the reason. + */ reason_id?: number; + /** + * - The type of feedback. + */ feedback_type?: string; + /** + * - The text describing the reason. + */ reason_text?: string; + /** + * - The process flow related to the reason. + */ flow?: string; }; /** @returns {ShipmentReasons} */ declare function ShipmentReasons(): ShipmentReasons; type ShipmentReasons = { + /** + * - A list of shipment reasons. + */ reasons?: ShipmentReason[]; }; /** @returns {ProductsReasonsData} */ declare function ProductsReasonsData(): ProductsReasonsData; type ProductsReasonsData = { + /** + * - The unique identifier for the reason. + */ reason_id?: number; + /** + * - The text describing the reason. + */ reason_text?: string; }; /** @returns {ProductsReasonsFilters} */ declare function ProductsReasonsFilters(): ProductsReasonsFilters; type ProductsReasonsFilters = { + /** + * - The specific line item of bag. + */ line_number?: number; + /** + * - The quantity of the product. + */ quantity?: number; + /** + * - The unique identifier for the product. + */ identifier?: string; }; /** @returns {ProductsReasons} */ declare function ProductsReasons(): ProductsReasons; type ProductsReasons = { data?: ProductsReasonsData; + /** + * - Criteria applied to filter + * the products. + */ filters?: ProductsReasonsFilters[]; }; /** @returns {EntityReasonData} */ declare function EntityReasonData(): EntityReasonData; type EntityReasonData = { + /** + * - The unique identifier for the reason. + */ reason_id?: number; + /** + * - The text describing the reason. + */ reason_text?: string; }; /** @returns {EntitiesReasons} */ declare function EntitiesReasons(): EntitiesReasons; type EntitiesReasons = { data?: EntityReasonData; + /** + * - Criteria applied to filter the shipment. + */ filters?: any[]; }; /** @returns {ReasonsData} */ declare function ReasonsData(): ReasonsData; type ReasonsData = { + /** + * - Reasons data for bags. + */ products?: ProductsReasons[]; + /** + * - Reasons data for shipments. + */ entities?: EntitiesReasons[]; }; /** @returns {Products} */ declare function Products(): Products; type Products = { + /** + * - The specific line item of bag. + */ line_number?: number; + /** + * - The quantity of the product. + */ quantity?: number; + /** + * - The unique identifier for the product. + */ identifier?: string; }; /** @returns {ProductsDataUpdatesFilters} */ declare function ProductsDataUpdatesFilters(): ProductsDataUpdatesFilters; type ProductsDataUpdatesFilters = { + /** + * - The specific line item of bag. + */ line_number?: number; + /** + * - The quantity of the product. + */ identifier?: string; }; /** @returns {ProductsDataUpdates} */ declare function ProductsDataUpdates(): ProductsDataUpdates; type ProductsDataUpdates = { + /** + * - Information about the data to be updated. + */ data?: any; + /** + * - Criteria applied to + * filter the products. + */ filters?: ProductsDataUpdatesFilters[]; }; /** @returns {EntitiesDataUpdates} */ declare function EntitiesDataUpdates(): EntitiesDataUpdates; type EntitiesDataUpdates = { + /** + * - Information about the data to be updated. + */ data?: any; + /** + * - Criteria applied to filter the shipments. + */ filters?: any[]; }; /** @returns {DataUpdates} */ declare function DataUpdates(): DataUpdates; type DataUpdates = { + /** + * - Data updates for bags. + */ products?: ProductsDataUpdates[]; + /** + * - Data updates for shipments. + */ entities?: EntitiesDataUpdates[]; }; /** @returns {ShipmentsRequest} */ declare function ShipmentsRequest(): ShipmentsRequest; type ShipmentsRequest = { reasons?: ReasonsData; + /** + * - Specific bag to be updated. + */ products?: Products[]; data_updates?: DataUpdates; + /** + * - The unique identifier for request which is + * the shipment_id. + */ identifier: string; }; /** @returns {StatuesRequest} */ declare function StatuesRequest(): StatuesRequest; type StatuesRequest = { + /** + * - A list containing information + * about shipments. + */ shipments?: ShipmentsRequest[]; + /** + * - State to be change for + * Remaining Bag/Products. + */ exclude_bags_next_state?: string; + /** + * - The status to which the entity is to be transitioned. + */ status?: string; }; /** @returns {OrderRequest} */ declare function OrderRequest(): OrderRequest; type OrderRequest = { + /** + * - Metadata for the order. + */ meta?: any; }; /** @returns {UpdateShipmentStatusRequest} */ declare function UpdateShipmentStatusRequest(): UpdateShipmentStatusRequest; type UpdateShipmentStatusRequest = { + /** + * - An array containing different status details. + */ statuses?: StatuesRequest[]; + /** + * - Indicates whether the task is active or required. + */ task?: boolean; + /** + * - Indicates whether the status + * should be locked after the transition. + */ lock_after_transition?: boolean; + /** + * - Indicates whether the transition + * should be forced. + */ force_transition?: boolean; + /** + * - Indicates whether the status + * should be unlocked before the transition. + */ unlock_before_transition?: boolean; }; /** @returns {StatusesBodyResponse} */ declare function StatusesBodyResponse(): StatusesBodyResponse; type StatusesBodyResponse = { + /** + * - List of shipments. + */ shipments?: any[]; }; /** @returns {ShipmentApplicationStatusResponse} */ declare function ShipmentApplicationStatusResponse(): ShipmentApplicationStatusResponse; type ShipmentApplicationStatusResponse = { + /** + * - An array containing different + * status options of shipments. + */ statuses?: StatusesBodyResponse[]; }; /** @returns {ErrorResponse} */ declare function ErrorResponse(): ErrorResponse; type ErrorResponse = { + /** + * - The HTTP status code of the response. + */ code?: string; + /** + * - A message providing details about the response. + */ message?: string; + /** + * - An additional code providing more context about + * the response. + */ status?: number; + /** + * - Details of any exception that occurred. + */ exception?: string; + /** + * - The stack trace of any exception that occurred. + */ stack_trace?: string; }; diff --git a/sdk/application/Order/OrderApplicationModel.js b/sdk/application/Order/OrderApplicationModel.js index af7efc81b..26e25c14c 100644 --- a/sdk/application/Order/OrderApplicationModel.js +++ b/sdk/application/Order/OrderApplicationModel.js @@ -2,40 +2,50 @@ const Joi = require("joi"); /** * @typedef OrderPage - * @property {string} [type] - * @property {number} [item_total] - * @property {number} [current] - * @property {number} [size] - * @property {boolean} [has_next] + * @property {string} [type] - Specifies type of pagination. If it is 'cursor' + * based or 'number' based. + * @property {number} [item_total] - Total number of items available across all + * pages. It provides a count of all the items that match the query criteria, + * regardless of pagination. + * @property {number} [current] - Specifies the current page number. It helps in + * identifying the position within the paginated results. + * @property {number} [size] - Represents the number of items on the current + * page. It indicates how many items are included in each page of the + * paginated response. + * @property {boolean} [has_next] - Indicates whether there is a next page + * available. It is true if a next page exists and false if the current page + * is the last one. */ /** * @typedef UserInfo - * @property {string} [first_name] - * @property {string} [gender] - * @property {string} [name] - * @property {string} [last_name] - * @property {string} [mobile] - * @property {string} [email] + * @property {string} [first_name] - First name of the user. + * @property {string} [gender] - Gender of the user. + * @property {string} [name] - Full name of the user (including first and last names). + * @property {string} [last_name] - Last name of the user. + * @property {string} [mobile] - Mobile number of the user. + * @property {string} [email] - Email address of the user. */ /** * @typedef BreakupValues - * @property {number} [value] - * @property {string} [currency_symbol] - * @property {string} [name] - * @property {string} [display] - * @property {string} [currency_code] + * @property {number} [value] - The numerical value associated with the entity. + * @property {string} [currency_symbol] - Symbol representing the currency used + * for the value. + * @property {string} [name] - The official name of the entity. + * @property {string} [display] - The name of the entity as it should be displayed. + * @property {string} [currency_code] - The international currency code + * representing the currency used for the value. */ /** * @typedef ShipmentPayment - * @property {string} [mop] - * @property {string} [payment_mode] - * @property {string} [status] - * @property {string} [mode] - * @property {string} [logo] - * @property {string} [display_name] + * @property {string} [mop] - Abbreviation or code for the payment mode. + * @property {string} [payment_mode] - The specific payment mode used. + * @property {string} [status] - The current status of the payment. + * @property {string} [mode] - The payment mode. + * @property {string} [logo] - URL of the logo representing the payment mode. + * @property {string} [display_name] - The name to be displayed for the payment mode. */ /** @@ -43,361 +53,411 @@ const Joi = require("joi"); * @property {string} [mop] - Stands for "Mode of Payment". This is a short code * (like "COD" for Cash On Delivery) that represents the payment method used. * @property {string} [payment_mode] - Information about the payment mode, - * indicates whether COD or PREPAID + * indicates whether COD or PREPAID. * @property {string} [status] - Indicates the current status of the payment, - * Paid or Unpaid - * @property {string} [mode] - Information about the payment source. For eg, NB_ICICI - * @property {string} [logo] - A URL to an image representing the payment method + * Paid or Unpaid. + * @property {string} [mode] - Information about the payment source. For eg, NB_ICICI. + * @property {string} [logo] - A URL to an image representing the payment method. * @property {string} [display_name] - The name of the payment method as it - * should be displayed to the user - * @property {number} [amount] - Amount paid using this payment method + * should be displayed to the user. + * @property {number} [amount] - Amount paid using this payment method. */ /** * @typedef ShipmentUserInfo - * @property {string} [first_name] - * @property {string} [gender] - * @property {string} [name] - * @property {string} [last_name] - * @property {string} [mobile] - * @property {string} [email] + * @property {string} [first_name] - The unique identifier of the store. + * @property {string} [gender] - A code associated with the store. + * @property {string} [name] - The name of the store. + * @property {string} [last_name] - The name of the company associated with the store. + * @property {string} [mobile] - The identifier of the company associated with the store. + * @property {string} [email] - Email address of the user. */ /** * @typedef FulfillingStore - * @property {number} [id] - * @property {string} [code] - * @property {string} [name] - * @property {string} [company_name] - * @property {number} [company_id] + * @property {number} [id] - The unique identifier of the store. + * @property {string} [code] - A code associated with the store. + * @property {string} [name] - The name of the store. + * @property {string} [company_name] - The name of the company associated with the store. + * @property {number} [company_id] - The identifier of the company associated + * with the store. */ /** * @typedef ShipmentStatus - * @property {string} [value] - * @property {string} [title] - * @property {string} [hex_code] + * @property {string} [value] - The internal or code value representing the + * shipment status. + * @property {string} [title] - The title or display name representing the + * shipment status. + * @property {string} [hex_code] - The hexadecimal color code associated with + * the shipment status. */ /** * @typedef Invoice - * @property {string} [invoice_url] - * @property {string} [updated_date] - * @property {string} [label_url] + * @property {string} [invoice_url] - URL providing access to the invoice. + * @property {string} [updated_date] - The date and time when the invoice was + * last updated. + * @property {string} [label_url] - URL providing access to the invoice label. */ /** * @typedef NestedTrackingDetails - * @property {boolean} [is_passed] - * @property {string} [time] - * @property {boolean} [is_current] - * @property {string} [status] + * @property {boolean} [is_passed] - Indicates whether the tracking event has + * passed or occurred. + * @property {string} [time] - The time associated with the tracking event. + * @property {boolean} [is_current] - Indicates whether the tracking event is + * the current or active status. + * @property {string} [status] - The status of the tracking event. */ /** * @typedef TrackingDetails - * @property {string} [value] - * @property {boolean} [is_current] - * @property {boolean} [is_passed] - * @property {string} [status] - * @property {string} [time] - * @property {string} [created_ts] - * @property {NestedTrackingDetails[]} [tracking_details] + * @property {string} [value] - Current value or state of the process. + * @property {boolean} [is_current] - Indicates whether the tracking event is + * the current or active status. + * @property {boolean} [is_passed] - Indicates whether the tracking event has + * passed or occurred. + * @property {string} [status] - The status of the tracking event. + * @property {string} [time] - The time associated with the tracking event. + * @property {string} [created_ts] - Timestamp when this status was created. + * @property {NestedTrackingDetails[]} [tracking_details] - Nested tracking details. */ /** * @typedef TimeStampData - * @property {string} [min] - * @property {string} [max] + * @property {string} [min] - The minimum timestamp value. + * @property {string} [max] - The maximum timestamp value. */ /** * @typedef Promise - * @property {boolean} [show_promise] + * @property {boolean} [show_promise] - Indicates whether the promise details + * should be shown. * @property {TimeStampData} [timestamp] */ /** * @typedef ShipmentTotalDetails - * @property {number} [pieces] - * @property {number} [total_price] - * @property {number} [sizes] + * @property {number} [pieces] - The total number of pieces included. + * @property {number} [total_price] - The total price of the order or item. + * @property {number} [sizes] - The number of different sizes included. */ /** * @typedef Prices - * @property {number} [delivery_charge] - * @property {number} [coupon_value] - * @property {number} [brand_calculated_amount] - * @property {number} [value_of_good] - * @property {number} [price_marked] - * @property {number} [coupon_effective_discount] - * @property {string} [currency_symbol] - * @property {number} [discount] - * @property {number} [gst_tax_percentage] - * @property {number} [cod_charges] - * @property {number} [amount_paid] - * @property {boolean} [added_to_fynd_cash] - * @property {number} [transfer_price] - * @property {number} [cashback_applied] - * @property {number} [price_effective] - * @property {number} [cashback] - * @property {number} [refund_credit] - * @property {number} [amount_paid_roundoff] - * @property {number} [promotion_effective_discount] - * @property {number} [refund_amount] - * @property {string} [currency_code] - * @property {number} [fynd_credits] - * @property {number} [amount_to_be_collected] + * @property {number} [delivery_charge] - The delivery charge for the order. + * @property {number} [coupon_value] - The value of the coupon applied. + * @property {number} [brand_calculated_amount] - The amount calculated by the brand. + * @property {number} [value_of_good] - The value of the goods before tax and + * other charges. + * @property {number} [price_marked] - The original marked price of the item. + * @property {number} [coupon_effective_discount] - The effective discount from coupons. + * @property {string} [currency_symbol] - The symbol of the currency used. + * @property {number} [discount] - The discount applied to the item. + * @property {number} [gst_tax_percentage] - The GST tax percentage applied. + * @property {number} [cod_charges] - The cash on delivery charges, if applicable. + * @property {number} [amount_paid] - The total amount paid by the customer. + * @property {boolean} [added_to_fynd_cash] - Indicates if the refund amount was + * added to Fynd Cash. + * @property {number} [transfer_price] - The transfer price of the item. + * @property {number} [cashback_applied] - The amount of cashback applied. + * @property {number} [price_effective] - The effective price after all adjustments. + * @property {number} [cashback] - The cashback amount earned. + * @property {number} [refund_credit] - The amount credited for refund . + * @property {number} [amount_paid_roundoff] - The rounded-off amount paid by + * the customer. + * @property {number} [promotion_effective_discount] - The effective discount + * from promotions. + * @property {number} [refund_amount] - The amount refunded to the customer. + * @property {string} [currency_code] - The code of the currency used. + * @property {number} [fynd_credits] - The amount of Fynd credits used. + * @property {number} [amount_to_be_collected] - The total amount that needs to + * be collected from the customer. */ /** * @typedef ItemBrand - * @property {string} [logo] - * @property {string} [name] + * @property {string} [logo] - The URL of the brand's logo. + * @property {string} [name] - The name of the brand. */ /** * @typedef Item - * @property {string[]} [image] - * @property {string[]} [l1_categories] + * @property {string[]} [image] - An array of URLs pointing to images of the item. + * @property {string[]} [l1_categories] - An array of level 1 categories the item belongs. * @property {ItemBrand} [brand] - * @property {string} [seller_identifier] - * @property {string} [code] - * @property {number} [id] - * @property {string} [name] - * @property {string} [l3_category_name] - * @property {string} [slug_key] - * @property {string[]} [l2_categories] - * @property {string} [size] - * @property {Object} [attributes] + * @property {string} [seller_identifier] - The identifier for the seller . + * @property {string} [code] - The code or SKU of the item. + * @property {number} [id] - The unique identifier of the item. + * @property {string} [name] - The name of the item. + * @property {string} [l3_category_name] - The level 3 category name. + * @property {string} [slug_key] - A unique key or identifier for the item slug. + * @property {string[]} [l2_categories] - An array of level 2 categories the + * item belongs to. + * @property {string} [size] - The size of the item. + * @property {Object} [attributes] - An object containing various attributes of the item. */ /** * @typedef AppliedFreeArticles - * @property {string} [article_id] - * @property {Object} [free_gift_item_details] - * @property {string} [parent_item_identifier] - * @property {number} [quantity] + * @property {string} [article_id] - The unique identifier for the article. + * @property {Object} [free_gift_item_details] - An object containing details + * about the free gift item. + * @property {string} [parent_item_identifier] - The identifier for the parent + * item to which this free article is related. + * @property {number} [quantity] - The quantity of the free article. */ /** * @typedef AppliedPromos - * @property {boolean} [mrp_promotion] - * @property {string} [promotion_name] - * @property {number} [article_quantity] - * @property {string} [promo_id] - * @property {number} [amount] - * @property {string} [promotion_type] - * @property {AppliedFreeArticles[]} [applied_free_articles] + * @property {boolean} [mrp_promotion] - Indicates if the promotion is applied to the MRP. + * @property {string} [promotion_name] - The name of the promotion . + * @property {number} [article_quantity] - The quantity of articles required to + * qualify for the promotion. + * @property {string} [promo_id] - The unique identifier for the promotion. + * @property {number} [amount] - The discount amount provided by the promotion. + * @property {string} [promotion_type] - The type of promotion. + * @property {AppliedFreeArticles[]} [applied_free_articles] - An array + * containing details of free articles applied under the promotion. */ /** * @typedef Identifiers - * @property {string} [ean] - * @property {string} [sku_code] + * @property {string} [ean] - The European Article Number (EAN) of the item. + * @property {string} [sku_code] - The Stock Keeping Unit (SKU) code of the item. */ /** * @typedef FinancialBreakup - * @property {number} [coupon_value] - * @property {number} [delivery_charge] - * @property {number} [brand_calculated_amount] - * @property {number} [value_of_good] - * @property {number} [price_marked] - * @property {number} [coupon_effective_discount] - * @property {string} [hsn_code] - * @property {number} [discount] - * @property {number} [gst_tax_percentage] - * @property {number} [cod_charges] - * @property {number} [amount_paid] - * @property {boolean} [added_to_fynd_cash] - * @property {string} [size] - * @property {number} [transfer_price] - * @property {number} [cashback_applied] - * @property {number} [price_effective] - * @property {number} [cashback] - * @property {number} [refund_credit] - * @property {number} [amount_paid_roundoff] - * @property {number} [total_units] + * @property {number} [coupon_value] - The value of the coupon applied. + * @property {number} [delivery_charge] - The delivery charge for the order. + * @property {number} [brand_calculated_amount] - The amount calculated by the brand. + * @property {number} [value_of_good] - The value of the goods before tax and + * other charges. + * @property {number} [price_marked] - The original marked price of the item. + * @property {number} [coupon_effective_discount] - The effective discount from coupons. + * @property {string} [hsn_code] - The HSN (Harmonized System of Nomenclature) + * code of the item. + * @property {number} [discount] - The discount applied to the item. + * @property {number} [gst_tax_percentage] - The GST tax percentage applied . + * @property {number} [cod_charges] - The cash on delivery charges, if applicable. + * @property {number} [amount_paid] - The total amount paid by the customer. + * @property {boolean} [added_to_fynd_cash] - Indicates if the refund amount was + * added to Fynd Cash. + * @property {string} [size] - The size of the item . + * @property {number} [transfer_price] - The transfer price of the item. + * @property {number} [cashback_applied] - The amount of cashback applied. + * @property {number} [price_effective] - The effective price after all adjustments. + * @property {number} [cashback] - The cashback amount earned. + * @property {number} [refund_credit] - The amount credited for refund . + * @property {number} [amount_paid_roundoff] - The rounded-off amount paid by + * the customer. + * @property {number} [total_units] - The total number of units purchased. * @property {Identifiers} [identifiers] - * @property {string} [gst_tag] - * @property {string} [item_name] - * @property {number} [promotion_effective_discount] - * @property {number} [gst_fee] - * @property {number} [refund_amount] - * @property {number} [fynd_credits] - * @property {number} [amount_to_be_collected] + * @property {string} [gst_tag] - The GST tag indicating the type of GST applied. + * @property {string} [item_name] - The name of the item. + * @property {number} [promotion_effective_discount] - The effective discount + * from promotions. + * @property {number} [gst_fee] - The GST fee applied to the item. + * @property {number} [refund_amount] - The amount refunded to the customer. + * @property {number} [fynd_credits] - The amount of Fynd credits used. + * @property {number} [amount_to_be_collected] - The total amount that needs to + * be collected from the customer. */ /** * @typedef CurrentStatus - * @property {string} [updated_at] - * @property {string} [name] - * @property {string} [status] - * @property {string} [journey_type] + * @property {string} [updated_at] - The date and time when the status was last updated. + * @property {string} [name] - The name or label indicating the current state or status. + * @property {string} [status] - The current status of the bag. + * @property {string} [journey_type] - The type of journey for the shipment, + * indicating the direction of the shipment. */ /** * @typedef Bags - * @property {string} [delivery_date] - * @property {number} [line_number] - * @property {string} [currency_symbol] + * @property {string} [delivery_date] - The date and time when the item is + * expected to be delivered . + * @property {number} [line_number] - The line number of the item in the order. + * @property {string} [currency_symbol] - The symbol of the currency used. * @property {Item} [item] - * @property {AppliedPromos[]} [applied_promos] - * @property {number} [quantity] + * @property {AppliedPromos[]} [applied_promos] - An array containing + * information about applied promotions. + * @property {number} [quantity] - The quantity of the item. * @property {Prices} [prices] - * @property {boolean} [can_cancel] - * @property {boolean} [can_return] - * @property {number} [id] - * @property {string} [returnable_date] - * @property {FinancialBreakup[]} [financial_breakup] - * @property {Object} [parent_promo_bags] - * @property {Object} [meta] - * @property {string} [currency_code] - * @property {string} [seller_identifier] + * @property {boolean} [can_cancel] - Indicates if the item can be canceled. + * @property {boolean} [can_return] - Indicates if the item can be returned. + * @property {number} [id] - The unique identifier for the order item. + * @property {string} [returnable_date] - The last date and time by which the + * item can be returned. + * @property {FinancialBreakup[]} [financial_breakup] - An array containing + * financial details of the item. + * @property {Object} [parent_promo_bags] - An object containing details of + * parent promotional bags. + * @property {Object} [meta] - An object containing metadata for the item. + * @property {string} [currency_code] - The code of the currency used. + * @property {string} [seller_identifier] - The identifier for the seller. * @property {CurrentStatus} [current_status] * @property {Article} [article] */ /** * @typedef FulfillingCompany - * @property {number} [id] - * @property {string} [name] + * @property {number} [id] - The unique identifier for the fulfilling company. + * @property {string} [name] - The name of the fulfilling company. */ /** * @typedef Article - * @property {string[]} [tags] + * @property {string[]} [tags] - An array of tags associated with the article. */ /** * @typedef Address - * @property {string} [pincode] - * @property {string} [phone] - * @property {number} [latitude] - * @property {string} [address2] - * @property {string} [landmark] - * @property {string} [area] - * @property {string} [city] - * @property {string} [address] - * @property {string} [address_type] - * @property {number} [longitude] - * @property {string} [country_iso_code] - * @property {string} [state] - * @property {string} [created_at] - * @property {string} [address1] - * @property {string} [display_address] - * @property {string} [name] - * @property {string} [contact_person] - * @property {string} [address_category] - * @property {string} [email] - * @property {string} [country_phone_code] - * @property {string} [version] - * @property {string} [updated_at] - * @property {string} [country] + * @property {string} [pincode] - The postal code of the address. + * @property {string} [phone] - The phone number of the person associated with + * the address. + * @property {number} [latitude] - The latitude coordinate. + * @property {string} [address2] - The secondary line of the address. + * @property {string} [landmark] - A nearby landmark. + * @property {string} [area] - The area or locality. + * @property {string} [city] - The city of the address. + * @property {string} [address] - The full address. + * @property {string} [address_type] - The type of address. + * @property {number} [longitude] - The longitude coordinate. + * @property {string} [country_iso_code] - The ISO code for the country. + * @property {string} [state] - The state of the address. + * @property {string} [created_at] - The date and time when the address was created. + * @property {string} [address1] - The primary line of the address. + * @property {string} [display_address] - The formatted display address, + * typically used for printing or displaying in user interfaces. + * @property {string} [name] - The name of the person associated with the address. + * @property {string} [contact_person] - The name of the contact person. + * @property {string} [address_category] - The category of the address. + * @property {string} [email] - The email address. + * @property {string} [country_phone_code] - The country phone code. + * @property {string} [version] - The version of the address format. + * @property {string} [updated_at] - The date and time when the address was last updated . + * @property {string} [country] - The country of the address. */ /** * @typedef Shipments * @property {ShipmentPayment} [payment] - * @property {ShipmentPaymentInfo[]} [payment_info] - "Array of objects + * @property {ShipmentPaymentInfo[]} [payment_info] - Array of objects * containing payment methods used for placing an order. Each object will - * provide information about corresponding payment method with relevant details." - * @property {string} [order_type] - * @property {string} [gstin_code] - * @property {boolean} [show_download_invoice] - * @property {boolean} [can_cancel] + * provide information about corresponding payment method with relevant details. + * @property {string} [order_type] - The type of order. + * @property {string} [gstin_code] - The GSTIN code for the shipment. + * @property {boolean} [show_download_invoice] - Indicates if the download + * invoice option should be shown. + * @property {boolean} [can_cancel] - Indicates if the shipment can be canceled. * @property {ShipmentUserInfo} [user_info] - * @property {string} [shipment_id] + * @property {string} [shipment_id] - The unique identifier for the shipment. * @property {FulfillingStore} [fulfilling_store] - * @property {Object[]} [custom_meta] + * @property {Object[]} [custom_meta] - An object containing custom metadata for + * the shipment. * @property {ShipmentStatus} [shipment_status] - * @property {string} [comment] + * @property {string} [comment] - Any comments related to the shipment. * @property {Invoice} [invoice] - * @property {boolean} [show_track_link] - * @property {Object} [refund_details] - * @property {BreakupValues[]} [breakup_values] - * @property {Object} [can_break] - * @property {string} [traking_no] - * @property {TrackingDetails[]} [tracking_details] + * @property {boolean} [show_track_link] - Indicates if the track link should be shown. + * @property {Object} [refund_details] - An object containing details of any refunds. + * @property {BreakupValues[]} [breakup_values] - An array containing the + * breakup of various charges and discounts. + * @property {Object} [can_break] - An object containing details about the + * breakability of the shipment. + * @property {string} [traking_no] - The tracking number for the shipment. + * @property {TrackingDetails[]} [tracking_details] - An array containing + * details of the tracking history of the shipment. * @property {Promise} [promise] - * @property {number} [total_bags] + * @property {number} [total_bags] - The total number of bags in the shipment. * @property {ShipmentTotalDetails} [total_details] * @property {Prices} [prices] - * @property {string} [returnable_date] - * @property {string} [shipment_created_at] - * @property {string} [shipment_created_ts] - * @property {Object} [size_info] - * @property {Bags[]} [bags] - * @property {string} [dp_name] - * @property {string} [awb_no] - * @property {boolean} [beneficiary_details] + * @property {string} [returnable_date] - The last date by which the item can be returned. + * @property {string} [shipment_created_at] - The date and time when the + * shipment was created. + * @property {string} [shipment_created_ts] - The timestamp when the shipment was created. + * @property {Object} [size_info] - An object containing size information for + * the items in the shipment. + * @property {Bags[]} [bags] - An array containing details about the individual + * bags in the shipment. + * @property {string} [dp_name] - The name of the delivery partner. + * @property {string} [awb_no] - The airway bill number for the shipment. + * @property {boolean} [beneficiary_details] - Indicates if there are any + * beneficiary details. * @property {FulfillingCompany} [fulfilling_company] - * @property {boolean} [can_return] + * @property {boolean} [can_return] - Indicates if the shipment can be returned. * @property {Address} [delivery_address] * @property {Address} [billing_address] - * @property {string} [track_url] - * @property {string} [order_id] - * @property {string} [need_help_url] - * @property {Object} [return_meta] - * @property {string} [delivery_date] + * @property {string} [track_url] - The URL for tracking the shipment. + * @property {string} [order_id] - The unique identifier for the order. + * @property {string} [need_help_url] - The URL for customer support or help. + * @property {Object} [return_meta] - An object containing metadata about the + * return process. + * @property {string} [delivery_date] - The expected delivery date. * @property {OrderRequest} [order] */ /** * @typedef BagsForReorderArticleAssignment - * @property {string} [strategy] - * @property {string} [level] + * @property {string} [strategy] - The strategy used for article assignment. + * @property {string} [level] - The level at which the article assignment is made. */ /** * @typedef BagsForReorder - * @property {string} [item_size] - * @property {number} [quantity] - * @property {number} [store_id] + * @property {string} [item_size] - The size of the item. + * @property {number} [quantity] - The quantity of the item. + * @property {number} [store_id] - The identifier for the store. * @property {BagsForReorderArticleAssignment} [article_assignment] - * @property {number} [seller_id] - * @property {number} [item_id] + * @property {number} [seller_id] - The identifier for the seller. + * @property {number} [item_id] - The unique identifier for the item. */ /** * @typedef OrderSchema - * @property {number} [total_shipments_in_order] - * @property {string} [gstin_code] + * @property {number} [total_shipments_in_order] - The total number of shipments + * in the order. + * @property {string} [gstin_code] - The GSTIN code for the shipment. * @property {UserInfo} [user_info] - * @property {BreakupValues[]} [breakup_values] - * @property {string} [order_created_time] - * @property {string} [order_created_ts] - * @property {string} [order_id] - * @property {Shipments[]} [shipments] - * @property {BagsForReorder[]} [bags_for_reorder] - * @property {Object} [meta] + * @property {BreakupValues[]} [breakup_values] - An array containing the + * breakup of various charges and discounts. + * @property {string} [order_created_time] - The date and time when the order was created. + * @property {string} [order_created_ts] - The timestamp when the order was created. + * @property {string} [order_id] - The unique identifier for the order. + * @property {Shipments[]} [shipments] - An array containing details of + * individual shipments within the order. + * @property {BagsForReorder[]} [bags_for_reorder] - An array containing details + * of bags available for reorder. + * @property {Object} [meta] - An object containing additional metadata for the order. */ /** * @typedef OrderStatuses - * @property {number} [value] - * @property {boolean} [is_selected] - * @property {string} [display] + * @property {number} [value] - The value representing the selection. + * @property {boolean} [is_selected] - Indicates whether this option is + * currently selected. + * @property {string} [display] - The text to display . */ /** * @typedef OrderFilters - * @property {OrderStatuses[]} [statuses] + * @property {OrderStatuses[]} [statuses] - An array containing the order statuses. */ /** * @typedef OrderList * @property {OrderPage} [page] - * @property {OrderSchema[]} [items] + * @property {OrderSchema[]} [items] - List of orders, each containing detailed + * information about individual orders and their respective shipments. * @property {OrderFilters} [filters] */ /** * @typedef ApefaceApiError - * @property {string} [message] - * @property {boolean} [success] + * @property {string} [message] - Contains any message related to the operation. + * @property {boolean} [success] - Indicates if the operation was successful. */ /** @@ -412,213 +472,227 @@ const Joi = require("joi"); /** * @typedef ResponseGetInvoiceShipment - * @property {string} presigned_type - * @property {boolean} success - * @property {string} shipment_id - * @property {string} presigned_url + * @property {string} presigned_type - Type of presigned URL. + * @property {boolean} success - Indicates if the operation was successful . + * @property {string} shipment_id - Identifier for the shipment. + * @property {string} presigned_url - The presigned URL for accessing the + * shipment data, obtained from the response data. */ /** * @typedef Track - * @property {string} [account_name] - * @property {string} [shipment_type] - * @property {string} [status] - * @property {string} [last_location_recieved_at] - * @property {string} [updated_time] - * @property {string} [updated_at] - * @property {string} [reason] - * @property {string} [awb] + * @property {string} [account_name] - The name of the account handling the shipment. + * @property {string} [shipment_type] - The type of shipment. + * @property {string} [status] - The current status of the shipment. + * @property {string} [last_location_recieved_at] - The last known location of + * the shipment. + * @property {string} [updated_time] - The timestamp of the last update. + * @property {string} [updated_at] - The date and time when the shipment was last updated. + * @property {string} [reason] - The reason or additional information about the shipment. + * @property {string} [awb] - The Air Waybill (AWB) number for the shipment. */ /** * @typedef ShipmentTrack - * @property {Track[]} [results] + * @property {Track[]} [results] - A array containing tracking details. */ /** * @typedef CustomerDetailsResponse - * @property {string} [phone] - * @property {string} [shipment_id] - * @property {string} [name] - * @property {string} [order_id] - * @property {string} [country] + * @property {string} [phone] - Customer's phone number. + * @property {string} [shipment_id] - Unique identifier of the shipment. + * @property {string} [name] - Customer's name. + * @property {string} [order_id] - Unique identifier of the order. + * @property {string} [country] - Country of the customer. */ /** * @typedef SendOtpToCustomerResponse - * @property {string} [request_id] - * @property {string} [message] - * @property {boolean} [success] - * @property {number} [resend_timer] + * @property {string} [request_id] - Unique identifier for the request. + * @property {string} [message] - Message indicating the result of the request. + * @property {boolean} [success] - Indicates whether the request was successful. + * @property {number} [resend_timer] - Time in seconds before the OTP can be resent. */ /** * @typedef VerifyOtp - * @property {string} [otp_code] - * @property {string} [request_id] + * @property {string} [otp_code] - The OTP code provided by the user for verification. + * @property {string} [request_id] - Unique identifier for the request. */ /** * @typedef VerifyOtpResponse - * @property {boolean} [success] + * @property {boolean} [success] - Indicates whether the request was successful. */ /** * @typedef BagReasonMeta - * @property {boolean} [show_text_area] + * @property {boolean} [show_text_area] - Indicates whether to display a text + * box on the front end. */ /** * @typedef QuestionSet - * @property {number} [id] - * @property {string} [display_name] + * @property {number} [id] - The unique identifier for the question. + * @property {string} [display_name] - The text displayed for the question. */ /** * @typedef BagReasons - * @property {string[]} [qc_type] - * @property {number} [id] - * @property {string} [display_name] + * @property {string[]} [qc_type] - A list of quality check types. + * @property {number} [id] - The unique identifier. + * @property {string} [display_name] - The text displayed. * @property {BagReasonMeta} [meta] - * @property {QuestionSet[]} [question_set] - * @property {BagReasons[]} [reasons] + * @property {QuestionSet[]} [question_set] - A list of questions for delivery partner. + * @property {BagReasons[]} [reasons] - A list of reasons. */ /** * @typedef ShipmentBagReasons - * @property {BagReasons[]} [reasons] - * @property {boolean} [success] + * @property {BagReasons[]} [reasons] - A list of shipment's bag reasons. + * @property {boolean} [success] - Indicates if the operation was successful. */ /** * @typedef ShipmentReason - * @property {number} [priority] - * @property {boolean} [show_text_area] - * @property {number} [reason_id] - * @property {string} [feedback_type] - * @property {string} [reason_text] - * @property {string} [flow] + * @property {number} [priority] - The priority level of the reason. + * @property {boolean} [show_text_area] - A flag indicating whether to show a + * textbox on the frontend. + * @property {number} [reason_id] - The unique identifier for the reason. + * @property {string} [feedback_type] - The type of feedback. + * @property {string} [reason_text] - The text describing the reason. + * @property {string} [flow] - The process flow related to the reason. */ /** * @typedef ShipmentReasons - * @property {ShipmentReason[]} [reasons] + * @property {ShipmentReason[]} [reasons] - A list of shipment reasons. */ /** * @typedef ProductsReasonsData - * @property {number} [reason_id] - * @property {string} [reason_text] + * @property {number} [reason_id] - The unique identifier for the reason. + * @property {string} [reason_text] - The text describing the reason. */ /** * @typedef ProductsReasonsFilters - * @property {number} [line_number] - * @property {number} [quantity] - * @property {string} [identifier] + * @property {number} [line_number] - The specific line item of bag. + * @property {number} [quantity] - The quantity of the product. + * @property {string} [identifier] - The unique identifier for the product. */ /** * @typedef ProductsReasons * @property {ProductsReasonsData} [data] - * @property {ProductsReasonsFilters[]} [filters] + * @property {ProductsReasonsFilters[]} [filters] - Criteria applied to filter + * the products. */ /** * @typedef EntityReasonData - * @property {number} [reason_id] - * @property {string} [reason_text] + * @property {number} [reason_id] - The unique identifier for the reason. + * @property {string} [reason_text] - The text describing the reason. */ /** * @typedef EntitiesReasons * @property {EntityReasonData} [data] - * @property {Object[]} [filters] + * @property {Object[]} [filters] - Criteria applied to filter the shipment. */ /** * @typedef ReasonsData - * @property {ProductsReasons[]} [products] - * @property {EntitiesReasons[]} [entities] + * @property {ProductsReasons[]} [products] - Reasons data for bags. + * @property {EntitiesReasons[]} [entities] - Reasons data for shipments. */ /** * @typedef Products - * @property {number} [line_number] - * @property {number} [quantity] - * @property {string} [identifier] + * @property {number} [line_number] - The specific line item of bag. + * @property {number} [quantity] - The quantity of the product. + * @property {string} [identifier] - The unique identifier for the product. */ /** * @typedef ProductsDataUpdatesFilters - * @property {number} [line_number] - * @property {string} [identifier] + * @property {number} [line_number] - The specific line item of bag. + * @property {string} [identifier] - The quantity of the product. */ /** * @typedef ProductsDataUpdates - * @property {Object} [data] - * @property {ProductsDataUpdatesFilters[]} [filters] + * @property {Object} [data] - Information about the data to be updated. + * @property {ProductsDataUpdatesFilters[]} [filters] - Criteria applied to + * filter the products. */ /** * @typedef EntitiesDataUpdates - * @property {Object} [data] - * @property {Object[]} [filters] + * @property {Object} [data] - Information about the data to be updated. + * @property {Object[]} [filters] - Criteria applied to filter the shipments. */ /** * @typedef DataUpdates - * @property {ProductsDataUpdates[]} [products] - * @property {EntitiesDataUpdates[]} [entities] + * @property {ProductsDataUpdates[]} [products] - Data updates for bags. + * @property {EntitiesDataUpdates[]} [entities] - Data updates for shipments. */ /** * @typedef ShipmentsRequest * @property {ReasonsData} [reasons] - * @property {Products[]} [products] + * @property {Products[]} [products] - Specific bag to be updated. * @property {DataUpdates} [data_updates] - * @property {string} identifier + * @property {string} identifier - The unique identifier for request which is + * the shipment_id. */ /** * @typedef StatuesRequest - * @property {ShipmentsRequest[]} [shipments] - * @property {string} [exclude_bags_next_state] - * @property {string} [status] + * @property {ShipmentsRequest[]} [shipments] - A list containing information + * about shipments. + * @property {string} [exclude_bags_next_state] - State to be change for + * Remaining Bag/Products. + * @property {string} [status] - The status to which the entity is to be transitioned. */ /** * @typedef OrderRequest - * @property {Object} [meta] + * @property {Object} [meta] - Metadata for the order. */ /** * @typedef UpdateShipmentStatusRequest - * @property {StatuesRequest[]} [statuses] - * @property {boolean} [task] - * @property {boolean} [lock_after_transition] - * @property {boolean} [force_transition] - * @property {boolean} [unlock_before_transition] + * @property {StatuesRequest[]} [statuses] - An array containing different status details. + * @property {boolean} [task] - Indicates whether the task is active or required. + * @property {boolean} [lock_after_transition] - Indicates whether the status + * should be locked after the transition. + * @property {boolean} [force_transition] - Indicates whether the transition + * should be forced. + * @property {boolean} [unlock_before_transition] - Indicates whether the status + * should be unlocked before the transition. */ /** * @typedef StatusesBodyResponse - * @property {Object[]} [shipments] + * @property {Object[]} [shipments] - List of shipments. */ /** * @typedef ShipmentApplicationStatusResponse - * @property {StatusesBodyResponse[]} [statuses] + * @property {StatusesBodyResponse[]} [statuses] - An array containing different + * status options of shipments. */ /** * @typedef ErrorResponse - * @property {string} [code] - * @property {string} [message] - * @property {number} [status] - * @property {string} [exception] - * @property {string} [stack_trace] + * @property {string} [code] - The HTTP status code of the response. + * @property {string} [message] - A message providing details about the response. + * @property {number} [status] - An additional code providing more context about + * the response. + * @property {string} [exception] - Details of any exception that occurred. + * @property {string} [stack_trace] - The stack trace of any exception that occurred. */ class OrderApplicationModel { diff --git a/sdk/application/Order/OrderApplicationValidator.d.ts b/sdk/application/Order/OrderApplicationValidator.d.ts index 0dff09f15..67b07b195 100644 --- a/sdk/application/Order/OrderApplicationValidator.d.ts +++ b/sdk/application/Order/OrderApplicationValidator.d.ts @@ -1,11 +1,11 @@ export = OrderApplicationValidator; /** * @typedef GetCustomerDetailsByShipmentIdParam - * @property {string} orderId - ID of the shipment. An order may contain + * @property {string} orderId - A unique number used for identifying and + * tracking your orders. + * @property {string} shipmentId - ID of the shipment. An order may contain * multiple items and may get divided into one or more shipment, each having * its own ID. - * @property {string} shipmentId - A unique number used for identifying and - * tracking your orders. */ /** * @typedef GetInvoiceByShipmentIdParam @@ -15,38 +15,39 @@ export = OrderApplicationValidator; * @typedef GetOrderByIdParam * @property {string} orderId - A unique number used for identifying and * tracking an order. - * @property {boolean} [allowInactive] - Flag to allow inactive shipments + * @property {boolean} [allowInactive] - Flag to allow inactive shipments. */ /** * @typedef GetOrdersParam * @property {number} [status] - A filter to retrieve orders by their current - * status such as _placed_, _delivered_, etc. + * status such as 'placed', 'delivered' etc. * @property {number} [pageNo] - The page number to navigate through the given * set of results. Default value is 1. * @property {number} [pageSize] - The number of items to retrieve in each page. * Default value is 10. * @property {string} [fromDate] - The date from which the orders should be retrieved. * @property {string} [toDate] - The date till which the orders should be retrieved. - * @property {string} [startDate] - UTC Start Date in ISO format - * @property {string} [endDate] - UTC Start Date in ISO format + * @property {string} [startDate] - Start date in UTC (ISO-8601 format). + * @property {string} [endDate] - End date in UTC (ISO-8601 format). * @property {string} [customMeta] - A filter and retrieve data using special - * fields included for special use-cases + * fields included for special use-cases. * @property {boolean} [allowInactive] - Flag indicating whether inactive - * shipments are allowed + * shipments are allowed. */ /** * @typedef GetShipmentBagReasonsParam - * @property {string} shipmentId - ID of the bag. An order may contain multiple - * items and may get divided into one or more shipment, each having its own ID. - * @property {string} bagId - ID of the bag. An order may contain multiple items - * and may get divided into one or more shipment, each having its own ID. + * @property {string} shipmentId - ID of the shipment. An order may contain + * multiple items and may get divided into one or more shipment, each having + * its own ID. + * @property {string} bagId - ID of the bag. An shipment may contain multiple + * items and may get divided into one or more bags, each having its own ID. */ /** * @typedef GetShipmentByIdParam * @property {string} shipmentId - ID of the shipment. An order may contain * multiple items and may get divided into one or more shipment, each having * its own ID. - * @property {boolean} [allowInactive] - Flag to allow inactive shipments + * @property {boolean} [allowInactive] - Flag to allow inactive shipments. */ /** * @typedef GetShipmentReasonsParam @@ -113,14 +114,14 @@ declare namespace OrderApplicationValidator { } type GetCustomerDetailsByShipmentIdParam = { /** - * - ID of the shipment. An order may contain - * multiple items and may get divided into one or more shipment, each having - * its own ID. + * - A unique number used for identifying and + * tracking your orders. */ orderId: string; /** - * - A unique number used for identifying and - * tracking your orders. + * - ID of the shipment. An order may contain + * multiple items and may get divided into one or more shipment, each having + * its own ID. */ shipmentId: string; }; @@ -137,14 +138,14 @@ type GetOrderByIdParam = { */ orderId: string; /** - * - Flag to allow inactive shipments + * - Flag to allow inactive shipments. */ allowInactive?: boolean; }; type GetOrdersParam = { /** * - A filter to retrieve orders by their current - * status such as _placed_, _delivered_, etc. + * status such as 'placed', 'delivered' etc. */ status?: number; /** @@ -166,33 +167,34 @@ type GetOrdersParam = { */ toDate?: string; /** - * - UTC Start Date in ISO format + * - Start date in UTC (ISO-8601 format). */ startDate?: string; /** - * - UTC Start Date in ISO format + * - End date in UTC (ISO-8601 format). */ endDate?: string; /** * - A filter and retrieve data using special - * fields included for special use-cases + * fields included for special use-cases. */ customMeta?: string; /** * - Flag indicating whether inactive - * shipments are allowed + * shipments are allowed. */ allowInactive?: boolean; }; type GetShipmentBagReasonsParam = { /** - * - ID of the bag. An order may contain multiple - * items and may get divided into one or more shipment, each having its own ID. + * - ID of the shipment. An order may contain + * multiple items and may get divided into one or more shipment, each having + * its own ID. */ shipmentId: string; /** - * - ID of the bag. An order may contain multiple items - * and may get divided into one or more shipment, each having its own ID. + * - ID of the bag. An shipment may contain multiple + * items and may get divided into one or more bags, each having its own ID. */ bagId: string; }; @@ -204,7 +206,7 @@ type GetShipmentByIdParam = { */ shipmentId: string; /** - * - Flag to allow inactive shipments + * - Flag to allow inactive shipments. */ allowInactive?: boolean; }; diff --git a/sdk/application/Order/OrderApplicationValidator.js b/sdk/application/Order/OrderApplicationValidator.js index fae5a7976..b8c0ff16f 100644 --- a/sdk/application/Order/OrderApplicationValidator.js +++ b/sdk/application/Order/OrderApplicationValidator.js @@ -4,11 +4,11 @@ const OrderApplicationModel = require("./OrderApplicationModel"); /** * @typedef GetCustomerDetailsByShipmentIdParam - * @property {string} orderId - ID of the shipment. An order may contain + * @property {string} orderId - A unique number used for identifying and + * tracking your orders. + * @property {string} shipmentId - ID of the shipment. An order may contain * multiple items and may get divided into one or more shipment, each having * its own ID. - * @property {string} shipmentId - A unique number used for identifying and - * tracking your orders. */ /** @@ -20,33 +20,34 @@ const OrderApplicationModel = require("./OrderApplicationModel"); * @typedef GetOrderByIdParam * @property {string} orderId - A unique number used for identifying and * tracking an order. - * @property {boolean} [allowInactive] - Flag to allow inactive shipments + * @property {boolean} [allowInactive] - Flag to allow inactive shipments. */ /** * @typedef GetOrdersParam * @property {number} [status] - A filter to retrieve orders by their current - * status such as _placed_, _delivered_, etc. + * status such as 'placed', 'delivered' etc. * @property {number} [pageNo] - The page number to navigate through the given * set of results. Default value is 1. * @property {number} [pageSize] - The number of items to retrieve in each page. * Default value is 10. * @property {string} [fromDate] - The date from which the orders should be retrieved. * @property {string} [toDate] - The date till which the orders should be retrieved. - * @property {string} [startDate] - UTC Start Date in ISO format - * @property {string} [endDate] - UTC Start Date in ISO format + * @property {string} [startDate] - Start date in UTC (ISO-8601 format). + * @property {string} [endDate] - End date in UTC (ISO-8601 format). * @property {string} [customMeta] - A filter and retrieve data using special - * fields included for special use-cases + * fields included for special use-cases. * @property {boolean} [allowInactive] - Flag indicating whether inactive - * shipments are allowed + * shipments are allowed. */ /** * @typedef GetShipmentBagReasonsParam - * @property {string} shipmentId - ID of the bag. An order may contain multiple - * items and may get divided into one or more shipment, each having its own ID. - * @property {string} bagId - ID of the bag. An order may contain multiple items - * and may get divided into one or more shipment, each having its own ID. + * @property {string} shipmentId - ID of the shipment. An order may contain + * multiple items and may get divided into one or more shipment, each having + * its own ID. + * @property {string} bagId - ID of the bag. An shipment may contain multiple + * items and may get divided into one or more bags, each having its own ID. */ /** @@ -54,7 +55,7 @@ const OrderApplicationModel = require("./OrderApplicationModel"); * @property {string} shipmentId - ID of the shipment. An order may contain * multiple items and may get divided into one or more shipment, each having * its own ID. - * @property {boolean} [allowInactive] - Flag to allow inactive shipments + * @property {boolean} [allowInactive] - Flag to allow inactive shipments. */ /** diff --git a/sdk/application/Payment/PaymentApplicationClient.d.ts b/sdk/application/Payment/PaymentApplicationClient.d.ts index 700cdf0e5..d3de5d571 100644 --- a/sdk/application/Payment/PaymentApplicationClient.d.ts +++ b/sdk/application/Payment/PaymentApplicationClient.d.ts @@ -60,7 +60,7 @@ declare class Payment { * Success response * @name addBeneficiaryDetails * @summary: Add beneficiary for refund - * @description: Adds beneficiary details specifically for refund transactions, including account holder name, account number and bank details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/addBeneficiaryDetails/). + * @description: Add beneficiary details specifically for refund transactions, including account holder name, account number and bank details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/addBeneficiaryDetails/). */ addBeneficiaryDetails({ body, requestHeaders }?: PaymentApplicationValidator.AddBeneficiaryDetailsParam, { responseHeaders }?: object): Promise; /** @@ -73,7 +73,7 @@ declare class Payment { * Success response * @name addRefundBankAccountUsingOTP * @summary: Add refund account using OTP verification - * @description: The addition of a bank account specifically for refunds, employing OTP verification for security - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/addRefundBankAccountUsingOTP/). + * @description: Add bank account specifically for refunds, employing OTP verification for security. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/addRefundBankAccountUsingOTP/). */ addRefundBankAccountUsingOTP({ body, requestHeaders }?: PaymentApplicationValidator.AddRefundBankAccountUsingOTPParam, { responseHeaders }?: object): Promise; /** @@ -83,7 +83,7 @@ declare class Payment { * @returns {Promise} - Success response * @name attachCardToCustomer * @summary: Link payment card to customer - * @description: Linking of a payment card to a user's account for seamless transactions. Upon successful linking, the card becomes associated with the user's profile, enabling secure and convenient payments - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/attachCardToCustomer/). + * @description: Link payment card to a user account for seamless transactions. Upon successful linking, the card becomes associated with the user's profile, enabling secure and convenient payments. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/attachCardToCustomer/). */ attachCardToCustomer({ body, requestHeaders }?: PaymentApplicationValidator.AttachCardToCustomerParam, { responseHeaders }?: object): Promise; /** @@ -94,7 +94,7 @@ declare class Payment { * Success response * @name cancelPaymentLink * @summary: Cancel payment link - * @description: Cancels a previously generated payment link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/cancelPaymentLink/). + * @description: Cancel previously generated payment link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/cancelPaymentLink/). */ cancelPaymentLink({ body, requestHeaders }?: PaymentApplicationValidator.CancelPaymentLinkParam, { responseHeaders }?: object): Promise; /** @@ -104,7 +104,7 @@ declare class Payment { * @returns {Promise} - Success response * @name cardDetails * @summary: Get card details - * @description: Fetches the details of a specified payment card, including information such as the card type, brand, country, and expiration date. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/cardDetails/). + * @description: Get details of a specified payment card, including information such as the card type, brand, country, and expiration date. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/cardDetails/). */ cardDetails({ cardInfo, aggregator, requestHeaders }?: PaymentApplicationValidator.CardDetailsParam, { responseHeaders }?: object): Promise; /** @@ -132,7 +132,7 @@ declare class Payment { * * @name checkAndUpdatePaymentStatusPaymentLink * @summary: Update payment link status - * @description: Verifies and updates the status of a payment made through a link.Upon successful verification and update, the response includes details about the aggregator name, payment status, and whether retrying the process is required. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/checkAndUpdatePaymentStatusPaymentLink/). + * @description: Verify and update status of a payment made through a link.Upon successful verification and update, the response includes details about the aggregator name, payment status, and whether retrying the process is required. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/checkAndUpdatePaymentStatusPaymentLink/). */ checkAndUpdatePaymentStatusPaymentLink({ body, requestHeaders }?: PaymentApplicationValidator.CheckAndUpdatePaymentStatusPaymentLinkParam, { responseHeaders }?: object): Promise; /** @@ -142,7 +142,7 @@ declare class Payment { * @returns {Promise} - Success response * @name checkCredit * @summary: Verify credit availability and status - * @description: Checks the availability and status of customer credit, providing the status of payment along with registration information and signup URL if the customer is not registered. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/checkCredit/). + * @description: Check the availability and status of customer credit, providing the status of payment along with registration information and signup URL if the customer is not registered. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/checkCredit/). */ checkCredit({ aggregator, requestHeaders }?: PaymentApplicationValidator.CheckCreditParam, { responseHeaders }?: object): Promise; /** @@ -155,7 +155,7 @@ declare class Payment { * Success response * @name createOrderHandlerPaymentLink * @summary: Create order for payment via link - * @description: Initiates the creation of an order handler for processing payments through a link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/createOrderHandlerPaymentLink/). + * @description: Initiate the creation of an order handler for processing payments through a link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/createOrderHandlerPaymentLink/). */ createOrderHandlerPaymentLink({ body, requestHeaders }?: PaymentApplicationValidator.CreateOrderHandlerPaymentLinkParam, { responseHeaders }?: object): Promise; /** @@ -166,7 +166,7 @@ declare class Payment { * Success response * @name createPaymentLink * @summary: Create payment link - * @description: Generates a new payment link for transactions. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/createPaymentLink/). + * @description: Create new payment link for transactions. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/createPaymentLink/). */ createPaymentLink({ body, requestHeaders }?: PaymentApplicationValidator.CreatePaymentLinkParam, { responseHeaders }?: object): Promise; /** @@ -176,7 +176,7 @@ declare class Payment { * @returns {Promise} - Success response * @name createPaymentOrder * @summary: Create Order - * @description: Create an order and payment on the aggregator side - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/createPaymentOrder/). + * @description: Create an order and payment on the aggregator side. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/createPaymentOrder/). */ createPaymentOrder({ body, requestHeaders }?: PaymentApplicationValidator.CreatePaymentOrderParam, { responseHeaders }?: object): Promise; /** @@ -188,7 +188,7 @@ declare class Payment { * * @name customerCreditSummary * @summary: Credit summary - * @description: Fetches a summary of the customer's credit information, including details such as merchant customer reference ID, status, balance, limit, due amount, used amount, due date, days overdue, total due amount, and a repayment URL. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/customerCreditSummary/). + * @description: Get summary of the customer's credit information, including details such as merchant customer reference ID, status, balance, limit, due amount, used amount, due date, days overdue, total due amount, and a repayment URL. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/customerCreditSummary/). */ customerCreditSummary({ aggregator, requestHeaders }?: PaymentApplicationValidator.CustomerCreditSummaryParam, { responseHeaders }?: object): Promise; /** @@ -199,7 +199,7 @@ declare class Payment { * Success response * @name customerOnboard * @summary: Onboard customer for payment - * @description: Initiates the onboarding process for payment services, providing personal, business, and device information, along with marketplace details, to enable customer registration and credit availability. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/customerOnboard/). + * @description: Initiate the onboarding process for payment services, providing personal, business, and device information, along with marketplace details, to enable customer registration and credit availability. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/customerOnboard/). */ customerOnboard({ body, requestHeaders }?: PaymentApplicationValidator.CustomerOnboardParam, { responseHeaders }?: object): Promise; /** @@ -209,7 +209,7 @@ declare class Payment { * @returns {Promise} - Success response * @name deleteUserCard * @summary: Delete customer card - * @description: Deletion of a payment card from the user's account - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/deleteUserCard/). + * @description: Delete payment card from the user's account. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/deleteUserCard/). */ deleteUserCard({ body, requestHeaders }?: PaymentApplicationValidator.DeleteUserCardParam, { responseHeaders }?: object): Promise; /** @@ -219,7 +219,7 @@ declare class Payment { * @returns {Promise} - Success response * @name delinkWallet * @summary: Delink the wallet - * @description: User removes already linked wallet. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/delinkWallet/). + * @description: Delink the wallet. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/delinkWallet/). */ delinkWallet({ body, requestHeaders }?: PaymentApplicationValidator.DelinkWalletParam, { responseHeaders }?: object): Promise; /** @@ -233,7 +233,7 @@ declare class Payment { * * @name enableOrDisableRefundTransferMode * @summary: Toggle refund mode - * @description: Enables or disables a particular refund transfer mode based on the request body parameters, indicating whether the mode should be enabled or disabled - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/enableOrDisableRefundTransferMode/). + * @description: Enable/Disable a particular refund transfer mode based on the request body parameters, indicating whether the mode should be enabled or disabled. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/enableOrDisableRefundTransferMode/). */ enableOrDisableRefundTransferMode({ body, requestHeaders }?: PaymentApplicationValidator.EnableOrDisableRefundTransferModeParam, { responseHeaders }?: object): Promise; /** @@ -245,7 +245,7 @@ declare class Payment { * * @name getActiveCardAggregator * @summary: Retrieve active card aggregator - * @description: Fetches details about the active card aggregator used by the user, including the aggregator's name.You can refresh the data by setting the "refresh" parameter to true if needed. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getActiveCardAggregator/). + * @description: Get details about the active card aggregator used by the user, including the aggregator name.You can refresh the data by setting the 'refresh' parameter to true if needed. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getActiveCardAggregator/). */ getActiveCardAggregator({ refresh, requestHeaders }?: PaymentApplicationValidator.GetActiveCardAggregatorParam, { responseHeaders }?: object): Promise; /** @@ -257,7 +257,7 @@ declare class Payment { * @returns {Promise} - Success response * @name getActiveRefundTransferModes * @summary: Get refund transfer modes - * @description: Lists the available refund modes, such as UPI, providing details like display name, logo, and ID for each mode - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getActiveRefundTransferModes/). + * @description: Lists available refund modes, such as UPI, providing details like display name, logo, and ID for each mode. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getActiveRefundTransferModes/). */ getActiveRefundTransferModes({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -267,7 +267,7 @@ declare class Payment { * @returns {Promise} - Success response * @name getActiveUserCards * @summary: Get customer cards - * @description: Retrieves a list of all active cards saved by the user.Includes details such as the card's aggregator name, card ID, token, reference, number, expiration date, type, issuer, brand, nickname, and whether it has expired. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getActiveUserCards/). + * @description: List all active cards saved by the user.Includes details such as the card's aggregator name, card ID, token, reference, number, expiration date, type, issuer, brand, nickname, and whether it has expired. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getActiveUserCards/). */ getActiveUserCards({ forceRefresh, requestHeaders }?: PaymentApplicationValidator.GetActiveUserCardsParam, { responseHeaders }?: object): Promise; /** @@ -279,7 +279,7 @@ declare class Payment { * * @name getAggregatorsConfig * @summary: Get payment aggregators - * @description: Retrieve the aggregator secret key of all payment gateways utilized for payments when using the SDK for the payment gateway - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getAggregatorsConfig/). + * @description: Get aggregator secret key of all payment gateways utilized for payments when using the SDK for the payment gateway. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getAggregatorsConfig/). */ getAggregatorsConfig({ xApiToken, refresh, requestHeaders }?: PaymentApplicationValidator.GetAggregatorsConfigParam, { responseHeaders }?: object): Promise; /** @@ -292,7 +292,7 @@ declare class Payment { * Success response * @name getEpaylaterBannerDetails * @summary: Epaylater banner info - * @description: Retrieves details required to display the Epaylater payment banner. It provides information about the banner's display status, along with relevant messages and the user's registration status. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getEpaylaterBannerDetails/). + * @description: Get Epaylater payment banner details. It provides information about the banner's display status, along with relevant messages and the user's registration status. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getEpaylaterBannerDetails/). */ getEpaylaterBannerDetails({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -305,7 +305,7 @@ declare class Payment { * Success response * @name getOrderBeneficiariesDetail * @summary: Retrieve beneficiary details - * @description: Retrieve beneficiary details like bank name , ifsc code , branch name associated with a specific order for refund processing - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getOrderBeneficiariesDetail/). + * @description: Get beneficiary details like bank name , ifsc code , branch name associated with a specific order for refund processing. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getOrderBeneficiariesDetail/). */ getOrderBeneficiariesDetail({ orderId, requestHeaders }?: PaymentApplicationValidator.GetOrderBeneficiariesDetailParam, { responseHeaders }?: object): Promise; /** @@ -316,7 +316,7 @@ declare class Payment { * Success response * @name getPaymentLink * @summary: Get payment link - * @description: Retrieves a generated payment link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPaymentLink/). + * @description: Get a generated payment link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPaymentLink/). */ getPaymentLink({ paymentLinkId, requestHeaders }?: PaymentApplicationValidator.GetPaymentLinkParam, { responseHeaders }?: object): Promise; /** @@ -327,7 +327,7 @@ declare class Payment { * Success response * @name getPaymentModeRoutes * @summary: Get payment modes - * @description: Available payment methods on the payment page, specifying the aggregator for each option, such as 'Netbanking powered by Juspay' and 'Card powered by Razorpay'. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPaymentModeRoutes/). + * @description: Get available payment methods on the payment page, specifying the aggregator for each option, such as 'Netbanking powered by Juspay' and 'Card powered by Razorpay'. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPaymentModeRoutes/). */ getPaymentModeRoutes({ amount, cartId, checkoutMode, refresh, orderId, cardReference, userDetails, displaySplit, advancePayment, shipmentId, requestHeaders, }?: PaymentApplicationValidator.GetPaymentModeRoutesParam, { responseHeaders }?: object): Promise; /** @@ -340,7 +340,7 @@ declare class Payment { * Success response * @name getPaymentModeRoutesPaymentLink * @summary: Payment modes for payment link - * @description: Lists payment modes available for a given payment link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPaymentModeRoutesPaymentLink/). + * @description: List payment modes available for a given payment link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPaymentModeRoutesPaymentLink/). */ getPaymentModeRoutesPaymentLink({ paymentLinkId, requestHeaders }?: PaymentApplicationValidator.GetPaymentModeRoutesPaymentLinkParam, { responseHeaders }?: object): Promise; /** @@ -351,7 +351,7 @@ declare class Payment { * Success response * @name getPosPaymentModeRoutes * @summary: POS payment modes - * @description: Available payment methods on the payment page for POS, specifying the aggregator for each option, such as 'CARD powered by Juspay' and 'QR powered by Razorpay'. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPosPaymentModeRoutes/). + * @description: Get available payment methods on the payment page for POS, specifying the aggregator for each option, such as 'CARD powered by Juspay' and 'QR powered by Razorpay'. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPosPaymentModeRoutes/). */ getPosPaymentModeRoutes({ amount, pincode, orderType, cartId, checkoutMode, refresh, cardReference, userDetails, requestHeaders, }?: PaymentApplicationValidator.GetPosPaymentModeRoutesParam, { responseHeaders }?: object): Promise; /** @@ -361,7 +361,7 @@ declare class Payment { * @returns {Promise} - Success response * @name getRupifiBannerDetails * @summary: Rupifi banner info - * @description: Retrieves details necessary for displaying the Rupifi payment banner. It provides information such as the KYC URL and the current status of the Rupifi payment banner. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getRupifiBannerDetails/). + * @description: Get Rupifi payment banner details. It provides information such as the KYC URL and the current status of the Rupifi payment banner. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getRupifiBannerDetails/). */ getRupifiBannerDetails({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -374,7 +374,7 @@ declare class Payment { * Success response * @name getUserBeneficiariesDetail * @summary: Retrieve beneficiary details - * @description: Retrieves information about beneficiaries associated with the user for processing refunds, based on the provided order ID - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getUserBeneficiariesDetail/). + * @description: Get beneficiaries associated with the user for processing refunds, based on the provided order ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getUserBeneficiariesDetail/). */ getUserBeneficiariesDetail({ orderId, requestHeaders }?: PaymentApplicationValidator.GetUserBeneficiariesDetailParam, { responseHeaders }?: object): Promise; /** @@ -386,7 +386,7 @@ declare class Payment { * * @name initialisePayment * @summary: Start payment process - * @description: Initiates the payment procedure for an order.Upon successful initiation, it returns a details including the success status, aggregator information, payment method, status, merchant order ID aggregator order , polling URL, timeout, virtual ID, Razorpay payment ID, customer ID, and device ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/initialisePayment/). + * @description: Initiate the payment procedure for an order. Upon successful initiation, it returns a details including the success status, aggregator information, payment method, status, merchant order ID aggregator order , polling URL, timeout, virtual ID, Razorpay payment ID, customer ID, and device ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/initialisePayment/). */ initialisePayment({ body, requestHeaders }?: PaymentApplicationValidator.InitialisePaymentParam, { responseHeaders }?: object): Promise; /** @@ -400,7 +400,7 @@ declare class Payment { * * @name initialisePaymentPaymentLink * @summary: Initialize payment link - * @description: Begins the payment process for an order by initializing it through a payment link.Upon successful initialization, the response includes details about the payment status, aggregator details, order IDs, polling URL for status updates, and other relevant information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/initialisePaymentPaymentLink/). + * @description: Begin payment process for an order by initializing it through a payment link.Upon successful initialization, the response includes details about the payment status, aggregator details, order IDs, polling URL for status updates, and other relevant information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/initialisePaymentPaymentLink/). */ initialisePaymentPaymentLink({ body, requestHeaders }?: PaymentApplicationValidator.InitialisePaymentPaymentLinkParam, { responseHeaders }?: object): Promise; /** @@ -410,7 +410,7 @@ declare class Payment { * @returns {Promise} - Success response * @name linkWallet * @summary: OTP verification - * @description: Verifies the linking of wallet using OTP for further processing of payment. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/linkWallet/). + * @description: Verify the linking of wallet using OTP for further processing of payment. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/linkWallet/). */ linkWallet({ body, requestHeaders }?: PaymentApplicationValidator.LinkWalletParam, { responseHeaders }?: object): Promise; /** @@ -422,7 +422,7 @@ declare class Payment { * * @name outstandingOrderDetails * @summary: Outstanding orders - * @description: Retrieve details of orders with outstanding payments. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/outstandingOrderDetails/). + * @description: Get details of orders with outstanding payments. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/outstandingOrderDetails/). */ outstandingOrderDetails({ aggregator, requestHeaders }?: PaymentApplicationValidator.OutstandingOrderDetailsParam, { responseHeaders }?: object): Promise; /** @@ -433,7 +433,7 @@ declare class Payment { * Success response * @name paidOrderDetails * @summary: Retrieve details of paid orders - * @description: Retrieves details of orders that have been paid for, including shipment ID, order ID, due date, payment date, amount, and transaction ID, based on the aggregator's merchant user ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/paidOrderDetails/). + * @description: Get details of orders that have been paid for, including shipment ID, order ID, due date, payment date, amount, and transaction ID, based on the aggregator merchant user ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/paidOrderDetails/). */ paidOrderDetails({ aggregator, requestHeaders }?: PaymentApplicationValidator.PaidOrderDetailsParam, { responseHeaders }?: object): Promise; /** @@ -444,7 +444,7 @@ declare class Payment { * Success response * @name pollingPaymentLink * @summary: Poll status of payment link - * @description: Periodically checks the status of a payment link to monitor for any updates or changes.retrieve real-time information about the payment link's current status, such as whether it has been processed, cancelled, or expired. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/pollingPaymentLink/). + * @description: Get real-time information about the payment link's current status, such as whether it has been processed, cancelled, or expired. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/pollingPaymentLink/). */ pollingPaymentLink({ paymentLinkId, requestHeaders }?: PaymentApplicationValidator.PollingPaymentLinkParam, { responseHeaders }?: object): Promise; /** @@ -456,7 +456,7 @@ declare class Payment { * * @name redirectToAggregator * @summary: Redirects users to the payment aggregator's interface - * @description: Redirects users to the payment aggregator's interface and provides necessary parameters such as the callback URL and aggregator name. Returns the status of the payment along with the redirect URL and signup URL. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/redirectToAggregator/). + * @description: Get details about the active card aggregator used by the user, including the aggregator's name. You can refresh the data by setting the 'refresh' parameter to true if needed. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/redirectToAggregator/). */ redirectToAggregator({ source, aggregator, requestHeaders }?: PaymentApplicationValidator.RedirectToAggregatorParam, { responseHeaders }?: object): Promise; /** @@ -466,7 +466,7 @@ declare class Payment { * @returns {Promise} - Success response * @name renderHTML * @summary: Render HTML - * @description: Render HTML for a payment aggregator page - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/renderHTML/). + * @description: Render HTML for a payment aggregator page. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/renderHTML/). */ renderHTML({ body, requestHeaders }?: PaymentApplicationValidator.RenderHTMLParam, { responseHeaders }?: object): Promise; /** @@ -478,7 +478,7 @@ declare class Payment { * * @name resendOrCancelPayment * @summary: Resend or cancel a pending payment transaction - * @description: Enable you to perform actions related to the resending and cancellation of payment links through SMS or E-mail. Resend or cancel payment link that have been initiated but may require modification or cancellation for various reasons, ensuring flexibility and control in payment processing. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/resendOrCancelPayment/). + * @description: Resend or cancel payment link that have been initiated but may require modification or cancellation for various reasons, ensuring flexibility and control in payment processing. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/resendOrCancelPayment/). */ resendOrCancelPayment({ body, requestHeaders }?: PaymentApplicationValidator.ResendOrCancelPaymentParam, { responseHeaders }?: object): Promise; /** @@ -489,7 +489,7 @@ declare class Payment { * Success response * @name resendPaymentLink * @summary: Resend payment link - * @description: Resends an existing payment link to the user to complete the payment. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/resendPaymentLink/). + * @description: Resend an existing payment link to the user to complete the payment. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/resendPaymentLink/). */ resendPaymentLink({ body, requestHeaders }?: PaymentApplicationValidator.ResendPaymentLinkParam, { responseHeaders }?: object): Promise; /** @@ -502,7 +502,7 @@ declare class Payment { * * @name updateDefaultBeneficiary * @summary: Set default beneficiary for refund - * @description: Updates the default beneficiary for the order refund of the user. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/updateDefaultBeneficiary/). + * @description: Update default beneficiary for the order refund of the user. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/updateDefaultBeneficiary/). */ updateDefaultBeneficiary({ body, requestHeaders }?: PaymentApplicationValidator.UpdateDefaultBeneficiaryParam, { responseHeaders }?: object): Promise; /** @@ -512,7 +512,7 @@ declare class Payment { * @returns {Promise} - Success response * @name validateVPA * @summary: Validate VPA - * @description: Checks whether a Virtual Payment Address (VPA) is valid for processing payments and returns the validation result.is_valid boolean value indicating whether the VPA is valid for payments - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/validateVPA/). + * @description: Validate if a Virtual Payment Address (VPA) is valid for processing payments and returns the validation result.is_valid boolean value indicating whether the VPA is valid for payments. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/validateVPA/). */ validateVPA({ body, requestHeaders }?: PaymentApplicationValidator.ValidateVPAParam, { responseHeaders }?: object): Promise; /** @@ -535,7 +535,7 @@ declare class Payment { * Success response * @name verifyCustomerForPayment * @summary: Verify payment customer - * @description: Verify whether the user is eligible for pay-later payment from the payment aggregator's side using the customer's phone number - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyCustomerForPayment/). + * @description: Verify if the user is eligible for pay-later payment from the payment aggregator side using the customer's phone number. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyCustomerForPayment/). */ verifyCustomerForPayment({ body, requestHeaders }?: PaymentApplicationValidator.VerifyCustomerForPaymentParam, { responseHeaders }?: object): Promise; /** @@ -545,7 +545,7 @@ declare class Payment { * @returns {Promise} - Success response * @name verifyIfscCode * @summary: Verify IFSC - * @description: Checks the validity of the provided IFSC code and returns bank details if valid. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyIfscCode/). + * @description: Validate IFSC code and returns bank details if valid. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyIfscCode/). */ verifyIfscCode({ ifscCode, requestHeaders }?: PaymentApplicationValidator.VerifyIfscCodeParam, { responseHeaders }?: object): Promise; /** @@ -559,7 +559,7 @@ declare class Payment { * * @name verifyOtpAndAddBeneficiaryForBank * @summary: Verify OTP for bank and add beneficiary - * @description: This endpoint confirms the OTP provided by the user and adds a bank beneficiary for refund processing - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyOtpAndAddBeneficiaryForBank/). + * @description: Verify the OTP provided by the user and adds a bank beneficiary for refund processing. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyOtpAndAddBeneficiaryForBank/). */ verifyOtpAndAddBeneficiaryForBank({ body, requestHeaders }?: PaymentApplicationValidator.VerifyOtpAndAddBeneficiaryForBankParam, { responseHeaders }?: object): Promise; /** @@ -571,7 +571,7 @@ declare class Payment { * @returns {Promise} - Success response * @name verifyOtpAndAddBeneficiaryForWallet * @summary: Verify OTP for wallet - * @description: Confirm OTP provided by the user and adds a wallet beneficiary - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyOtpAndAddBeneficiaryForWallet/). + * @description: Verify OTP provided by the user and adds a wallet beneficiary. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyOtpAndAddBeneficiaryForWallet/). */ verifyOtpAndAddBeneficiaryForWallet({ body, requestHeaders }?: PaymentApplicationValidator.VerifyOtpAndAddBeneficiaryForWalletParam, { responseHeaders }?: object): Promise; /** diff --git a/sdk/application/Payment/PaymentApplicationClient.js b/sdk/application/Payment/PaymentApplicationClient.js index cab3b4c26..289c136e3 100644 --- a/sdk/application/Payment/PaymentApplicationClient.js +++ b/sdk/application/Payment/PaymentApplicationClient.js @@ -116,7 +116,7 @@ class Payment { * Success response * @name addBeneficiaryDetails * @summary: Add beneficiary for refund - * @description: Adds beneficiary details specifically for refund transactions, including account holder name, account number and bank details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/addBeneficiaryDetails/). + * @description: Add beneficiary details specifically for refund transactions, including account holder name, account number and bank details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/addBeneficiaryDetails/). */ async addBeneficiaryDetails( { body, requestHeaders } = { requestHeaders: {} }, @@ -199,7 +199,7 @@ class Payment { * Success response * @name addRefundBankAccountUsingOTP * @summary: Add refund account using OTP verification - * @description: The addition of a bank account specifically for refunds, employing OTP verification for security - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/addRefundBankAccountUsingOTP/). + * @description: Add bank account specifically for refunds, employing OTP verification for security. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/addRefundBankAccountUsingOTP/). */ async addRefundBankAccountUsingOTP( { body, requestHeaders } = { requestHeaders: {} }, @@ -279,7 +279,7 @@ class Payment { * @returns {Promise} - Success response * @name attachCardToCustomer * @summary: Link payment card to customer - * @description: Linking of a payment card to a user's account for seamless transactions. Upon successful linking, the card becomes associated with the user's profile, enabling secure and convenient payments - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/attachCardToCustomer/). + * @description: Link payment card to a user account for seamless transactions. Upon successful linking, the card becomes associated with the user's profile, enabling secure and convenient payments. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/attachCardToCustomer/). */ async attachCardToCustomer( { body, requestHeaders } = { requestHeaders: {} }, @@ -360,7 +360,7 @@ class Payment { * Success response * @name cancelPaymentLink * @summary: Cancel payment link - * @description: Cancels a previously generated payment link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/cancelPaymentLink/). + * @description: Cancel previously generated payment link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/cancelPaymentLink/). */ async cancelPaymentLink( { body, requestHeaders } = { requestHeaders: {} }, @@ -438,7 +438,7 @@ class Payment { * @returns {Promise} - Success response * @name cardDetails * @summary: Get card details - * @description: Fetches the details of a specified payment card, including information such as the card type, brand, country, and expiration date. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/cardDetails/). + * @description: Get details of a specified payment card, including information such as the card type, brand, country, and expiration date. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/cardDetails/). */ async cardDetails( { cardInfo, aggregator, requestHeaders } = { requestHeaders: {} }, @@ -605,7 +605,7 @@ class Payment { * * @name checkAndUpdatePaymentStatusPaymentLink * @summary: Update payment link status - * @description: Verifies and updates the status of a payment made through a link.Upon successful verification and update, the response includes details about the aggregator name, payment status, and whether retrying the process is required. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/checkAndUpdatePaymentStatusPaymentLink/). + * @description: Verify and update status of a payment made through a link.Upon successful verification and update, the response includes details about the aggregator name, payment status, and whether retrying the process is required. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/checkAndUpdatePaymentStatusPaymentLink/). */ async checkAndUpdatePaymentStatusPaymentLink( { body, requestHeaders } = { requestHeaders: {} }, @@ -685,7 +685,7 @@ class Payment { * @returns {Promise} - Success response * @name checkCredit * @summary: Verify credit availability and status - * @description: Checks the availability and status of customer credit, providing the status of payment along with registration information and signup URL if the customer is not registered. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/checkCredit/). + * @description: Check the availability and status of customer credit, providing the status of payment along with registration information and signup URL if the customer is not registered. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/checkCredit/). */ async checkCredit( { aggregator, requestHeaders } = { requestHeaders: {} }, @@ -767,7 +767,7 @@ class Payment { * Success response * @name createOrderHandlerPaymentLink * @summary: Create order for payment via link - * @description: Initiates the creation of an order handler for processing payments through a link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/createOrderHandlerPaymentLink/). + * @description: Initiate the creation of an order handler for processing payments through a link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/createOrderHandlerPaymentLink/). */ async createOrderHandlerPaymentLink( { body, requestHeaders } = { requestHeaders: {} }, @@ -848,7 +848,7 @@ class Payment { * Success response * @name createPaymentLink * @summary: Create payment link - * @description: Generates a new payment link for transactions. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/createPaymentLink/). + * @description: Create new payment link for transactions. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/createPaymentLink/). */ async createPaymentLink( { body, requestHeaders } = { requestHeaders: {} }, @@ -926,7 +926,7 @@ class Payment { * @returns {Promise} - Success response * @name createPaymentOrder * @summary: Create Order - * @description: Create an order and payment on the aggregator side - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/createPaymentOrder/). + * @description: Create an order and payment on the aggregator side. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/createPaymentOrder/). */ async createPaymentOrder( { body, requestHeaders } = { requestHeaders: {} }, @@ -1006,7 +1006,7 @@ class Payment { * * @name customerCreditSummary * @summary: Credit summary - * @description: Fetches a summary of the customer's credit information, including details such as merchant customer reference ID, status, balance, limit, due amount, used amount, due date, days overdue, total due amount, and a repayment URL. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/customerCreditSummary/). + * @description: Get summary of the customer's credit information, including details such as merchant customer reference ID, status, balance, limit, due amount, used amount, due date, days overdue, total due amount, and a repayment URL. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/customerCreditSummary/). */ async customerCreditSummary( { aggregator, requestHeaders } = { requestHeaders: {} }, @@ -1088,7 +1088,7 @@ class Payment { * Success response * @name customerOnboard * @summary: Onboard customer for payment - * @description: Initiates the onboarding process for payment services, providing personal, business, and device information, along with marketplace details, to enable customer registration and credit availability. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/customerOnboard/). + * @description: Initiate the onboarding process for payment services, providing personal, business, and device information, along with marketplace details, to enable customer registration and credit availability. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/customerOnboard/). */ async customerOnboard( { body, requestHeaders } = { requestHeaders: {} }, @@ -1166,7 +1166,7 @@ class Payment { * @returns {Promise} - Success response * @name deleteUserCard * @summary: Delete customer card - * @description: Deletion of a payment card from the user's account - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/deleteUserCard/). + * @description: Delete payment card from the user's account. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/deleteUserCard/). */ async deleteUserCard( { body, requestHeaders } = { requestHeaders: {} }, @@ -1244,7 +1244,7 @@ class Payment { * @returns {Promise} - Success response * @name delinkWallet * @summary: Delink the wallet - * @description: User removes already linked wallet. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/delinkWallet/). + * @description: Delink the wallet. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/delinkWallet/). */ async delinkWallet( { body, requestHeaders } = { requestHeaders: {} }, @@ -1326,7 +1326,7 @@ class Payment { * * @name enableOrDisableRefundTransferMode * @summary: Toggle refund mode - * @description: Enables or disables a particular refund transfer mode based on the request body parameters, indicating whether the mode should be enabled or disabled - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/enableOrDisableRefundTransferMode/). + * @description: Enable/Disable a particular refund transfer mode based on the request body parameters, indicating whether the mode should be enabled or disabled. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/enableOrDisableRefundTransferMode/). */ async enableOrDisableRefundTransferMode( { body, requestHeaders } = { requestHeaders: {} }, @@ -1408,7 +1408,7 @@ class Payment { * * @name getActiveCardAggregator * @summary: Retrieve active card aggregator - * @description: Fetches details about the active card aggregator used by the user, including the aggregator's name.You can refresh the data by setting the "refresh" parameter to true if needed. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getActiveCardAggregator/). + * @description: Get details about the active card aggregator used by the user, including the aggregator name.You can refresh the data by setting the 'refresh' parameter to true if needed. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getActiveCardAggregator/). */ async getActiveCardAggregator( { refresh, requestHeaders } = { requestHeaders: {} }, @@ -1491,7 +1491,7 @@ class Payment { * @returns {Promise} - Success response * @name getActiveRefundTransferModes * @summary: Get refund transfer modes - * @description: Lists the available refund modes, such as UPI, providing details like display name, logo, and ID for each mode - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getActiveRefundTransferModes/). + * @description: Lists available refund modes, such as UPI, providing details like display name, logo, and ID for each mode. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getActiveRefundTransferModes/). */ async getActiveRefundTransferModes( { requestHeaders } = { requestHeaders: {} }, @@ -1571,7 +1571,7 @@ class Payment { * @returns {Promise} - Success response * @name getActiveUserCards * @summary: Get customer cards - * @description: Retrieves a list of all active cards saved by the user.Includes details such as the card's aggregator name, card ID, token, reference, number, expiration date, type, issuer, brand, nickname, and whether it has expired. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getActiveUserCards/). + * @description: List all active cards saved by the user.Includes details such as the card's aggregator name, card ID, token, reference, number, expiration date, type, issuer, brand, nickname, and whether it has expired. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getActiveUserCards/). */ async getActiveUserCards( { forceRefresh, requestHeaders } = { requestHeaders: {} }, @@ -1652,7 +1652,7 @@ class Payment { * * @name getAggregatorsConfig * @summary: Get payment aggregators - * @description: Retrieve the aggregator secret key of all payment gateways utilized for payments when using the SDK for the payment gateway - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getAggregatorsConfig/). + * @description: Get aggregator secret key of all payment gateways utilized for payments when using the SDK for the payment gateway. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getAggregatorsConfig/). */ async getAggregatorsConfig( { xApiToken, refresh, requestHeaders } = { requestHeaders: {} }, @@ -1737,7 +1737,7 @@ class Payment { * Success response * @name getEpaylaterBannerDetails * @summary: Epaylater banner info - * @description: Retrieves details required to display the Epaylater payment banner. It provides information about the banner's display status, along with relevant messages and the user's registration status. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getEpaylaterBannerDetails/). + * @description: Get Epaylater payment banner details. It provides information about the banner's display status, along with relevant messages and the user's registration status. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getEpaylaterBannerDetails/). */ async getEpaylaterBannerDetails( { requestHeaders } = { requestHeaders: {} }, @@ -1820,7 +1820,7 @@ class Payment { * Success response * @name getOrderBeneficiariesDetail * @summary: Retrieve beneficiary details - * @description: Retrieve beneficiary details like bank name , ifsc code , branch name associated with a specific order for refund processing - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getOrderBeneficiariesDetail/). + * @description: Get beneficiary details like bank name , ifsc code , branch name associated with a specific order for refund processing. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getOrderBeneficiariesDetail/). */ async getOrderBeneficiariesDetail( { orderId, requestHeaders } = { requestHeaders: {} }, @@ -1902,7 +1902,7 @@ class Payment { * Success response * @name getPaymentLink * @summary: Get payment link - * @description: Retrieves a generated payment link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPaymentLink/). + * @description: Get a generated payment link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPaymentLink/). */ async getPaymentLink( { paymentLinkId, requestHeaders } = { requestHeaders: {} }, @@ -1982,7 +1982,7 @@ class Payment { * Success response * @name getPaymentModeRoutes * @summary: Get payment modes - * @description: Available payment methods on the payment page, specifying the aggregator for each option, such as 'Netbanking powered by Juspay' and 'Card powered by Razorpay'. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPaymentModeRoutes/). + * @description: Get available payment methods on the payment page, specifying the aggregator for each option, such as 'Netbanking powered by Juspay' and 'Card powered by Razorpay'. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPaymentModeRoutes/). */ async getPaymentModeRoutes( { @@ -2109,7 +2109,7 @@ class Payment { * Success response * @name getPaymentModeRoutesPaymentLink * @summary: Payment modes for payment link - * @description: Lists payment modes available for a given payment link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPaymentModeRoutesPaymentLink/). + * @description: List payment modes available for a given payment link. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPaymentModeRoutesPaymentLink/). */ async getPaymentModeRoutesPaymentLink( { paymentLinkId, requestHeaders } = { requestHeaders: {} }, @@ -2191,7 +2191,7 @@ class Payment { * Success response * @name getPosPaymentModeRoutes * @summary: POS payment modes - * @description: Available payment methods on the payment page for POS, specifying the aggregator for each option, such as 'CARD powered by Juspay' and 'QR powered by Razorpay'. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPosPaymentModeRoutes/). + * @description: Get available payment methods on the payment page for POS, specifying the aggregator for each option, such as 'CARD powered by Juspay' and 'QR powered by Razorpay'. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getPosPaymentModeRoutes/). */ async getPosPaymentModeRoutes( { @@ -2307,7 +2307,7 @@ class Payment { * @returns {Promise} - Success response * @name getRupifiBannerDetails * @summary: Rupifi banner info - * @description: Retrieves details necessary for displaying the Rupifi payment banner. It provides information such as the KYC URL and the current status of the Rupifi payment banner. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getRupifiBannerDetails/). + * @description: Get Rupifi payment banner details. It provides information such as the KYC URL and the current status of the Rupifi payment banner. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getRupifiBannerDetails/). */ async getRupifiBannerDetails( { requestHeaders } = { requestHeaders: {} }, @@ -2390,7 +2390,7 @@ class Payment { * Success response * @name getUserBeneficiariesDetail * @summary: Retrieve beneficiary details - * @description: Retrieves information about beneficiaries associated with the user for processing refunds, based on the provided order ID - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getUserBeneficiariesDetail/). + * @description: Get beneficiaries associated with the user for processing refunds, based on the provided order ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/getUserBeneficiariesDetail/). */ async getUserBeneficiariesDetail( { orderId, requestHeaders } = { requestHeaders: {} }, @@ -2473,7 +2473,7 @@ class Payment { * * @name initialisePayment * @summary: Start payment process - * @description: Initiates the payment procedure for an order.Upon successful initiation, it returns a details including the success status, aggregator information, payment method, status, merchant order ID aggregator order , polling URL, timeout, virtual ID, Razorpay payment ID, customer ID, and device ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/initialisePayment/). + * @description: Initiate the payment procedure for an order. Upon successful initiation, it returns a details including the success status, aggregator information, payment method, status, merchant order ID aggregator order , polling URL, timeout, virtual ID, Razorpay payment ID, customer ID, and device ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/initialisePayment/). */ async initialisePayment( { body, requestHeaders } = { requestHeaders: {} }, @@ -2555,7 +2555,7 @@ class Payment { * * @name initialisePaymentPaymentLink * @summary: Initialize payment link - * @description: Begins the payment process for an order by initializing it through a payment link.Upon successful initialization, the response includes details about the payment status, aggregator details, order IDs, polling URL for status updates, and other relevant information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/initialisePaymentPaymentLink/). + * @description: Begin payment process for an order by initializing it through a payment link.Upon successful initialization, the response includes details about the payment status, aggregator details, order IDs, polling URL for status updates, and other relevant information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/initialisePaymentPaymentLink/). */ async initialisePaymentPaymentLink( { body, requestHeaders } = { requestHeaders: {} }, @@ -2635,7 +2635,7 @@ class Payment { * @returns {Promise} - Success response * @name linkWallet * @summary: OTP verification - * @description: Verifies the linking of wallet using OTP for further processing of payment. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/linkWallet/). + * @description: Verify the linking of wallet using OTP for further processing of payment. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/linkWallet/). */ async linkWallet( { body, requestHeaders } = { requestHeaders: {} }, @@ -2715,7 +2715,7 @@ class Payment { * * @name outstandingOrderDetails * @summary: Outstanding orders - * @description: Retrieve details of orders with outstanding payments. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/outstandingOrderDetails/). + * @description: Get details of orders with outstanding payments. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/outstandingOrderDetails/). */ async outstandingOrderDetails( { aggregator, requestHeaders } = { requestHeaders: {} }, @@ -2797,7 +2797,7 @@ class Payment { * Success response * @name paidOrderDetails * @summary: Retrieve details of paid orders - * @description: Retrieves details of orders that have been paid for, including shipment ID, order ID, due date, payment date, amount, and transaction ID, based on the aggregator's merchant user ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/paidOrderDetails/). + * @description: Get details of orders that have been paid for, including shipment ID, order ID, due date, payment date, amount, and transaction ID, based on the aggregator merchant user ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/paidOrderDetails/). */ async paidOrderDetails( { aggregator, requestHeaders } = { requestHeaders: {} }, @@ -2877,7 +2877,7 @@ class Payment { * Success response * @name pollingPaymentLink * @summary: Poll status of payment link - * @description: Periodically checks the status of a payment link to monitor for any updates or changes.retrieve real-time information about the payment link's current status, such as whether it has been processed, cancelled, or expired. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/pollingPaymentLink/). + * @description: Get real-time information about the payment link's current status, such as whether it has been processed, cancelled, or expired. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/pollingPaymentLink/). */ async pollingPaymentLink( { paymentLinkId, requestHeaders } = { requestHeaders: {} }, @@ -2958,7 +2958,7 @@ class Payment { * * @name redirectToAggregator * @summary: Redirects users to the payment aggregator's interface - * @description: Redirects users to the payment aggregator's interface and provides necessary parameters such as the callback URL and aggregator name. Returns the status of the payment along with the redirect URL and signup URL. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/redirectToAggregator/). + * @description: Get details about the active card aggregator used by the user, including the aggregator's name. You can refresh the data by setting the 'refresh' parameter to true if needed. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/redirectToAggregator/). */ async redirectToAggregator( { source, aggregator, requestHeaders } = { requestHeaders: {} }, @@ -3040,7 +3040,7 @@ class Payment { * @returns {Promise} - Success response * @name renderHTML * @summary: Render HTML - * @description: Render HTML for a payment aggregator page - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/renderHTML/). + * @description: Render HTML for a payment aggregator page. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/renderHTML/). */ async renderHTML( { body, requestHeaders } = { requestHeaders: {} }, @@ -3120,7 +3120,7 @@ class Payment { * * @name resendOrCancelPayment * @summary: Resend or cancel a pending payment transaction - * @description: Enable you to perform actions related to the resending and cancellation of payment links through SMS or E-mail. Resend or cancel payment link that have been initiated but may require modification or cancellation for various reasons, ensuring flexibility and control in payment processing. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/resendOrCancelPayment/). + * @description: Resend or cancel payment link that have been initiated but may require modification or cancellation for various reasons, ensuring flexibility and control in payment processing. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/resendOrCancelPayment/). */ async resendOrCancelPayment( { body, requestHeaders } = { requestHeaders: {} }, @@ -3201,7 +3201,7 @@ class Payment { * Success response * @name resendPaymentLink * @summary: Resend payment link - * @description: Resends an existing payment link to the user to complete the payment. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/resendPaymentLink/). + * @description: Resend an existing payment link to the user to complete the payment. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/resendPaymentLink/). */ async resendPaymentLink( { body, requestHeaders } = { requestHeaders: {} }, @@ -3282,7 +3282,7 @@ class Payment { * * @name updateDefaultBeneficiary * @summary: Set default beneficiary for refund - * @description: Updates the default beneficiary for the order refund of the user. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/updateDefaultBeneficiary/). + * @description: Update default beneficiary for the order refund of the user. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/updateDefaultBeneficiary/). */ async updateDefaultBeneficiary( { body, requestHeaders } = { requestHeaders: {} }, @@ -3362,7 +3362,7 @@ class Payment { * @returns {Promise} - Success response * @name validateVPA * @summary: Validate VPA - * @description: Checks whether a Virtual Payment Address (VPA) is valid for processing payments and returns the validation result.is_valid boolean value indicating whether the VPA is valid for payments - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/validateVPA/). + * @description: Validate if a Virtual Payment Address (VPA) is valid for processing payments and returns the validation result.is_valid boolean value indicating whether the VPA is valid for payments. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/validateVPA/). */ async validateVPA( { body, requestHeaders } = { requestHeaders: {} }, @@ -3523,7 +3523,7 @@ class Payment { * Success response * @name verifyCustomerForPayment * @summary: Verify payment customer - * @description: Verify whether the user is eligible for pay-later payment from the payment aggregator's side using the customer's phone number - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyCustomerForPayment/). + * @description: Verify if the user is eligible for pay-later payment from the payment aggregator side using the customer's phone number. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyCustomerForPayment/). */ async verifyCustomerForPayment( { body, requestHeaders } = { requestHeaders: {} }, @@ -3603,7 +3603,7 @@ class Payment { * @returns {Promise} - Success response * @name verifyIfscCode * @summary: Verify IFSC - * @description: Checks the validity of the provided IFSC code and returns bank details if valid. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyIfscCode/). + * @description: Validate IFSC code and returns bank details if valid. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyIfscCode/). */ async verifyIfscCode( { ifscCode, requestHeaders } = { requestHeaders: {} }, @@ -3686,7 +3686,7 @@ class Payment { * * @name verifyOtpAndAddBeneficiaryForBank * @summary: Verify OTP for bank and add beneficiary - * @description: This endpoint confirms the OTP provided by the user and adds a bank beneficiary for refund processing - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyOtpAndAddBeneficiaryForBank/). + * @description: Verify the OTP provided by the user and adds a bank beneficiary for refund processing. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyOtpAndAddBeneficiaryForBank/). */ async verifyOtpAndAddBeneficiaryForBank( { body, requestHeaders } = { requestHeaders: {} }, @@ -3768,7 +3768,7 @@ class Payment { * @returns {Promise} - Success response * @name verifyOtpAndAddBeneficiaryForWallet * @summary: Verify OTP for wallet - * @description: Confirm OTP provided by the user and adds a wallet beneficiary - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyOtpAndAddBeneficiaryForWallet/). + * @description: Verify OTP provided by the user and adds a wallet beneficiary. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/payment/verifyOtpAndAddBeneficiaryForWallet/). */ async verifyOtpAndAddBeneficiaryForWallet( { body, requestHeaders } = { requestHeaders: {} }, diff --git a/sdk/application/Payment/PaymentApplicationModel.d.ts b/sdk/application/Payment/PaymentApplicationModel.d.ts index fbb8cc7be..88e8479bb 100644 --- a/sdk/application/Payment/PaymentApplicationModel.d.ts +++ b/sdk/application/Payment/PaymentApplicationModel.d.ts @@ -1,20 +1,20 @@ export = PaymentApplicationModel; /** * @typedef AggregatorConfigDetail - * @property {boolean} [sdk] - SDK - * @property {string} secret - Masked payment gateway api secret - * @property {string} [api] - Payment gateway api endpoint - * @property {string} [pin] - Masked pin - * @property {string} config_type - Fynd or self payment gateway - * @property {string} [merchant_key] - Unique merchant key - * @property {string} [verify_api] - Payment gateway verify payment api endpoint - * @property {string} key - Payment gateway api key - * @property {string} [user_id] - Registered User id - * @property {string} [merchant_id] - Unique merchant id + * @property {boolean} [sdk] - SDK details. + * @property {string} secret - Masked payment gateway api secret. + * @property {string} [api] - Payment gateway api endpoint. + * @property {string} [pin] - Masked pin. + * @property {string} config_type - Fynd or self payment gateway. + * @property {string} [merchant_key] - Unique merchant key. + * @property {string} [verify_api] - Payment gateway verify payment api endpoint. + * @property {string} key - Payment gateway api key. + * @property {string} [user_id] - Registered User id. + * @property {string} [merchant_id] - Unique merchant id. */ /** * @typedef AggregatorsConfigDetailResponse - * @property {boolean} success + * @property {boolean} success - Api response was successful or not. * @property {AggregatorConfigDetail} [razorpay] * @property {AggregatorConfigDetail} [juspay] * @property {AggregatorConfigDetail} [simpl] @@ -23,24 +23,24 @@ export = PaymentApplicationModel; * @property {AggregatorConfigDetail} [mswipe] * @property {AggregatorConfigDetail} [stripe] * @property {AggregatorConfigDetail} [ccavenue] - * @property {string} env - Environment i.e Live or Test + * @property {string} env - Environment i.e Live or Test. */ /** * @typedef ErrorCodeAndDescription - * @property {string} code - Error descrption code. + * @property {string} code - Error description code. * @property {string} description - Error human understandable description. */ /** * @typedef HttpErrorCodeAndResponse * @property {ErrorCodeAndDescription} [error] - * @property {boolean} success - Response is successful or not + * @property {boolean} success - Response is successful or not. */ /** * @typedef AttachCardRequest - * @property {string} [nickname] + * @property {string} [nickname] - Nickname of the card holder. * @property {boolean} [refresh] - Refresh cache flag. * @property {string} card_id - Card token of payment gateway. - * @property {string} [name_on_card] + * @property {string} [name_on_card] - Name of the card holder. */ /** * @typedef AttachCardsResponse @@ -50,7 +50,7 @@ export = PaymentApplicationModel; */ /** * @typedef CardPaymentGateway - * @property {string} [api] - Payment gateway CARD api endpoint + * @property {string} [api] - Payment gateway CARD api endpoint. * @property {string} aggregator - Payment gateway name. * @property {string} [customer_id] - Payment gateway customer id. */ @@ -62,24 +62,26 @@ export = PaymentApplicationModel; */ /** * @typedef Card - * @property {string} [card_number] - Card_number - * @property {string} [card_name] - Card_name - * @property {string} [card_type] - Card_type - * @property {string} [card_brand_image] - Card_brand_image - * @property {string} [card_reference] - Card_reference - * @property {string} [card_issuer] - Card_issuer - * @property {string} [card_brand] - Card_brand - * @property {boolean} [expired] - Expired - * @property {boolean} [compliant_with_tokenisation_guidelines] - If card is - * tokenised or not - * @property {string} [card_isin] - Card_isin - * @property {number} [exp_year] - Exp_year - * @property {string} [nickname] - Nickname - * @property {string} aggregator_name - Aggregator_name - * @property {string} [card_fingerprint] - Card_fingerprint - * @property {string} [card_token] - Card_token - * @property {number} [exp_month] - Exp_month - * @property {string} [card_id] - Card_id + * @property {string} [card_number] - Card number mentioned on the card. + * @property {string} [card_name] - Name mentioned on the card. + * @property {string} [card_type] - Type of the card. + * @property {string} [card_brand_image] - Brand image on the card. + * @property {string} [card_reference] - Card reference. + * @property {string} [card_issuer] - Issuer of the card. + * @property {string} [card_brand] - Brand of the card. + * @property {boolean} [expired] - Card expiry. + * @property {boolean} [compliant_with_tokenisation_guidelines] - Whether card + * is tokenized or not. + * @property {string} [card_isin] - International Securities Identification + * Number for the card. + * @property {number} [exp_year] - Card's expiration year. + * @property {string} [nickname] - User-defined name for the card. + * @property {string} aggregator_name - Name of the payment aggregator. + * @property {string} [card_fingerprint] - Unique fingerprint of the card for + * identification. + * @property {string} [card_token] - Encrypted token representing the card. + * @property {number} [exp_month] - Card's expiration month. + * @property {string} [card_id] - Unique identifier for the card within the system. */ /** * @typedef ListCardsResponse @@ -98,8 +100,8 @@ export = PaymentApplicationModel; */ /** * @typedef ValidateCustomerRequest - * @property {string} aggregator - Payment gateway name in camel case i.e Simpl, Rupifi - * @property {number} transaction_amount_in_paise - Payable amount in paise + * @property {string} aggregator - Payment gateway name in camelcase i.e Simple, Rupifi. + * @property {number} transaction_amount_in_paise - Payable amount in paise. * @property {string} phone_number - User mobile number without country code. * @property {Object} [billing_address] - Extra meta fields. * @property {Object[]} [order_items] - Extra meta fields. @@ -109,170 +111,175 @@ export = PaymentApplicationModel; */ /** * @typedef ValidateCustomerResponse - * @property {Object} data - Payment gateway response data - * @property {boolean} success - Response is successful or not + * @property {Object} [data] - Payment gateway response data. + * @property {boolean} success - Response is successful or not. * @property {string} message - Error or success message. */ /** * @typedef ChargeCustomerRequest - * @property {boolean} [verified] - Already Verified flag from payment gateway i.e Mswipe - * @property {string} aggregator - Payment gateway name i.e Simpl, Mswipe + * @property {boolean} [verified] - Already Verified flag from payment gateway i.e Mswipe. + * @property {string} aggregator - Payment gateway name i.e Simpl, Mswipe. * @property {string} order_id - Unique order id. * @property {string} [transaction_token] - Transaction token of payment gateway. - * @property {number} amount - Chargable amount of order. + * @property {number} amount - Chargeable amount of order. */ /** * @typedef ChargeCustomerResponse * @property {string} status - Status of charged payment. - * @property {string} [cart_id] - Cart id of customer + * @property {string} [cart_id] - Cart id of customer. * @property {boolean} success - Response is successful or not. - * @property {string} aggregator - Payment gateway name i.e Simpl, Mswipe + * @property {string} aggregator - Payment gateway name i.e Simpl, Mswipe. * @property {string} message - Human readable message. * @property {string} order_id - Unique order id. - * @property {string} [delivery_address_id] - Delivery adddress id of customer + * @property {string} [delivery_address_id] - Delivery address id of customer. */ /** * @typedef PaymentInitializationRequest - * @property {string} [razorpay_payment_id] - Payment gateway payment id - * @property {string} method - Payment method - * @property {string} [device_id] - EDC machine Unique Identifier - * @property {string} aggregator - Payment gateway name + * @property {string} [razorpay_payment_id] - Payment gateway payment id. + * @property {string} method - Payment method. + * @property {string} [device_id] - EDC machine Unique Identifier. + * @property {string} aggregator - Payment gateway name. * @property {string} customer_id - Payment gateway customer id. - * @property {string} contact - Customer valid mobile number - * @property {string} merchant_order_id - Unique fynd order id - * @property {string} [vpa] - Customer vpa address - * @property {string} order_id - Payment gateway order id + * @property {string} contact - Customer valid mobile number. + * @property {string} merchant_order_id - Unique fynd order id. + * @property {string} [vpa] - Customer vpa address. + * @property {string} order_id - Payment gateway order id. * @property {string} currency - Currency code. - * @property {number} [timeout] - Payment polling timeout if not recieved response + * @property {number} [timeout] - Payment polling timeout if not received response. * @property {number} amount - Payable amount. - * @property {string} email - Customer valid email + * @property {string} email - Customer valid email. */ /** * @typedef PaymentInitializationResponse * @property {string} [status] - Status of payment. * @property {string} [razorpay_payment_id] - Payment id. - * @property {string} [aggregator_order_id] - Payment order id - * @property {string} method - Payment method + * @property {string} [aggregator_order_id] - Payment order id. + * @property {string} method - Payment method. * @property {boolean} success - Response is successful or not. * @property {string} [upi_poll_url] - UPI poll url. * @property {string} [virtual_id] - Payment virtual address. - * @property {string} [device_id] - EDC machine Unique Identifier + * @property {string} [device_id] - EDC machine Unique Identifier. * @property {string} polling_url - Polling url. - * @property {string} aggregator - Payment gateway name - * @property {string} merchant_order_id - Order id + * @property {string} aggregator - Payment gateway name. + * @property {string} merchant_order_id - Order id. * @property {string} [customer_id] - Payment gateway customer id. - * @property {string} [vpa] - Customer vpa address + * @property {string} [vpa] - Customer vpa address. * @property {string} [currency] - Currency code. * @property {number} [timeout] - Timeout. * @property {number} [amount] - Payable amount. - * @property {string} [bqr_image] - Bharath qr image url. + * @property {string} [bqr_image] - Bharat qr image url. */ /** * @typedef PaymentStatusUpdateRequest * @property {string} [status] - Status of payment. - * @property {string} [merchant_transaction_id] - Unique fynd transaction id - * @property {string} method - Payment method - * @property {string} [device_id] - EDC machine Unique Identifier - * @property {string} aggregator - Payment gateway name + * @property {string} [merchant_transaction_id] - Unique fynd transaction id. + * @property {string} method - Payment method. + * @property {string} [device_id] - EDC machine Unique Identifier. + * @property {string} aggregator - Payment gateway name. * @property {string} [customer_id] - Payment gateway customer id. - * @property {string} [contact] - Customer valid mobile number - * @property {string} merchant_order_id - Unique fynd order id - * @property {string} [vpa] - Customer vpa address - * @property {string} [order_id] - Payment gateway order id + * @property {string} [contact] - Customer valid mobile number. + * @property {string} merchant_order_id - Unique fynd order id. + * @property {string} [vpa] - Customer vpa address. + * @property {string} [order_id] - Payment gateway order id. * @property {string} [currency] - Currency code. * @property {number} [amount] - Payable amount. - * @property {string} [email] - Customer valid email + * @property {string} [email] - Customer valid email. */ /** * @typedef PaymentStatusUpdateResponse - * @property {string} status - Payment status - * @property {boolean} [success] - Response is successful or not + * @property {string} status - Payment status. + * @property {boolean} [success] - Response is successful or not. * @property {boolean} retry - Response is successful or not. - * @property {string} [redirect_url] - Redirect url - * @property {string} aggregator_name - Payment gateway name + * @property {string} [redirect_url] - Redirect url. + * @property {string} aggregator_name - Payment gateway name. */ /** * @typedef IntentAppErrorList - * @property {string} [code] - Code - * @property {string} [package_name] - Package_name + * @property {string} [code] - Code of the intent App. + * @property {string} [package_name] - Package Name of the intent App. */ /** * @typedef PaymentModeLogo - * @property {string} large - Large - * @property {string} small - Smalll + * @property {string} large - Large Logo. + * @property {string} small - Small Logo. */ /** * @typedef IntentApp - * @property {string} [code] - Code - * @property {string} [package_name] - Package_name + * @property {string} [code] - Code of the intent App. + * @property {string} [package_name] - Package Name of the intent App. * @property {PaymentModeLogo} [logos] - * @property {string} [display_name] - Display_name + * @property {string} [display_name] - Display Name of the intent App. */ /** * @typedef PaymentModeList - * @property {string} [card_number] - Card_number - * @property {string} [merchant_code] - Merchant code - * @property {string} [card_reference] - Card_reference - * @property {string} [card_issuer] - Card_issuer - * @property {boolean} [compliant_with_tokenisation_guidelines] - If card is - * tokenised or not - * @property {string} [code] - Code - * @property {number} [cod_limit] - Cod limit - * @property {boolean} [intent_flow] - Intent_flow - * @property {string} [fynd_vpa] - Fynd_vpa - * @property {IntentAppErrorList[]} [intent_app_error_dict_list] - - * Intent_app_error_dict_list - * @property {string} aggregator_name - Aggregator_name - * @property {string} [card_fingerprint] - Card_fingerprint - * @property {string[]} [intent_app_error_list] - Intent_app_error_list - * @property {IntentApp[]} [intent_app] - Intent_app - * @property {boolean} [expired] - Expired - * @property {number} [retry_count] - Retry_count - * @property {number} [exp_year] - Exp_year - * @property {number} [exp_month] - Exp_month - * @property {string} [card_id] - Card_id - * @property {number} [remaining_limit] - Remaining limit - * @property {number} [display_priority] - Dispaly Priority - * @property {string} [card_brand] - Card_brand - * @property {number} [cod_limit_per_order] - Cod limit per order + * @property {string} [card_number] - Card number mentioned on the card. + * @property {string} [merchant_code] - Unique code identifying the merchant. + * @property {string} [card_reference] - Reference identifier for the card. + * @property {string} [card_issuer] - Issuing bank or institution of the card. + * @property {boolean} [compliant_with_tokenisation_guidelines] - Indicates + * compliance with tokenization guidelines. + * @property {string} [code] - General code for identifying a transaction or status. + * @property {number} [cod_limit] - Limit for Cash on Delivery (COD) transactions. + * @property {boolean} [intent_flow] - Flow or process intended for the transaction. + * @property {string} [fynd_vpa] - Virtual Payment Address (VPA) used by Fynd. + * @property {IntentAppErrorList[]} [intent_app_error_dict_list] - List of error + * dictionaries related to intent app. + * @property {string} aggregator_name - Name of the payment aggregator. + * @property {string} [card_fingerprint] - Unique fingerprint of the card for + * identification. + * @property {string[]} [intent_app_error_list] - List of errors associated with + * the intent app. + * @property {IntentApp[]} [intent_app] - Application intended for handling the + * transaction. + * @property {boolean} [expired] - Indicates whether the card is expired. + * @property {number} [retry_count] - Number of retry attempts. + * @property {number} [exp_year] - Card's expiration year. + * @property {number} [exp_month] - Card's expiration month. + * @property {string} [card_id] - Unique identifier for the card within the system. + * @property {number} [remaining_limit] - Remaining available limit on the card. + * @property {number} [display_priority] - Priority of display in the user interface. + * @property {string} [card_brand] - Brand of the card (e.g., Visa, MasterCard). + * @property {number} [cod_limit_per_order] - Maximum limit per order for COD + * transactions. * @property {PaymentModeLogo} [logo_url] - * @property {string} [nickname] - Nickname - * @property {string} [card_name] - Card_name - * @property {string} [card_type] - Card_type - * @property {string} [card_brand_image] - Card_brand_image - * @property {string} [display_name] - Display name - * @property {string} [card_isin] - Card_isin - * @property {number} [timeout] - Timeout - * @property {string} [card_token] - Card_token - * @property {string} [name] - Name - * @property {Object} [meta] - Payment methods meta + * @property {string} [nickname] - User-defined name for the card. + * @property {string} [card_name] - Name printed on the card. + * @property {string} [card_type] - Type of the card (e.g., debit, credit). + * @property {string} [card_brand_image] - Image representing the card brand. + * @property {string} [display_name] - Display name for the card in the user interface. + * @property {string} [card_isin] - International Securities Identification + * Number for the card. + * @property {number} [timeout] - Timeout duration for transactions. + * @property {string} [card_token] - Encrypted token representing the card. + * @property {string} [name] - User's name. + * @property {Object} [meta] - Payment methods meta. */ /** * @typedef RootPaymentMode * @property {boolean} [is_pay_by_card_pl] - This flag will be true in case of - * Payment link payment through card - * @property {boolean} [add_card_enabled] - Annonymous card flag - * @property {number} display_priority - Dispaly Priority - * @property {string} display_name - Payment mode display name - * @property {PaymentModeList[]} [list] - Payment mode - * @property {boolean} [save_card] - Card save or not - * @property {string} [aggregator_name] - Dispaly Priority - * @property {string} name - Payment mode name - * @property {boolean} [anonymous_enable] - Annonymous card flag + * Payment link payment through card. + * @property {boolean} [add_card_enabled] - Anonymous card flag. + * @property {number} display_priority - Display Priority. + * @property {string} display_name - Payment mode display name. + * @property {PaymentModeList[]} [list] - Payment mode. + * @property {boolean} [save_card] - Card save or not. + * @property {string} [aggregator_name] - Display Priority. + * @property {string} name - Payment mode name. + * @property {boolean} [anonymous_enable] - Anonymous card flag. */ /** * @typedef AggregatorRoute - * @property {Object} [data] - Data - * @property {Object} [payment_flow_data] - Payment_flow_data - * @property {string} [payment_flow] - Payment_flow - * @property {string} [api_link] - Api_link + * @property {Object} [data] - Details about aggregator route. + * @property {Object} [payment_flow_data] - Payment_flow_data. + * @property {string} [payment_flow] - Payment_flow. + * @property {string} [api_link] - API link of the aggregator. */ /** * @typedef PaymentDefaultSelection - * @property {string} [mode] - Default Selection Payment Mode - * @property {string} [identifier] - Identifier for Payment Mode + * @property {string} [mode] - Default Selection Payment Mode. + * @property {string} [identifier] - Identifier for Payment Mode. * @property {boolean} [skip] - Decide if the default payment mode will skip the - * payment options page altogether or just be preferred on the Frontend + * payment options page altogether or just be preferred on the Frontend. */ /** * @typedef PaymentFlow @@ -293,73 +300,73 @@ export = PaymentApplicationModel; */ /** * @typedef PaymentOptionAndFlow - * @property {RootPaymentMode[]} payment_option - Payment options + * @property {RootPaymentMode[]} payment_option - Payment options. * @property {PaymentFlow} payment_flows * @property {PaymentDefaultSelection} [payment_default_selection] */ /** * @typedef AdvanceObject - * @property {boolean} [is_active] - Is Advance Payment active - * @property {number} [amount] - Amount for Payment Breakdown - * @property {string} [time_unit] - Time unit for refunds + * @property {boolean} [is_active] - Is Advance Payment active. + * @property {number} [amount] - Amount for Payment Breakdown. + * @property {string} [time_unit] - Time unit for refunds. * @property {string} [description] - The description for Advance Payment (user - * configured) - * @property {string} [display_name] - The display name for Advance payment - * @property {string} [prepayment_type] - Type of prepayment value - * @property {number} [prepayment_value] - Value for prepayment in advance payment - * @property {string} [cancellation_type] - Type of cancellation - * @property {number} [refund_time_limit] - Time limit for processing refund - * @property {string[]} [all_prepayment_type] - All available types of prepayment - * @property {boolean} [allow_custom_advance_amount] - Is custom advance amount allowed? + * configured). + * @property {string} [display_name] - The display name for Advance payment. + * @property {string} [prepayment_type] - Type of prepayment value. + * @property {number} [prepayment_value] - Value for prepayment in advance payment. + * @property {string} [cancellation_type] - Type of cancellation. + * @property {number} [refund_time_limit] - Time limit for processing refund. + * @property {string[]} [all_prepayment_type] - All available types of prepayment. + * @property {boolean} [allow_custom_advance_amount] - Is custom advance amount allowed?. */ /** * @typedef SplitObject - * @property {number} [total_number_of_splits] - Maximum amount of splits allowed - * @property {number} [splits_remaining] - Number of splits remaining - * @property {number} [amount_remaining] - Amount pending to be paid + * @property {number} [total_number_of_splits] - Maximum amount of splits allowed. + * @property {number} [splits_remaining] - Number of splits remaining. + * @property {number} [amount_remaining] - Amount pending to be paid. */ /** * @typedef AdvancePaymentObject - * @property {string} [name] - Name of Advance Payment Mode - * @property {number} [display_priority] - Display Priority for Payment Option - * @property {number} [payment_mode_id] - Payment Mode ID for Advance Payment Option - * @property {string} [display_name] - Display name for Advance Payment Mode - * @property {PaymentModeList[]} [list] - Payment mode + * @property {string} [name] - Name of Advance Payment Mode. + * @property {number} [display_priority] - Display Priority for Payment Option. + * @property {number} [payment_mode_id] - Payment Mode ID for Advance Payment Option. + * @property {string} [display_name] - Display name for Advance Payment Mode. + * @property {PaymentModeList[]} [list] - Payment mode. * @property {SplitObject} [split] * @property {AdvanceObject} [advance] */ /** * @typedef PaymentModeRouteResponse * @property {PaymentOptionAndFlow} payment_options - * @property {boolean} success - Response is successful or not - * @property {Object} [payment_breakup] - Payment Breakup for advance payment - * @property {AdvancePaymentObject[]} [advance_payment] - Advance Payment Array + * @property {boolean} success - Response is successful or not. + * @property {Object} [payment_breakup] - Payment Breakup for advance payment. + * @property {AdvancePaymentObject[]} [advance_payment] - Advance Payment Array. */ /** * @typedef WalletLinkRequestSchema - * @property {string} aggregator - Aggregator Name - * @property {string} mobile - Mobile Number for Wallet - * @property {string} wallet_code - Wallet Code + * @property {string} aggregator - Aggregator Name. + * @property {string} mobile - Mobile Number for Wallet. + * @property {string} wallet_code - Wallet Code. */ /** * @typedef WalletVerifyRequestSchema - * @property {string} aggregator - Aggregator Name - * @property {string} link_token - Token for wallet linking - * @property {number} otp - OTP received for wallet linking + * @property {string} aggregator - Aggregator Name. + * @property {string} link_token - Token for wallet linking. + * @property {number} otp - OTP received for wallet linking. */ /** * @typedef WalletDelinkRequestSchema - * @property {string} aggregator - Aggregator Name - * @property {string} wallet_code - Wallet Code + * @property {string} aggregator - Aggregator Name. + * @property {string} wallet_code - Wallet Code. */ /** * @typedef WalletResponseSchema - * @property {Object} data - Response received from aggregator - * @property {boolean} success - Success/Failure of the API call + * @property {Object} data - Response received from aggregator. + * @property {boolean} success - Success/Failure of the API call. */ /** * @typedef RupifiBannerData - * @property {string} [status] - Rupifi KYC status + * @property {string} [status] - Rupifi KYC status. * @property {string} [kyc_url] - Rupifi KYC banner url. */ /** @@ -369,9 +376,9 @@ export = PaymentApplicationModel; */ /** * @typedef EpaylaterBannerData - * @property {string} [status] - Epaylater KYC status - * @property {string} [message] - EPayLater message - * @property {boolean} display - Need to display banner or not + * @property {string} [status] - Epaylater KYC status. + * @property {string} [message] - EPayLater message. + * @property {boolean} display - Need to display banner or not. */ /** * @typedef EpaylaterBannerResponse @@ -380,14 +387,14 @@ export = PaymentApplicationModel; */ /** * @typedef ResendOrCancelPaymentRequest - * @property {string} order_id - Unique order id - * @property {string} [device_id] - EDC machine Unique Identifier - * @property {string} request_type - Either resend or cancel + * @property {string} order_id - Unique order id. + * @property {string} [device_id] - EDC machine Unique Identifier. + * @property {string} request_type - Either resend or cancel. */ /** * @typedef LinkStatus - * @property {string} status - Link action status - * @property {string} message - Message + * @property {string} status - Link action status. + * @property {string} message - Message. * @property {boolean} [is_payment_done] - This key specifies payment done * status of payment link. */ @@ -398,24 +405,24 @@ export = PaymentApplicationModel; */ /** * @typedef renderHTMLRequest - * @property {string} [returntype] - Return Type of API - * @property {string} base64_html - Base64 encoded html string + * @property {string} [returntype] - Return Type of API. + * @property {string} base64_html - Base64 encoded html string. */ /** * @typedef renderHTMLResponse - * @property {string} html - HTML string + * @property {string} html - HTML string. */ /** * @typedef ValidateVPARequest - * @property {string} upi_vpa - UPI ID - * @property {string} [aggregator] - Aggregator slug + * @property {string} upi_vpa - UPI ID. + * @property {string} [aggregator] - Aggregator slug. */ /** * @typedef ValidateUPI - * @property {string} status - VALID or INVALID - * @property {string} customer_name - Customer Bank + * @property {string} status - VALID or INVALID. + * @property {string} customer_name - Customer Bank. * @property {boolean} is_valid - Boolean is true or false. - * @property {string} upi_vpa - UPI ID + * @property {string} upi_vpa - UPI ID. */ /** * @typedef ValidateVPAResponse @@ -424,22 +431,23 @@ export = PaymentApplicationModel; */ /** * @typedef CardDetails - * @property {boolean} status - Status - * @property {string} country - Country Name - * @property {string} bank_code - Bank Code - * @property {string} id - Id - * @property {string} [card_exp_year] - Card Expire Year - * @property {string} card_brand - Card brand like VISA/RUPAY - * @property {string} type - Card Type Credit/Debit - * @property {string} card_sub_type - Card Sub type - * @property {boolean} is_domestic_card - Is card domestic or international - * @property {string} [name_on_card] - Name on Card - * @property {string} [card_exp_month] - Card Expire Month - * @property {string} extended_card_type - Extended Card Type - * @property {string} card_object - Card bin or Card refrence - * @property {string} [card_token] - Card Token - * @property {string} [user] - Customer/User ID - * @property {string} bank - Bank name + * @property {boolean} status - Current status of the card. + * @property {string} country - Country where the card was issued. + * @property {string} bank_code - Code identifying the bank. + * @property {string} id - Unique identifier for the record. + * @property {string} [card_exp_year] - Card's expiration year. + * @property {string} card_brand - Brand of the card (e.g., Visa, MasterCard). + * @property {string} type - General type of the card (e.g., debit, credit). + * @property {string} card_sub_type - Sub-type of the card (e.g., Platinum, Gold). + * @property {boolean} is_domestic_card - Indicates whether the card is domestic. + * @property {string} [name_on_card] - Name of the cardholder. + * @property {string} [card_exp_month] - Card's expiration month. + * @property {string} extended_card_type - Extended type of the card, providing + * more specific classification. + * @property {string} card_object - Object representation of the card. + * @property {string} [card_token] - Encrypted token representing the card. + * @property {string} [user] - User associated with the card. + * @property {string} bank - Bank associated with the card. */ /** * @typedef CardDetailsResponse @@ -448,312 +456,314 @@ export = PaymentApplicationModel; */ /** * @typedef TransferItemsDetails - * @property {number} id - - * @property {string} [display_name] - Beneficiary Display Name - * @property {string} logo_large - Beneficiary large Logo - * @property {string} logo_small - Beneficiary small Logo - * @property {string} name - Beneficiary Name + * @property {number} id - Id of the transfer item. + * @property {string} [display_name] - Beneficiary Display Name. + * @property {string} logo_large - Beneficiary large Logo. + * @property {string} logo_small - Beneficiary small Logo. + * @property {string} name - Beneficiary Name. */ /** * @typedef TransferModeDetails - * @property {TransferItemsDetails[]} [items] - Beneficiary Mode Items - * @property {string} display_name - Beneficiary Mode Name + * @property {TransferItemsDetails[]} [items] - Beneficiary Mode Items. + * @property {string} display_name - Beneficiary Mode Name. */ /** * @typedef TransferModeResponse - * @property {TransferModeDetails[]} data - Response Object + * @property {TransferModeDetails[]} data - Response Object. */ /** * @typedef UpdateRefundTransferModeRequest - * @property {boolean} enable - True for enabling the Transfer Mode - * @property {string} transfer_mode - Transfer Mode of the Beneficiary to be added + * @property {boolean} enable - True for enabling the Transfer Mode. + * @property {string} transfer_mode - Transfer Mode of the Beneficiary to be added. */ /** * @typedef UpdateRefundTransferModeResponse - * @property {boolean} [success] - Response is successful or not + * @property {boolean} [success] - Response is successful or not. */ /** * @typedef OrderBeneficiaryDetails - * @property {string} modified_on - MOdification Date of Beneficiary - * @property {string} account_no - Account Number - * @property {string} [mobile] - MObile no of User - * @property {string} bank_name - Bank Name Of Account - * @property {string} ifsc_code - Ifsc Code Of Account - * @property {boolean} is_active - Boolean Flag whether Beneficiary set or not - * @property {string} beneficiary_id - Benenficiary Id - * @property {string} account_holder - Account Holder Name - * @property {string} email - EMail of User - * @property {string} [delights_user_name] - User Id Who filled the Beneficiary - * @property {number} id - - * @property {string} transfer_mode - Transfer Mode Of Account - * @property {string} [branch_name] - Branch Name Of Account - * @property {string} created_on - Creation Date of Beneficiary - * @property {string} subtitle - SHort Title Of Account - * @property {string} [comment] - Remarks - * @property {string} address - Address of User - * @property {string} title - Title Of Account - * @property {string} display_name - Display Name Of Account + * @property {string} modified_on - MOdification Date of Beneficiary. + * @property {string} account_no - Account Number. + * @property {string} [mobile] - MObile no of User. + * @property {string} bank_name - Bank Name Of Account. + * @property {string} ifsc_code - Ifsc Code Of Account. + * @property {boolean} is_active - Boolean Flag whether Beneficiary set or not. + * @property {string} beneficiary_id - Beneficiary Id. + * @property {string} account_holder - Account Holder Name. + * @property {string} email - EMail of User. + * @property {string} [delights_user_name] - User Id Who filled the Beneficiary. + * @property {number} id - Id of the Order Beneficiary. + * @property {string} transfer_mode - Transfer Mode Of Account. + * @property {string} [branch_name] - Branch Name Of Account. + * @property {string} created_on - Creation Date of Beneficiary. + * @property {string} subtitle - SHort Title Of Account. + * @property {string} [comment] - Remarks. + * @property {string} address - Address of User. + * @property {string} title - Title Of Account. + * @property {string} display_name - Display Name Of Account. */ /** * @typedef OrderBeneficiaryResponse * @property {boolean} [show_beneficiary_details] - Show beneficiary details or not. - * @property {OrderBeneficiaryDetails[]} [beneficiaries] - All Beneficiaries Of An Order + * @property {OrderBeneficiaryDetails[]} [beneficiaries] - All Beneficiaries Of An Order. */ /** * @typedef NotFoundResourceError - * @property {string} code - Bad Request Data - * @property {string} description - Not Found - * @property {boolean} success - Response is successful or not + * @property {string} code - Bad Request Data. + * @property {string} description - Not Found. + * @property {boolean} success - Response is successful or not. */ /** * @typedef IfscCodeResponse - * @property {string} branch_name - Branch Name Of Account - * @property {boolean} [success] - Response is successful or not - * @property {string} bank_name - Bank Name Of Account + * @property {string} branch_name - Branch Name Of Account. + * @property {boolean} [success] - Response is successful or not. + * @property {string} bank_name - Bank Name Of Account. */ /** * @typedef ErrorCodeDescription - * @property {string} code - Error descrption code. + * @property {string} code - Error description code. * @property {string} description - Error human understandable description. - * @property {boolean} success - Response is successful or not + * @property {boolean} success - Response is successful or not. */ /** * @typedef AddBeneficiaryViaOtpVerificationRequest - * @property {string} request_id - Request Id sent in - * @property {string} hash_key - Hash key of the beneficiary Id - * @property {string} otp - Otp sent to the given Mobile No + * @property {string} request_id - Request id. + * @property {string} hash_key - Hash key of the beneficiary Id. + * @property {string} otp - Otp sent to the given Mobile No. */ /** * @typedef AddBeneficiaryViaOtpVerificationResponse - * @property {boolean} [success] - Response is successful or not - * @property {string} message - Aggregator Response of beneficicary + * @property {boolean} [success] - Response is successful or not. + * @property {string} message - Aggregator Response of beneficiary. */ /** * @typedef WrongOtpError - * @property {boolean} is_verified_flag - Vefified flag. - * @property {string} description - Wrong OTP Code - * @property {string} success - Response is successful or not + * @property {boolean} is_verified_flag - Verified flag. + * @property {string} description - Wrong OTP Code. + * @property {string} success - Response is successful or not. */ /** * @typedef BeneficiaryModeDetails - * @property {string} account_no - Account NUmber of the Account Holder - * @property {string} [address] - Address of the User - * @property {string} mobile - Moblie Number of the User - * @property {string} bank_name - Bank Name of the Account - * @property {string} [comment] - Remarks added by The user - * @property {string} ifsc_code - Ifsc Code of the Account - * @property {string} [vpa] - * @property {string} branch_name - Branch Name of the Account - * @property {string} account_holder - Name of the Account Holder - * @property {string} [wallet] - * @property {string} email - Email of the Account Holder + * @property {string} account_no - Account Number of the Account Holder. + * @property {string} [address] - Address of the User. + * @property {string} mobile - Mobile Number of the User. + * @property {string} bank_name - Bank Name of the Account. + * @property {string} [comment] - Remarks added by The user. + * @property {string} ifsc_code - Ifsc Code of the Account. + * @property {string} [vpa] - VPA of the Account. + * @property {string} branch_name - Branch Name of the Account. + * @property {string} account_holder - Name of the Account Holder. + * @property {string} [wallet] - Wallet of the Account. + * @property {string} email - Email of the Account Holder. */ /** * @typedef AddBeneficiaryDetailsRequest * @property {boolean} delights - True if beneficiary to be added by delights or - * False if by User - * @property {string} shipment_id - Shipment Id of the respective Merchant Order Id + * False if by User. + * @property {string} shipment_id - Shipment Id of the respective Merchant Order Id. * @property {BeneficiaryModeDetails} details - * @property {string} [otp] - * @property {string} order_id - Merchant Order Id - * @property {string} transfer_mode - Transfer Mode of the Beneficiary to be added - * @property {string} [request_id] + * @property {string} [otp] - OTP received by customer. + * @property {string} order_id - Merchant Order Id. + * @property {string} transfer_mode - Transfer Mode of the Beneficiary to be added. + * @property {string} [request_id] - Request Id for add benificiary request. */ /** * @typedef RefundAccountResponse - * @property {boolean} [is_verified_flag] + * @property {boolean} [is_verified_flag] - Flag for verification of refund. * @property {Object} [data] - Refund account data. * @property {boolean} success - Success or failure flag. - * @property {string} message - Response message + * @property {string} message - Response message. */ /** * @typedef BankDetailsForOTP - * @property {string} account_no - * @property {string} bank_name - * @property {string} ifsc_code - * @property {string} branch_name - * @property {string} account_holder + * @property {string} account_no - Account number of the holder. + * @property {string} bank_name - Name of the bank. + * @property {string} ifsc_code - IFSC code of the bank. + * @property {string} branch_name - Branch name of the bank. + * @property {string} account_holder - Name of the account holder. */ /** * @typedef AddBeneficiaryDetailsOTPRequest - * @property {string} order_id + * @property {string} order_id - Unique identifier for an order. * @property {BankDetailsForOTP} details */ /** * @typedef WalletOtpRequest - * @property {string} country_code - Country Code of the Mobile Number - * @property {string} mobile - Wallet Moblie Number of the User + * @property {string} country_code - Country Code of the Mobile Number. + * @property {string} mobile - Wallet Mobile Number of the User. */ /** * @typedef WalletOtpResponse - * @property {string} request_id - Request id + * @property {string} request_id - Request Id for wallet otp request. * @property {string} is_verified_flag - Boolean Flag whether OTP Validation is - * already done or not - * @property {boolean} [success] - Response is successful or not + * already done or not. + * @property {boolean} [success] - Response is successful or not. */ /** * @typedef SetDefaultBeneficiaryRequest - * @property {string} order_id - Merchant Order Id - * @property {string} beneficiary_id - Beneficiary Hash Id of the beneficiary added + * @property {string} order_id - Merchant Order Id. + * @property {string} beneficiary_id - Beneficiary Hash Id of the beneficiary added. */ /** * @typedef SetDefaultBeneficiaryResponse - * @property {boolean} is_beneficiary_set - Boolean Flag whether Beneficiary set or not - * @property {boolean} [success] - Response is successful or not + * @property {boolean} is_beneficiary_set - Boolean Flag whether Beneficiary set or not. + * @property {boolean} [success] - Response is successful or not. */ /** * @typedef GetPaymentLinkResponse - * @property {number} status_code - HTTP status code - * @property {string} [payment_link_current_status] - Status of payment link - * @property {boolean} success - Successful or failure - * @property {number} [polling_timeout] - Polling request timeout - * @property {string} [payment_link_url] - Url of payment link - * @property {string} [external_order_id] - Merchant order id - * @property {string} message - Message - * @property {string} [merchant_name] - Merchant name - * @property {number} [amount] - Total value of order + * @property {number} status_code - HTTP status code. + * @property {string} [payment_link_current_status] - Status of payment link. + * @property {boolean} success - Successful or failure. + * @property {number} [polling_timeout] - Polling request timeout. + * @property {string} [payment_link_url] - Url of payment link. + * @property {string} [external_order_id] - Merchant order id. + * @property {string} message - Detailed message. + * @property {string} [merchant_name] - Merchant name. + * @property {number} [amount] - Total value of order. */ /** * @typedef ErrorDescription - * @property {string} [payment_transaction_id] - Payment transaction id - * @property {boolean} [expired] - Payment link expired or not - * @property {string} [merchant_order_id] - Order id - * @property {string} [merchant_name] - Name of merchant that created payment link - * @property {string} [msg] - Message - * @property {boolean} [cancelled] - Payment link is cancelled or not - * @property {number} [amount] - Amount paid - * @property {boolean} [invalid_id] - Payment link id is valid or not + * @property {string} [payment_transaction_id] - Payment transaction id. + * @property {boolean} [expired] - Payment link expired or not. + * @property {string} [merchant_order_id] - Merchant Order Id. + * @property {string} [merchant_name] - Name of merchant that created payment link. + * @property {string} [msg] - Detailed message. + * @property {boolean} [cancelled] - Payment link is cancelled or not. + * @property {number} [amount] - Amount paid. + * @property {boolean} [invalid_id] - Payment link id is valid or not. */ /** * @typedef ErrorResponse - * @property {number} status_code - HTTP status code + * @property {number} status_code - HTTP status code. * @property {ErrorDescription} [error] - * @property {string} message - Message - * @property {boolean} success - Successful or failure + * @property {string} message - Detailed message. + * @property {boolean} success - Successful or failure. */ /** * @typedef CreatePaymentLinkMeta - * @property {string} cart_id - * @property {string} checkout_mode - * @property {string} [assign_card_id] - * @property {string} amount + * @property {string} cart_id - Unique identifier for the shopping cart. + * @property {string} checkout_mode - Mode of checkout process (e.g., guest, + * registered user). + * @property {string} [assign_card_id] - Identifier for the card assigned to the + * transaction. + * @property {string} amount - Total amount for the transaction. */ /** * @typedef CreatePaymentLinkRequest - * @property {string} [description] - Merchant order id - * @property {string} external_order_id - Merchant order id + * @property {string} [description] - Merchant order id. + * @property {string} external_order_id - Merchant order id. * @property {string} mobile_number - Mobile number to which the payment link is - * to be sent - * @property {number} amount - Total value of order + * to be sent. + * @property {number} amount - Total value of order. * @property {CreatePaymentLinkMeta} meta - * @property {string} email - Email to which the payment link is to be sent + * @property {string} email - Email to which the payment link is to be sent. */ /** * @typedef CreatePaymentLinkResponse - * @property {number} status_code - HTTP status code - * @property {boolean} success - Successful or failure - * @property {number} [polling_timeout] - Polling request timeout - * @property {string} [payment_link_url] - Url of payment link - * @property {string} message - Message - * @property {string} [payment_link_id] - Unique id of payment link + * @property {number} status_code - HTTP status code. + * @property {boolean} success - Successful or failure. + * @property {number} [polling_timeout] - Polling request timeout. + * @property {string} [payment_link_url] - Url of payment link. + * @property {string} message - Detailed message. + * @property {string} [payment_link_id] - Unique id of payment link. */ /** * @typedef CancelOrResendPaymentLinkRequest - * @property {string} payment_link_id - Unique id of payment link + * @property {string} payment_link_id - Unique id of payment link. */ /** * @typedef ResendPaymentLinkResponse - * @property {number} status_code - HTTP status code - * @property {number} [polling_timeout] - Polling request timeout - * @property {boolean} success - Successful or failure - * @property {string} message - Message + * @property {number} status_code - HTTP status code. + * @property {number} [polling_timeout] - Polling request timeout. + * @property {boolean} success - Successful or failure. + * @property {string} message - Detailed message. */ /** * @typedef CancelPaymentLinkResponse - * @property {number} status_code - HTTP status code - * @property {boolean} success - Successful or failure - * @property {string} message - Message + * @property {number} status_code - HTTP status code. + * @property {boolean} success - Successful or failure. + * @property {string} message - Detailed message. */ /** * @typedef PollingPaymentLinkResponse - * @property {string} [status] - Status of payment link - * @property {number} [status_code] - HTTP status code - * @property {boolean} [success] - Successful or failure - * @property {number} [http_status] - HTTP status code - * @property {string} [message] - Message - * @property {string} [order_id] - Fynd order id - * @property {string} [redirect_url] - Url to redirect to - * @property {string} [payment_link_id] - Payment link id - * @property {string} [aggregator_name] - Aggregator name - * @property {number} [amount] - Amount + * @property {string} [status] - Status of payment link. + * @property {number} [status_code] - HTTP status code. + * @property {boolean} [success] - Successful or failure. + * @property {number} [http_status] - HTTP status code. + * @property {string} [message] - Detailed message. + * @property {string} [order_id] - Fynd order id. + * @property {string} [redirect_url] - Url to redirect to. + * @property {string} [payment_link_id] - Payment link id. + * @property {string} [aggregator_name] - Aggregator name. + * @property {number} [amount] - Total amount for the transaction. */ /** * @typedef PaymentMethodsMeta - * @property {string} merchant_code - Merchant code - * @property {string} payment_gateway - Payment gateway name - * @property {string} payment_identifier - Payment identifier + * @property {string} merchant_code - Merchant code. + * @property {string} payment_gateway - Payment gateway name. + * @property {string} payment_identifier - Payment identifier. */ /** * @typedef CreateOrderUserPaymentMethods - * @property {string} name - Payment mode name - * @property {string} mode - Payment mode + * @property {string} name - Payment mode name. + * @property {string} mode - Payment mode. * @property {PaymentMethodsMeta} meta */ /** * @typedef CreateOrderUserRequest - * @property {string} failure_callback_url - Failure page url - * @property {string} currency - Currency - * @property {string} payment_link_id - Unique id of payment link + * @property {string} failure_callback_url - Failure page url. + * @property {string} currency - Currency of the transaction. + * @property {string} payment_link_id - Unique id of payment link. * @property {CreateOrderUserPaymentMethods} payment_methods - * @property {string} success_callback_url - Success page url - * @property {Object} [meta] - Meta + * @property {string} success_callback_url - Success page url. + * @property {Object} [meta] - Meta details. */ /** * @typedef CreateOrderUserData - * @property {string} [method] - Method - * @property {string} [aggregator] - Aggregator name - * @property {string} [customer_id] - Aggregator customer id - * @property {string} [contact] - Mobile number - * @property {string} [merchant_order_id] - Merchant order id - * @property {string} [order_id] - Aggregator order id - * @property {string} [currency] - Currency - * @property {string} [callback_url] - Callback url for aggregator - * @property {number} [amount] - Amount - * @property {string} [email] - Email + * @property {string} [method] - Method details. + * @property {string} [aggregator] - Aggregator name. + * @property {string} [customer_id] - Aggregator customer id. + * @property {string} [contact] - Mobile number. + * @property {string} [merchant_order_id] - Merchant order id. + * @property {string} [order_id] - Aggregator order id. + * @property {string} [currency] - Currency of the transaction. + * @property {string} [callback_url] - Callback url for aggregator. + * @property {number} [amount] - Total amount for the transaction. + * @property {string} [email] - Email. */ /** * @typedef CreateOrderUserResponse - * @property {number} status_code - HTTP status code - * @property {boolean} success - Successful or failure + * @property {number} status_code - HTTP status code. + * @property {boolean} success - Successful or failure. * @property {CreateOrderUserData} [data] - * @property {string} message - Message - * @property {string} [order_id] - Merchant order id - * @property {string} [callback_url] - Callback url for aggregator - * @property {string} [payment_confirm_url] - Payment confirm url for aggregator + * @property {string} message - Detailed message. + * @property {string} [order_id] - Merchant order id. + * @property {string} [callback_url] - Callback url for aggregator. + * @property {string} [payment_confirm_url] - Payment confirm url for aggregator. */ /** * @typedef BalanceDetails - * @property {string} [formatted_value] - Formated Amount with currency symbol - * @property {string} [currency] - Currency Code - * @property {number} [value] - Payment amount + * @property {string} [formatted_value] - Formatted Amount with currency symbol. + * @property {string} [currency] - Currency Code. + * @property {number} [value] - Payment amount. */ /** * @typedef CreditSummary * @property {BalanceDetails} [total_due_amount] - * @property {string} [status] - Customer Credit status + * @property {string} [status] - Customer Credit status. * @property {BalanceDetails} [limit] - * @property {string} [credit_line_id] - ID at Credit aggregator's end + * @property {string} [credit_line_id] - ID at Credit aggregator end. * @property {BalanceDetails} [amount_available] * @property {BalanceDetails} [due_amount] - * @property {string} [due_date] - Due date for repayment + * @property {string} [due_date] - Due date for repayment. * @property {BalanceDetails} [balance] - * @property {string} [status_message] - Message to customer - * @property {string} [repayment_url] - Url for repayment + * @property {string} [status_message] - Message to customer. + * @property {string} [repayment_url] - Url for repayment. * @property {string} [soa_url] - Statement of accounts. Show payment history. - * @property {boolean} [is_eligible_for_txn] - Eligiblity flag to complete transaction - * @property {string} [merchant_customer_ref_id] - Unique aggregator customer id - * @property {string} [buyer_status] - Status from Credit aggregator's end - * @property {string} [activation_url] - Url for activation + * @property {boolean} [is_eligible_for_txn] - Eligibility flag to complete transaction. + * @property {string} [merchant_customer_ref_id] - Unique aggregator customer id. + * @property {string} [buyer_status] - Status from Credit aggregator end. + * @property {string} [activation_url] - Url for activation. */ /** * @typedef CustomerCreditSummaryResponse @@ -762,7 +772,7 @@ export = PaymentApplicationModel; */ /** * @typedef RedirectURL - * @property {boolean} status - Aggregator's Operation is successful or not. + * @property {boolean} status - Aggregator Operation is successful or not. * @property {string} signup_url - URL to which the user may redirect. */ /** @@ -783,82 +793,86 @@ export = PaymentApplicationModel; */ /** * @typedef KYCAddress - * @property {string} city - City - * @property {string} [addressline2] - Address Line 2 - * @property {string} state - State - * @property {string} [ownership_type] - Address Owner Type - * @property {string} pincode - Pincode - * @property {string} [land_mark] - Land Mark - * @property {string} addressline1 - Address Line 1 + * @property {string} city - City of the KYC address. + * @property {string} [addressline2] - Second line of the address. + * @property {string} state - State of the KYC address. + * @property {string} [ownership_type] - Type of ownership for the address + * (e.g., rented, owned). + * @property {string} pincode - Postal code of the address. + * @property {string} [land_mark] - Landmark near the address. + * @property {string} addressline1 - First line of the address. */ /** * @typedef UserPersonalInfoInDetails - * @property {string} first_name - First Name - * @property {string} [voter_id] - Voter ID Number - * @property {string} [gender] - Gender - * @property {string} dob - DOB - * @property {string} [passport] - Passport - * @property {string} [fathers_name] - Father's Name - * @property {string} [mothers_name] - Mother's Name - * @property {string} [middle_name] - Middle Name - * @property {string} [last_name] - Last Name - * @property {string} [pan] - Pan Number - * @property {string} [driving_license] - Driver License - * @property {boolean} email_verified - Is Email Verified or not + * @property {string} first_name - First name of the individual. + * @property {string} [voter_id] - Voter ID number. + * @property {string} [gender] - Gender of the individual. + * @property {string} dob - Date of birth of the individual. + * @property {string} [passport] - Passport number. + * @property {string} [fathers_name] - Father's name. + * @property {string} [mothers_name] - Mother's name. + * @property {string} [middle_name] - Middle name of the individual. + * @property {string} [last_name] - Last name of the individual. + * @property {string} [pan] - Permanent Account Number (PAN). + * @property {string} [driving_license] - Driving license number. + * @property {boolean} email_verified - Indicates whether the email is verified. * @property {KYCAddress} address_as_per_id - * @property {boolean} mobile_verified - Is Mobile Verified or not - * @property {string} phone - Email - * @property {string} [email] - Email + * @property {boolean} mobile_verified - Indicates whether the mobile number is verified. + * @property {string} phone - Phone number. + * @property {string} [email] - Email address. */ /** * @typedef MarketplaceInfo - * @property {string} [date_of_joining] - Date of joining - * @property {string} name - Name of store - * @property {string} membership_id - Merchant id + * @property {string} [date_of_joining] - Date of joining. + * @property {string} name - Name of store. + * @property {string} membership_id - Merchant id. */ /** * @typedef BusinessDetails - * @property {string} [business_ownership_type] - Business Ownershipp type(e.g Rented) - * @property {string} [vintage] - Vintage - * @property {string} [gstin] - GSTIN Number - * @property {string} [pan] - Pan Number - * @property {string} [entity_type] - Busineess Entity Type - * @property {Object} [shop_and_establishment] - Shop Establishment - * @property {string} [fssai] - FDA License Number - * @property {string} [fda] - Driver License - * @property {string} [business_type] - Business Type - * @property {string} [name] - Business Name + * @property {string} [business_ownership_type] - Type of business ownership + * (e.g., sole proprietorship, partnership). + * @property {string} [vintage] - Age or duration of the business. + * @property {string} [gstin] - Goods and Services Tax Identification Number. + * @property {string} [pan] - Permanent Account Number of the business. + * @property {string} [entity_type] - Type of legal entity (e.g., corporation, LLC). + * @property {Object} [shop_and_establishment] - Shop and Establishment + * registration details. + * @property {string} [fssai] - Food Safety and Standards Authority of India + * registration number. + * @property {string} [fda] - Food and Drug Administration registration number. + * @property {string} [business_type] - Type of business (e.g., retail, wholesale). + * @property {string} [name] - Name of the business. * @property {KYCAddress} [address] */ /** * @typedef DeviceDetails - * @property {string} [identification_number] - IP - * @property {string} [identifier_type] - Static value = ip - * @property {string} [device_model] - Device Model - * @property {string} [device_make] - Device maker - * @property {string} [device_type] - Device Type(E.g. Mobile) - * @property {string} [os] - OS Name - * @property {string} [os_version] - OS Version + * @property {string} [identification_number] - IP. + * @property {string} [identifier_type] - Static value = ip. + * @property {string} [device_model] - Device Model. + * @property {string} [device_make] - Device maker. + * @property {string} [device_type] - Device Type(E.g. Mobile). + * @property {string} [os] - OS Name. + * @property {string} [os_version] - OS Version. */ /** * @typedef CustomerOnboardingRequest * @property {UserPersonalInfoInDetails} [personal_info] - * @property {string} [mcc] - Mcc - * @property {string} aggregator - Aggregator Name + * @property {string} [mcc] - Merchant Category Code, indicating the type of business. + * @property {string} aggregator - Payment aggregator handling the transaction. * @property {MarketplaceInfo} [marketplace_info] - * @property {string} source - CallbackURL + * @property {string} source - Callback url. * @property {BusinessDetails} [business_info] * @property {DeviceDetails} [device] */ /** * @typedef OnboardSummary * @property {string} [redirect_url] - URL to which the user may redirect. - * @property {Object} [session] - User Session - * @property {boolean} status - Transaction status - * @property {string} [status_remark] - Decription of status - * @property {boolean} [is_eligible_for_txn] - Whether is eligible for transaction - * @property {string} [merchant_customer_ref_id] - Rupifi customer ID - * @property {string} [activation_url] - Url for activation + * @property {Object} [session] - User Session. + * @property {boolean} status - Transaction status. + * @property {string} [status_remark] - Description of status. + * @property {boolean} [is_eligible_for_txn] - Whether is eligible for transaction. + * @property {string} [merchant_customer_ref_id] - Rupifi customer ID. + * @property {string} [activation_url] - Url for activation. */ /** * @typedef CustomerOnboardingResponse @@ -867,29 +881,29 @@ export = PaymentApplicationModel; */ /** * @typedef OutstandingOrderDetailsResponse - * @property {number} status_code - HTTP Status code - * @property {Object[]} [data] - Dict containing the outstanding order details + * @property {number} status_code - HTTP Status code. + * @property {Object[]} [data] - Dict containing the outstanding order details. * @property {boolean} success - Response is successful or not. - * @property {string} [message] - Message + * @property {string} [message] - Message. */ /** * @typedef PaidOrderDetailsResponse - * @property {number} status_code - HTTP Status code - * @property {Object[]} [data] - Dict containing the paid order details + * @property {number} status_code - HTTP Status code. + * @property {Object[]} [data] - Dict containing the paid order details. * @property {boolean} success - Response is successful or not. - * @property {string} [message] - Message + * @property {string} [message] - Message. */ /** * @typedef DeleteRefundAccountResponse - * @property {boolean} success - Success/Failure of the deleted beneficiary - * @property {string} message - Message + * @property {boolean} success - Success/Failure of the deleted beneficiary. + * @property {string} message - Message. */ /** * @typedef RefundOptionsDetails - * @property {string} display_name - Refund option display name - * @property {number} id - Refund ID. It will be unique identifier - * @property {boolean} [is_active] - Refund option is active or not - * @property {string} name - Refund option name + * @property {string} display_name - Refund option display name. + * @property {number} id - Refund ID. It will be unique identifier. + * @property {boolean} [is_active] - Refund option is active or not. + * @property {string} name - Refund option name. */ /** * @typedef RefundOptions @@ -899,59 +913,59 @@ export = PaymentApplicationModel; * @typedef OfflineRefundOptions * @property {RefundOptionsDetails} items - List of all refund options. * @property {string[]} payment_modes - List of all offline payment options. MOP - * Code value + * Code value. */ /** * @typedef RefundOptionResponse * @property {OfflineRefundOptions} offline_refund_options - Available offline - * refund options data - * @property {boolean} success - Success/Failure Of response - * @property {RefundOptions} refund_options - Available refund options data + * refund options data. + * @property {boolean} success - Success/Failure Of response. + * @property {RefundOptions} refund_options - Available refund options data. */ /** * @typedef SelectedRefundOptionResponse - * @property {Object} transfer_mode - Selected transfer mode for given shipment - * @property {string} shipment_id - Shipment ID - * @property {string} message - Message - * @property {boolean} success - Successful or not. + * @property {Object} transfer_mode - Selected transfer mode for given shipment. + * @property {string} shipment_id - ID of the shipment. + * @property {string} message - Detailed message. + * @property {boolean} success - Whether refund is successful or not. */ /** * @typedef WalletBeneficiaryDetails - * @property {string} beneficiary_id - Benenficiary Id - * @property {string} modified_on - MOdification Date of Beneficiary - * @property {string} display_name - Display Name Of Account - * @property {number} id - - * @property {string} subtitle - SHort Title Of Account - * @property {string} transfer_mode - Transfer Mode Of Account - * @property {string} [mobile] - MObile no of User - * @property {boolean} is_active - Boolean Flag whether Beneficiary set or not - * @property {string} created_on - Creation Date of Beneficiary - * @property {string} address - Address of User - * @property {string} title - Title Of Account - * @property {string} wallet_address - Bank Name Of Account - * @property {string} [comment] - Remarks - * @property {string} [wallet] - Branch Name Of Account - * @property {string} email - EMail of User - * @property {string} [delights_user_name] - User Id Who filled the Beneficiary + * @property {string} beneficiary_id - Beneficiary Id. + * @property {string} modified_on - MOdification Date of Beneficiary. + * @property {string} display_name - Display Name Of Account. + * @property {number} id - Id of the wallet beneficiary. + * @property {string} subtitle - SHort Title Of Account. + * @property {string} transfer_mode - Transfer Mode Of Account. + * @property {string} [mobile] - MObile no of User. + * @property {boolean} is_active - Boolean Flag whether Beneficiary set or not. + * @property {string} created_on - Creation Date of Beneficiary. + * @property {string} address - Address of User. + * @property {string} title - Title Of Account. + * @property {string} wallet_address - Bank Name Of Account. + * @property {string} [comment] - Remarks. + * @property {string} [wallet] - Branch Name Of Account. + * @property {string} email - EMail of User. + * @property {string} [delights_user_name] - User Id Who filled the Beneficiary. */ /** * @typedef UpiBeneficiaryDetails - * @property {string} beneficiary_id - Benenficiary Id - * @property {string} modified_on - MOdification Date of Beneficiary - * @property {string} display_name - Display Name Of Account - * @property {number} id - - * @property {string} subtitle - SHort Title Of Account - * @property {string} transfer_mode - Transfer Mode Of Account - * @property {string} [vpa] - Branch Name Of Account - * @property {string} [mobile] - Mobile no of User - * @property {string} vpa_address - Bank Name Of Account - * @property {string} created_on - Creation Date of Beneficiary - * @property {string} address - Address of User - * @property {string} title - Title Of Account - * @property {string} [comment] - Remarks - * @property {boolean} is_active - Boolean Flag whether Beneficiary set or not - * @property {string} email - EMail of User - * @property {string} [delights_user_name] - User Id Who filled the Beneficiary + * @property {string} beneficiary_id - Beneficiary Id. + * @property {string} modified_on - MOdification Date of Beneficiary. + * @property {string} display_name - Display Name Of Account. + * @property {number} id - Id of the upi beneficiary. + * @property {string} subtitle - SHort Title Of Account. + * @property {string} transfer_mode - Transfer Mode Of Account. + * @property {string} [vpa] - Branch Name Of Account. + * @property {string} [mobile] - Mobile no of User. + * @property {string} vpa_address - Bank Name Of Account. + * @property {string} created_on - Creation Date of Beneficiary. + * @property {string} address - Address of User. + * @property {string} title - Title Of Account. + * @property {string} [comment] - Remarks. + * @property {boolean} is_active - Boolean Flag whether Beneficiary set or not. + * @property {string} email - EMail of User. + * @property {string} [delights_user_name] - User Id Who filled the Beneficiary. */ /** * @typedef BeneficiaryRefundOptions @@ -965,89 +979,91 @@ export = PaymentApplicationModel; * @property {boolean} show_beneficiary_details - Show Beneficiary details on UI or not. * @property {BeneficiaryRefundOptions} data - Beneficiary Data for Bank * account, UPI and Wallets. - * @property {Object} limit - Max Limit for adding bank account, UPI and wallet + * @property {Object} limit - Max Limit for adding bank account, UPI and wallet. */ /** * @typedef ValidateValidateAddressRequest - * @property {string} [ifsc_code] - IFSC Code - * @property {string} [upi_vpa] - VPA Address - * @property {string} [aggregator] - Aggregator Name + * @property {string} [ifsc_code] - IFSC Code. + * @property {string} [upi_vpa] - VPA Address. + * @property {string} [aggregator] - Aggregator Name. */ /** * @typedef VPADetails - * @property {boolean} is_valid - Is VPA valid or not - * @property {string} upi_vpa - VPA address - * @property {string} status - VPA validation message - * @property {string} customer_name - VPA Customer Name + * @property {boolean} is_valid - Is VPA valid or not. + * @property {string} upi_vpa - VPA address. + * @property {string} status - VPA validation message. + * @property {string} customer_name - VPA Customer Name. */ /** * @typedef ValidateValidateAddressResponse * @property {VPADetails} [upi] - UPI validation details. - * @property {boolean} success - Successful or not. - * @property {Object} [ifsc] - IFSC details response data + * @property {boolean} success - Whether address validation is successful or not. + * @property {Object} [ifsc] - IFSC details response data. */ /** * @typedef PaymentMethodsMetaOrder - * @property {string} merchant_code - Merchant code - * @property {string} payment_gateway - Payment gateway name - * @property {string} payment_identifier - Payment identifier + * @property {string} merchant_code - Merchant code. + * @property {string} payment_gateway - Payment gateway name. + * @property {string} payment_identifier - Payment identifier. */ /** * @typedef PaymentOrderMethods - * @property {number} amount - Amount to be collected - * @property {string} [payment] - Payment type i.e. Required / Blocked - * @property {string} mode - Payment mode + * @property {number} amount - Amount to be collected. + * @property {string} [payment] - Payment type i.e. Required / Blocked. + * @property {string} mode - Payment mode. * @property {PaymentMethodsMetaOrder} meta - * @property {string} name - Payment mode name + * @property {string} name - Payment mode name. */ /** * @typedef PaymentOrderRequest - * @property {PaymentOrderMethods[]} [payment_methods] - * @property {string} order_id - Order id - * @property {string} [shipment_id] - Shipment_id + * @property {PaymentOrderMethods[]} [payment_methods] - All payment methods for order. + * @property {string} order_id - Order id. + * @property {string} [shipment_id] - Shipment_id. */ /** * @typedef PaymentOrderData - * @property {number} [amount] - Amount - * @property {string} [aggregator] - Aggregator name - * @property {string} [callback_url] - Callback url for aggregator - * @property {string} [order_id] - Aggregator order id - * @property {string} [customer_id] - Aggregator customer id - * @property {string} [merchant_order_id] - Merchant order id - * @property {string} [currency] - Currency - * @property {string} [email] - Email - * @property {string} [contact] - Mobile number - * @property {string} [method] - Method + * @property {number} [amount] - Amount. + * @property {string} [aggregator] - Aggregator name. + * @property {string} [callback_url] - Callback url for aggregator. + * @property {string} [order_id] - Aggregator order id. + * @property {string} [customer_id] - Aggregator customer id. + * @property {string} [merchant_order_id] - Merchant order id. + * @property {string} [currency] - Currency used for the order. + * @property {string} [email] - Email address of the customer. + * @property {string} [contact] - Contact number of the customer. + * @property {string} [method] - Method of payment or delivery for the order. */ /** * @typedef PaymentOrderResponse - * @property {string} [payment_confirm_url] - Payment confirm url for aggregator - * @property {string} [callback_url] - Callback url for aggregator - * @property {string} [order_id] - Merchant order id - * @property {boolean} [success] - Successful or failure - * @property {number} status_code - HTTP status code + * @property {string} [payment_confirm_url] - Payment confirm url for aggregator. + * @property {string} [callback_url] - Callback url for aggregator. + * @property {string} [order_id] - Merchant order id. + * @property {boolean} [success] - Successful or failure. + * @property {number} status_code - HTTP status code. * @property {PaymentOrderData} [data] - * @property {string} message - Message + * @property {string} message - Detailed message. */ /** * @typedef ShipmentRefundRequest - * @property {string} shipment_id - Shipment Id of the respective Merchant Order Id - * @property {string} order_id - Merchant Order Id - * @property {string} transfer_mode - Transfer Mode of the Beneficiary to be added - * @property {string} [beneficiary_id] - Beneficiary Hash Id of the beneficiary added + * @property {string} shipment_id - Shipment Id of the respective Merchant Order Id. + * @property {string} order_id - Merchant Order Id. + * @property {string} transfer_mode - Transfer Mode of the Beneficiary to be added. + * @property {string} [beneficiary_id] - Beneficiary Hash Id of the beneficiary added. */ /** * @typedef ShipmentRefundDetail - * @property {string} shipment_id - Shipment ID - * @property {string} order_id - Order ID - * @property {string} transfer_mode - TransferMode - * @property {string} beneficiary_id - Beneficiary ID + * @property {string} shipment_id - ID of the shipment. + * @property {string} order_id - ID of an order. + * @property {string} transfer_mode - Mode of transfer for the shipment refund + * (e.g., bank transfer, digital wallet). + * @property {string} beneficiary_id - Unique identifier for the beneficiary + * receiving the refund. */ /** * @typedef ShipmentRefundResponse * @property {ShipmentRefundDetail} data - Selected Shipment refund option details. * @property {boolean} success - Successful or not. - * @property {string} message - Message + * @property {string} message - Detailed message. */ declare class PaymentApplicationModel { } @@ -1058,49 +1074,52 @@ declare namespace PaymentApplicationModel { declare function AggregatorConfigDetail(): AggregatorConfigDetail; type AggregatorConfigDetail = { /** - * - SDK + * - SDK details. */ sdk?: boolean; /** - * - Masked payment gateway api secret + * - Masked payment gateway api secret. */ secret: string; /** - * - Payment gateway api endpoint + * - Payment gateway api endpoint. */ api?: string; /** - * - Masked pin + * - Masked pin. */ pin?: string; /** - * - Fynd or self payment gateway + * - Fynd or self payment gateway. */ config_type: string; /** - * - Unique merchant key + * - Unique merchant key. */ merchant_key?: string; /** - * - Payment gateway verify payment api endpoint + * - Payment gateway verify payment api endpoint. */ verify_api?: string; /** - * - Payment gateway api key + * - Payment gateway api key. */ key: string; /** - * - Registered User id + * - Registered User id. */ user_id?: string; /** - * - Unique merchant id + * - Unique merchant id. */ merchant_id?: string; }; /** @returns {AggregatorsConfigDetailResponse} */ declare function AggregatorsConfigDetailResponse(): AggregatorsConfigDetailResponse; type AggregatorsConfigDetailResponse = { + /** + * - Api response was successful or not. + */ success: boolean; razorpay?: AggregatorConfigDetail; juspay?: AggregatorConfigDetail; @@ -1111,7 +1130,7 @@ type AggregatorsConfigDetailResponse = { stripe?: AggregatorConfigDetail; ccavenue?: AggregatorConfigDetail; /** - * - Environment i.e Live or Test + * - Environment i.e Live or Test. */ env: string; }; @@ -1119,7 +1138,7 @@ type AggregatorsConfigDetailResponse = { declare function ErrorCodeAndDescription(): ErrorCodeAndDescription; type ErrorCodeAndDescription = { /** - * - Error descrption code. + * - Error description code. */ code: string; /** @@ -1132,13 +1151,16 @@ declare function HttpErrorCodeAndResponse(): HttpErrorCodeAndResponse; type HttpErrorCodeAndResponse = { error?: ErrorCodeAndDescription; /** - * - Response is successful or not + * - Response is successful or not. */ success: boolean; }; /** @returns {AttachCardRequest} */ declare function AttachCardRequest(): AttachCardRequest; type AttachCardRequest = { + /** + * - Nickname of the card holder. + */ nickname?: string; /** * - Refresh cache flag. @@ -1148,6 +1170,9 @@ type AttachCardRequest = { * - Card token of payment gateway. */ card_id: string; + /** + * - Name of the card holder. + */ name_on_card?: string; }; /** @returns {AttachCardsResponse} */ @@ -1170,7 +1195,7 @@ type AttachCardsResponse = { declare function CardPaymentGateway(): CardPaymentGateway; type CardPaymentGateway = { /** - * - Payment gateway CARD api endpoint + * - Payment gateway CARD api endpoint. */ api?: string; /** @@ -1199,72 +1224,74 @@ type ActiveCardPaymentGatewayResponse = { declare function Card(): Card; type Card = { /** - * - Card_number + * - Card number mentioned on the card. */ card_number?: string; /** - * - Card_name + * - Name mentioned on the card. */ card_name?: string; /** - * - Card_type + * - Type of the card. */ card_type?: string; /** - * - Card_brand_image + * - Brand image on the card. */ card_brand_image?: string; /** - * - Card_reference + * - Card reference. */ card_reference?: string; /** - * - Card_issuer + * - Issuer of the card. */ card_issuer?: string; /** - * - Card_brand + * - Brand of the card. */ card_brand?: string; /** - * - Expired + * - Card expiry. */ expired?: boolean; /** - * - If card is - * tokenised or not + * - Whether card + * is tokenized or not. */ compliant_with_tokenisation_guidelines?: boolean; /** - * - Card_isin + * - International Securities Identification + * Number for the card. */ card_isin?: string; /** - * - Exp_year + * - Card's expiration year. */ exp_year?: number; /** - * - Nickname + * - User-defined name for the card. */ nickname?: string; /** - * - Aggregator_name + * - Name of the payment aggregator. */ aggregator_name: string; /** - * - Card_fingerprint + * - Unique fingerprint of the card for + * identification. */ card_fingerprint?: string; /** - * - Card_token + * - Encrypted token representing the card. */ card_token?: string; /** - * - Exp_month + * - Card's expiration month. */ exp_month?: number; /** - * - Card_id + * - Unique identifier for the card within the system. */ card_id?: string; }; @@ -1308,11 +1335,11 @@ type DeleteCardsResponse = { declare function ValidateCustomerRequest(): ValidateCustomerRequest; type ValidateCustomerRequest = { /** - * - Payment gateway name in camel case i.e Simpl, Rupifi + * - Payment gateway name in camelcase i.e Simple, Rupifi. */ aggregator: string; /** - * - Payable amount in paise + * - Payable amount in paise. */ transaction_amount_in_paise: number; /** @@ -1344,11 +1371,11 @@ type ValidateCustomerRequest = { declare function ValidateCustomerResponse(): ValidateCustomerResponse; type ValidateCustomerResponse = { /** - * - Payment gateway response data + * - Payment gateway response data. */ - data: any; + data?: any; /** - * - Response is successful or not + * - Response is successful or not. */ success: boolean; /** @@ -1360,11 +1387,11 @@ type ValidateCustomerResponse = { declare function ChargeCustomerRequest(): ChargeCustomerRequest; type ChargeCustomerRequest = { /** - * - Already Verified flag from payment gateway i.e Mswipe + * - Already Verified flag from payment gateway i.e Mswipe. */ verified?: boolean; /** - * - Payment gateway name i.e Simpl, Mswipe + * - Payment gateway name i.e Simpl, Mswipe. */ aggregator: string; /** @@ -1376,7 +1403,7 @@ type ChargeCustomerRequest = { */ transaction_token?: string; /** - * - Chargable amount of order. + * - Chargeable amount of order. */ amount: number; }; @@ -1388,7 +1415,7 @@ type ChargeCustomerResponse = { */ status: string; /** - * - Cart id of customer + * - Cart id of customer. */ cart_id?: string; /** @@ -1396,7 +1423,7 @@ type ChargeCustomerResponse = { */ success: boolean; /** - * - Payment gateway name i.e Simpl, Mswipe + * - Payment gateway name i.e Simpl, Mswipe. */ aggregator: string; /** @@ -1408,7 +1435,7 @@ type ChargeCustomerResponse = { */ order_id: string; /** - * - Delivery adddress id of customer + * - Delivery address id of customer. */ delivery_address_id?: string; }; @@ -1416,19 +1443,19 @@ type ChargeCustomerResponse = { declare function PaymentInitializationRequest(): PaymentInitializationRequest; type PaymentInitializationRequest = { /** - * - Payment gateway payment id + * - Payment gateway payment id. */ razorpay_payment_id?: string; /** - * - Payment method + * - Payment method. */ method: string; /** - * - EDC machine Unique Identifier + * - EDC machine Unique Identifier. */ device_id?: string; /** - * - Payment gateway name + * - Payment gateway name. */ aggregator: string; /** @@ -1436,19 +1463,19 @@ type PaymentInitializationRequest = { */ customer_id: string; /** - * - Customer valid mobile number + * - Customer valid mobile number. */ contact: string; /** - * - Unique fynd order id + * - Unique fynd order id. */ merchant_order_id: string; /** - * - Customer vpa address + * - Customer vpa address. */ vpa?: string; /** - * - Payment gateway order id + * - Payment gateway order id. */ order_id: string; /** @@ -1456,7 +1483,7 @@ type PaymentInitializationRequest = { */ currency: string; /** - * - Payment polling timeout if not recieved response + * - Payment polling timeout if not received response. */ timeout?: number; /** @@ -1464,7 +1491,7 @@ type PaymentInitializationRequest = { */ amount: number; /** - * - Customer valid email + * - Customer valid email. */ email: string; }; @@ -1480,11 +1507,11 @@ type PaymentInitializationResponse = { */ razorpay_payment_id?: string; /** - * - Payment order id + * - Payment order id. */ aggregator_order_id?: string; /** - * - Payment method + * - Payment method. */ method: string; /** @@ -1500,7 +1527,7 @@ type PaymentInitializationResponse = { */ virtual_id?: string; /** - * - EDC machine Unique Identifier + * - EDC machine Unique Identifier. */ device_id?: string; /** @@ -1508,11 +1535,11 @@ type PaymentInitializationResponse = { */ polling_url: string; /** - * - Payment gateway name + * - Payment gateway name. */ aggregator: string; /** - * - Order id + * - Order id. */ merchant_order_id: string; /** @@ -1520,7 +1547,7 @@ type PaymentInitializationResponse = { */ customer_id?: string; /** - * - Customer vpa address + * - Customer vpa address. */ vpa?: string; /** @@ -1536,7 +1563,7 @@ type PaymentInitializationResponse = { */ amount?: number; /** - * - Bharath qr image url. + * - Bharat qr image url. */ bqr_image?: string; }; @@ -1548,19 +1575,19 @@ type PaymentStatusUpdateRequest = { */ status?: string; /** - * - Unique fynd transaction id + * - Unique fynd transaction id. */ merchant_transaction_id?: string; /** - * - Payment method + * - Payment method. */ method: string; /** - * - EDC machine Unique Identifier + * - EDC machine Unique Identifier. */ device_id?: string; /** - * - Payment gateway name + * - Payment gateway name. */ aggregator: string; /** @@ -1568,19 +1595,19 @@ type PaymentStatusUpdateRequest = { */ customer_id?: string; /** - * - Customer valid mobile number + * - Customer valid mobile number. */ contact?: string; /** - * - Unique fynd order id + * - Unique fynd order id. */ merchant_order_id: string; /** - * - Customer vpa address + * - Customer vpa address. */ vpa?: string; /** - * - Payment gateway order id + * - Payment gateway order id. */ order_id?: string; /** @@ -1592,7 +1619,7 @@ type PaymentStatusUpdateRequest = { */ amount?: number; /** - * - Customer valid email + * - Customer valid email. */ email?: string; }; @@ -1600,11 +1627,11 @@ type PaymentStatusUpdateRequest = { declare function PaymentStatusUpdateResponse(): PaymentStatusUpdateResponse; type PaymentStatusUpdateResponse = { /** - * - Payment status + * - Payment status. */ status: string; /** - * - Response is successful or not + * - Response is successful or not. */ success?: boolean; /** @@ -1612,11 +1639,11 @@ type PaymentStatusUpdateResponse = { */ retry: boolean; /** - * - Redirect url + * - Redirect url. */ redirect_url?: string; /** - * - Payment gateway name + * - Payment gateway name. */ aggregator_name: string; }; @@ -1624,11 +1651,11 @@ type PaymentStatusUpdateResponse = { declare function IntentAppErrorList(): IntentAppErrorList; type IntentAppErrorList = { /** - * - Code + * - Code of the intent App. */ code?: string; /** - * - Package_name + * - Package Name of the intent App. */ package_name?: string; }; @@ -1636,11 +1663,11 @@ type IntentAppErrorList = { declare function PaymentModeLogo(): PaymentModeLogo; type PaymentModeLogo = { /** - * - Large + * - Large Logo. */ large: string; /** - * - Smalll + * - Small Logo. */ small: string; }; @@ -1648,16 +1675,16 @@ type PaymentModeLogo = { declare function IntentApp(): IntentApp; type IntentApp = { /** - * - Code + * - Code of the intent App. */ code?: string; /** - * - Package_name + * - Package Name of the intent App. */ package_name?: string; logos?: PaymentModeLogo; /** - * - Display_name + * - Display Name of the intent App. */ display_name?: string; }; @@ -1665,138 +1692,143 @@ type IntentApp = { declare function PaymentModeList(): PaymentModeList; type PaymentModeList = { /** - * - Card_number + * - Card number mentioned on the card. */ card_number?: string; /** - * - Merchant code + * - Unique code identifying the merchant. */ merchant_code?: string; /** - * - Card_reference + * - Reference identifier for the card. */ card_reference?: string; /** - * - Card_issuer + * - Issuing bank or institution of the card. */ card_issuer?: string; /** - * - If card is - * tokenised or not + * - Indicates + * compliance with tokenization guidelines. */ compliant_with_tokenisation_guidelines?: boolean; /** - * - Code + * - General code for identifying a transaction or status. */ code?: string; /** - * - Cod limit + * - Limit for Cash on Delivery (COD) transactions. */ cod_limit?: number; /** - * - Intent_flow + * - Flow or process intended for the transaction. */ intent_flow?: boolean; /** - * - Fynd_vpa + * - Virtual Payment Address (VPA) used by Fynd. */ fynd_vpa?: string; /** - * - - * Intent_app_error_dict_list + * - List of error + * dictionaries related to intent app. */ intent_app_error_dict_list?: IntentAppErrorList[]; /** - * - Aggregator_name + * - Name of the payment aggregator. */ aggregator_name: string; /** - * - Card_fingerprint + * - Unique fingerprint of the card for + * identification. */ card_fingerprint?: string; /** - * - Intent_app_error_list + * - List of errors associated with + * the intent app. */ intent_app_error_list?: string[]; /** - * - Intent_app + * - Application intended for handling the + * transaction. */ intent_app?: IntentApp[]; /** - * - Expired + * - Indicates whether the card is expired. */ expired?: boolean; /** - * - Retry_count + * - Number of retry attempts. */ retry_count?: number; /** - * - Exp_year + * - Card's expiration year. */ exp_year?: number; /** - * - Exp_month + * - Card's expiration month. */ exp_month?: number; /** - * - Card_id + * - Unique identifier for the card within the system. */ card_id?: string; /** - * - Remaining limit + * - Remaining available limit on the card. */ remaining_limit?: number; /** - * - Dispaly Priority + * - Priority of display in the user interface. */ display_priority?: number; /** - * - Card_brand + * - Brand of the card (e.g., Visa, MasterCard). */ card_brand?: string; /** - * - Cod limit per order + * - Maximum limit per order for COD + * transactions. */ cod_limit_per_order?: number; logo_url?: PaymentModeLogo; /** - * - Nickname + * - User-defined name for the card. */ nickname?: string; /** - * - Card_name + * - Name printed on the card. */ card_name?: string; /** - * - Card_type + * - Type of the card (e.g., debit, credit). */ card_type?: string; /** - * - Card_brand_image + * - Image representing the card brand. */ card_brand_image?: string; /** - * - Display name + * - Display name for the card in the user interface. */ display_name?: string; /** - * - Card_isin + * - International Securities Identification + * Number for the card. */ card_isin?: string; /** - * - Timeout + * - Timeout duration for transactions. */ timeout?: number; /** - * - Card_token + * - Encrypted token representing the card. */ card_token?: string; /** - * - Name + * - User's name. */ name?: string; /** - * - Payment methods meta + * - Payment methods meta. */ meta?: any; }; @@ -1805,39 +1837,39 @@ declare function RootPaymentMode(): RootPaymentMode; type RootPaymentMode = { /** * - This flag will be true in case of - * Payment link payment through card + * Payment link payment through card. */ is_pay_by_card_pl?: boolean; /** - * - Annonymous card flag + * - Anonymous card flag. */ add_card_enabled?: boolean; /** - * - Dispaly Priority + * - Display Priority. */ display_priority: number; /** - * - Payment mode display name + * - Payment mode display name. */ display_name: string; /** - * - Payment mode + * - Payment mode. */ list?: PaymentModeList[]; /** - * - Card save or not + * - Card save or not. */ save_card?: boolean; /** - * - Dispaly Priority + * - Display Priority. */ aggregator_name?: string; /** - * - Payment mode name + * - Payment mode name. */ name: string; /** - * - Annonymous card flag + * - Anonymous card flag. */ anonymous_enable?: boolean; }; @@ -1845,19 +1877,19 @@ type RootPaymentMode = { declare function AggregatorRoute(): AggregatorRoute; type AggregatorRoute = { /** - * - Data + * - Details about aggregator route. */ data?: any; /** - * - Payment_flow_data + * - Payment_flow_data. */ payment_flow_data?: any; /** - * - Payment_flow + * - Payment_flow. */ payment_flow?: string; /** - * - Api_link + * - API link of the aggregator. */ api_link?: string; }; @@ -1865,16 +1897,16 @@ type AggregatorRoute = { declare function PaymentDefaultSelection(): PaymentDefaultSelection; type PaymentDefaultSelection = { /** - * - Default Selection Payment Mode + * - Default Selection Payment Mode. */ mode?: string; /** - * - Identifier for Payment Mode + * - Identifier for Payment Mode. */ identifier?: string; /** * - Decide if the default payment mode will skip the - * payment options page altogether or just be preferred on the Frontend + * payment options page altogether or just be preferred on the Frontend. */ skip?: boolean; }; @@ -1900,7 +1932,7 @@ type PaymentFlow = { declare function PaymentOptionAndFlow(): PaymentOptionAndFlow; type PaymentOptionAndFlow = { /** - * - Payment options + * - Payment options. */ payment_option: RootPaymentMode[]; payment_flows: PaymentFlow; @@ -1910,48 +1942,48 @@ type PaymentOptionAndFlow = { declare function AdvanceObject(): AdvanceObject; type AdvanceObject = { /** - * - Is Advance Payment active + * - Is Advance Payment active. */ is_active?: boolean; /** - * - Amount for Payment Breakdown + * - Amount for Payment Breakdown. */ amount?: number; /** - * - Time unit for refunds + * - Time unit for refunds. */ time_unit?: string; /** * - The description for Advance Payment (user - * configured) + * configured). */ description?: string; /** - * - The display name for Advance payment + * - The display name for Advance payment. */ display_name?: string; /** - * - Type of prepayment value + * - Type of prepayment value. */ prepayment_type?: string; /** - * - Value for prepayment in advance payment + * - Value for prepayment in advance payment. */ prepayment_value?: number; /** - * - Type of cancellation + * - Type of cancellation. */ cancellation_type?: string; /** - * - Time limit for processing refund + * - Time limit for processing refund. */ refund_time_limit?: number; /** - * - All available types of prepayment + * - All available types of prepayment. */ all_prepayment_type?: string[]; /** - * - Is custom advance amount allowed? + * - Is custom advance amount allowed?. */ allow_custom_advance_amount?: boolean; }; @@ -1959,15 +1991,15 @@ type AdvanceObject = { declare function SplitObject(): SplitObject; type SplitObject = { /** - * - Maximum amount of splits allowed + * - Maximum amount of splits allowed. */ total_number_of_splits?: number; /** - * - Number of splits remaining + * - Number of splits remaining. */ splits_remaining?: number; /** - * - Amount pending to be paid + * - Amount pending to be paid. */ amount_remaining?: number; }; @@ -1975,23 +2007,23 @@ type SplitObject = { declare function AdvancePaymentObject(): AdvancePaymentObject; type AdvancePaymentObject = { /** - * - Name of Advance Payment Mode + * - Name of Advance Payment Mode. */ name?: string; /** - * - Display Priority for Payment Option + * - Display Priority for Payment Option. */ display_priority?: number; /** - * - Payment Mode ID for Advance Payment Option + * - Payment Mode ID for Advance Payment Option. */ payment_mode_id?: number; /** - * - Display name for Advance Payment Mode + * - Display name for Advance Payment Mode. */ display_name?: string; /** - * - Payment mode + * - Payment mode. */ list?: PaymentModeList[]; split?: SplitObject; @@ -2002,15 +2034,15 @@ declare function PaymentModeRouteResponse(): PaymentModeRouteResponse; type PaymentModeRouteResponse = { payment_options: PaymentOptionAndFlow; /** - * - Response is successful or not + * - Response is successful or not. */ success: boolean; /** - * - Payment Breakup for advance payment + * - Payment Breakup for advance payment. */ payment_breakup?: any; /** - * - Advance Payment Array + * - Advance Payment Array. */ advance_payment?: AdvancePaymentObject[]; }; @@ -2018,15 +2050,15 @@ type PaymentModeRouteResponse = { declare function WalletLinkRequestSchema(): WalletLinkRequestSchema; type WalletLinkRequestSchema = { /** - * - Aggregator Name + * - Aggregator Name. */ aggregator: string; /** - * - Mobile Number for Wallet + * - Mobile Number for Wallet. */ mobile: string; /** - * - Wallet Code + * - Wallet Code. */ wallet_code: string; }; @@ -2034,15 +2066,15 @@ type WalletLinkRequestSchema = { declare function WalletVerifyRequestSchema(): WalletVerifyRequestSchema; type WalletVerifyRequestSchema = { /** - * - Aggregator Name + * - Aggregator Name. */ aggregator: string; /** - * - Token for wallet linking + * - Token for wallet linking. */ link_token: string; /** - * - OTP received for wallet linking + * - OTP received for wallet linking. */ otp: number; }; @@ -2050,11 +2082,11 @@ type WalletVerifyRequestSchema = { declare function WalletDelinkRequestSchema(): WalletDelinkRequestSchema; type WalletDelinkRequestSchema = { /** - * - Aggregator Name + * - Aggregator Name. */ aggregator: string; /** - * - Wallet Code + * - Wallet Code. */ wallet_code: string; }; @@ -2062,11 +2094,11 @@ type WalletDelinkRequestSchema = { declare function WalletResponseSchema(): WalletResponseSchema; type WalletResponseSchema = { /** - * - Response received from aggregator + * - Response received from aggregator. */ data: any; /** - * - Success/Failure of the API call + * - Success/Failure of the API call. */ success: boolean; }; @@ -2074,7 +2106,7 @@ type WalletResponseSchema = { declare function RupifiBannerData(): RupifiBannerData; type RupifiBannerData = { /** - * - Rupifi KYC status + * - Rupifi KYC status. */ status?: string; /** @@ -2095,15 +2127,15 @@ type RupifiBannerResponse = { declare function EpaylaterBannerData(): EpaylaterBannerData; type EpaylaterBannerData = { /** - * - Epaylater KYC status + * - Epaylater KYC status. */ status?: string; /** - * - EPayLater message + * - EPayLater message. */ message?: string; /** - * - Need to display banner or not + * - Need to display banner or not. */ display: boolean; }; @@ -2120,15 +2152,15 @@ type EpaylaterBannerResponse = { declare function ResendOrCancelPaymentRequest(): ResendOrCancelPaymentRequest; type ResendOrCancelPaymentRequest = { /** - * - Unique order id + * - Unique order id. */ order_id: string; /** - * - EDC machine Unique Identifier + * - EDC machine Unique Identifier. */ device_id?: string; /** - * - Either resend or cancel + * - Either resend or cancel. */ request_type: string; }; @@ -2136,11 +2168,11 @@ type ResendOrCancelPaymentRequest = { declare function LinkStatus(): LinkStatus; type LinkStatus = { /** - * - Link action status + * - Link action status. */ status: string; /** - * - Message + * - Message. */ message: string; /** @@ -2162,11 +2194,11 @@ type ResendOrCancelPaymentResponse = { declare function renderHTMLRequest(): renderHTMLRequest; type renderHTMLRequest = { /** - * - Return Type of API + * - Return Type of API. */ returntype?: string; /** - * - Base64 encoded html string + * - Base64 encoded html string. */ base64_html: string; }; @@ -2174,7 +2206,7 @@ type renderHTMLRequest = { declare function renderHTMLResponse(): renderHTMLResponse; type renderHTMLResponse = { /** - * - HTML string + * - HTML string. */ html: string; }; @@ -2182,11 +2214,11 @@ type renderHTMLResponse = { declare function ValidateVPARequest(): ValidateVPARequest; type ValidateVPARequest = { /** - * - UPI ID + * - UPI ID. */ upi_vpa: string; /** - * - Aggregator slug + * - Aggregator slug. */ aggregator?: string; }; @@ -2194,11 +2226,11 @@ type ValidateVPARequest = { declare function ValidateUPI(): ValidateUPI; type ValidateUPI = { /** - * - VALID or INVALID + * - VALID or INVALID. */ status: string; /** - * - Customer Bank + * - Customer Bank. */ customer_name: string; /** @@ -2206,7 +2238,7 @@ type ValidateUPI = { */ is_valid: boolean; /** - * - UPI ID + * - UPI ID. */ upi_vpa: string; }; @@ -2223,67 +2255,68 @@ type ValidateVPAResponse = { declare function CardDetails(): CardDetails; type CardDetails = { /** - * - Status + * - Current status of the card. */ status: boolean; /** - * - Country Name + * - Country where the card was issued. */ country: string; /** - * - Bank Code + * - Code identifying the bank. */ bank_code: string; /** - * - Id + * - Unique identifier for the record. */ id: string; /** - * - Card Expire Year + * - Card's expiration year. */ card_exp_year?: string; /** - * - Card brand like VISA/RUPAY + * - Brand of the card (e.g., Visa, MasterCard). */ card_brand: string; /** - * - Card Type Credit/Debit + * - General type of the card (e.g., debit, credit). */ type: string; /** - * - Card Sub type + * - Sub-type of the card (e.g., Platinum, Gold). */ card_sub_type: string; /** - * - Is card domestic or international + * - Indicates whether the card is domestic. */ is_domestic_card: boolean; /** - * - Name on Card + * - Name of the cardholder. */ name_on_card?: string; /** - * - Card Expire Month + * - Card's expiration month. */ card_exp_month?: string; /** - * - Extended Card Type + * - Extended type of the card, providing + * more specific classification. */ extended_card_type: string; /** - * - Card bin or Card refrence + * - Object representation of the card. */ card_object: string; /** - * - Card Token + * - Encrypted token representing the card. */ card_token?: string; /** - * - Customer/User ID + * - User associated with the card. */ user?: string; /** - * - Bank name + * - Bank associated with the card. */ bank: string; }; @@ -2300,23 +2333,23 @@ type CardDetailsResponse = { declare function TransferItemsDetails(): TransferItemsDetails; type TransferItemsDetails = { /** - * - + * - Id of the transfer item. */ id: number; /** - * - Beneficiary Display Name + * - Beneficiary Display Name. */ display_name?: string; /** - * - Beneficiary large Logo + * - Beneficiary large Logo. */ logo_large: string; /** - * - Beneficiary small Logo + * - Beneficiary small Logo. */ logo_small: string; /** - * - Beneficiary Name + * - Beneficiary Name. */ name: string; }; @@ -2324,11 +2357,11 @@ type TransferItemsDetails = { declare function TransferModeDetails(): TransferModeDetails; type TransferModeDetails = { /** - * - Beneficiary Mode Items + * - Beneficiary Mode Items. */ items?: TransferItemsDetails[]; /** - * - Beneficiary Mode Name + * - Beneficiary Mode Name. */ display_name: string; }; @@ -2336,7 +2369,7 @@ type TransferModeDetails = { declare function TransferModeResponse(): TransferModeResponse; type TransferModeResponse = { /** - * - Response Object + * - Response Object. */ data: TransferModeDetails[]; }; @@ -2344,11 +2377,11 @@ type TransferModeResponse = { declare function UpdateRefundTransferModeRequest(): UpdateRefundTransferModeRequest; type UpdateRefundTransferModeRequest = { /** - * - True for enabling the Transfer Mode + * - True for enabling the Transfer Mode. */ enable: boolean; /** - * - Transfer Mode of the Beneficiary to be added + * - Transfer Mode of the Beneficiary to be added. */ transfer_mode: string; }; @@ -2356,7 +2389,7 @@ type UpdateRefundTransferModeRequest = { declare function UpdateRefundTransferModeResponse(): UpdateRefundTransferModeResponse; type UpdateRefundTransferModeResponse = { /** - * - Response is successful or not + * - Response is successful or not. */ success?: boolean; }; @@ -2364,79 +2397,79 @@ type UpdateRefundTransferModeResponse = { declare function OrderBeneficiaryDetails(): OrderBeneficiaryDetails; type OrderBeneficiaryDetails = { /** - * - MOdification Date of Beneficiary + * - MOdification Date of Beneficiary. */ modified_on: string; /** - * - Account Number + * - Account Number. */ account_no: string; /** - * - MObile no of User + * - MObile no of User. */ mobile?: string; /** - * - Bank Name Of Account + * - Bank Name Of Account. */ bank_name: string; /** - * - Ifsc Code Of Account + * - Ifsc Code Of Account. */ ifsc_code: string; /** - * - Boolean Flag whether Beneficiary set or not + * - Boolean Flag whether Beneficiary set or not. */ is_active: boolean; /** - * - Benenficiary Id + * - Beneficiary Id. */ beneficiary_id: string; /** - * - Account Holder Name + * - Account Holder Name. */ account_holder: string; /** - * - EMail of User + * - EMail of User. */ email: string; /** - * - User Id Who filled the Beneficiary + * - User Id Who filled the Beneficiary. */ delights_user_name?: string; /** - * - + * - Id of the Order Beneficiary. */ id: number; /** - * - Transfer Mode Of Account + * - Transfer Mode Of Account. */ transfer_mode: string; /** - * - Branch Name Of Account + * - Branch Name Of Account. */ branch_name?: string; /** - * - Creation Date of Beneficiary + * - Creation Date of Beneficiary. */ created_on: string; /** - * - SHort Title Of Account + * - SHort Title Of Account. */ subtitle: string; /** - * - Remarks + * - Remarks. */ comment?: string; /** - * - Address of User + * - Address of User. */ address: string; /** - * - Title Of Account + * - Title Of Account. */ title: string; /** - * - Display Name Of Account + * - Display Name Of Account. */ display_name: string; }; @@ -2448,7 +2481,7 @@ type OrderBeneficiaryResponse = { */ show_beneficiary_details?: boolean; /** - * - All Beneficiaries Of An Order + * - All Beneficiaries Of An Order. */ beneficiaries?: OrderBeneficiaryDetails[]; }; @@ -2456,15 +2489,15 @@ type OrderBeneficiaryResponse = { declare function NotFoundResourceError(): NotFoundResourceError; type NotFoundResourceError = { /** - * - Bad Request Data + * - Bad Request Data. */ code: string; /** - * - Not Found + * - Not Found. */ description: string; /** - * - Response is successful or not + * - Response is successful or not. */ success: boolean; }; @@ -2472,15 +2505,15 @@ type NotFoundResourceError = { declare function IfscCodeResponse(): IfscCodeResponse; type IfscCodeResponse = { /** - * - Branch Name Of Account + * - Branch Name Of Account. */ branch_name: string; /** - * - Response is successful or not + * - Response is successful or not. */ success?: boolean; /** - * - Bank Name Of Account + * - Bank Name Of Account. */ bank_name: string; }; @@ -2488,7 +2521,7 @@ type IfscCodeResponse = { declare function ErrorCodeDescription(): ErrorCodeDescription; type ErrorCodeDescription = { /** - * - Error descrption code. + * - Error description code. */ code: string; /** @@ -2496,7 +2529,7 @@ type ErrorCodeDescription = { */ description: string; /** - * - Response is successful or not + * - Response is successful or not. */ success: boolean; }; @@ -2504,15 +2537,15 @@ type ErrorCodeDescription = { declare function AddBeneficiaryViaOtpVerificationRequest(): AddBeneficiaryViaOtpVerificationRequest; type AddBeneficiaryViaOtpVerificationRequest = { /** - * - Request Id sent in + * - Request id. */ request_id: string; /** - * - Hash key of the beneficiary Id + * - Hash key of the beneficiary Id. */ hash_key: string; /** - * - Otp sent to the given Mobile No + * - Otp sent to the given Mobile No. */ otp: string; }; @@ -2520,11 +2553,11 @@ type AddBeneficiaryViaOtpVerificationRequest = { declare function AddBeneficiaryViaOtpVerificationResponse(): AddBeneficiaryViaOtpVerificationResponse; type AddBeneficiaryViaOtpVerificationResponse = { /** - * - Response is successful or not + * - Response is successful or not. */ success?: boolean; /** - * - Aggregator Response of beneficicary + * - Aggregator Response of beneficiary. */ message: string; }; @@ -2532,15 +2565,15 @@ type AddBeneficiaryViaOtpVerificationResponse = { declare function WrongOtpError(): WrongOtpError; type WrongOtpError = { /** - * - Vefified flag. + * - Verified flag. */ is_verified_flag: boolean; /** - * - Wrong OTP Code + * - Wrong OTP Code. */ description: string; /** - * - Response is successful or not + * - Response is successful or not. */ success: string; }; @@ -2548,41 +2581,47 @@ type WrongOtpError = { declare function BeneficiaryModeDetails(): BeneficiaryModeDetails; type BeneficiaryModeDetails = { /** - * - Account NUmber of the Account Holder + * - Account Number of the Account Holder. */ account_no: string; /** - * - Address of the User + * - Address of the User. */ address?: string; /** - * - Moblie Number of the User + * - Mobile Number of the User. */ mobile: string; /** - * - Bank Name of the Account + * - Bank Name of the Account. */ bank_name: string; /** - * - Remarks added by The user + * - Remarks added by The user. */ comment?: string; /** - * - Ifsc Code of the Account + * - Ifsc Code of the Account. */ ifsc_code: string; + /** + * - VPA of the Account. + */ vpa?: string; /** - * - Branch Name of the Account + * - Branch Name of the Account. */ branch_name: string; /** - * - Name of the Account Holder + * - Name of the Account Holder. */ account_holder: string; + /** + * - Wallet of the Account. + */ wallet?: string; /** - * - Email of the Account Holder + * - Email of the Account Holder. */ email: string; }; @@ -2591,28 +2630,37 @@ declare function AddBeneficiaryDetailsRequest(): AddBeneficiaryDetailsRequest; type AddBeneficiaryDetailsRequest = { /** * - True if beneficiary to be added by delights or - * False if by User + * False if by User. */ delights: boolean; /** - * - Shipment Id of the respective Merchant Order Id + * - Shipment Id of the respective Merchant Order Id. */ shipment_id: string; details: BeneficiaryModeDetails; + /** + * - OTP received by customer. + */ otp?: string; /** - * - Merchant Order Id + * - Merchant Order Id. */ order_id: string; /** - * - Transfer Mode of the Beneficiary to be added + * - Transfer Mode of the Beneficiary to be added. */ transfer_mode: string; + /** + * - Request Id for add benificiary request. + */ request_id?: string; }; /** @returns {RefundAccountResponse} */ declare function RefundAccountResponse(): RefundAccountResponse; type RefundAccountResponse = { + /** + * - Flag for verification of refund. + */ is_verified_flag?: boolean; /** * - Refund account data. @@ -2623,22 +2671,40 @@ type RefundAccountResponse = { */ success: boolean; /** - * - Response message + * - Response message. */ message: string; }; /** @returns {BankDetailsForOTP} */ declare function BankDetailsForOTP(): BankDetailsForOTP; type BankDetailsForOTP = { + /** + * - Account number of the holder. + */ account_no: string; + /** + * - Name of the bank. + */ bank_name: string; + /** + * - IFSC code of the bank. + */ ifsc_code: string; + /** + * - Branch name of the bank. + */ branch_name: string; + /** + * - Name of the account holder. + */ account_holder: string; }; /** @returns {AddBeneficiaryDetailsOTPRequest} */ declare function AddBeneficiaryDetailsOTPRequest(): AddBeneficiaryDetailsOTPRequest; type AddBeneficiaryDetailsOTPRequest = { + /** + * - Unique identifier for an order. + */ order_id: string; details: BankDetailsForOTP; }; @@ -2646,11 +2712,11 @@ type AddBeneficiaryDetailsOTPRequest = { declare function WalletOtpRequest(): WalletOtpRequest; type WalletOtpRequest = { /** - * - Country Code of the Mobile Number + * - Country Code of the Mobile Number. */ country_code: string; /** - * - Wallet Moblie Number of the User + * - Wallet Mobile Number of the User. */ mobile: string; }; @@ -2658,16 +2724,16 @@ type WalletOtpRequest = { declare function WalletOtpResponse(): WalletOtpResponse; type WalletOtpResponse = { /** - * - Request id + * - Request Id for wallet otp request. */ request_id: string; /** * - Boolean Flag whether OTP Validation is - * already done or not + * already done or not. */ is_verified_flag: string; /** - * - Response is successful or not + * - Response is successful or not. */ success?: boolean; }; @@ -2675,11 +2741,11 @@ type WalletOtpResponse = { declare function SetDefaultBeneficiaryRequest(): SetDefaultBeneficiaryRequest; type SetDefaultBeneficiaryRequest = { /** - * - Merchant Order Id + * - Merchant Order Id. */ order_id: string; /** - * - Beneficiary Hash Id of the beneficiary added + * - Beneficiary Hash Id of the beneficiary added. */ beneficiary_id: string; }; @@ -2687,11 +2753,11 @@ type SetDefaultBeneficiaryRequest = { declare function SetDefaultBeneficiaryResponse(): SetDefaultBeneficiaryResponse; type SetDefaultBeneficiaryResponse = { /** - * - Boolean Flag whether Beneficiary set or not + * - Boolean Flag whether Beneficiary set or not. */ is_beneficiary_set: boolean; /** - * - Response is successful or not + * - Response is successful or not. */ success?: boolean; }; @@ -2699,39 +2765,39 @@ type SetDefaultBeneficiaryResponse = { declare function GetPaymentLinkResponse(): GetPaymentLinkResponse; type GetPaymentLinkResponse = { /** - * - HTTP status code + * - HTTP status code. */ status_code: number; /** - * - Status of payment link + * - Status of payment link. */ payment_link_current_status?: string; /** - * - Successful or failure + * - Successful or failure. */ success: boolean; /** - * - Polling request timeout + * - Polling request timeout. */ polling_timeout?: number; /** - * - Url of payment link + * - Url of payment link. */ payment_link_url?: string; /** - * - Merchant order id + * - Merchant order id. */ external_order_id?: string; /** - * - Message + * - Detailed message. */ message: string; /** - * - Merchant name + * - Merchant name. */ merchant_name?: string; /** - * - Total value of order + * - Total value of order. */ amount?: number; }; @@ -2739,35 +2805,35 @@ type GetPaymentLinkResponse = { declare function ErrorDescription(): ErrorDescription; type ErrorDescription = { /** - * - Payment transaction id + * - Payment transaction id. */ payment_transaction_id?: string; /** - * - Payment link expired or not + * - Payment link expired or not. */ expired?: boolean; /** - * - Order id + * - Merchant Order Id. */ merchant_order_id?: string; /** - * - Name of merchant that created payment link + * - Name of merchant that created payment link. */ merchant_name?: string; /** - * - Message + * - Detailed message. */ msg?: string; /** - * - Payment link is cancelled or not + * - Payment link is cancelled or not. */ cancelled?: boolean; /** - * - Amount paid + * - Amount paid. */ amount?: number; /** - * - Payment link id is valid or not + * - Payment link id is valid or not. */ invalid_id?: boolean; }; @@ -2775,50 +2841,64 @@ type ErrorDescription = { declare function ErrorResponse(): ErrorResponse; type ErrorResponse = { /** - * - HTTP status code + * - HTTP status code. */ status_code: number; error?: ErrorDescription; /** - * - Message + * - Detailed message. */ message: string; /** - * - Successful or failure + * - Successful or failure. */ success: boolean; }; /** @returns {CreatePaymentLinkMeta} */ declare function CreatePaymentLinkMeta(): CreatePaymentLinkMeta; type CreatePaymentLinkMeta = { + /** + * - Unique identifier for the shopping cart. + */ cart_id: string; + /** + * - Mode of checkout process (e.g., guest, + * registered user). + */ checkout_mode: string; + /** + * - Identifier for the card assigned to the + * transaction. + */ assign_card_id?: string; + /** + * - Total amount for the transaction. + */ amount: string; }; /** @returns {CreatePaymentLinkRequest} */ declare function CreatePaymentLinkRequest(): CreatePaymentLinkRequest; type CreatePaymentLinkRequest = { /** - * - Merchant order id + * - Merchant order id. */ description?: string; /** - * - Merchant order id + * - Merchant order id. */ external_order_id: string; /** * - Mobile number to which the payment link is - * to be sent + * to be sent. */ mobile_number: string; /** - * - Total value of order + * - Total value of order. */ amount: number; meta: CreatePaymentLinkMeta; /** - * - Email to which the payment link is to be sent + * - Email to which the payment link is to be sent. */ email: string; }; @@ -2826,27 +2906,27 @@ type CreatePaymentLinkRequest = { declare function CreatePaymentLinkResponse(): CreatePaymentLinkResponse; type CreatePaymentLinkResponse = { /** - * - HTTP status code + * - HTTP status code. */ status_code: number; /** - * - Successful or failure + * - Successful or failure. */ success: boolean; /** - * - Polling request timeout + * - Polling request timeout. */ polling_timeout?: number; /** - * - Url of payment link + * - Url of payment link. */ payment_link_url?: string; /** - * - Message + * - Detailed message. */ message: string; /** - * - Unique id of payment link + * - Unique id of payment link. */ payment_link_id?: string; }; @@ -2854,7 +2934,7 @@ type CreatePaymentLinkResponse = { declare function CancelOrResendPaymentLinkRequest(): CancelOrResendPaymentLinkRequest; type CancelOrResendPaymentLinkRequest = { /** - * - Unique id of payment link + * - Unique id of payment link. */ payment_link_id: string; }; @@ -2862,19 +2942,19 @@ type CancelOrResendPaymentLinkRequest = { declare function ResendPaymentLinkResponse(): ResendPaymentLinkResponse; type ResendPaymentLinkResponse = { /** - * - HTTP status code + * - HTTP status code. */ status_code: number; /** - * - Polling request timeout + * - Polling request timeout. */ polling_timeout?: number; /** - * - Successful or failure + * - Successful or failure. */ success: boolean; /** - * - Message + * - Detailed message. */ message: string; }; @@ -2882,15 +2962,15 @@ type ResendPaymentLinkResponse = { declare function CancelPaymentLinkResponse(): CancelPaymentLinkResponse; type CancelPaymentLinkResponse = { /** - * - HTTP status code + * - HTTP status code. */ status_code: number; /** - * - Successful or failure + * - Successful or failure. */ success: boolean; /** - * - Message + * - Detailed message. */ message: string; }; @@ -2898,43 +2978,43 @@ type CancelPaymentLinkResponse = { declare function PollingPaymentLinkResponse(): PollingPaymentLinkResponse; type PollingPaymentLinkResponse = { /** - * - Status of payment link + * - Status of payment link. */ status?: string; /** - * - HTTP status code + * - HTTP status code. */ status_code?: number; /** - * - Successful or failure + * - Successful or failure. */ success?: boolean; /** - * - HTTP status code + * - HTTP status code. */ http_status?: number; /** - * - Message + * - Detailed message. */ message?: string; /** - * - Fynd order id + * - Fynd order id. */ order_id?: string; /** - * - Url to redirect to + * - Url to redirect to. */ redirect_url?: string; /** - * - Payment link id + * - Payment link id. */ payment_link_id?: string; /** - * - Aggregator name + * - Aggregator name. */ aggregator_name?: string; /** - * - Amount + * - Total amount for the transaction. */ amount?: number; }; @@ -2942,15 +3022,15 @@ type PollingPaymentLinkResponse = { declare function PaymentMethodsMeta(): PaymentMethodsMeta; type PaymentMethodsMeta = { /** - * - Merchant code + * - Merchant code. */ merchant_code: string; /** - * - Payment gateway name + * - Payment gateway name. */ payment_gateway: string; /** - * - Payment identifier + * - Payment identifier. */ payment_identifier: string; }; @@ -2958,11 +3038,11 @@ type PaymentMethodsMeta = { declare function CreateOrderUserPaymentMethods(): CreateOrderUserPaymentMethods; type CreateOrderUserPaymentMethods = { /** - * - Payment mode name + * - Payment mode name. */ name: string; /** - * - Payment mode + * - Payment mode. */ mode: string; meta: PaymentMethodsMeta; @@ -2971,24 +3051,24 @@ type CreateOrderUserPaymentMethods = { declare function CreateOrderUserRequest(): CreateOrderUserRequest; type CreateOrderUserRequest = { /** - * - Failure page url + * - Failure page url. */ failure_callback_url: string; /** - * - Currency + * - Currency of the transaction. */ currency: string; /** - * - Unique id of payment link + * - Unique id of payment link. */ payment_link_id: string; payment_methods: CreateOrderUserPaymentMethods; /** - * - Success page url + * - Success page url. */ success_callback_url: string; /** - * - Meta + * - Meta details. */ meta?: any; }; @@ -2996,43 +3076,43 @@ type CreateOrderUserRequest = { declare function CreateOrderUserData(): CreateOrderUserData; type CreateOrderUserData = { /** - * - Method + * - Method details. */ method?: string; /** - * - Aggregator name + * - Aggregator name. */ aggregator?: string; /** - * - Aggregator customer id + * - Aggregator customer id. */ customer_id?: string; /** - * - Mobile number + * - Mobile number. */ contact?: string; /** - * - Merchant order id + * - Merchant order id. */ merchant_order_id?: string; /** - * - Aggregator order id + * - Aggregator order id. */ order_id?: string; /** - * - Currency + * - Currency of the transaction. */ currency?: string; /** - * - Callback url for aggregator + * - Callback url for aggregator. */ callback_url?: string; /** - * - Amount + * - Total amount for the transaction. */ amount?: number; /** - * - Email + * - Email. */ email?: string; }; @@ -3040,28 +3120,28 @@ type CreateOrderUserData = { declare function CreateOrderUserResponse(): CreateOrderUserResponse; type CreateOrderUserResponse = { /** - * - HTTP status code + * - HTTP status code. */ status_code: number; /** - * - Successful or failure + * - Successful or failure. */ success: boolean; data?: CreateOrderUserData; /** - * - Message + * - Detailed message. */ message: string; /** - * - Merchant order id + * - Merchant order id. */ order_id?: string; /** - * - Callback url for aggregator + * - Callback url for aggregator. */ callback_url?: string; /** - * - Payment confirm url for aggregator + * - Payment confirm url for aggregator. */ payment_confirm_url?: string; }; @@ -3069,15 +3149,15 @@ type CreateOrderUserResponse = { declare function BalanceDetails(): BalanceDetails; type BalanceDetails = { /** - * - Formated Amount with currency symbol + * - Formatted Amount with currency symbol. */ formatted_value?: string; /** - * - Currency Code + * - Currency Code. */ currency?: string; /** - * - Payment amount + * - Payment amount. */ value?: number; }; @@ -3086,27 +3166,27 @@ declare function CreditSummary(): CreditSummary; type CreditSummary = { total_due_amount?: BalanceDetails; /** - * - Customer Credit status + * - Customer Credit status. */ status?: string; limit?: BalanceDetails; /** - * - ID at Credit aggregator's end + * - ID at Credit aggregator end. */ credit_line_id?: string; amount_available?: BalanceDetails; due_amount?: BalanceDetails; /** - * - Due date for repayment + * - Due date for repayment. */ due_date?: string; balance?: BalanceDetails; /** - * - Message to customer + * - Message to customer. */ status_message?: string; /** - * - Url for repayment + * - Url for repayment. */ repayment_url?: string; /** @@ -3114,19 +3194,19 @@ type CreditSummary = { */ soa_url?: string; /** - * - Eligiblity flag to complete transaction + * - Eligibility flag to complete transaction. */ is_eligible_for_txn?: boolean; /** - * - Unique aggregator customer id + * - Unique aggregator customer id. */ merchant_customer_ref_id?: string; /** - * - Status from Credit aggregator's end + * - Status from Credit aggregator end. */ buyer_status?: string; /** - * - Url for activation + * - Url for activation. */ activation_url?: string; }; @@ -3143,7 +3223,7 @@ type CustomerCreditSummaryResponse = { declare function RedirectURL(): RedirectURL; type RedirectURL = { /** - * - Aggregator's Operation is successful or not. + * - Aggregator Operation is successful or not. */ status: boolean; /** @@ -3189,31 +3269,32 @@ type CheckCreditResponse = { declare function KYCAddress(): KYCAddress; type KYCAddress = { /** - * - City + * - City of the KYC address. */ city: string; /** - * - Address Line 2 + * - Second line of the address. */ addressline2?: string; /** - * - State + * - State of the KYC address. */ state: string; /** - * - Address Owner Type + * - Type of ownership for the address + * (e.g., rented, owned). */ ownership_type?: string; /** - * - Pincode + * - Postal code of the address. */ pincode: string; /** - * - Land Mark + * - Landmark near the address. */ land_mark?: string; /** - * - Address Line 1 + * - First line of the address. */ addressline1: string; }; @@ -3221,64 +3302,64 @@ type KYCAddress = { declare function UserPersonalInfoInDetails(): UserPersonalInfoInDetails; type UserPersonalInfoInDetails = { /** - * - First Name + * - First name of the individual. */ first_name: string; /** - * - Voter ID Number + * - Voter ID number. */ voter_id?: string; /** - * - Gender + * - Gender of the individual. */ gender?: string; /** - * - DOB + * - Date of birth of the individual. */ dob: string; /** - * - Passport + * - Passport number. */ passport?: string; /** - * - Father's Name + * - Father's name. */ fathers_name?: string; /** - * - Mother's Name + * - Mother's name. */ mothers_name?: string; /** - * - Middle Name + * - Middle name of the individual. */ middle_name?: string; /** - * - Last Name + * - Last name of the individual. */ last_name?: string; /** - * - Pan Number + * - Permanent Account Number (PAN). */ pan?: string; /** - * - Driver License + * - Driving license number. */ driving_license?: string; /** - * - Is Email Verified or not + * - Indicates whether the email is verified. */ email_verified: boolean; address_as_per_id: KYCAddress; /** - * - Is Mobile Verified or not + * - Indicates whether the mobile number is verified. */ mobile_verified: boolean; /** - * - Email + * - Phone number. */ phone: string; /** - * - Email + * - Email address. */ email?: string; }; @@ -3286,15 +3367,15 @@ type UserPersonalInfoInDetails = { declare function MarketplaceInfo(): MarketplaceInfo; type MarketplaceInfo = { /** - * - Date of joining + * - Date of joining. */ date_of_joining?: string; /** - * - Name of store + * - Name of store. */ name: string; /** - * - Merchant id + * - Merchant id. */ membership_id: string; }; @@ -3302,43 +3383,46 @@ type MarketplaceInfo = { declare function BusinessDetails(): BusinessDetails; type BusinessDetails = { /** - * - Business Ownershipp type(e.g Rented) + * - Type of business ownership + * (e.g., sole proprietorship, partnership). */ business_ownership_type?: string; /** - * - Vintage + * - Age or duration of the business. */ vintage?: string; /** - * - GSTIN Number + * - Goods and Services Tax Identification Number. */ gstin?: string; /** - * - Pan Number + * - Permanent Account Number of the business. */ pan?: string; /** - * - Busineess Entity Type + * - Type of legal entity (e.g., corporation, LLC). */ entity_type?: string; /** - * - Shop Establishment + * - Shop and Establishment + * registration details. */ shop_and_establishment?: any; /** - * - FDA License Number + * - Food Safety and Standards Authority of India + * registration number. */ fssai?: string; /** - * - Driver License + * - Food and Drug Administration registration number. */ fda?: string; /** - * - Business Type + * - Type of business (e.g., retail, wholesale). */ business_type?: string; /** - * - Business Name + * - Name of the business. */ name?: string; address?: KYCAddress; @@ -3347,31 +3431,31 @@ type BusinessDetails = { declare function DeviceDetails(): DeviceDetails; type DeviceDetails = { /** - * - IP + * - IP. */ identification_number?: string; /** - * - Static value = ip + * - Static value = ip. */ identifier_type?: string; /** - * - Device Model + * - Device Model. */ device_model?: string; /** - * - Device maker + * - Device maker. */ device_make?: string; /** - * - Device Type(E.g. Mobile) + * - Device Type(E.g. Mobile). */ device_type?: string; /** - * - OS Name + * - OS Name. */ os?: string; /** - * - OS Version + * - OS Version. */ os_version?: string; }; @@ -3380,16 +3464,16 @@ declare function CustomerOnboardingRequest(): CustomerOnboardingRequest; type CustomerOnboardingRequest = { personal_info?: UserPersonalInfoInDetails; /** - * - Mcc + * - Merchant Category Code, indicating the type of business. */ mcc?: string; /** - * - Aggregator Name + * - Payment aggregator handling the transaction. */ aggregator: string; marketplace_info?: MarketplaceInfo; /** - * - CallbackURL + * - Callback url. */ source: string; business_info?: BusinessDetails; @@ -3403,27 +3487,27 @@ type OnboardSummary = { */ redirect_url?: string; /** - * - User Session + * - User Session. */ session?: any; /** - * - Transaction status + * - Transaction status. */ status: boolean; /** - * - Decription of status + * - Description of status. */ status_remark?: string; /** - * - Whether is eligible for transaction + * - Whether is eligible for transaction. */ is_eligible_for_txn?: boolean; /** - * - Rupifi customer ID + * - Rupifi customer ID. */ merchant_customer_ref_id?: string; /** - * - Url for activation + * - Url for activation. */ activation_url?: string; }; @@ -3440,11 +3524,11 @@ type CustomerOnboardingResponse = { declare function OutstandingOrderDetailsResponse(): OutstandingOrderDetailsResponse; type OutstandingOrderDetailsResponse = { /** - * - HTTP Status code + * - HTTP Status code. */ status_code: number; /** - * - Dict containing the outstanding order details + * - Dict containing the outstanding order details. */ data?: any[]; /** @@ -3452,7 +3536,7 @@ type OutstandingOrderDetailsResponse = { */ success: boolean; /** - * - Message + * - Message. */ message?: string; }; @@ -3460,11 +3544,11 @@ type OutstandingOrderDetailsResponse = { declare function PaidOrderDetailsResponse(): PaidOrderDetailsResponse; type PaidOrderDetailsResponse = { /** - * - HTTP Status code + * - HTTP Status code. */ status_code: number; /** - * - Dict containing the paid order details + * - Dict containing the paid order details. */ data?: any[]; /** @@ -3472,7 +3556,7 @@ type PaidOrderDetailsResponse = { */ success: boolean; /** - * - Message + * - Message. */ message?: string; }; @@ -3480,11 +3564,11 @@ type PaidOrderDetailsResponse = { declare function DeleteRefundAccountResponse(): DeleteRefundAccountResponse; type DeleteRefundAccountResponse = { /** - * - Success/Failure of the deleted beneficiary + * - Success/Failure of the deleted beneficiary. */ success: boolean; /** - * - Message + * - Message. */ message: string; }; @@ -3492,19 +3576,19 @@ type DeleteRefundAccountResponse = { declare function RefundOptionsDetails(): RefundOptionsDetails; type RefundOptionsDetails = { /** - * - Refund option display name + * - Refund option display name. */ display_name: string; /** - * - Refund ID. It will be unique identifier + * - Refund ID. It will be unique identifier. */ id: number; /** - * - Refund option is active or not + * - Refund option is active or not. */ is_active?: boolean; /** - * - Refund option name + * - Refund option name. */ name: string; }; @@ -3525,7 +3609,7 @@ type OfflineRefundOptions = { items: RefundOptionsDetails; /** * - List of all offline payment options. MOP - * Code value + * Code value. */ payment_modes: string[]; }; @@ -3534,15 +3618,15 @@ declare function RefundOptionResponse(): RefundOptionResponse; type RefundOptionResponse = { /** * - Available offline - * refund options data + * refund options data. */ offline_refund_options: OfflineRefundOptions; /** - * - Success/Failure Of response + * - Success/Failure Of response. */ success: boolean; /** - * - Available refund options data + * - Available refund options data. */ refund_options: RefundOptions; }; @@ -3550,19 +3634,19 @@ type RefundOptionResponse = { declare function SelectedRefundOptionResponse(): SelectedRefundOptionResponse; type SelectedRefundOptionResponse = { /** - * - Selected transfer mode for given shipment + * - Selected transfer mode for given shipment. */ transfer_mode: any; /** - * - Shipment ID + * - ID of the shipment. */ shipment_id: string; /** - * - Message + * - Detailed message. */ message: string; /** - * - Successful or not. + * - Whether refund is successful or not. */ success: boolean; }; @@ -3570,67 +3654,67 @@ type SelectedRefundOptionResponse = { declare function WalletBeneficiaryDetails(): WalletBeneficiaryDetails; type WalletBeneficiaryDetails = { /** - * - Benenficiary Id + * - Beneficiary Id. */ beneficiary_id: string; /** - * - MOdification Date of Beneficiary + * - MOdification Date of Beneficiary. */ modified_on: string; /** - * - Display Name Of Account + * - Display Name Of Account. */ display_name: string; /** - * - + * - Id of the wallet beneficiary. */ id: number; /** - * - SHort Title Of Account + * - SHort Title Of Account. */ subtitle: string; /** - * - Transfer Mode Of Account + * - Transfer Mode Of Account. */ transfer_mode: string; /** - * - MObile no of User + * - MObile no of User. */ mobile?: string; /** - * - Boolean Flag whether Beneficiary set or not + * - Boolean Flag whether Beneficiary set or not. */ is_active: boolean; /** - * - Creation Date of Beneficiary + * - Creation Date of Beneficiary. */ created_on: string; /** - * - Address of User + * - Address of User. */ address: string; /** - * - Title Of Account + * - Title Of Account. */ title: string; /** - * - Bank Name Of Account + * - Bank Name Of Account. */ wallet_address: string; /** - * - Remarks + * - Remarks. */ comment?: string; /** - * - Branch Name Of Account + * - Branch Name Of Account. */ wallet?: string; /** - * - EMail of User + * - EMail of User. */ email: string; /** - * - User Id Who filled the Beneficiary + * - User Id Who filled the Beneficiary. */ delights_user_name?: string; }; @@ -3638,67 +3722,67 @@ type WalletBeneficiaryDetails = { declare function UpiBeneficiaryDetails(): UpiBeneficiaryDetails; type UpiBeneficiaryDetails = { /** - * - Benenficiary Id + * - Beneficiary Id. */ beneficiary_id: string; /** - * - MOdification Date of Beneficiary + * - MOdification Date of Beneficiary. */ modified_on: string; /** - * - Display Name Of Account + * - Display Name Of Account. */ display_name: string; /** - * - + * - Id of the upi beneficiary. */ id: number; /** - * - SHort Title Of Account + * - SHort Title Of Account. */ subtitle: string; /** - * - Transfer Mode Of Account + * - Transfer Mode Of Account. */ transfer_mode: string; /** - * - Branch Name Of Account + * - Branch Name Of Account. */ vpa?: string; /** - * - Mobile no of User + * - Mobile no of User. */ mobile?: string; /** - * - Bank Name Of Account + * - Bank Name Of Account. */ vpa_address: string; /** - * - Creation Date of Beneficiary + * - Creation Date of Beneficiary. */ created_on: string; /** - * - Address of User + * - Address of User. */ address: string; /** - * - Title Of Account + * - Title Of Account. */ title: string; /** - * - Remarks + * - Remarks. */ comment?: string; /** - * - Boolean Flag whether Beneficiary set or not + * - Boolean Flag whether Beneficiary set or not. */ is_active: boolean; /** - * - EMail of User + * - EMail of User. */ email: string; /** - * - User Id Who filled the Beneficiary + * - User Id Who filled the Beneficiary. */ delights_user_name?: string; }; @@ -3732,7 +3816,7 @@ type OrderBeneficiaryResponseSchemaV2 = { */ data: BeneficiaryRefundOptions; /** - * - Max Limit for adding bank account, UPI and wallet + * - Max Limit for adding bank account, UPI and wallet. */ limit: any; }; @@ -3740,15 +3824,15 @@ type OrderBeneficiaryResponseSchemaV2 = { declare function ValidateValidateAddressRequest(): ValidateValidateAddressRequest; type ValidateValidateAddressRequest = { /** - * - IFSC Code + * - IFSC Code. */ ifsc_code?: string; /** - * - VPA Address + * - VPA Address. */ upi_vpa?: string; /** - * - Aggregator Name + * - Aggregator Name. */ aggregator?: string; }; @@ -3756,19 +3840,19 @@ type ValidateValidateAddressRequest = { declare function VPADetails(): VPADetails; type VPADetails = { /** - * - Is VPA valid or not + * - Is VPA valid or not. */ is_valid: boolean; /** - * - VPA address + * - VPA address. */ upi_vpa: string; /** - * - VPA validation message + * - VPA validation message. */ status: string; /** - * - VPA Customer Name + * - VPA Customer Name. */ customer_name: string; }; @@ -3780,11 +3864,11 @@ type ValidateValidateAddressResponse = { */ upi?: VPADetails; /** - * - Successful or not. + * - Whether address validation is successful or not. */ success: boolean; /** - * - IFSC details response data + * - IFSC details response data. */ ifsc?: any; }; @@ -3792,15 +3876,15 @@ type ValidateValidateAddressResponse = { declare function PaymentMethodsMetaOrder(): PaymentMethodsMetaOrder; type PaymentMethodsMetaOrder = { /** - * - Merchant code + * - Merchant code. */ merchant_code: string; /** - * - Payment gateway name + * - Payment gateway name. */ payment_gateway: string; /** - * - Payment identifier + * - Payment identifier. */ payment_identifier: string; }; @@ -3808,33 +3892,36 @@ type PaymentMethodsMetaOrder = { declare function PaymentOrderMethods(): PaymentOrderMethods; type PaymentOrderMethods = { /** - * - Amount to be collected + * - Amount to be collected. */ amount: number; /** - * - Payment type i.e. Required / Blocked + * - Payment type i.e. Required / Blocked. */ payment?: string; /** - * - Payment mode + * - Payment mode. */ mode: string; meta: PaymentMethodsMetaOrder; /** - * - Payment mode name + * - Payment mode name. */ name: string; }; /** @returns {PaymentOrderRequest} */ declare function PaymentOrderRequest(): PaymentOrderRequest; type PaymentOrderRequest = { + /** + * - All payment methods for order. + */ payment_methods?: PaymentOrderMethods[]; /** - * - Order id + * - Order id. */ order_id: string; /** - * - Shipment_id + * - Shipment_id. */ shipment_id?: string; }; @@ -3842,43 +3929,43 @@ type PaymentOrderRequest = { declare function PaymentOrderData(): PaymentOrderData; type PaymentOrderData = { /** - * - Amount + * - Amount. */ amount?: number; /** - * - Aggregator name + * - Aggregator name. */ aggregator?: string; /** - * - Callback url for aggregator + * - Callback url for aggregator. */ callback_url?: string; /** - * - Aggregator order id + * - Aggregator order id. */ order_id?: string; /** - * - Aggregator customer id + * - Aggregator customer id. */ customer_id?: string; /** - * - Merchant order id + * - Merchant order id. */ merchant_order_id?: string; /** - * - Currency + * - Currency used for the order. */ currency?: string; /** - * - Email + * - Email address of the customer. */ email?: string; /** - * - Mobile number + * - Contact number of the customer. */ contact?: string; /** - * - Method + * - Method of payment or delivery for the order. */ method?: string; }; @@ -3886,28 +3973,28 @@ type PaymentOrderData = { declare function PaymentOrderResponse(): PaymentOrderResponse; type PaymentOrderResponse = { /** - * - Payment confirm url for aggregator + * - Payment confirm url for aggregator. */ payment_confirm_url?: string; /** - * - Callback url for aggregator + * - Callback url for aggregator. */ callback_url?: string; /** - * - Merchant order id + * - Merchant order id. */ order_id?: string; /** - * - Successful or failure + * - Successful or failure. */ success?: boolean; /** - * - HTTP status code + * - HTTP status code. */ status_code: number; data?: PaymentOrderData; /** - * - Message + * - Detailed message. */ message: string; }; @@ -3915,19 +4002,19 @@ type PaymentOrderResponse = { declare function ShipmentRefundRequest(): ShipmentRefundRequest; type ShipmentRefundRequest = { /** - * - Shipment Id of the respective Merchant Order Id + * - Shipment Id of the respective Merchant Order Id. */ shipment_id: string; /** - * - Merchant Order Id + * - Merchant Order Id. */ order_id: string; /** - * - Transfer Mode of the Beneficiary to be added + * - Transfer Mode of the Beneficiary to be added. */ transfer_mode: string; /** - * - Beneficiary Hash Id of the beneficiary added + * - Beneficiary Hash Id of the beneficiary added. */ beneficiary_id?: string; }; @@ -3935,19 +4022,21 @@ type ShipmentRefundRequest = { declare function ShipmentRefundDetail(): ShipmentRefundDetail; type ShipmentRefundDetail = { /** - * - Shipment ID + * - ID of the shipment. */ shipment_id: string; /** - * - Order ID + * - ID of an order. */ order_id: string; /** - * - TransferMode + * - Mode of transfer for the shipment refund + * (e.g., bank transfer, digital wallet). */ transfer_mode: string; /** - * - Beneficiary ID + * - Unique identifier for the beneficiary + * receiving the refund. */ beneficiary_id: string; }; @@ -3963,7 +4052,7 @@ type ShipmentRefundResponse = { */ success: boolean; /** - * - Message + * - Detailed message. */ message: string; }; diff --git a/sdk/application/Payment/PaymentApplicationModel.js b/sdk/application/Payment/PaymentApplicationModel.js index f086df035..c9f6b9de3 100644 --- a/sdk/application/Payment/PaymentApplicationModel.js +++ b/sdk/application/Payment/PaymentApplicationModel.js @@ -2,21 +2,21 @@ const Joi = require("joi"); /** * @typedef AggregatorConfigDetail - * @property {boolean} [sdk] - SDK - * @property {string} secret - Masked payment gateway api secret - * @property {string} [api] - Payment gateway api endpoint - * @property {string} [pin] - Masked pin - * @property {string} config_type - Fynd or self payment gateway - * @property {string} [merchant_key] - Unique merchant key - * @property {string} [verify_api] - Payment gateway verify payment api endpoint - * @property {string} key - Payment gateway api key - * @property {string} [user_id] - Registered User id - * @property {string} [merchant_id] - Unique merchant id + * @property {boolean} [sdk] - SDK details. + * @property {string} secret - Masked payment gateway api secret. + * @property {string} [api] - Payment gateway api endpoint. + * @property {string} [pin] - Masked pin. + * @property {string} config_type - Fynd or self payment gateway. + * @property {string} [merchant_key] - Unique merchant key. + * @property {string} [verify_api] - Payment gateway verify payment api endpoint. + * @property {string} key - Payment gateway api key. + * @property {string} [user_id] - Registered User id. + * @property {string} [merchant_id] - Unique merchant id. */ /** * @typedef AggregatorsConfigDetailResponse - * @property {boolean} success + * @property {boolean} success - Api response was successful or not. * @property {AggregatorConfigDetail} [razorpay] * @property {AggregatorConfigDetail} [juspay] * @property {AggregatorConfigDetail} [simpl] @@ -25,27 +25,27 @@ const Joi = require("joi"); * @property {AggregatorConfigDetail} [mswipe] * @property {AggregatorConfigDetail} [stripe] * @property {AggregatorConfigDetail} [ccavenue] - * @property {string} env - Environment i.e Live or Test + * @property {string} env - Environment i.e Live or Test. */ /** * @typedef ErrorCodeAndDescription - * @property {string} code - Error descrption code. + * @property {string} code - Error description code. * @property {string} description - Error human understandable description. */ /** * @typedef HttpErrorCodeAndResponse * @property {ErrorCodeAndDescription} [error] - * @property {boolean} success - Response is successful or not + * @property {boolean} success - Response is successful or not. */ /** * @typedef AttachCardRequest - * @property {string} [nickname] + * @property {string} [nickname] - Nickname of the card holder. * @property {boolean} [refresh] - Refresh cache flag. * @property {string} card_id - Card token of payment gateway. - * @property {string} [name_on_card] + * @property {string} [name_on_card] - Name of the card holder. */ /** @@ -57,7 +57,7 @@ const Joi = require("joi"); /** * @typedef CardPaymentGateway - * @property {string} [api] - Payment gateway CARD api endpoint + * @property {string} [api] - Payment gateway CARD api endpoint. * @property {string} aggregator - Payment gateway name. * @property {string} [customer_id] - Payment gateway customer id. */ @@ -71,24 +71,26 @@ const Joi = require("joi"); /** * @typedef Card - * @property {string} [card_number] - Card_number - * @property {string} [card_name] - Card_name - * @property {string} [card_type] - Card_type - * @property {string} [card_brand_image] - Card_brand_image - * @property {string} [card_reference] - Card_reference - * @property {string} [card_issuer] - Card_issuer - * @property {string} [card_brand] - Card_brand - * @property {boolean} [expired] - Expired - * @property {boolean} [compliant_with_tokenisation_guidelines] - If card is - * tokenised or not - * @property {string} [card_isin] - Card_isin - * @property {number} [exp_year] - Exp_year - * @property {string} [nickname] - Nickname - * @property {string} aggregator_name - Aggregator_name - * @property {string} [card_fingerprint] - Card_fingerprint - * @property {string} [card_token] - Card_token - * @property {number} [exp_month] - Exp_month - * @property {string} [card_id] - Card_id + * @property {string} [card_number] - Card number mentioned on the card. + * @property {string} [card_name] - Name mentioned on the card. + * @property {string} [card_type] - Type of the card. + * @property {string} [card_brand_image] - Brand image on the card. + * @property {string} [card_reference] - Card reference. + * @property {string} [card_issuer] - Issuer of the card. + * @property {string} [card_brand] - Brand of the card. + * @property {boolean} [expired] - Card expiry. + * @property {boolean} [compliant_with_tokenisation_guidelines] - Whether card + * is tokenized or not. + * @property {string} [card_isin] - International Securities Identification + * Number for the card. + * @property {number} [exp_year] - Card's expiration year. + * @property {string} [nickname] - User-defined name for the card. + * @property {string} aggregator_name - Name of the payment aggregator. + * @property {string} [card_fingerprint] - Unique fingerprint of the card for + * identification. + * @property {string} [card_token] - Encrypted token representing the card. + * @property {number} [exp_month] - Card's expiration month. + * @property {string} [card_id] - Unique identifier for the card within the system. */ /** @@ -111,8 +113,8 @@ const Joi = require("joi"); /** * @typedef ValidateCustomerRequest - * @property {string} aggregator - Payment gateway name in camel case i.e Simpl, Rupifi - * @property {number} transaction_amount_in_paise - Payable amount in paise + * @property {string} aggregator - Payment gateway name in camelcase i.e Simple, Rupifi. + * @property {number} transaction_amount_in_paise - Payable amount in paise. * @property {string} phone_number - User mobile number without country code. * @property {Object} [billing_address] - Extra meta fields. * @property {Object[]} [order_items] - Extra meta fields. @@ -123,183 +125,188 @@ const Joi = require("joi"); /** * @typedef ValidateCustomerResponse - * @property {Object} data - Payment gateway response data - * @property {boolean} success - Response is successful or not + * @property {Object} [data] - Payment gateway response data. + * @property {boolean} success - Response is successful or not. * @property {string} message - Error or success message. */ /** * @typedef ChargeCustomerRequest - * @property {boolean} [verified] - Already Verified flag from payment gateway i.e Mswipe - * @property {string} aggregator - Payment gateway name i.e Simpl, Mswipe + * @property {boolean} [verified] - Already Verified flag from payment gateway i.e Mswipe. + * @property {string} aggregator - Payment gateway name i.e Simpl, Mswipe. * @property {string} order_id - Unique order id. * @property {string} [transaction_token] - Transaction token of payment gateway. - * @property {number} amount - Chargable amount of order. + * @property {number} amount - Chargeable amount of order. */ /** * @typedef ChargeCustomerResponse * @property {string} status - Status of charged payment. - * @property {string} [cart_id] - Cart id of customer + * @property {string} [cart_id] - Cart id of customer. * @property {boolean} success - Response is successful or not. - * @property {string} aggregator - Payment gateway name i.e Simpl, Mswipe + * @property {string} aggregator - Payment gateway name i.e Simpl, Mswipe. * @property {string} message - Human readable message. * @property {string} order_id - Unique order id. - * @property {string} [delivery_address_id] - Delivery adddress id of customer + * @property {string} [delivery_address_id] - Delivery address id of customer. */ /** * @typedef PaymentInitializationRequest - * @property {string} [razorpay_payment_id] - Payment gateway payment id - * @property {string} method - Payment method - * @property {string} [device_id] - EDC machine Unique Identifier - * @property {string} aggregator - Payment gateway name + * @property {string} [razorpay_payment_id] - Payment gateway payment id. + * @property {string} method - Payment method. + * @property {string} [device_id] - EDC machine Unique Identifier. + * @property {string} aggregator - Payment gateway name. * @property {string} customer_id - Payment gateway customer id. - * @property {string} contact - Customer valid mobile number - * @property {string} merchant_order_id - Unique fynd order id - * @property {string} [vpa] - Customer vpa address - * @property {string} order_id - Payment gateway order id + * @property {string} contact - Customer valid mobile number. + * @property {string} merchant_order_id - Unique fynd order id. + * @property {string} [vpa] - Customer vpa address. + * @property {string} order_id - Payment gateway order id. * @property {string} currency - Currency code. - * @property {number} [timeout] - Payment polling timeout if not recieved response + * @property {number} [timeout] - Payment polling timeout if not received response. * @property {number} amount - Payable amount. - * @property {string} email - Customer valid email + * @property {string} email - Customer valid email. */ /** * @typedef PaymentInitializationResponse * @property {string} [status] - Status of payment. * @property {string} [razorpay_payment_id] - Payment id. - * @property {string} [aggregator_order_id] - Payment order id - * @property {string} method - Payment method + * @property {string} [aggregator_order_id] - Payment order id. + * @property {string} method - Payment method. * @property {boolean} success - Response is successful or not. * @property {string} [upi_poll_url] - UPI poll url. * @property {string} [virtual_id] - Payment virtual address. - * @property {string} [device_id] - EDC machine Unique Identifier + * @property {string} [device_id] - EDC machine Unique Identifier. * @property {string} polling_url - Polling url. - * @property {string} aggregator - Payment gateway name - * @property {string} merchant_order_id - Order id + * @property {string} aggregator - Payment gateway name. + * @property {string} merchant_order_id - Order id. * @property {string} [customer_id] - Payment gateway customer id. - * @property {string} [vpa] - Customer vpa address + * @property {string} [vpa] - Customer vpa address. * @property {string} [currency] - Currency code. * @property {number} [timeout] - Timeout. * @property {number} [amount] - Payable amount. - * @property {string} [bqr_image] - Bharath qr image url. + * @property {string} [bqr_image] - Bharat qr image url. */ /** * @typedef PaymentStatusUpdateRequest * @property {string} [status] - Status of payment. - * @property {string} [merchant_transaction_id] - Unique fynd transaction id - * @property {string} method - Payment method - * @property {string} [device_id] - EDC machine Unique Identifier - * @property {string} aggregator - Payment gateway name + * @property {string} [merchant_transaction_id] - Unique fynd transaction id. + * @property {string} method - Payment method. + * @property {string} [device_id] - EDC machine Unique Identifier. + * @property {string} aggregator - Payment gateway name. * @property {string} [customer_id] - Payment gateway customer id. - * @property {string} [contact] - Customer valid mobile number - * @property {string} merchant_order_id - Unique fynd order id - * @property {string} [vpa] - Customer vpa address - * @property {string} [order_id] - Payment gateway order id + * @property {string} [contact] - Customer valid mobile number. + * @property {string} merchant_order_id - Unique fynd order id. + * @property {string} [vpa] - Customer vpa address. + * @property {string} [order_id] - Payment gateway order id. * @property {string} [currency] - Currency code. * @property {number} [amount] - Payable amount. - * @property {string} [email] - Customer valid email + * @property {string} [email] - Customer valid email. */ /** * @typedef PaymentStatusUpdateResponse - * @property {string} status - Payment status - * @property {boolean} [success] - Response is successful or not + * @property {string} status - Payment status. + * @property {boolean} [success] - Response is successful or not. * @property {boolean} retry - Response is successful or not. - * @property {string} [redirect_url] - Redirect url - * @property {string} aggregator_name - Payment gateway name + * @property {string} [redirect_url] - Redirect url. + * @property {string} aggregator_name - Payment gateway name. */ /** * @typedef IntentAppErrorList - * @property {string} [code] - Code - * @property {string} [package_name] - Package_name + * @property {string} [code] - Code of the intent App. + * @property {string} [package_name] - Package Name of the intent App. */ /** * @typedef PaymentModeLogo - * @property {string} large - Large - * @property {string} small - Smalll + * @property {string} large - Large Logo. + * @property {string} small - Small Logo. */ /** * @typedef IntentApp - * @property {string} [code] - Code - * @property {string} [package_name] - Package_name + * @property {string} [code] - Code of the intent App. + * @property {string} [package_name] - Package Name of the intent App. * @property {PaymentModeLogo} [logos] - * @property {string} [display_name] - Display_name + * @property {string} [display_name] - Display Name of the intent App. */ /** * @typedef PaymentModeList - * @property {string} [card_number] - Card_number - * @property {string} [merchant_code] - Merchant code - * @property {string} [card_reference] - Card_reference - * @property {string} [card_issuer] - Card_issuer - * @property {boolean} [compliant_with_tokenisation_guidelines] - If card is - * tokenised or not - * @property {string} [code] - Code - * @property {number} [cod_limit] - Cod limit - * @property {boolean} [intent_flow] - Intent_flow - * @property {string} [fynd_vpa] - Fynd_vpa - * @property {IntentAppErrorList[]} [intent_app_error_dict_list] - - * Intent_app_error_dict_list - * @property {string} aggregator_name - Aggregator_name - * @property {string} [card_fingerprint] - Card_fingerprint - * @property {string[]} [intent_app_error_list] - Intent_app_error_list - * @property {IntentApp[]} [intent_app] - Intent_app - * @property {boolean} [expired] - Expired - * @property {number} [retry_count] - Retry_count - * @property {number} [exp_year] - Exp_year - * @property {number} [exp_month] - Exp_month - * @property {string} [card_id] - Card_id - * @property {number} [remaining_limit] - Remaining limit - * @property {number} [display_priority] - Dispaly Priority - * @property {string} [card_brand] - Card_brand - * @property {number} [cod_limit_per_order] - Cod limit per order + * @property {string} [card_number] - Card number mentioned on the card. + * @property {string} [merchant_code] - Unique code identifying the merchant. + * @property {string} [card_reference] - Reference identifier for the card. + * @property {string} [card_issuer] - Issuing bank or institution of the card. + * @property {boolean} [compliant_with_tokenisation_guidelines] - Indicates + * compliance with tokenization guidelines. + * @property {string} [code] - General code for identifying a transaction or status. + * @property {number} [cod_limit] - Limit for Cash on Delivery (COD) transactions. + * @property {boolean} [intent_flow] - Flow or process intended for the transaction. + * @property {string} [fynd_vpa] - Virtual Payment Address (VPA) used by Fynd. + * @property {IntentAppErrorList[]} [intent_app_error_dict_list] - List of error + * dictionaries related to intent app. + * @property {string} aggregator_name - Name of the payment aggregator. + * @property {string} [card_fingerprint] - Unique fingerprint of the card for + * identification. + * @property {string[]} [intent_app_error_list] - List of errors associated with + * the intent app. + * @property {IntentApp[]} [intent_app] - Application intended for handling the + * transaction. + * @property {boolean} [expired] - Indicates whether the card is expired. + * @property {number} [retry_count] - Number of retry attempts. + * @property {number} [exp_year] - Card's expiration year. + * @property {number} [exp_month] - Card's expiration month. + * @property {string} [card_id] - Unique identifier for the card within the system. + * @property {number} [remaining_limit] - Remaining available limit on the card. + * @property {number} [display_priority] - Priority of display in the user interface. + * @property {string} [card_brand] - Brand of the card (e.g., Visa, MasterCard). + * @property {number} [cod_limit_per_order] - Maximum limit per order for COD + * transactions. * @property {PaymentModeLogo} [logo_url] - * @property {string} [nickname] - Nickname - * @property {string} [card_name] - Card_name - * @property {string} [card_type] - Card_type - * @property {string} [card_brand_image] - Card_brand_image - * @property {string} [display_name] - Display name - * @property {string} [card_isin] - Card_isin - * @property {number} [timeout] - Timeout - * @property {string} [card_token] - Card_token - * @property {string} [name] - Name - * @property {Object} [meta] - Payment methods meta + * @property {string} [nickname] - User-defined name for the card. + * @property {string} [card_name] - Name printed on the card. + * @property {string} [card_type] - Type of the card (e.g., debit, credit). + * @property {string} [card_brand_image] - Image representing the card brand. + * @property {string} [display_name] - Display name for the card in the user interface. + * @property {string} [card_isin] - International Securities Identification + * Number for the card. + * @property {number} [timeout] - Timeout duration for transactions. + * @property {string} [card_token] - Encrypted token representing the card. + * @property {string} [name] - User's name. + * @property {Object} [meta] - Payment methods meta. */ /** * @typedef RootPaymentMode * @property {boolean} [is_pay_by_card_pl] - This flag will be true in case of - * Payment link payment through card - * @property {boolean} [add_card_enabled] - Annonymous card flag - * @property {number} display_priority - Dispaly Priority - * @property {string} display_name - Payment mode display name - * @property {PaymentModeList[]} [list] - Payment mode - * @property {boolean} [save_card] - Card save or not - * @property {string} [aggregator_name] - Dispaly Priority - * @property {string} name - Payment mode name - * @property {boolean} [anonymous_enable] - Annonymous card flag + * Payment link payment through card. + * @property {boolean} [add_card_enabled] - Anonymous card flag. + * @property {number} display_priority - Display Priority. + * @property {string} display_name - Payment mode display name. + * @property {PaymentModeList[]} [list] - Payment mode. + * @property {boolean} [save_card] - Card save or not. + * @property {string} [aggregator_name] - Display Priority. + * @property {string} name - Payment mode name. + * @property {boolean} [anonymous_enable] - Anonymous card flag. */ /** * @typedef AggregatorRoute - * @property {Object} [data] - Data - * @property {Object} [payment_flow_data] - Payment_flow_data - * @property {string} [payment_flow] - Payment_flow - * @property {string} [api_link] - Api_link + * @property {Object} [data] - Details about aggregator route. + * @property {Object} [payment_flow_data] - Payment_flow_data. + * @property {string} [payment_flow] - Payment_flow. + * @property {string} [api_link] - API link of the aggregator. */ /** * @typedef PaymentDefaultSelection - * @property {string} [mode] - Default Selection Payment Mode - * @property {string} [identifier] - Identifier for Payment Mode + * @property {string} [mode] - Default Selection Payment Mode. + * @property {string} [identifier] - Identifier for Payment Mode. * @property {boolean} [skip] - Decide if the default payment mode will skip the - * payment options page altogether or just be preferred on the Frontend + * payment options page altogether or just be preferred on the Frontend. */ /** @@ -322,41 +329,41 @@ const Joi = require("joi"); /** * @typedef PaymentOptionAndFlow - * @property {RootPaymentMode[]} payment_option - Payment options + * @property {RootPaymentMode[]} payment_option - Payment options. * @property {PaymentFlow} payment_flows * @property {PaymentDefaultSelection} [payment_default_selection] */ /** * @typedef AdvanceObject - * @property {boolean} [is_active] - Is Advance Payment active - * @property {number} [amount] - Amount for Payment Breakdown - * @property {string} [time_unit] - Time unit for refunds + * @property {boolean} [is_active] - Is Advance Payment active. + * @property {number} [amount] - Amount for Payment Breakdown. + * @property {string} [time_unit] - Time unit for refunds. * @property {string} [description] - The description for Advance Payment (user - * configured) - * @property {string} [display_name] - The display name for Advance payment - * @property {string} [prepayment_type] - Type of prepayment value - * @property {number} [prepayment_value] - Value for prepayment in advance payment - * @property {string} [cancellation_type] - Type of cancellation - * @property {number} [refund_time_limit] - Time limit for processing refund - * @property {string[]} [all_prepayment_type] - All available types of prepayment - * @property {boolean} [allow_custom_advance_amount] - Is custom advance amount allowed? + * configured). + * @property {string} [display_name] - The display name for Advance payment. + * @property {string} [prepayment_type] - Type of prepayment value. + * @property {number} [prepayment_value] - Value for prepayment in advance payment. + * @property {string} [cancellation_type] - Type of cancellation. + * @property {number} [refund_time_limit] - Time limit for processing refund. + * @property {string[]} [all_prepayment_type] - All available types of prepayment. + * @property {boolean} [allow_custom_advance_amount] - Is custom advance amount allowed?. */ /** * @typedef SplitObject - * @property {number} [total_number_of_splits] - Maximum amount of splits allowed - * @property {number} [splits_remaining] - Number of splits remaining - * @property {number} [amount_remaining] - Amount pending to be paid + * @property {number} [total_number_of_splits] - Maximum amount of splits allowed. + * @property {number} [splits_remaining] - Number of splits remaining. + * @property {number} [amount_remaining] - Amount pending to be paid. */ /** * @typedef AdvancePaymentObject - * @property {string} [name] - Name of Advance Payment Mode - * @property {number} [display_priority] - Display Priority for Payment Option - * @property {number} [payment_mode_id] - Payment Mode ID for Advance Payment Option - * @property {string} [display_name] - Display name for Advance Payment Mode - * @property {PaymentModeList[]} [list] - Payment mode + * @property {string} [name] - Name of Advance Payment Mode. + * @property {number} [display_priority] - Display Priority for Payment Option. + * @property {number} [payment_mode_id] - Payment Mode ID for Advance Payment Option. + * @property {string} [display_name] - Display name for Advance Payment Mode. + * @property {PaymentModeList[]} [list] - Payment mode. * @property {SplitObject} [split] * @property {AdvanceObject} [advance] */ @@ -364,40 +371,40 @@ const Joi = require("joi"); /** * @typedef PaymentModeRouteResponse * @property {PaymentOptionAndFlow} payment_options - * @property {boolean} success - Response is successful or not - * @property {Object} [payment_breakup] - Payment Breakup for advance payment - * @property {AdvancePaymentObject[]} [advance_payment] - Advance Payment Array + * @property {boolean} success - Response is successful or not. + * @property {Object} [payment_breakup] - Payment Breakup for advance payment. + * @property {AdvancePaymentObject[]} [advance_payment] - Advance Payment Array. */ /** * @typedef WalletLinkRequestSchema - * @property {string} aggregator - Aggregator Name - * @property {string} mobile - Mobile Number for Wallet - * @property {string} wallet_code - Wallet Code + * @property {string} aggregator - Aggregator Name. + * @property {string} mobile - Mobile Number for Wallet. + * @property {string} wallet_code - Wallet Code. */ /** * @typedef WalletVerifyRequestSchema - * @property {string} aggregator - Aggregator Name - * @property {string} link_token - Token for wallet linking - * @property {number} otp - OTP received for wallet linking + * @property {string} aggregator - Aggregator Name. + * @property {string} link_token - Token for wallet linking. + * @property {number} otp - OTP received for wallet linking. */ /** * @typedef WalletDelinkRequestSchema - * @property {string} aggregator - Aggregator Name - * @property {string} wallet_code - Wallet Code + * @property {string} aggregator - Aggregator Name. + * @property {string} wallet_code - Wallet Code. */ /** * @typedef WalletResponseSchema - * @property {Object} data - Response received from aggregator - * @property {boolean} success - Success/Failure of the API call + * @property {Object} data - Response received from aggregator. + * @property {boolean} success - Success/Failure of the API call. */ /** * @typedef RupifiBannerData - * @property {string} [status] - Rupifi KYC status + * @property {string} [status] - Rupifi KYC status. * @property {string} [kyc_url] - Rupifi KYC banner url. */ @@ -409,9 +416,9 @@ const Joi = require("joi"); /** * @typedef EpaylaterBannerData - * @property {string} [status] - Epaylater KYC status - * @property {string} [message] - EPayLater message - * @property {boolean} display - Need to display banner or not + * @property {string} [status] - Epaylater KYC status. + * @property {string} [message] - EPayLater message. + * @property {boolean} display - Need to display banner or not. */ /** @@ -422,15 +429,15 @@ const Joi = require("joi"); /** * @typedef ResendOrCancelPaymentRequest - * @property {string} order_id - Unique order id - * @property {string} [device_id] - EDC machine Unique Identifier - * @property {string} request_type - Either resend or cancel + * @property {string} order_id - Unique order id. + * @property {string} [device_id] - EDC machine Unique Identifier. + * @property {string} request_type - Either resend or cancel. */ /** * @typedef LinkStatus - * @property {string} status - Link action status - * @property {string} message - Message + * @property {string} status - Link action status. + * @property {string} message - Message. * @property {boolean} [is_payment_done] - This key specifies payment done * status of payment link. */ @@ -443,27 +450,27 @@ const Joi = require("joi"); /** * @typedef renderHTMLRequest - * @property {string} [returntype] - Return Type of API - * @property {string} base64_html - Base64 encoded html string + * @property {string} [returntype] - Return Type of API. + * @property {string} base64_html - Base64 encoded html string. */ /** * @typedef renderHTMLResponse - * @property {string} html - HTML string + * @property {string} html - HTML string. */ /** * @typedef ValidateVPARequest - * @property {string} upi_vpa - UPI ID - * @property {string} [aggregator] - Aggregator slug + * @property {string} upi_vpa - UPI ID. + * @property {string} [aggregator] - Aggregator slug. */ /** * @typedef ValidateUPI - * @property {string} status - VALID or INVALID - * @property {string} customer_name - Customer Bank + * @property {string} status - VALID or INVALID. + * @property {string} customer_name - Customer Bank. * @property {boolean} is_valid - Boolean is true or false. - * @property {string} upi_vpa - UPI ID + * @property {string} upi_vpa - UPI ID. */ /** @@ -474,22 +481,23 @@ const Joi = require("joi"); /** * @typedef CardDetails - * @property {boolean} status - Status - * @property {string} country - Country Name - * @property {string} bank_code - Bank Code - * @property {string} id - Id - * @property {string} [card_exp_year] - Card Expire Year - * @property {string} card_brand - Card brand like VISA/RUPAY - * @property {string} type - Card Type Credit/Debit - * @property {string} card_sub_type - Card Sub type - * @property {boolean} is_domestic_card - Is card domestic or international - * @property {string} [name_on_card] - Name on Card - * @property {string} [card_exp_month] - Card Expire Month - * @property {string} extended_card_type - Extended Card Type - * @property {string} card_object - Card bin or Card refrence - * @property {string} [card_token] - Card Token - * @property {string} [user] - Customer/User ID - * @property {string} bank - Bank name + * @property {boolean} status - Current status of the card. + * @property {string} country - Country where the card was issued. + * @property {string} bank_code - Code identifying the bank. + * @property {string} id - Unique identifier for the record. + * @property {string} [card_exp_year] - Card's expiration year. + * @property {string} card_brand - Brand of the card (e.g., Visa, MasterCard). + * @property {string} type - General type of the card (e.g., debit, credit). + * @property {string} card_sub_type - Sub-type of the card (e.g., Platinum, Gold). + * @property {boolean} is_domestic_card - Indicates whether the card is domestic. + * @property {string} [name_on_card] - Name of the cardholder. + * @property {string} [card_exp_month] - Card's expiration month. + * @property {string} extended_card_type - Extended type of the card, providing + * more specific classification. + * @property {string} card_object - Object representation of the card. + * @property {string} [card_token] - Encrypted token representing the card. + * @property {string} [user] - User associated with the card. + * @property {string} bank - Bank associated with the card. */ /** @@ -500,350 +508,352 @@ const Joi = require("joi"); /** * @typedef TransferItemsDetails - * @property {number} id - - * @property {string} [display_name] - Beneficiary Display Name - * @property {string} logo_large - Beneficiary large Logo - * @property {string} logo_small - Beneficiary small Logo - * @property {string} name - Beneficiary Name + * @property {number} id - Id of the transfer item. + * @property {string} [display_name] - Beneficiary Display Name. + * @property {string} logo_large - Beneficiary large Logo. + * @property {string} logo_small - Beneficiary small Logo. + * @property {string} name - Beneficiary Name. */ /** * @typedef TransferModeDetails - * @property {TransferItemsDetails[]} [items] - Beneficiary Mode Items - * @property {string} display_name - Beneficiary Mode Name + * @property {TransferItemsDetails[]} [items] - Beneficiary Mode Items. + * @property {string} display_name - Beneficiary Mode Name. */ /** * @typedef TransferModeResponse - * @property {TransferModeDetails[]} data - Response Object + * @property {TransferModeDetails[]} data - Response Object. */ /** * @typedef UpdateRefundTransferModeRequest - * @property {boolean} enable - True for enabling the Transfer Mode - * @property {string} transfer_mode - Transfer Mode of the Beneficiary to be added + * @property {boolean} enable - True for enabling the Transfer Mode. + * @property {string} transfer_mode - Transfer Mode of the Beneficiary to be added. */ /** * @typedef UpdateRefundTransferModeResponse - * @property {boolean} [success] - Response is successful or not + * @property {boolean} [success] - Response is successful or not. */ /** * @typedef OrderBeneficiaryDetails - * @property {string} modified_on - MOdification Date of Beneficiary - * @property {string} account_no - Account Number - * @property {string} [mobile] - MObile no of User - * @property {string} bank_name - Bank Name Of Account - * @property {string} ifsc_code - Ifsc Code Of Account - * @property {boolean} is_active - Boolean Flag whether Beneficiary set or not - * @property {string} beneficiary_id - Benenficiary Id - * @property {string} account_holder - Account Holder Name - * @property {string} email - EMail of User - * @property {string} [delights_user_name] - User Id Who filled the Beneficiary - * @property {number} id - - * @property {string} transfer_mode - Transfer Mode Of Account - * @property {string} [branch_name] - Branch Name Of Account - * @property {string} created_on - Creation Date of Beneficiary - * @property {string} subtitle - SHort Title Of Account - * @property {string} [comment] - Remarks - * @property {string} address - Address of User - * @property {string} title - Title Of Account - * @property {string} display_name - Display Name Of Account + * @property {string} modified_on - MOdification Date of Beneficiary. + * @property {string} account_no - Account Number. + * @property {string} [mobile] - MObile no of User. + * @property {string} bank_name - Bank Name Of Account. + * @property {string} ifsc_code - Ifsc Code Of Account. + * @property {boolean} is_active - Boolean Flag whether Beneficiary set or not. + * @property {string} beneficiary_id - Beneficiary Id. + * @property {string} account_holder - Account Holder Name. + * @property {string} email - EMail of User. + * @property {string} [delights_user_name] - User Id Who filled the Beneficiary. + * @property {number} id - Id of the Order Beneficiary. + * @property {string} transfer_mode - Transfer Mode Of Account. + * @property {string} [branch_name] - Branch Name Of Account. + * @property {string} created_on - Creation Date of Beneficiary. + * @property {string} subtitle - SHort Title Of Account. + * @property {string} [comment] - Remarks. + * @property {string} address - Address of User. + * @property {string} title - Title Of Account. + * @property {string} display_name - Display Name Of Account. */ /** * @typedef OrderBeneficiaryResponse * @property {boolean} [show_beneficiary_details] - Show beneficiary details or not. - * @property {OrderBeneficiaryDetails[]} [beneficiaries] - All Beneficiaries Of An Order + * @property {OrderBeneficiaryDetails[]} [beneficiaries] - All Beneficiaries Of An Order. */ /** * @typedef NotFoundResourceError - * @property {string} code - Bad Request Data - * @property {string} description - Not Found - * @property {boolean} success - Response is successful or not + * @property {string} code - Bad Request Data. + * @property {string} description - Not Found. + * @property {boolean} success - Response is successful or not. */ /** * @typedef IfscCodeResponse - * @property {string} branch_name - Branch Name Of Account - * @property {boolean} [success] - Response is successful or not - * @property {string} bank_name - Bank Name Of Account + * @property {string} branch_name - Branch Name Of Account. + * @property {boolean} [success] - Response is successful or not. + * @property {string} bank_name - Bank Name Of Account. */ /** * @typedef ErrorCodeDescription - * @property {string} code - Error descrption code. + * @property {string} code - Error description code. * @property {string} description - Error human understandable description. - * @property {boolean} success - Response is successful or not + * @property {boolean} success - Response is successful or not. */ /** * @typedef AddBeneficiaryViaOtpVerificationRequest - * @property {string} request_id - Request Id sent in - * @property {string} hash_key - Hash key of the beneficiary Id - * @property {string} otp - Otp sent to the given Mobile No + * @property {string} request_id - Request id. + * @property {string} hash_key - Hash key of the beneficiary Id. + * @property {string} otp - Otp sent to the given Mobile No. */ /** * @typedef AddBeneficiaryViaOtpVerificationResponse - * @property {boolean} [success] - Response is successful or not - * @property {string} message - Aggregator Response of beneficicary + * @property {boolean} [success] - Response is successful or not. + * @property {string} message - Aggregator Response of beneficiary. */ /** * @typedef WrongOtpError - * @property {boolean} is_verified_flag - Vefified flag. - * @property {string} description - Wrong OTP Code - * @property {string} success - Response is successful or not + * @property {boolean} is_verified_flag - Verified flag. + * @property {string} description - Wrong OTP Code. + * @property {string} success - Response is successful or not. */ /** * @typedef BeneficiaryModeDetails - * @property {string} account_no - Account NUmber of the Account Holder - * @property {string} [address] - Address of the User - * @property {string} mobile - Moblie Number of the User - * @property {string} bank_name - Bank Name of the Account - * @property {string} [comment] - Remarks added by The user - * @property {string} ifsc_code - Ifsc Code of the Account - * @property {string} [vpa] - * @property {string} branch_name - Branch Name of the Account - * @property {string} account_holder - Name of the Account Holder - * @property {string} [wallet] - * @property {string} email - Email of the Account Holder + * @property {string} account_no - Account Number of the Account Holder. + * @property {string} [address] - Address of the User. + * @property {string} mobile - Mobile Number of the User. + * @property {string} bank_name - Bank Name of the Account. + * @property {string} [comment] - Remarks added by The user. + * @property {string} ifsc_code - Ifsc Code of the Account. + * @property {string} [vpa] - VPA of the Account. + * @property {string} branch_name - Branch Name of the Account. + * @property {string} account_holder - Name of the Account Holder. + * @property {string} [wallet] - Wallet of the Account. + * @property {string} email - Email of the Account Holder. */ /** * @typedef AddBeneficiaryDetailsRequest * @property {boolean} delights - True if beneficiary to be added by delights or - * False if by User - * @property {string} shipment_id - Shipment Id of the respective Merchant Order Id + * False if by User. + * @property {string} shipment_id - Shipment Id of the respective Merchant Order Id. * @property {BeneficiaryModeDetails} details - * @property {string} [otp] - * @property {string} order_id - Merchant Order Id - * @property {string} transfer_mode - Transfer Mode of the Beneficiary to be added - * @property {string} [request_id] + * @property {string} [otp] - OTP received by customer. + * @property {string} order_id - Merchant Order Id. + * @property {string} transfer_mode - Transfer Mode of the Beneficiary to be added. + * @property {string} [request_id] - Request Id for add benificiary request. */ /** * @typedef RefundAccountResponse - * @property {boolean} [is_verified_flag] + * @property {boolean} [is_verified_flag] - Flag for verification of refund. * @property {Object} [data] - Refund account data. * @property {boolean} success - Success or failure flag. - * @property {string} message - Response message + * @property {string} message - Response message. */ /** * @typedef BankDetailsForOTP - * @property {string} account_no - * @property {string} bank_name - * @property {string} ifsc_code - * @property {string} branch_name - * @property {string} account_holder + * @property {string} account_no - Account number of the holder. + * @property {string} bank_name - Name of the bank. + * @property {string} ifsc_code - IFSC code of the bank. + * @property {string} branch_name - Branch name of the bank. + * @property {string} account_holder - Name of the account holder. */ /** * @typedef AddBeneficiaryDetailsOTPRequest - * @property {string} order_id + * @property {string} order_id - Unique identifier for an order. * @property {BankDetailsForOTP} details */ /** * @typedef WalletOtpRequest - * @property {string} country_code - Country Code of the Mobile Number - * @property {string} mobile - Wallet Moblie Number of the User + * @property {string} country_code - Country Code of the Mobile Number. + * @property {string} mobile - Wallet Mobile Number of the User. */ /** * @typedef WalletOtpResponse - * @property {string} request_id - Request id + * @property {string} request_id - Request Id for wallet otp request. * @property {string} is_verified_flag - Boolean Flag whether OTP Validation is - * already done or not - * @property {boolean} [success] - Response is successful or not + * already done or not. + * @property {boolean} [success] - Response is successful or not. */ /** * @typedef SetDefaultBeneficiaryRequest - * @property {string} order_id - Merchant Order Id - * @property {string} beneficiary_id - Beneficiary Hash Id of the beneficiary added + * @property {string} order_id - Merchant Order Id. + * @property {string} beneficiary_id - Beneficiary Hash Id of the beneficiary added. */ /** * @typedef SetDefaultBeneficiaryResponse - * @property {boolean} is_beneficiary_set - Boolean Flag whether Beneficiary set or not - * @property {boolean} [success] - Response is successful or not + * @property {boolean} is_beneficiary_set - Boolean Flag whether Beneficiary set or not. + * @property {boolean} [success] - Response is successful or not. */ /** * @typedef GetPaymentLinkResponse - * @property {number} status_code - HTTP status code - * @property {string} [payment_link_current_status] - Status of payment link - * @property {boolean} success - Successful or failure - * @property {number} [polling_timeout] - Polling request timeout - * @property {string} [payment_link_url] - Url of payment link - * @property {string} [external_order_id] - Merchant order id - * @property {string} message - Message - * @property {string} [merchant_name] - Merchant name - * @property {number} [amount] - Total value of order + * @property {number} status_code - HTTP status code. + * @property {string} [payment_link_current_status] - Status of payment link. + * @property {boolean} success - Successful or failure. + * @property {number} [polling_timeout] - Polling request timeout. + * @property {string} [payment_link_url] - Url of payment link. + * @property {string} [external_order_id] - Merchant order id. + * @property {string} message - Detailed message. + * @property {string} [merchant_name] - Merchant name. + * @property {number} [amount] - Total value of order. */ /** * @typedef ErrorDescription - * @property {string} [payment_transaction_id] - Payment transaction id - * @property {boolean} [expired] - Payment link expired or not - * @property {string} [merchant_order_id] - Order id - * @property {string} [merchant_name] - Name of merchant that created payment link - * @property {string} [msg] - Message - * @property {boolean} [cancelled] - Payment link is cancelled or not - * @property {number} [amount] - Amount paid - * @property {boolean} [invalid_id] - Payment link id is valid or not + * @property {string} [payment_transaction_id] - Payment transaction id. + * @property {boolean} [expired] - Payment link expired or not. + * @property {string} [merchant_order_id] - Merchant Order Id. + * @property {string} [merchant_name] - Name of merchant that created payment link. + * @property {string} [msg] - Detailed message. + * @property {boolean} [cancelled] - Payment link is cancelled or not. + * @property {number} [amount] - Amount paid. + * @property {boolean} [invalid_id] - Payment link id is valid or not. */ /** * @typedef ErrorResponse - * @property {number} status_code - HTTP status code + * @property {number} status_code - HTTP status code. * @property {ErrorDescription} [error] - * @property {string} message - Message - * @property {boolean} success - Successful or failure + * @property {string} message - Detailed message. + * @property {boolean} success - Successful or failure. */ /** * @typedef CreatePaymentLinkMeta - * @property {string} cart_id - * @property {string} checkout_mode - * @property {string} [assign_card_id] - * @property {string} amount + * @property {string} cart_id - Unique identifier for the shopping cart. + * @property {string} checkout_mode - Mode of checkout process (e.g., guest, + * registered user). + * @property {string} [assign_card_id] - Identifier for the card assigned to the + * transaction. + * @property {string} amount - Total amount for the transaction. */ /** * @typedef CreatePaymentLinkRequest - * @property {string} [description] - Merchant order id - * @property {string} external_order_id - Merchant order id + * @property {string} [description] - Merchant order id. + * @property {string} external_order_id - Merchant order id. * @property {string} mobile_number - Mobile number to which the payment link is - * to be sent - * @property {number} amount - Total value of order + * to be sent. + * @property {number} amount - Total value of order. * @property {CreatePaymentLinkMeta} meta - * @property {string} email - Email to which the payment link is to be sent + * @property {string} email - Email to which the payment link is to be sent. */ /** * @typedef CreatePaymentLinkResponse - * @property {number} status_code - HTTP status code - * @property {boolean} success - Successful or failure - * @property {number} [polling_timeout] - Polling request timeout - * @property {string} [payment_link_url] - Url of payment link - * @property {string} message - Message - * @property {string} [payment_link_id] - Unique id of payment link + * @property {number} status_code - HTTP status code. + * @property {boolean} success - Successful or failure. + * @property {number} [polling_timeout] - Polling request timeout. + * @property {string} [payment_link_url] - Url of payment link. + * @property {string} message - Detailed message. + * @property {string} [payment_link_id] - Unique id of payment link. */ /** * @typedef CancelOrResendPaymentLinkRequest - * @property {string} payment_link_id - Unique id of payment link + * @property {string} payment_link_id - Unique id of payment link. */ /** * @typedef ResendPaymentLinkResponse - * @property {number} status_code - HTTP status code - * @property {number} [polling_timeout] - Polling request timeout - * @property {boolean} success - Successful or failure - * @property {string} message - Message + * @property {number} status_code - HTTP status code. + * @property {number} [polling_timeout] - Polling request timeout. + * @property {boolean} success - Successful or failure. + * @property {string} message - Detailed message. */ /** * @typedef CancelPaymentLinkResponse - * @property {number} status_code - HTTP status code - * @property {boolean} success - Successful or failure - * @property {string} message - Message + * @property {number} status_code - HTTP status code. + * @property {boolean} success - Successful or failure. + * @property {string} message - Detailed message. */ /** * @typedef PollingPaymentLinkResponse - * @property {string} [status] - Status of payment link - * @property {number} [status_code] - HTTP status code - * @property {boolean} [success] - Successful or failure - * @property {number} [http_status] - HTTP status code - * @property {string} [message] - Message - * @property {string} [order_id] - Fynd order id - * @property {string} [redirect_url] - Url to redirect to - * @property {string} [payment_link_id] - Payment link id - * @property {string} [aggregator_name] - Aggregator name - * @property {number} [amount] - Amount + * @property {string} [status] - Status of payment link. + * @property {number} [status_code] - HTTP status code. + * @property {boolean} [success] - Successful or failure. + * @property {number} [http_status] - HTTP status code. + * @property {string} [message] - Detailed message. + * @property {string} [order_id] - Fynd order id. + * @property {string} [redirect_url] - Url to redirect to. + * @property {string} [payment_link_id] - Payment link id. + * @property {string} [aggregator_name] - Aggregator name. + * @property {number} [amount] - Total amount for the transaction. */ /** * @typedef PaymentMethodsMeta - * @property {string} merchant_code - Merchant code - * @property {string} payment_gateway - Payment gateway name - * @property {string} payment_identifier - Payment identifier + * @property {string} merchant_code - Merchant code. + * @property {string} payment_gateway - Payment gateway name. + * @property {string} payment_identifier - Payment identifier. */ /** * @typedef CreateOrderUserPaymentMethods - * @property {string} name - Payment mode name - * @property {string} mode - Payment mode + * @property {string} name - Payment mode name. + * @property {string} mode - Payment mode. * @property {PaymentMethodsMeta} meta */ /** * @typedef CreateOrderUserRequest - * @property {string} failure_callback_url - Failure page url - * @property {string} currency - Currency - * @property {string} payment_link_id - Unique id of payment link + * @property {string} failure_callback_url - Failure page url. + * @property {string} currency - Currency of the transaction. + * @property {string} payment_link_id - Unique id of payment link. * @property {CreateOrderUserPaymentMethods} payment_methods - * @property {string} success_callback_url - Success page url - * @property {Object} [meta] - Meta + * @property {string} success_callback_url - Success page url. + * @property {Object} [meta] - Meta details. */ /** * @typedef CreateOrderUserData - * @property {string} [method] - Method - * @property {string} [aggregator] - Aggregator name - * @property {string} [customer_id] - Aggregator customer id - * @property {string} [contact] - Mobile number - * @property {string} [merchant_order_id] - Merchant order id - * @property {string} [order_id] - Aggregator order id - * @property {string} [currency] - Currency - * @property {string} [callback_url] - Callback url for aggregator - * @property {number} [amount] - Amount - * @property {string} [email] - Email + * @property {string} [method] - Method details. + * @property {string} [aggregator] - Aggregator name. + * @property {string} [customer_id] - Aggregator customer id. + * @property {string} [contact] - Mobile number. + * @property {string} [merchant_order_id] - Merchant order id. + * @property {string} [order_id] - Aggregator order id. + * @property {string} [currency] - Currency of the transaction. + * @property {string} [callback_url] - Callback url for aggregator. + * @property {number} [amount] - Total amount for the transaction. + * @property {string} [email] - Email. */ /** * @typedef CreateOrderUserResponse - * @property {number} status_code - HTTP status code - * @property {boolean} success - Successful or failure + * @property {number} status_code - HTTP status code. + * @property {boolean} success - Successful or failure. * @property {CreateOrderUserData} [data] - * @property {string} message - Message - * @property {string} [order_id] - Merchant order id - * @property {string} [callback_url] - Callback url for aggregator - * @property {string} [payment_confirm_url] - Payment confirm url for aggregator + * @property {string} message - Detailed message. + * @property {string} [order_id] - Merchant order id. + * @property {string} [callback_url] - Callback url for aggregator. + * @property {string} [payment_confirm_url] - Payment confirm url for aggregator. */ /** * @typedef BalanceDetails - * @property {string} [formatted_value] - Formated Amount with currency symbol - * @property {string} [currency] - Currency Code - * @property {number} [value] - Payment amount + * @property {string} [formatted_value] - Formatted Amount with currency symbol. + * @property {string} [currency] - Currency Code. + * @property {number} [value] - Payment amount. */ /** * @typedef CreditSummary * @property {BalanceDetails} [total_due_amount] - * @property {string} [status] - Customer Credit status + * @property {string} [status] - Customer Credit status. * @property {BalanceDetails} [limit] - * @property {string} [credit_line_id] - ID at Credit aggregator's end + * @property {string} [credit_line_id] - ID at Credit aggregator end. * @property {BalanceDetails} [amount_available] * @property {BalanceDetails} [due_amount] - * @property {string} [due_date] - Due date for repayment + * @property {string} [due_date] - Due date for repayment. * @property {BalanceDetails} [balance] - * @property {string} [status_message] - Message to customer - * @property {string} [repayment_url] - Url for repayment + * @property {string} [status_message] - Message to customer. + * @property {string} [repayment_url] - Url for repayment. * @property {string} [soa_url] - Statement of accounts. Show payment history. - * @property {boolean} [is_eligible_for_txn] - Eligiblity flag to complete transaction - * @property {string} [merchant_customer_ref_id] - Unique aggregator customer id - * @property {string} [buyer_status] - Status from Credit aggregator's end - * @property {string} [activation_url] - Url for activation + * @property {boolean} [is_eligible_for_txn] - Eligibility flag to complete transaction. + * @property {string} [merchant_customer_ref_id] - Unique aggregator customer id. + * @property {string} [buyer_status] - Status from Credit aggregator end. + * @property {string} [activation_url] - Url for activation. */ /** @@ -854,7 +864,7 @@ const Joi = require("joi"); /** * @typedef RedirectURL - * @property {boolean} status - Aggregator's Operation is successful or not. + * @property {boolean} status - Aggregator Operation is successful or not. * @property {string} signup_url - URL to which the user may redirect. */ @@ -879,75 +889,79 @@ const Joi = require("joi"); /** * @typedef KYCAddress - * @property {string} city - City - * @property {string} [addressline2] - Address Line 2 - * @property {string} state - State - * @property {string} [ownership_type] - Address Owner Type - * @property {string} pincode - Pincode - * @property {string} [land_mark] - Land Mark - * @property {string} addressline1 - Address Line 1 + * @property {string} city - City of the KYC address. + * @property {string} [addressline2] - Second line of the address. + * @property {string} state - State of the KYC address. + * @property {string} [ownership_type] - Type of ownership for the address + * (e.g., rented, owned). + * @property {string} pincode - Postal code of the address. + * @property {string} [land_mark] - Landmark near the address. + * @property {string} addressline1 - First line of the address. */ /** * @typedef UserPersonalInfoInDetails - * @property {string} first_name - First Name - * @property {string} [voter_id] - Voter ID Number - * @property {string} [gender] - Gender - * @property {string} dob - DOB - * @property {string} [passport] - Passport - * @property {string} [fathers_name] - Father's Name - * @property {string} [mothers_name] - Mother's Name - * @property {string} [middle_name] - Middle Name - * @property {string} [last_name] - Last Name - * @property {string} [pan] - Pan Number - * @property {string} [driving_license] - Driver License - * @property {boolean} email_verified - Is Email Verified or not + * @property {string} first_name - First name of the individual. + * @property {string} [voter_id] - Voter ID number. + * @property {string} [gender] - Gender of the individual. + * @property {string} dob - Date of birth of the individual. + * @property {string} [passport] - Passport number. + * @property {string} [fathers_name] - Father's name. + * @property {string} [mothers_name] - Mother's name. + * @property {string} [middle_name] - Middle name of the individual. + * @property {string} [last_name] - Last name of the individual. + * @property {string} [pan] - Permanent Account Number (PAN). + * @property {string} [driving_license] - Driving license number. + * @property {boolean} email_verified - Indicates whether the email is verified. * @property {KYCAddress} address_as_per_id - * @property {boolean} mobile_verified - Is Mobile Verified or not - * @property {string} phone - Email - * @property {string} [email] - Email + * @property {boolean} mobile_verified - Indicates whether the mobile number is verified. + * @property {string} phone - Phone number. + * @property {string} [email] - Email address. */ /** * @typedef MarketplaceInfo - * @property {string} [date_of_joining] - Date of joining - * @property {string} name - Name of store - * @property {string} membership_id - Merchant id + * @property {string} [date_of_joining] - Date of joining. + * @property {string} name - Name of store. + * @property {string} membership_id - Merchant id. */ /** * @typedef BusinessDetails - * @property {string} [business_ownership_type] - Business Ownershipp type(e.g Rented) - * @property {string} [vintage] - Vintage - * @property {string} [gstin] - GSTIN Number - * @property {string} [pan] - Pan Number - * @property {string} [entity_type] - Busineess Entity Type - * @property {Object} [shop_and_establishment] - Shop Establishment - * @property {string} [fssai] - FDA License Number - * @property {string} [fda] - Driver License - * @property {string} [business_type] - Business Type - * @property {string} [name] - Business Name + * @property {string} [business_ownership_type] - Type of business ownership + * (e.g., sole proprietorship, partnership). + * @property {string} [vintage] - Age or duration of the business. + * @property {string} [gstin] - Goods and Services Tax Identification Number. + * @property {string} [pan] - Permanent Account Number of the business. + * @property {string} [entity_type] - Type of legal entity (e.g., corporation, LLC). + * @property {Object} [shop_and_establishment] - Shop and Establishment + * registration details. + * @property {string} [fssai] - Food Safety and Standards Authority of India + * registration number. + * @property {string} [fda] - Food and Drug Administration registration number. + * @property {string} [business_type] - Type of business (e.g., retail, wholesale). + * @property {string} [name] - Name of the business. * @property {KYCAddress} [address] */ /** * @typedef DeviceDetails - * @property {string} [identification_number] - IP - * @property {string} [identifier_type] - Static value = ip - * @property {string} [device_model] - Device Model - * @property {string} [device_make] - Device maker - * @property {string} [device_type] - Device Type(E.g. Mobile) - * @property {string} [os] - OS Name - * @property {string} [os_version] - OS Version + * @property {string} [identification_number] - IP. + * @property {string} [identifier_type] - Static value = ip. + * @property {string} [device_model] - Device Model. + * @property {string} [device_make] - Device maker. + * @property {string} [device_type] - Device Type(E.g. Mobile). + * @property {string} [os] - OS Name. + * @property {string} [os_version] - OS Version. */ /** * @typedef CustomerOnboardingRequest * @property {UserPersonalInfoInDetails} [personal_info] - * @property {string} [mcc] - Mcc - * @property {string} aggregator - Aggregator Name + * @property {string} [mcc] - Merchant Category Code, indicating the type of business. + * @property {string} aggregator - Payment aggregator handling the transaction. * @property {MarketplaceInfo} [marketplace_info] - * @property {string} source - CallbackURL + * @property {string} source - Callback url. * @property {BusinessDetails} [business_info] * @property {DeviceDetails} [device] */ @@ -955,12 +969,12 @@ const Joi = require("joi"); /** * @typedef OnboardSummary * @property {string} [redirect_url] - URL to which the user may redirect. - * @property {Object} [session] - User Session - * @property {boolean} status - Transaction status - * @property {string} [status_remark] - Decription of status - * @property {boolean} [is_eligible_for_txn] - Whether is eligible for transaction - * @property {string} [merchant_customer_ref_id] - Rupifi customer ID - * @property {string} [activation_url] - Url for activation + * @property {Object} [session] - User Session. + * @property {boolean} status - Transaction status. + * @property {string} [status_remark] - Description of status. + * @property {boolean} [is_eligible_for_txn] - Whether is eligible for transaction. + * @property {string} [merchant_customer_ref_id] - Rupifi customer ID. + * @property {string} [activation_url] - Url for activation. */ /** @@ -971,32 +985,32 @@ const Joi = require("joi"); /** * @typedef OutstandingOrderDetailsResponse - * @property {number} status_code - HTTP Status code - * @property {Object[]} [data] - Dict containing the outstanding order details + * @property {number} status_code - HTTP Status code. + * @property {Object[]} [data] - Dict containing the outstanding order details. * @property {boolean} success - Response is successful or not. - * @property {string} [message] - Message + * @property {string} [message] - Message. */ /** * @typedef PaidOrderDetailsResponse - * @property {number} status_code - HTTP Status code - * @property {Object[]} [data] - Dict containing the paid order details + * @property {number} status_code - HTTP Status code. + * @property {Object[]} [data] - Dict containing the paid order details. * @property {boolean} success - Response is successful or not. - * @property {string} [message] - Message + * @property {string} [message] - Message. */ /** * @typedef DeleteRefundAccountResponse - * @property {boolean} success - Success/Failure of the deleted beneficiary - * @property {string} message - Message + * @property {boolean} success - Success/Failure of the deleted beneficiary. + * @property {string} message - Message. */ /** * @typedef RefundOptionsDetails - * @property {string} display_name - Refund option display name - * @property {number} id - Refund ID. It will be unique identifier - * @property {boolean} [is_active] - Refund option is active or not - * @property {string} name - Refund option name + * @property {string} display_name - Refund option display name. + * @property {number} id - Refund ID. It will be unique identifier. + * @property {boolean} [is_active] - Refund option is active or not. + * @property {string} name - Refund option name. */ /** @@ -1008,63 +1022,63 @@ const Joi = require("joi"); * @typedef OfflineRefundOptions * @property {RefundOptionsDetails} items - List of all refund options. * @property {string[]} payment_modes - List of all offline payment options. MOP - * Code value + * Code value. */ /** * @typedef RefundOptionResponse * @property {OfflineRefundOptions} offline_refund_options - Available offline - * refund options data - * @property {boolean} success - Success/Failure Of response - * @property {RefundOptions} refund_options - Available refund options data + * refund options data. + * @property {boolean} success - Success/Failure Of response. + * @property {RefundOptions} refund_options - Available refund options data. */ /** * @typedef SelectedRefundOptionResponse - * @property {Object} transfer_mode - Selected transfer mode for given shipment - * @property {string} shipment_id - Shipment ID - * @property {string} message - Message - * @property {boolean} success - Successful or not. + * @property {Object} transfer_mode - Selected transfer mode for given shipment. + * @property {string} shipment_id - ID of the shipment. + * @property {string} message - Detailed message. + * @property {boolean} success - Whether refund is successful or not. */ /** * @typedef WalletBeneficiaryDetails - * @property {string} beneficiary_id - Benenficiary Id - * @property {string} modified_on - MOdification Date of Beneficiary - * @property {string} display_name - Display Name Of Account - * @property {number} id - - * @property {string} subtitle - SHort Title Of Account - * @property {string} transfer_mode - Transfer Mode Of Account - * @property {string} [mobile] - MObile no of User - * @property {boolean} is_active - Boolean Flag whether Beneficiary set or not - * @property {string} created_on - Creation Date of Beneficiary - * @property {string} address - Address of User - * @property {string} title - Title Of Account - * @property {string} wallet_address - Bank Name Of Account - * @property {string} [comment] - Remarks - * @property {string} [wallet] - Branch Name Of Account - * @property {string} email - EMail of User - * @property {string} [delights_user_name] - User Id Who filled the Beneficiary + * @property {string} beneficiary_id - Beneficiary Id. + * @property {string} modified_on - MOdification Date of Beneficiary. + * @property {string} display_name - Display Name Of Account. + * @property {number} id - Id of the wallet beneficiary. + * @property {string} subtitle - SHort Title Of Account. + * @property {string} transfer_mode - Transfer Mode Of Account. + * @property {string} [mobile] - MObile no of User. + * @property {boolean} is_active - Boolean Flag whether Beneficiary set or not. + * @property {string} created_on - Creation Date of Beneficiary. + * @property {string} address - Address of User. + * @property {string} title - Title Of Account. + * @property {string} wallet_address - Bank Name Of Account. + * @property {string} [comment] - Remarks. + * @property {string} [wallet] - Branch Name Of Account. + * @property {string} email - EMail of User. + * @property {string} [delights_user_name] - User Id Who filled the Beneficiary. */ /** * @typedef UpiBeneficiaryDetails - * @property {string} beneficiary_id - Benenficiary Id - * @property {string} modified_on - MOdification Date of Beneficiary - * @property {string} display_name - Display Name Of Account - * @property {number} id - - * @property {string} subtitle - SHort Title Of Account - * @property {string} transfer_mode - Transfer Mode Of Account - * @property {string} [vpa] - Branch Name Of Account - * @property {string} [mobile] - Mobile no of User - * @property {string} vpa_address - Bank Name Of Account - * @property {string} created_on - Creation Date of Beneficiary - * @property {string} address - Address of User - * @property {string} title - Title Of Account - * @property {string} [comment] - Remarks - * @property {boolean} is_active - Boolean Flag whether Beneficiary set or not - * @property {string} email - EMail of User - * @property {string} [delights_user_name] - User Id Who filled the Beneficiary + * @property {string} beneficiary_id - Beneficiary Id. + * @property {string} modified_on - MOdification Date of Beneficiary. + * @property {string} display_name - Display Name Of Account. + * @property {number} id - Id of the upi beneficiary. + * @property {string} subtitle - SHort Title Of Account. + * @property {string} transfer_mode - Transfer Mode Of Account. + * @property {string} [vpa] - Branch Name Of Account. + * @property {string} [mobile] - Mobile no of User. + * @property {string} vpa_address - Bank Name Of Account. + * @property {string} created_on - Creation Date of Beneficiary. + * @property {string} address - Address of User. + * @property {string} title - Title Of Account. + * @property {string} [comment] - Remarks. + * @property {boolean} is_active - Boolean Flag whether Beneficiary set or not. + * @property {string} email - EMail of User. + * @property {string} [delights_user_name] - User Id Who filled the Beneficiary. */ /** @@ -1080,100 +1094,102 @@ const Joi = require("joi"); * @property {boolean} show_beneficiary_details - Show Beneficiary details on UI or not. * @property {BeneficiaryRefundOptions} data - Beneficiary Data for Bank * account, UPI and Wallets. - * @property {Object} limit - Max Limit for adding bank account, UPI and wallet + * @property {Object} limit - Max Limit for adding bank account, UPI and wallet. */ /** * @typedef ValidateValidateAddressRequest - * @property {string} [ifsc_code] - IFSC Code - * @property {string} [upi_vpa] - VPA Address - * @property {string} [aggregator] - Aggregator Name + * @property {string} [ifsc_code] - IFSC Code. + * @property {string} [upi_vpa] - VPA Address. + * @property {string} [aggregator] - Aggregator Name. */ /** * @typedef VPADetails - * @property {boolean} is_valid - Is VPA valid or not - * @property {string} upi_vpa - VPA address - * @property {string} status - VPA validation message - * @property {string} customer_name - VPA Customer Name + * @property {boolean} is_valid - Is VPA valid or not. + * @property {string} upi_vpa - VPA address. + * @property {string} status - VPA validation message. + * @property {string} customer_name - VPA Customer Name. */ /** * @typedef ValidateValidateAddressResponse * @property {VPADetails} [upi] - UPI validation details. - * @property {boolean} success - Successful or not. - * @property {Object} [ifsc] - IFSC details response data + * @property {boolean} success - Whether address validation is successful or not. + * @property {Object} [ifsc] - IFSC details response data. */ /** * @typedef PaymentMethodsMetaOrder - * @property {string} merchant_code - Merchant code - * @property {string} payment_gateway - Payment gateway name - * @property {string} payment_identifier - Payment identifier + * @property {string} merchant_code - Merchant code. + * @property {string} payment_gateway - Payment gateway name. + * @property {string} payment_identifier - Payment identifier. */ /** * @typedef PaymentOrderMethods - * @property {number} amount - Amount to be collected - * @property {string} [payment] - Payment type i.e. Required / Blocked - * @property {string} mode - Payment mode + * @property {number} amount - Amount to be collected. + * @property {string} [payment] - Payment type i.e. Required / Blocked. + * @property {string} mode - Payment mode. * @property {PaymentMethodsMetaOrder} meta - * @property {string} name - Payment mode name + * @property {string} name - Payment mode name. */ /** * @typedef PaymentOrderRequest - * @property {PaymentOrderMethods[]} [payment_methods] - * @property {string} order_id - Order id - * @property {string} [shipment_id] - Shipment_id + * @property {PaymentOrderMethods[]} [payment_methods] - All payment methods for order. + * @property {string} order_id - Order id. + * @property {string} [shipment_id] - Shipment_id. */ /** * @typedef PaymentOrderData - * @property {number} [amount] - Amount - * @property {string} [aggregator] - Aggregator name - * @property {string} [callback_url] - Callback url for aggregator - * @property {string} [order_id] - Aggregator order id - * @property {string} [customer_id] - Aggregator customer id - * @property {string} [merchant_order_id] - Merchant order id - * @property {string} [currency] - Currency - * @property {string} [email] - Email - * @property {string} [contact] - Mobile number - * @property {string} [method] - Method + * @property {number} [amount] - Amount. + * @property {string} [aggregator] - Aggregator name. + * @property {string} [callback_url] - Callback url for aggregator. + * @property {string} [order_id] - Aggregator order id. + * @property {string} [customer_id] - Aggregator customer id. + * @property {string} [merchant_order_id] - Merchant order id. + * @property {string} [currency] - Currency used for the order. + * @property {string} [email] - Email address of the customer. + * @property {string} [contact] - Contact number of the customer. + * @property {string} [method] - Method of payment or delivery for the order. */ /** * @typedef PaymentOrderResponse - * @property {string} [payment_confirm_url] - Payment confirm url for aggregator - * @property {string} [callback_url] - Callback url for aggregator - * @property {string} [order_id] - Merchant order id - * @property {boolean} [success] - Successful or failure - * @property {number} status_code - HTTP status code + * @property {string} [payment_confirm_url] - Payment confirm url for aggregator. + * @property {string} [callback_url] - Callback url for aggregator. + * @property {string} [order_id] - Merchant order id. + * @property {boolean} [success] - Successful or failure. + * @property {number} status_code - HTTP status code. * @property {PaymentOrderData} [data] - * @property {string} message - Message + * @property {string} message - Detailed message. */ /** * @typedef ShipmentRefundRequest - * @property {string} shipment_id - Shipment Id of the respective Merchant Order Id - * @property {string} order_id - Merchant Order Id - * @property {string} transfer_mode - Transfer Mode of the Beneficiary to be added - * @property {string} [beneficiary_id] - Beneficiary Hash Id of the beneficiary added + * @property {string} shipment_id - Shipment Id of the respective Merchant Order Id. + * @property {string} order_id - Merchant Order Id. + * @property {string} transfer_mode - Transfer Mode of the Beneficiary to be added. + * @property {string} [beneficiary_id] - Beneficiary Hash Id of the beneficiary added. */ /** * @typedef ShipmentRefundDetail - * @property {string} shipment_id - Shipment ID - * @property {string} order_id - Order ID - * @property {string} transfer_mode - TransferMode - * @property {string} beneficiary_id - Beneficiary ID + * @property {string} shipment_id - ID of the shipment. + * @property {string} order_id - ID of an order. + * @property {string} transfer_mode - Mode of transfer for the shipment refund + * (e.g., bank transfer, digital wallet). + * @property {string} beneficiary_id - Unique identifier for the beneficiary + * receiving the refund. */ /** * @typedef ShipmentRefundResponse * @property {ShipmentRefundDetail} data - Selected Shipment refund option details. * @property {boolean} success - Successful or not. - * @property {string} message - Message + * @property {string} message - Detailed message. */ class PaymentApplicationModel { @@ -1326,7 +1342,7 @@ class PaymentApplicationModel { /** @returns {ValidateCustomerResponse} */ static ValidateCustomerResponse() { return Joi.object({ - data: Joi.any().required(), + data: Joi.any(), success: Joi.boolean().required(), message: Joi.string().allow("").required(), }); diff --git a/sdk/application/Payment/PaymentApplicationValidator.d.ts b/sdk/application/Payment/PaymentApplicationValidator.d.ts index ef588c456..fdcbc867a 100644 --- a/sdk/application/Payment/PaymentApplicationValidator.d.ts +++ b/sdk/application/Payment/PaymentApplicationValidator.d.ts @@ -18,7 +18,8 @@ export = PaymentApplicationValidator; /** * @typedef CardDetailsParam * @property {string} cardInfo - Card first 6 digit IIN(prefix) number. - * @property {string} [aggregator] + * @property {string} [aggregator] - This is a string value describing the + * aggregator name. */ /** * @typedef CheckAndUpdatePaymentStatusParam @@ -30,7 +31,7 @@ export = PaymentApplicationValidator; */ /** * @typedef CheckCreditParam - * @property {string} [aggregator] + * @property {string} [aggregator] - Aggregator name. */ /** * @typedef CreateOrderHandlerPaymentLinkParam @@ -46,7 +47,7 @@ export = PaymentApplicationValidator; */ /** * @typedef CustomerCreditSummaryParam - * @property {string} [aggregator] + * @property {string} [aggregator] - Aggregator name. */ /** * @typedef CustomerOnboardParam @@ -66,18 +67,19 @@ export = PaymentApplicationValidator; */ /** * @typedef GetActiveCardAggregatorParam - * @property {boolean} [refresh] + * @property {boolean} [refresh] - Select `true` to remove temporary cache files + * on payment gateway and replace with the latest one. */ /** @typedef GetActiveRefundTransferModesParam */ /** * @typedef GetActiveUserCardsParam - * @property {boolean} [forceRefresh] + * @property {boolean} [forceRefresh] - Select `true` to clear the cache. */ /** * @typedef GetAggregatorsConfigParam - * @property {string} [xApiToken] - Used for basic authentication. - * @property {boolean} [refresh] - This is a boolean value. Select `true` to - * remove temporary cache files on payment gateway and replace with the latest one. + * @property {string} [xApiToken] - Basic auth token. + * @property {boolean} [refresh] - Select `true` to remove temporary cache files + * on payment gateway and replace with the latest one. */ /** @typedef GetEpaylaterBannerDetailsParam */ /** @@ -87,40 +89,40 @@ export = PaymentApplicationValidator; */ /** * @typedef GetPaymentLinkParam - * @property {string} [paymentLinkId] + * @property {string} [paymentLinkId] - Unique payment link id. */ /** * @typedef GetPaymentModeRoutesParam * @property {number} amount - Payable amount. * @property {string} [cartId] - Identifier of the cart. * @property {string} [checkoutMode] - Option to checkout for self or for others. - * @property {boolean} [refresh] - This is a boolean value. Select `true` to - * remove temporary cache files on payment gateway and replace with the latest one. - * @property {string} [orderId] + * @property {boolean} [refresh] - Select `true` to remove temporary cache files + * on payment gateway and replace with the latest one. + * @property {string} [orderId] - Identifier of the order, order_id. * @property {string} [cardReference] - Card reference id of user's debit or credit card. - * @property {string} [userDetails] - URIencoded JSON containing details of an + * @property {string} [userDetails] - URLencoded JSON containing details of an * anonymous user. - * @property {boolean} [displaySplit] - Display Split Payment Option or not - * @property {boolean} [advancePayment] - Display Advance Payment Options or Normal - * @property {string} [shipmentId] + * @property {boolean} [displaySplit] - Display Split Payment Option or not. + * @property {boolean} [advancePayment] - Display Advance Payment Options or Normal. + * @property {string} [shipmentId] - Identifier of the shipment, shipment_id. */ /** * @typedef GetPaymentModeRoutesPaymentLinkParam - * @property {string} paymentLinkId - Payment link id + * @property {string} paymentLinkId - Payment link id. */ /** * @typedef GetPosPaymentModeRoutesParam * @property {number} amount - Payable amount. * @property {string} [cartId] - Identifier of the cart. - * @property {string} pincode - The PIN Code of the destination address, e.g. 400059 + * @property {string} pincode - The PIN Code of the destination address, e.g. 400059. * @property {string} [checkoutMode] - Option to checkout for self or for others. - * @property {boolean} [refresh] - This is a boolean value. Select `true` to - * remove temporary cache files on payment gateway and replace with the latest one. + * @property {boolean} [refresh] - Select `true` to remove temporary cache files + * on payment gateway and replace with the latest one. * @property {string} [cardReference] - Card reference id of user's debit or credit card. - * @property {string} orderType - The order type of shipment * HomeDelivery - If - * the customer wants the order home-delivered * PickAtStore - If the customer + * @property {string} orderType - The order type of shipment HomeDelivery - If + * the customer wants the order home-delivered PickAtStore - If the customer * wants the handover of an order at the store itself. - * @property {string} [userDetails] - URIencoded JSON containing details of an + * @property {string} [userDetails] - URLencoded JSON containing details of an * anonymous user. */ /** @typedef GetRupifiBannerDetailsParam */ @@ -143,22 +145,20 @@ export = PaymentApplicationValidator; */ /** * @typedef OutstandingOrderDetailsParam - * @property {string} [aggregator] + * @property {string} [aggregator] - Merchant user ID as value. */ /** * @typedef PaidOrderDetailsParam - * @property {string} [aggregator] + * @property {string} [aggregator] - Merchant user ID as value. */ /** * @typedef PollingPaymentLinkParam - * @property {string} [paymentLinkId] + * @property {string} [paymentLinkId] - Unique payment link id. */ /** * @typedef RedirectToAggregatorParam - * @property {string} [source] - This is a String value that contains callback - * URL as value. - * @property {string} [aggregator] - This is a String value that contains - * aggregator name as value. + * @property {string} [source] - Callback URL to get callback from aggregator. + * @property {string} [aggregator] - Aggregator name. */ /** * @typedef RenderHTMLParam @@ -319,6 +319,10 @@ type CardDetailsParam = { * - Card first 6 digit IIN(prefix) number. */ cardInfo: string; + /** + * - This is a string value describing the + * aggregator name. + */ aggregator?: string; }; type CheckAndUpdatePaymentStatusParam = { @@ -328,6 +332,9 @@ type CheckAndUpdatePaymentStatusPaymentLinkParam = { body: PaymentApplicationModel.PaymentStatusUpdateRequest; }; type CheckCreditParam = { + /** + * - Aggregator name. + */ aggregator?: string; }; type CreateOrderHandlerPaymentLinkParam = { @@ -340,6 +347,9 @@ type CreatePaymentOrderParam = { body: PaymentApplicationModel.PaymentOrderRequest; }; type CustomerCreditSummaryParam = { + /** + * - Aggregator name. + */ aggregator?: string; }; type CustomerOnboardParam = { @@ -355,19 +365,26 @@ type EnableOrDisableRefundTransferModeParam = { body: PaymentApplicationModel.UpdateRefundTransferModeRequest; }; type GetActiveCardAggregatorParam = { + /** + * - Select `true` to remove temporary cache files + * on payment gateway and replace with the latest one. + */ refresh?: boolean; }; type GetActiveUserCardsParam = { + /** + * - Select `true` to clear the cache. + */ forceRefresh?: boolean; }; type GetAggregatorsConfigParam = { /** - * - Used for basic authentication. + * - Basic auth token. */ xApiToken?: string; /** - * - This is a boolean value. Select `true` to - * remove temporary cache files on payment gateway and replace with the latest one. + * - Select `true` to remove temporary cache files + * on payment gateway and replace with the latest one. */ refresh?: boolean; }; @@ -379,6 +396,9 @@ type GetOrderBeneficiariesDetailParam = { orderId: string; }; type GetPaymentLinkParam = { + /** + * - Unique payment link id. + */ paymentLinkId?: string; }; type GetPaymentModeRoutesParam = { @@ -395,33 +415,39 @@ type GetPaymentModeRoutesParam = { */ checkoutMode?: string; /** - * - This is a boolean value. Select `true` to - * remove temporary cache files on payment gateway and replace with the latest one. + * - Select `true` to remove temporary cache files + * on payment gateway and replace with the latest one. */ refresh?: boolean; + /** + * - Identifier of the order, order_id. + */ orderId?: string; /** * - Card reference id of user's debit or credit card. */ cardReference?: string; /** - * - URIencoded JSON containing details of an + * - URLencoded JSON containing details of an * anonymous user. */ userDetails?: string; /** - * - Display Split Payment Option or not + * - Display Split Payment Option or not. */ displaySplit?: boolean; /** - * - Display Advance Payment Options or Normal + * - Display Advance Payment Options or Normal. */ advancePayment?: boolean; + /** + * - Identifier of the shipment, shipment_id. + */ shipmentId?: string; }; type GetPaymentModeRoutesPaymentLinkParam = { /** - * - Payment link id + * - Payment link id. */ paymentLinkId: string; }; @@ -435,7 +461,7 @@ type GetPosPaymentModeRoutesParam = { */ cartId?: string; /** - * - The PIN Code of the destination address, e.g. 400059 + * - The PIN Code of the destination address, e.g. 400059. */ pincode: string; /** @@ -443,8 +469,8 @@ type GetPosPaymentModeRoutesParam = { */ checkoutMode?: string; /** - * - This is a boolean value. Select `true` to - * remove temporary cache files on payment gateway and replace with the latest one. + * - Select `true` to remove temporary cache files + * on payment gateway and replace with the latest one. */ refresh?: boolean; /** @@ -452,13 +478,13 @@ type GetPosPaymentModeRoutesParam = { */ cardReference?: string; /** - * - The order type of shipment * HomeDelivery - If - * the customer wants the order home-delivered * PickAtStore - If the customer + * - The order type of shipment HomeDelivery - If + * the customer wants the order home-delivered PickAtStore - If the customer * wants the handover of an order at the store itself. */ orderType: string; /** - * - URIencoded JSON containing details of an + * - URLencoded JSON containing details of an * anonymous user. */ userDetails?: string; @@ -480,23 +506,30 @@ type LinkWalletParam = { body: PaymentApplicationModel.WalletVerifyRequestSchema; }; type OutstandingOrderDetailsParam = { + /** + * - Merchant user ID as value. + */ aggregator?: string; }; type PaidOrderDetailsParam = { + /** + * - Merchant user ID as value. + */ aggregator?: string; }; type PollingPaymentLinkParam = { + /** + * - Unique payment link id. + */ paymentLinkId?: string; }; type RedirectToAggregatorParam = { /** - * - This is a String value that contains callback - * URL as value. + * - Callback URL to get callback from aggregator. */ source?: string; /** - * - This is a String value that contains - * aggregator name as value. + * - Aggregator name. */ aggregator?: string; }; diff --git a/sdk/application/Payment/PaymentApplicationValidator.js b/sdk/application/Payment/PaymentApplicationValidator.js index b17b53ca9..2779a9127 100644 --- a/sdk/application/Payment/PaymentApplicationValidator.js +++ b/sdk/application/Payment/PaymentApplicationValidator.js @@ -25,7 +25,8 @@ const PaymentApplicationModel = require("./PaymentApplicationModel"); /** * @typedef CardDetailsParam * @property {string} cardInfo - Card first 6 digit IIN(prefix) number. - * @property {string} [aggregator] + * @property {string} [aggregator] - This is a string value describing the + * aggregator name. */ /** @@ -40,7 +41,7 @@ const PaymentApplicationModel = require("./PaymentApplicationModel"); /** * @typedef CheckCreditParam - * @property {string} [aggregator] + * @property {string} [aggregator] - Aggregator name. */ /** @@ -60,7 +61,7 @@ const PaymentApplicationModel = require("./PaymentApplicationModel"); /** * @typedef CustomerCreditSummaryParam - * @property {string} [aggregator] + * @property {string} [aggregator] - Aggregator name. */ /** @@ -85,21 +86,22 @@ const PaymentApplicationModel = require("./PaymentApplicationModel"); /** * @typedef GetActiveCardAggregatorParam - * @property {boolean} [refresh] + * @property {boolean} [refresh] - Select `true` to remove temporary cache files + * on payment gateway and replace with the latest one. */ /** @typedef GetActiveRefundTransferModesParam */ /** * @typedef GetActiveUserCardsParam - * @property {boolean} [forceRefresh] + * @property {boolean} [forceRefresh] - Select `true` to clear the cache. */ /** * @typedef GetAggregatorsConfigParam - * @property {string} [xApiToken] - Used for basic authentication. - * @property {boolean} [refresh] - This is a boolean value. Select `true` to - * remove temporary cache files on payment gateway and replace with the latest one. + * @property {string} [xApiToken] - Basic auth token. + * @property {boolean} [refresh] - Select `true` to remove temporary cache files + * on payment gateway and replace with the latest one. */ /** @typedef GetEpaylaterBannerDetailsParam */ @@ -112,7 +114,7 @@ const PaymentApplicationModel = require("./PaymentApplicationModel"); /** * @typedef GetPaymentLinkParam - * @property {string} [paymentLinkId] + * @property {string} [paymentLinkId] - Unique payment link id. */ /** @@ -120,35 +122,35 @@ const PaymentApplicationModel = require("./PaymentApplicationModel"); * @property {number} amount - Payable amount. * @property {string} [cartId] - Identifier of the cart. * @property {string} [checkoutMode] - Option to checkout for self or for others. - * @property {boolean} [refresh] - This is a boolean value. Select `true` to - * remove temporary cache files on payment gateway and replace with the latest one. - * @property {string} [orderId] + * @property {boolean} [refresh] - Select `true` to remove temporary cache files + * on payment gateway and replace with the latest one. + * @property {string} [orderId] - Identifier of the order, order_id. * @property {string} [cardReference] - Card reference id of user's debit or credit card. - * @property {string} [userDetails] - URIencoded JSON containing details of an + * @property {string} [userDetails] - URLencoded JSON containing details of an * anonymous user. - * @property {boolean} [displaySplit] - Display Split Payment Option or not - * @property {boolean} [advancePayment] - Display Advance Payment Options or Normal - * @property {string} [shipmentId] + * @property {boolean} [displaySplit] - Display Split Payment Option or not. + * @property {boolean} [advancePayment] - Display Advance Payment Options or Normal. + * @property {string} [shipmentId] - Identifier of the shipment, shipment_id. */ /** * @typedef GetPaymentModeRoutesPaymentLinkParam - * @property {string} paymentLinkId - Payment link id + * @property {string} paymentLinkId - Payment link id. */ /** * @typedef GetPosPaymentModeRoutesParam * @property {number} amount - Payable amount. * @property {string} [cartId] - Identifier of the cart. - * @property {string} pincode - The PIN Code of the destination address, e.g. 400059 + * @property {string} pincode - The PIN Code of the destination address, e.g. 400059. * @property {string} [checkoutMode] - Option to checkout for self or for others. - * @property {boolean} [refresh] - This is a boolean value. Select `true` to - * remove temporary cache files on payment gateway and replace with the latest one. + * @property {boolean} [refresh] - Select `true` to remove temporary cache files + * on payment gateway and replace with the latest one. * @property {string} [cardReference] - Card reference id of user's debit or credit card. - * @property {string} orderType - The order type of shipment * HomeDelivery - If - * the customer wants the order home-delivered * PickAtStore - If the customer + * @property {string} orderType - The order type of shipment HomeDelivery - If + * the customer wants the order home-delivered PickAtStore - If the customer * wants the handover of an order at the store itself. - * @property {string} [userDetails] - URIencoded JSON containing details of an + * @property {string} [userDetails] - URLencoded JSON containing details of an * anonymous user. */ @@ -177,25 +179,23 @@ const PaymentApplicationModel = require("./PaymentApplicationModel"); /** * @typedef OutstandingOrderDetailsParam - * @property {string} [aggregator] + * @property {string} [aggregator] - Merchant user ID as value. */ /** * @typedef PaidOrderDetailsParam - * @property {string} [aggregator] + * @property {string} [aggregator] - Merchant user ID as value. */ /** * @typedef PollingPaymentLinkParam - * @property {string} [paymentLinkId] + * @property {string} [paymentLinkId] - Unique payment link id. */ /** * @typedef RedirectToAggregatorParam - * @property {string} [source] - This is a String value that contains callback - * URL as value. - * @property {string} [aggregator] - This is a String value that contains - * aggregator name as value. + * @property {string} [source] - Callback URL to get callback from aggregator. + * @property {string} [aggregator] - Aggregator name. */ /** diff --git a/sdk/application/Rewards/RewardsApplicationModel.d.ts b/sdk/application/Rewards/RewardsApplicationModel.d.ts index 43eecefc4..2bcddddb5 100644 --- a/sdk/application/Rewards/RewardsApplicationModel.d.ts +++ b/sdk/application/Rewards/RewardsApplicationModel.d.ts @@ -147,13 +147,13 @@ export = RewardsApplicationModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ declare class RewardsApplicationModel { } @@ -334,11 +334,32 @@ type PointsHistory = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; diff --git a/sdk/application/Rewards/RewardsApplicationModel.js b/sdk/application/Rewards/RewardsApplicationModel.js index 64e3a49a5..0e04257ac 100644 --- a/sdk/application/Rewards/RewardsApplicationModel.js +++ b/sdk/application/Rewards/RewardsApplicationModel.js @@ -167,13 +167,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ class RewardsApplicationModel { diff --git a/sdk/application/Share/ShareApplicationModel.d.ts b/sdk/application/Share/ShareApplicationModel.d.ts index 9c308ec27..c0d3a653a 100644 --- a/sdk/application/Share/ShareApplicationModel.d.ts +++ b/sdk/application/Share/ShareApplicationModel.d.ts @@ -1,88 +1,104 @@ export = ShareApplicationModel; /** * @typedef QRCodeResp - * @property {string} [link] - * @property {string} [svg] + * @property {string} [link] - Original url that was used to encoded url into a QR code. + * @property {string} [svg] - String representation of the QR Code in SVG format. */ /** * @typedef RedirectDevice - * @property {string} [link] - * @property {string} [type] + * @property {string} [link] - Fallback URL to redirect users to the app store + * or a web page if the app is not installed when they click the link. + * @property {string} [type] - Type of fallback used to redirect users to the + * app store or a web page if the app is not installed when they click the link. */ /** * @typedef WebRedirect - * @property {string} [link] - * @property {string} [type] + * @property {string} [link] - Fallback URL to redirect users to the app store + * or a web page if the app is not installed when they click the link. + * @property {string} [type] - Type of fallback used to redirect users to the + * app store or a web page if the app is not installed when they click the link. */ /** * @typedef Redirects * @property {RedirectDevice} [ios] * @property {RedirectDevice} [android] * @property {WebRedirect} [web] - * @property {boolean} [force_web] + * @property {boolean} [force_web] - Flag for overriding redirection traffic to + * the web if the app is not installed when the link is clicked. */ /** * @typedef CampaignShortLink - * @property {string} [source] - * @property {string} [medium] + * @property {string} [source] - Source of communication of campaign. + * @property {string} [medium] - Channel of communication of campaign. */ /** * @typedef Attribution - * @property {string} [campaign_cookie_expiry] + * @property {string} [campaign_cookie_expiry] - Expiration of campaign. */ /** * @typedef SocialMediaTags - * @property {string} [title] - * @property {string} [description] - * @property {string} [image] + * @property {string} [title] - Title to be displayed when link is shared on + * social media platforms. + * @property {string} [description] - Description to be displayed when link is + * shared on social media platforms. + * @property {string} [image] - Preview to be displayed when link is shared on + * social media platforms. */ /** * @typedef ShortLinkReq * @property {string} title - Give a name to the link. * @property {string} url - The web address to shorten. - * @property {string} [hash] - * @property {boolean} [active] - * @property {string} [expire_at] - * @property {boolean} [enable_tracking] + * @property {string} [hash] - A string value used for converting long URL to + * short URL and vice-versa. + * @property {boolean} [active] - Status of the shortlink. + * @property {string} [expire_at] - Expiry of the shortlink. + * @property {boolean} [enable_tracking] - Flag to enable tracking of a short link. * @property {boolean} [personalized] - To create personalized short links. * @property {CampaignShortLink} [campaign] * @property {Redirects} [redirects] * @property {Attribution} [attribution] * @property {SocialMediaTags} [social_media_tags] - * @property {number} [count] + * @property {number} [count] - Click count of shortlink. */ /** * @typedef UrlInfo - * @property {string} [original] - * @property {string} [hash] - * @property {string} [short_url] + * @property {string} [original] - Original web address which will be converted + * to shortlink. + * @property {string} [hash] - A string value used for converting long URL to + * short URL and vice-versa. + * @property {string} [short_url] - Condensed version of a longer URL, + * redirecting to the original page upon being clicked. */ /** * @typedef ShortLinkRes - * @property {string} [title] + * @property {string} [title] - Name reference of the shortlink. * @property {UrlInfo} [url] - * @property {string} [created_by] - * @property {boolean} [app_redirect] - * @property {string} [fallback] - * @property {boolean} [active] - * @property {string} [_id] - * @property {boolean} [enable_tracking] - * @property {string} [expire_at] - * @property {string} [application] - * @property {string} [user_id] - * @property {string} [created_at] - * @property {Object} [meta] - * @property {string} [updated_at] - * @property {boolean} [personalized] - To create personalized short links + * @property {string} [created_by] - Reference of the creator of the shortlink. + * @property {boolean} [app_redirect] - Application redirection flag of shortlink. + * @property {string} [fallback] - Fallback attributes of shortlink. + * @property {boolean} [active] - Status of the shortlink. + * @property {string} [_id] - Key used to uniquely identify document that + * contains shortlink details. + * @property {boolean} [enable_tracking] - Flag to enable tracking of a short link. + * @property {string} [expire_at] - Expiry of the shortlink. + * @property {string} [application] - The ID of the sales channel associated + * with the shortlink. + * @property {string} [user_id] - Identifier which can uniquely identify the user. + * @property {string} [created_at] - The timestamp indicating when a record was + * initially created. + * @property {Object} [meta] - Additional attributes of shortlink. + * @property {string} [updated_at] - The timestamp indicating when a record was + * last modified or updated. + * @property {boolean} [personalized] - To create personalized short links. * @property {CampaignShortLink} [campaign] * @property {Redirects} [redirects] * @property {Attribution} [attribution] * @property {SocialMediaTags} [social_media_tags] - * @property {number} [count] + * @property {number} [count] - Click count of shortlink. */ /** * @typedef ErrorRes - * @property {string} [message] + * @property {string} [message] - Error message providing details about the error. */ declare class ShareApplicationModel { } @@ -92,19 +108,41 @@ declare namespace ShareApplicationModel { /** @returns {QRCodeResp} */ declare function QRCodeResp(): QRCodeResp; type QRCodeResp = { + /** + * - Original url that was used to encoded url into a QR code. + */ link?: string; + /** + * - String representation of the QR Code in SVG format. + */ svg?: string; }; /** @returns {RedirectDevice} */ declare function RedirectDevice(): RedirectDevice; type RedirectDevice = { + /** + * - Fallback URL to redirect users to the app store + * or a web page if the app is not installed when they click the link. + */ link?: string; + /** + * - Type of fallback used to redirect users to the + * app store or a web page if the app is not installed when they click the link. + */ type?: string; }; /** @returns {WebRedirect} */ declare function WebRedirect(): WebRedirect; type WebRedirect = { + /** + * - Fallback URL to redirect users to the app store + * or a web page if the app is not installed when they click the link. + */ link?: string; + /** + * - Type of fallback used to redirect users to the + * app store or a web page if the app is not installed when they click the link. + */ type?: string; }; /** @returns {Redirects} */ @@ -113,24 +151,49 @@ type Redirects = { ios?: RedirectDevice; android?: RedirectDevice; web?: WebRedirect; + /** + * - Flag for overriding redirection traffic to + * the web if the app is not installed when the link is clicked. + */ force_web?: boolean; }; /** @returns {CampaignShortLink} */ declare function CampaignShortLink(): CampaignShortLink; type CampaignShortLink = { + /** + * - Source of communication of campaign. + */ source?: string; + /** + * - Channel of communication of campaign. + */ medium?: string; }; /** @returns {Attribution} */ declare function Attribution(): Attribution; type Attribution = { + /** + * - Expiration of campaign. + */ campaign_cookie_expiry?: string; }; /** @returns {SocialMediaTags} */ declare function SocialMediaTags(): SocialMediaTags; type SocialMediaTags = { + /** + * - Title to be displayed when link is shared on + * social media platforms. + */ title?: string; + /** + * - Description to be displayed when link is + * shared on social media platforms. + */ description?: string; + /** + * - Preview to be displayed when link is shared on + * social media platforms. + */ image?: string; }; /** @returns {ShortLinkReq} */ @@ -144,9 +207,22 @@ type ShortLinkReq = { * - The web address to shorten. */ url: string; + /** + * - A string value used for converting long URL to + * short URL and vice-versa. + */ hash?: string; + /** + * - Status of the shortlink. + */ active?: boolean; + /** + * - Expiry of the shortlink. + */ expire_at?: string; + /** + * - Flag to enable tracking of a short link. + */ enable_tracking?: boolean; /** * - To create personalized short links. @@ -156,44 +232,108 @@ type ShortLinkReq = { redirects?: Redirects; attribution?: Attribution; social_media_tags?: SocialMediaTags; + /** + * - Click count of shortlink. + */ count?: number; }; /** @returns {UrlInfo} */ declare function UrlInfo(): UrlInfo; type UrlInfo = { + /** + * - Original web address which will be converted + * to shortlink. + */ original?: string; + /** + * - A string value used for converting long URL to + * short URL and vice-versa. + */ hash?: string; + /** + * - Condensed version of a longer URL, + * redirecting to the original page upon being clicked. + */ short_url?: string; }; /** @returns {ShortLinkRes} */ declare function ShortLinkRes(): ShortLinkRes; type ShortLinkRes = { + /** + * - Name reference of the shortlink. + */ title?: string; url?: UrlInfo; + /** + * - Reference of the creator of the shortlink. + */ created_by?: string; + /** + * - Application redirection flag of shortlink. + */ app_redirect?: boolean; + /** + * - Fallback attributes of shortlink. + */ fallback?: string; + /** + * - Status of the shortlink. + */ active?: boolean; + /** + * - Key used to uniquely identify document that + * contains shortlink details. + */ _id?: string; + /** + * - Flag to enable tracking of a short link. + */ enable_tracking?: boolean; + /** + * - Expiry of the shortlink. + */ expire_at?: string; + /** + * - The ID of the sales channel associated + * with the shortlink. + */ application?: string; + /** + * - Identifier which can uniquely identify the user. + */ user_id?: string; + /** + * - The timestamp indicating when a record was + * initially created. + */ created_at?: string; + /** + * - Additional attributes of shortlink. + */ meta?: any; + /** + * - The timestamp indicating when a record was + * last modified or updated. + */ updated_at?: string; /** - * - To create personalized short links + * - To create personalized short links. */ personalized?: boolean; campaign?: CampaignShortLink; redirects?: Redirects; attribution?: Attribution; social_media_tags?: SocialMediaTags; + /** + * - Click count of shortlink. + */ count?: number; }; /** @returns {ErrorRes} */ declare function ErrorRes(): ErrorRes; type ErrorRes = { + /** + * - Error message providing details about the error. + */ message?: string; }; diff --git a/sdk/application/Share/ShareApplicationModel.js b/sdk/application/Share/ShareApplicationModel.js index c715751c5..2e798a995 100644 --- a/sdk/application/Share/ShareApplicationModel.js +++ b/sdk/application/Share/ShareApplicationModel.js @@ -2,20 +2,24 @@ const Joi = require("joi"); /** * @typedef QRCodeResp - * @property {string} [link] - * @property {string} [svg] + * @property {string} [link] - Original url that was used to encoded url into a QR code. + * @property {string} [svg] - String representation of the QR Code in SVG format. */ /** * @typedef RedirectDevice - * @property {string} [link] - * @property {string} [type] + * @property {string} [link] - Fallback URL to redirect users to the app store + * or a web page if the app is not installed when they click the link. + * @property {string} [type] - Type of fallback used to redirect users to the + * app store or a web page if the app is not installed when they click the link. */ /** * @typedef WebRedirect - * @property {string} [link] - * @property {string} [type] + * @property {string} [link] - Fallback URL to redirect users to the app store + * or a web page if the app is not installed when they click the link. + * @property {string} [type] - Type of fallback used to redirect users to the + * app store or a web page if the app is not installed when they click the link. */ /** @@ -23,77 +27,89 @@ const Joi = require("joi"); * @property {RedirectDevice} [ios] * @property {RedirectDevice} [android] * @property {WebRedirect} [web] - * @property {boolean} [force_web] + * @property {boolean} [force_web] - Flag for overriding redirection traffic to + * the web if the app is not installed when the link is clicked. */ /** * @typedef CampaignShortLink - * @property {string} [source] - * @property {string} [medium] + * @property {string} [source] - Source of communication of campaign. + * @property {string} [medium] - Channel of communication of campaign. */ /** * @typedef Attribution - * @property {string} [campaign_cookie_expiry] + * @property {string} [campaign_cookie_expiry] - Expiration of campaign. */ /** * @typedef SocialMediaTags - * @property {string} [title] - * @property {string} [description] - * @property {string} [image] + * @property {string} [title] - Title to be displayed when link is shared on + * social media platforms. + * @property {string} [description] - Description to be displayed when link is + * shared on social media platforms. + * @property {string} [image] - Preview to be displayed when link is shared on + * social media platforms. */ /** * @typedef ShortLinkReq * @property {string} title - Give a name to the link. * @property {string} url - The web address to shorten. - * @property {string} [hash] - * @property {boolean} [active] - * @property {string} [expire_at] - * @property {boolean} [enable_tracking] + * @property {string} [hash] - A string value used for converting long URL to + * short URL and vice-versa. + * @property {boolean} [active] - Status of the shortlink. + * @property {string} [expire_at] - Expiry of the shortlink. + * @property {boolean} [enable_tracking] - Flag to enable tracking of a short link. * @property {boolean} [personalized] - To create personalized short links. * @property {CampaignShortLink} [campaign] * @property {Redirects} [redirects] * @property {Attribution} [attribution] * @property {SocialMediaTags} [social_media_tags] - * @property {number} [count] + * @property {number} [count] - Click count of shortlink. */ /** * @typedef UrlInfo - * @property {string} [original] - * @property {string} [hash] - * @property {string} [short_url] + * @property {string} [original] - Original web address which will be converted + * to shortlink. + * @property {string} [hash] - A string value used for converting long URL to + * short URL and vice-versa. + * @property {string} [short_url] - Condensed version of a longer URL, + * redirecting to the original page upon being clicked. */ /** * @typedef ShortLinkRes - * @property {string} [title] + * @property {string} [title] - Name reference of the shortlink. * @property {UrlInfo} [url] - * @property {string} [created_by] - * @property {boolean} [app_redirect] - * @property {string} [fallback] - * @property {boolean} [active] - * @property {string} [_id] - * @property {boolean} [enable_tracking] - * @property {string} [expire_at] - * @property {string} [application] - * @property {string} [user_id] - * @property {string} [created_at] - * @property {Object} [meta] - * @property {string} [updated_at] - * @property {boolean} [personalized] - To create personalized short links + * @property {string} [created_by] - Reference of the creator of the shortlink. + * @property {boolean} [app_redirect] - Application redirection flag of shortlink. + * @property {string} [fallback] - Fallback attributes of shortlink. + * @property {boolean} [active] - Status of the shortlink. + * @property {string} [_id] - Key used to uniquely identify document that + * contains shortlink details. + * @property {boolean} [enable_tracking] - Flag to enable tracking of a short link. + * @property {string} [expire_at] - Expiry of the shortlink. + * @property {string} [application] - The ID of the sales channel associated + * with the shortlink. + * @property {string} [user_id] - Identifier which can uniquely identify the user. + * @property {string} [created_at] - The timestamp indicating when a record was + * initially created. + * @property {Object} [meta] - Additional attributes of shortlink. + * @property {string} [updated_at] - The timestamp indicating when a record was + * last modified or updated. + * @property {boolean} [personalized] - To create personalized short links. * @property {CampaignShortLink} [campaign] * @property {Redirects} [redirects] * @property {Attribution} [attribution] * @property {SocialMediaTags} [social_media_tags] - * @property {number} [count] + * @property {number} [count] - Click count of shortlink. */ /** * @typedef ErrorRes - * @property {string} [message] + * @property {string} [message] - Error message providing details about the error. */ class ShareApplicationModel { diff --git a/sdk/application/Share/ShareApplicationValidator.d.ts b/sdk/application/Share/ShareApplicationValidator.d.ts index 8ffb896c7..d2bf00784 100644 --- a/sdk/application/Share/ShareApplicationValidator.d.ts +++ b/sdk/application/Share/ShareApplicationValidator.d.ts @@ -26,7 +26,8 @@ export = ShareApplicationValidator; */ /** * @typedef GetUrlQRCodeParam - * @property {string} url - A link or a web address + * @property {string} url - A link or a web address of a given URL transformed + * into a scannable QR code. */ declare class ShareApplicationValidator { /** @returns {CreateShortLinkParam} */ @@ -80,7 +81,8 @@ type GetShortLinkByHashParam = { }; type GetUrlQRCodeParam = { /** - * - A link or a web address + * - A link or a web address of a given URL transformed + * into a scannable QR code. */ url: string; }; diff --git a/sdk/application/Share/ShareApplicationValidator.js b/sdk/application/Share/ShareApplicationValidator.js index ce4161ab2..486f27786 100644 --- a/sdk/application/Share/ShareApplicationValidator.js +++ b/sdk/application/Share/ShareApplicationValidator.js @@ -35,7 +35,8 @@ const ShareApplicationModel = require("./ShareApplicationModel"); /** * @typedef GetUrlQRCodeParam - * @property {string} url - A link or a web address + * @property {string} url - A link or a web address of a given URL transformed + * into a scannable QR code. */ class ShareApplicationValidator { diff --git a/sdk/application/Theme/ThemeApplicationClient.d.ts b/sdk/application/Theme/ThemeApplicationClient.d.ts index b5c181031..71b1e4267 100644 --- a/sdk/application/Theme/ThemeApplicationClient.d.ts +++ b/sdk/application/Theme/ThemeApplicationClient.d.ts @@ -17,7 +17,7 @@ declare class Theme { * @returns {Promise} - Success response * @name getAllPages * @summary: List pages - * @description: Get all page level configs, sections and SEO data of a theme - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/theme/getAllPages/). + * @description: Get all page level configs, sections and seo data of a theme. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/theme/getAllPages/). */ getAllPages({ themeId, requestHeaders }?: ThemeApplicationValidator.GetAllPagesParam, { responseHeaders }?: object): Promise; /** @@ -37,9 +37,9 @@ declare class Theme { * @returns {Promise} - Success response * @name getPage * @summary: Get theme page - * @description: Get page level configurations, applied sections and SEO data of a page by `page_value` received from list pages API - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/theme/getPage/). + * @description: Get page level configurations, applied sections and seo data of a page by `page_value` received from list pages api. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/theme/getPage/). */ - getPage({ themeId, pageValue, filters, company, requestHeaders }?: ThemeApplicationValidator.GetPageParam, { responseHeaders }?: object): Promise; + getPage({ themeId, pageValue, filters, sectionPreviewHash, company, requestHeaders, }?: ThemeApplicationValidator.GetPageParam, { responseHeaders }?: object): Promise; /** * @param {ThemeApplicationValidator.GetThemeForPreviewParam} arg - Arg object. * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` @@ -47,7 +47,7 @@ declare class Theme { * @returns {Promise} - Success response * @name getThemeForPreview * @summary: Get theme for preview - * @description: Gets the theme configuration and template details of a theme by theme Id. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/theme/getThemeForPreview/). + * @description: Gets the theme configuration and template details of a theme by theme id. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/theme/getThemeForPreview/). */ getThemeForPreview({ themeId, requestHeaders }?: ThemeApplicationValidator.GetThemeForPreviewParam, { responseHeaders }?: object): Promise; } diff --git a/sdk/application/Theme/ThemeApplicationClient.js b/sdk/application/Theme/ThemeApplicationClient.js index a40e14115..b25c5c5af 100644 --- a/sdk/application/Theme/ThemeApplicationClient.js +++ b/sdk/application/Theme/ThemeApplicationClient.js @@ -42,7 +42,7 @@ class Theme { * @returns {Promise} - Success response * @name getAllPages * @summary: List pages - * @description: Get all page level configs, sections and SEO data of a theme - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/theme/getAllPages/). + * @description: Get all page level configs, sections and seo data of a theme. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/theme/getAllPages/). */ async getAllPages( { themeId, requestHeaders } = { requestHeaders: {} }, @@ -198,16 +198,21 @@ class Theme { * @returns {Promise} - Success response * @name getPage * @summary: Get theme page - * @description: Get page level configurations, applied sections and SEO data of a page by `page_value` received from list pages API - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/theme/getPage/). + * @description: Get page level configurations, applied sections and seo data of a page by `page_value` received from list pages api. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/theme/getPage/). */ async getPage( - { themeId, pageValue, filters, company, requestHeaders } = { - requestHeaders: {}, - }, + { + themeId, + pageValue, + filters, + sectionPreviewHash, + company, + requestHeaders, + } = { requestHeaders: {} }, { responseHeaders } = { responseHeaders: false } ) { const { error } = ThemeApplicationValidator.getPage().validate( - { themeId, pageValue, filters, company }, + { themeId, pageValue, filters, sectionPreviewHash, company }, { abortEarly: false, allowUnknown: true } ); if (error) { @@ -216,7 +221,7 @@ class Theme { // Showing warrnings if extra unknown parameters are found const { error: warrning } = ThemeApplicationValidator.getPage().validate( - { themeId, pageValue, filters, company }, + { themeId, pageValue, filters, sectionPreviewHash, company }, { abortEarly: false, allowUnknown: false } ); if (warrning) { @@ -228,6 +233,7 @@ class Theme { const query_params = {}; query_params["filters"] = filters; + query_params["section_preview_hash"] = sectionPreviewHash; query_params["company"] = company; const xHeaders = {}; @@ -278,7 +284,7 @@ class Theme { * @returns {Promise} - Success response * @name getThemeForPreview * @summary: Get theme for preview - * @description: Gets the theme configuration and template details of a theme by theme Id. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/theme/getThemeForPreview/). + * @description: Gets the theme configuration and template details of a theme by theme id. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/theme/getThemeForPreview/). */ async getThemeForPreview( { themeId, requestHeaders } = { requestHeaders: {} }, diff --git a/sdk/application/Theme/ThemeApplicationModel.d.ts b/sdk/application/Theme/ThemeApplicationModel.d.ts index a1f3cf8ab..f8e06d279 100644 --- a/sdk/application/Theme/ThemeApplicationModel.d.ts +++ b/sdk/application/Theme/ThemeApplicationModel.d.ts @@ -1,69 +1,87 @@ export = ThemeApplicationModel; /** * @typedef AllAvailablePageSchema - * @property {AvailablePageSchema[]} [pages] + * @property {AvailablePageSchema[]} [pages] - List all the pages. */ /** * @typedef AvailablePageSchema - * @property {string} [value] - * @property {string} [text] - * @property {string} [path] - * @property {string} [type] - * @property {AvailablePageSchemaSections[]} [sections] - * @property {AvailablePageSectionMetaAttributes[]} [sections_meta] - * @property {string} [theme] + * @property {string} [value] - The name of the page. For example, 'about-us'. + * @property {string} [text] - The textual content associated with the page. For + * example, 'about us'. + * @property {string} [path] - The url path for the page. For example, 'about-us'. + * @property {string} [type] - The type of the page, which can be 'system', + * 'custom', or 'sections'. + * @property {AvailablePageSchemaSections[]} [sections] - An array of sections + * that make up the page. + * @property {AvailablePageSectionMetaAttributes[]} [sections_meta] - An array + * of metadata attributes for the sections of the page, each represented by an object. + * @property {string} [theme] - The unique identifier for the theme associated + * with the section. * @property {AvailablePageSeo} [seo] - * @property {Object[]} [props] - * @property {string} [_id] + * @property {Object[]} [props] - An array of properties associated with the + * object, where each property is represented as an object. + * @property {string} [_id] - The unique identifier for the object. */ /** * @typedef AvailablePageSectionMetaAttributes - * @property {Object} [attributes] + * @property {Object} [attributes] - A key-value pair object containing metadata + * attributes for the section. */ /** * @typedef SEOMetaItem - * @property {string} [title] - * @property {SEOMetaItems[]} [items] + * @property {string} [title] - The title of the meta tag item. + * @property {SEOMetaItems[]} [items] - An array of items within the meta tag, + * each represented by an object. */ /** * @typedef SEOMetaItems - * @property {string} [key] - * @property {string} [value] + * @property {string} [key] - The key of the meta tag item. + * @property {string} [value] - The value of the meta tag item. */ /** * @typedef SEOSitemap - * @property {number} [priority] - * @property {string} [frequency] + * @property {number} [priority] - The priority of the page in the sitemap, + * typically a value between 0.0 And 1.0. + * @property {string} [frequency] - The frequency with which the content of the + * page is likely to change, such as 'always', 'hourly', 'daily', 'weekly', + * 'monthly', 'yearly', or 'never'. */ /** * @typedef SEObreadcrumb - * @property {string} [url] + * @property {string} [url] - The url associated with the breadcrumb. * @property {Action} [action] */ /** * @typedef Action - * @property {string} [type] + * @property {string} [type] - Type of action to be taken e.g, page. * @property {ActionPage} [page] * @property {ActionPage} [popup] */ /** * @typedef AvailablePageSeo - * @property {string} [title] - * @property {string} [description] - * @property {string} [canonical_url] - * @property {SEOMetaItem[]} [meta_tags] + * @property {string} [title] - The seo title of the page. + * @property {string} [description] - The seo description of the page. + * @property {string} [canonical_url] - The canonical url of the page. + * @property {SEOMetaItem[]} [meta_tags] - An array of meta tags for the page, + * each represented by an object. * @property {SEOSitemap} [sitemap] - * @property {SEObreadcrumb[]} [breadcrumb] - * @property {string} [_id] + * @property {SEObreadcrumb[]} [breadcrumb] - An array representing breadcrumb + * navigation, where each item provides information about a step in the + * navigation path. + * @property {string} [_id] - The unique identifier for the object. */ /** * @typedef AvailablePageSchemaSections - * @property {string} [name] - * @property {string} [label] - * @property {string} [source] - * @property {Object} [props] - * @property {Object[]} [blocks] - * @property {Object} [preset] + * @property {string} [name] - The name of the section. + * @property {string} [label] - A label for the section, which can be used for + * display purposes. + * @property {string} [source] - The source of the section, for example, 'themebundle'. + * @property {Object} [props] - An object containing various properties + * associated with the section. + * @property {Object[]} [blocks] - An array of blocks within the section, where + * each block is represented as an object. + * @property {Object} [preset] - An object containing preset configurations for + * the section. * @property {AvailablePagePredicate} [predicate] */ /** @@ -73,57 +91,64 @@ export = ThemeApplicationModel; * @property {AvailablePageRoutePredicate} [route] * @property {AvailablePageSchedulePredicate} [schedule] * @property {AvailablePagePlatformPredicate} [platform] - * @property {string[]} [zones] - An array of zone ids associated with the section + * @property {string[]} [zones] - An array of zone ids associated with the section. */ /** * @typedef AvailablePageScreenPredicate - * @property {boolean} [mobile] - * @property {boolean} [desktop] - * @property {boolean} [tablet] + * @property {boolean} [mobile] - Indicates if the predicate applies to mobile screens. + * @property {boolean} [desktop] - Indicates if the predicate applies to desktop screens. + * @property {boolean} [tablet] - Indicates if the predicate applies to tablet screens. */ /** * @typedef AvailablePageUserPredicate - * @property {boolean} [authenticated] - * @property {boolean} [anonymous] + * @property {boolean} [authenticated] - Indicates if the predicate applies to + * authenticated users. + * @property {boolean} [anonymous] - Indicates if the predicate applies to + * anonymous users. */ /** * @typedef AvailablePageRoutePredicate - * @property {string} [selected] - * @property {string} [exact_url] - * @property {Object} [query] + * @property {string} [selected] - Specifies the type of route selection, which + * can be 'none', 'exact', or 'query'. + * @property {string} [exact_url] - The exact url for the route when 'selected' + * is set to 'exact'. + * @property {Object} [query] - An object representing query parameters for the + * route when 'selected' is set to 'query'. */ /** * @typedef AvailablePageSchedulePredicate - * @property {string} [cron] - * @property {string} [start] - * @property {string} [end] + * @property {string} [cron] - A cron expression specifying the schedule for the + * predicate. + * @property {string} [start] - The start date and time for the schedule, in iso + * 8601 format. + * @property {string} [end] - The end date and time for the schedule, in iso 8601 format. */ /** * @typedef ThemesSchema * @property {Font} [font] * @property {Config} [config] - * @property {boolean} [applied] - Whether the theme has been applied or not - * @property {boolean} [is_private] - Whether the theme is private or not - * @property {string[]} [tags] - An array of tags associated with the theme - * @property {string} [_id] - The unique identifier of the theme - * @property {string} [application_id] - The ID of the application - * @property {string} [marketplace_theme_id] - The ID of the theme in the marketplace + * @property {boolean} [applied] - Whether the theme has been applied or not. + * @property {boolean} [is_private] - Whether the theme is private or not. + * @property {string[]} [tags] - An array of tags associated with the theme. + * @property {string} [_id] - The unique identifier of the theme. + * @property {string} [application_id] - The id of the application. + * @property {string} [marketplace_theme_id] - The id of the theme in the marketplace. * @property {ThemeMeta} [meta] - * @property {string} [name] - The name of the theme - * @property {string} [template_theme_id] - The ID of the template theme - * @property {string} [version] - The version of the theme - * @property {Object} [styles] - The styles associated with the theme - * @property {string} [created_at] - The creation timestamp of the theme - * @property {string} [updated_at] - The last update timestamp of the theme + * @property {string} [name] - The name of the theme. + * @property {string} [template_theme_id] - The id of the template theme. + * @property {string} [version] - The version of the theme. + * @property {Object} [styles] - The styles associated with the theme. + * @property {string} [created_at] - The creation timestamp of the theme. + * @property {string} [updated_at] - The last update timestamp of the theme. * @property {Assets} [assets] - * @property {SectionItem[]} [available_sections] - Available sections information - * @property {string} [theme_type] - * @property {number} [company_id] - The company id in which sales channel exists + * @property {SectionItem[]} [available_sections] - Available sections information. + * @property {string} [theme_type] - The theme or category type associated with the page. + * @property {number} [company_id] - The company id in which sales channel exists. */ /** * @typedef Font * @property {FontVariants} variants - * @property {string} family - The font family + * @property {string} family - The font family. */ /** * @typedef FontVariants @@ -135,21 +160,23 @@ export = ThemeApplicationModel; */ /** * @typedef FontVariant - * @property {string} name - The name of the font variant - * @property {string} file - The URL of the font file + * @property {string} name - The name of the font variant. + * @property {string} file - The url of the font file. */ /** * @typedef Config - * @property {string} current - The current configuration - * @property {ThemeConfiguration[]} list - A list of configurations + * @property {string} current - The current configuration. + * @property {ThemeConfiguration[]} list - A list of configurations. * @property {GlobalSchema} [global_schema] * @property {Preset} [preset] */ /** * @typedef ThemeConfiguration - * @property {string} [name] - The name of the configuration - * @property {Object} [global_config] - * @property {string[]} [page] - An array of pages + * @property {string} [name] - The name of the configuration. + * @property {Object} [global_config] - A global configuration object containing + * various settings for the theme. + * @property {string[]} [page] - An array of pages associated with the theme + * configuration. */ /** * @typedef CustomConfig @@ -157,41 +184,41 @@ export = ThemeApplicationModel; */ /** * @typedef CustomProps - * @property {string} [header_bg_color] - The header background color - * @property {string} [header_text_color] - The header text color - * @property {string} [header_border_color] - The header border color - * @property {string} [header_icon_color] - The header icon color + * @property {string} [header_bg_color] - The header background color. + * @property {string} [header_text_color] - The header text color. + * @property {string} [header_border_color] - The header border color. + * @property {string} [header_icon_color] - The header icon color. * @property {string} [header_cart_notification_bg_color] - The header cart - * notification background color + * notification background color. * @property {string} [header_cart_notification_text_color] - The header cart - * notification text color - * @property {string} [header_nav_hover_color] - The header navigation hover color - * @property {string} [button_primary_color] - The primary button color - * @property {string} [button_primary_label_color] - The primary button label color - * @property {string} [button_add_to_cart_color] - The add to cart button color + * notification text color. + * @property {string} [header_nav_hover_color] - The header navigation hover color. + * @property {string} [button_primary_color] - The primary button color. + * @property {string} [button_primary_label_color] - The primary button label color. + * @property {string} [button_add_to_cart_color] - The add to cart button color. * @property {string} [button_add_to_cart_label_color] - The add to cart button - * label color - * @property {string} [button_secondary_color] - The secondary button color - * @property {string} [button_secondary_label_color] - The secondary button label color - * @property {string} [button_tertiary_color] - The tertiary button color - * @property {string} [button_tertiary_label_color] - The tertiary button label color - * @property {string} [button_tertiary_hover_color] - The tertiary button hover color + * label color. + * @property {string} [button_secondary_color] - The secondary button color. + * @property {string} [button_secondary_label_color] - The secondary button label color. + * @property {string} [button_tertiary_color] - The tertiary button color. + * @property {string} [button_tertiary_label_color] - The tertiary button label color. + * @property {string} [button_tertiary_hover_color] - The tertiary button hover color. * @property {string} [button_tertiary_hover_text_color] - The tertiary button - * hover text color - * @property {string} [text_heading_link_color] - The text heading link color - * @property {string} [text_body_color] - The text body color - * @property {string} [text_price_color] - The text price color - * @property {string} [text_sale_price_color] - The text sale price color + * hover text color. + * @property {string} [text_heading_link_color] - The text heading link color. + * @property {string} [text_body_color] - The text body color. + * @property {string} [text_price_color] - The text price color. + * @property {string} [text_sale_price_color] - The text sale price color. * @property {string} [text_strikethrough_price_color] - The text strikethrough - * price color - * @property {string} [text_discount_color] - The text discount color - * @property {string} [footer_bg_color] - The footer background color - * @property {string} [footer_text_color] - The footer text color - * @property {string} [footer_border_color] - The footer border color - * @property {string} [footer_nav_hover_color] - The footer navigation hover color - * @property {boolean} [disable_cart] - Whether to disable the cart or not - * @property {boolean} [is_menu_below_logo] - Whether the menu is below the logo or not - * @property {string} [menu_position] - The position of the menu + * price color. + * @property {string} [text_discount_color] - The text discount color. + * @property {string} [footer_bg_color] - The footer background color. + * @property {string} [footer_text_color] - The footer text color. + * @property {string} [footer_border_color] - The footer border color. + * @property {string} [footer_nav_hover_color] - The footer navigation hover color. + * @property {boolean} [disable_cart] - Whether to disable the cart or not. + * @property {boolean} [is_menu_below_logo] - Whether the menu is below the logo or not. + * @property {string} [menu_position] - The position of the menu. */ /** * @typedef GlobalConfig @@ -215,61 +242,61 @@ export = ThemeApplicationModel; */ /** * @typedef UserAlertsSetting - * @property {string} [success_background] - The success background color - * @property {string} [success_text] - The success text color - * @property {string} [error_background] - The error background color - * @property {string} [error_text] - The error text color - * @property {string} [info_background] - The info background color - * @property {string} [info_text] - The info text color + * @property {string} [success_background] - The success background color. + * @property {string} [success_text] - The success text color. + * @property {string} [error_background] - The error background color. + * @property {string} [error_text] - The error text color. + * @property {string} [info_background] - The info background color. + * @property {string} [info_text] - The info text color. */ /** * @typedef ThemeSetting - * @property {string} [page_background] - The page background color - * @property {string} [theme_accent] - The theme accent color + * @property {string} [page_background] - The page background color. + * @property {string} [theme_accent] - The theme accent color. */ /** * @typedef TextSetting - * @property {string} [text_heading] - The text heading color - * @property {string} [text_body] - The text body color - * @property {string} [text_label] - The text label color - * @property {string} [text_secondary] - The secondary text color + * @property {string} [text_heading] - The text heading color. + * @property {string} [text_body] - The text body color. + * @property {string} [text_label] - The text label color. + * @property {string} [text_secondary] - The secondary text color. */ /** * @typedef ButtonSetting - * @property {string} [button_primary] - The primary button color - * @property {string} [button_secondary] - The secondary button color - * @property {string} [button_link] - The button link color + * @property {string} [button_primary] - The primary button color. + * @property {string} [button_secondary] - The secondary button color. + * @property {string} [button_link] - The button link color. */ /** * @typedef SaleDiscountSetting - * @property {string} [sale_badge_background] - The sale badge background color - * @property {string} [sale_badge_text] - The sale badge text color - * @property {string} [sale_discount_text] - The sale discount text color - * @property {string} [sale_timer] - The sale timer color + * @property {string} [sale_badge_background] - The sale badge background color. + * @property {string} [sale_badge_text] - The sale badge text color. + * @property {string} [sale_discount_text] - The sale discount text color. + * @property {string} [sale_timer] - The sale timer color. */ /** * @typedef HeaderSetting - * @property {string} [header_background] - The header background color - * @property {string} [header_nav] - The header navigation color - * @property {string} [header_icon] - The header icon color + * @property {string} [header_background] - The header background color. + * @property {string} [header_nav] - The header navigation color. + * @property {string} [header_icon] - The header icon color. */ /** * @typedef FooterSetting - * @property {string} [footer_background] - The footer background color - * @property {string} [footer_bottom_background] - The footer bottom background color - * @property {string} [footer_heading_text] - The footer heading text color - * @property {string} [footer_body_text] - The footer body text color - * @property {string} [footer_icon] - The footer icon color + * @property {string} [footer_background] - The footer background color. + * @property {string} [footer_bottom_background] - The footer bottom background color. + * @property {string} [footer_heading_text] - The footer heading text color. + * @property {string} [footer_body_text] - The footer body text color. + * @property {string} [footer_icon] - The footer icon color. */ /** * @typedef OverlayPopupSetting - * @property {string} [dialog_backgroung] - The dialog background color - * @property {string} [overlay] - The overlay color + * @property {string} [dialog_backgroung] - The dialog background color. + * @property {string} [overlay] - The overlay color. */ /** * @typedef DividerStrokeHighlightSetting - * @property {string} [divider_strokes] - The divider strokes color - * @property {string} [highlight] - The highlight color + * @property {string} [divider_strokes] - The divider strokes color. + * @property {string} [highlight] - The highlight color. */ /** * @typedef StaticConfig @@ -283,17 +310,17 @@ export = ThemeApplicationModel; */ /** * @typedef Colors - * @property {string} [primary_color] - The primary color - * @property {string} [secondary_color] - The secondary color - * @property {string} [accent_color] - The accent color - * @property {string} [link_color] - The link color - * @property {string} [button_secondary_color] - The secondary button color - * @property {string} [bg_color] - The background color + * @property {string} [primary_color] - The primary color. + * @property {string} [secondary_color] - The secondary color. + * @property {string} [accent_color] - The accent color. + * @property {string} [link_color] - The link color. + * @property {string} [button_secondary_color] - The secondary button color. + * @property {string} [bg_color] - The background color. */ /** * @typedef AuthConfig - * @property {boolean} [show_header_auth] - Whether to show header authentication or not - * @property {boolean} [show_footer_auth] - Whether to show footer authentication or not + * @property {boolean} [show_header_auth] - Whether to show header authentication or not. + * @property {boolean} [show_footer_auth] - Whether to show footer authentication or not. */ /** * @typedef PaletteConfig @@ -303,27 +330,27 @@ export = ThemeApplicationModel; /** * @typedef ThemeMeta * @property {ThemePayment} [payment] - * @property {string} [description] - The description of the theme - * @property {string[]} [industry] - An array of industries associated with the theme + * @property {string} [description] - The description of the theme. + * @property {string[]} [industry] - An array of industries associated with the theme. * @property {Release} [release] * @property {Images} [images] - * @property {string} [slug] - The slug of the theme - * @property {string} [name] - The name of the theme + * @property {string} [slug] - The slug of the theme. + * @property {string} [name] - The name of the theme. */ /** * @typedef ThemePayment - * @property {boolean} [is_paid] - Whether the theme is paid or not - * @property {number} [amount] - The amount of the theme + * @property {boolean} [is_paid] - Whether the theme is paid or not. + * @property {number} [amount] - The amount of the theme. */ /** * @typedef Release - * @property {string} [notes] - The release notes of the theme - * @property {string} [version] - The version of the theme + * @property {string} [notes] - The release notes of the theme. + * @property {string} [version] - The version of the theme. */ /** * @typedef Images - * @property {string} [desktop] - The URL of the desktop image - * @property {string} [mobile] - The URL of the mobile image + * @property {string} [desktop] - The url of the desktop image. + * @property {string} [mobile] - The url of the mobile image. */ /** * @typedef Assets @@ -333,42 +360,46 @@ export = ThemeApplicationModel; */ /** * @typedef UMDJs - * @property {string[]} [links] + * @property {string[]} [links] - An array of strings representing urls or links. */ /** * @typedef CommonJS - * @property {string} [link] + * @property {string} [link] - A string representing the url or link to the + * commonjs module. */ /** * @typedef CSS - * @property {string[]} [links] + * @property {string[]} [links] - An array of strings representing urls for css assets. */ /** * @typedef SectionItem - * @property {Object[]} [props] - * @property {Object[]} [blocks] - Blocks - * @property {string} [name] - Name of the section - * @property {string} [label] - Label for the section + * @property {Object[]} [props] - An array of objects representing properties or + * attributes of the section item. + * @property {Object[]} [blocks] - An array having blocks of the section. + * @property {string} [name] - Name of the section. + * @property {string} [label] - Label for the section. */ /** * @typedef GlobalSchema - * @property {Prop[]} [props] + * @property {Prop[]} [props] - An array of properties associated with the + * global schema, where each property is represented by an object. */ /** * @typedef Prop - * @property {string} [type] - The type of the property - * @property {string} [category] - The category of the property - * @property {string} [id] - The ID of the property - * @property {string} [label] - The label of the property - * @property {string} [info] - Additional information about the property + * @property {string} [type] - The type of the property. + * @property {string} [category] - The category of the property. + * @property {string} [id] - The id of the property. + * @property {string} [label] - The label of the property. + * @property {string} [info] - Additional information about the property. */ /** * @typedef Preset - * @property {Page[]} [pages] + * @property {Page[]} [pages] - An array of pages included in the preset, each + * represented by an object. */ /** * @typedef Page - * @property {Section[]} [sections] + * @property {Section[]} [sections] - An array of sections included in the page. * @property {string} [value] - The value of the page. */ /** @@ -380,7 +411,7 @@ export = ThemeApplicationModel; */ /** * @typedef SectionPreset - * @property {Block[]} [blocks] + * @property {Block[]} [blocks] - An array of blocks included in the section preset. */ /** * @typedef ImagePickerProp @@ -390,7 +421,7 @@ export = ThemeApplicationModel; /** * @typedef UrlProp * @property {string} [type] - The type of the property. - * @property {string} [value] - The value of the URL property. + * @property {string} [value] - The value of the url property. */ /** * @typedef BlockProps @@ -414,7 +445,8 @@ export = ThemeApplicationModel; */ /** * @typedef Section - * @property {Block[]} [blocks] + * @property {Block[]} [blocks] - An array of blocks included in the section, + * each represented by an object conforming to the block schema. * @property {Predicate} [predicate] * @property {string} [name] - The name of the section. * @property {SectionProps} [props] @@ -446,27 +478,28 @@ export = ThemeApplicationModel; /** * @typedef Route * @property {string} [selected] - The selected route. - * @property {string} [exact_url] - The exact URL of the route. + * @property {string} [exact_url] - The exact url of the route. */ /** * @typedef AvailablePagePlatformPredicate - * @property {boolean} [ios] - Section visibility on ios platform - * @property {boolean} [android] - Section visibility on android platform - * @property {boolean} [web] - Section visibility on web platform + * @property {boolean} [ios] - Section visibility on ios platform. + * @property {boolean} [android] - Section visibility on android platform. + * @property {boolean} [web] - Section visibility on web platform. */ /** * @typedef BlitzkriegInternalServerErrorSchema - * @property {string} [message] + * @property {string} [message] - A descriptive message detailing the internal + * server error. */ /** * @typedef BlitzkriegApiErrorSchema - * @property {string} [message] + * @property {string} [message] - A descriptive message detailing the api error. */ /** * @typedef ActionPage - * @property {Object} [params] - * @property {Object} [query] - * @property {string} [url] + * @property {Object} [params] - Parameters that should be considered in path. + * @property {Object} [query] - Query parameter if any to be added to the action. + * @property {string} [url] - The URL for the action. * @property {PageType} type */ /** @@ -481,6 +514,7 @@ export = ThemeApplicationModel; * | "category" * | "collection" * | "collections" + * | "custom" * | "contact-us" * | "external" * | "faq" @@ -525,54 +559,122 @@ declare namespace ThemeApplicationModel { /** @returns {AllAvailablePageSchema} */ declare function AllAvailablePageSchema(): AllAvailablePageSchema; type AllAvailablePageSchema = { + /** + * - List all the pages. + */ pages?: AvailablePageSchema[]; }; /** @returns {AvailablePageSchema} */ declare function AvailablePageSchema(): AvailablePageSchema; type AvailablePageSchema = { + /** + * - The name of the page. For example, 'about-us'. + */ value?: string; + /** + * - The textual content associated with the page. For + * example, 'about us'. + */ text?: string; + /** + * - The url path for the page. For example, 'about-us'. + */ path?: string; + /** + * - The type of the page, which can be 'system', + * 'custom', or 'sections'. + */ type?: string; + /** + * - An array of sections + * that make up the page. + */ sections?: AvailablePageSchemaSections[]; + /** + * - An array + * of metadata attributes for the sections of the page, each represented by an object. + */ sections_meta?: AvailablePageSectionMetaAttributes[]; + /** + * - The unique identifier for the theme associated + * with the section. + */ theme?: string; seo?: AvailablePageSeo; + /** + * - An array of properties associated with the + * object, where each property is represented as an object. + */ props?: any[]; + /** + * - The unique identifier for the object. + */ _id?: string; }; /** @returns {AvailablePageSectionMetaAttributes} */ declare function AvailablePageSectionMetaAttributes(): AvailablePageSectionMetaAttributes; type AvailablePageSectionMetaAttributes = { + /** + * - A key-value pair object containing metadata + * attributes for the section. + */ attributes?: any; }; /** @returns {SEOMetaItem} */ declare function SEOMetaItem(): SEOMetaItem; type SEOMetaItem = { + /** + * - The title of the meta tag item. + */ title?: string; + /** + * - An array of items within the meta tag, + * each represented by an object. + */ items?: SEOMetaItems[]; }; /** @returns {SEOMetaItems} */ declare function SEOMetaItems(): SEOMetaItems; type SEOMetaItems = { + /** + * - The key of the meta tag item. + */ key?: string; + /** + * - The value of the meta tag item. + */ value?: string; }; /** @returns {SEOSitemap} */ declare function SEOSitemap(): SEOSitemap; type SEOSitemap = { + /** + * - The priority of the page in the sitemap, + * typically a value between 0.0 And 1.0. + */ priority?: number; + /** + * - The frequency with which the content of the + * page is likely to change, such as 'always', 'hourly', 'daily', 'weekly', + * 'monthly', 'yearly', or 'never'. + */ frequency?: string; }; /** @returns {SEObreadcrumb} */ declare function SEObreadcrumb(): SEObreadcrumb; type SEObreadcrumb = { + /** + * - The url associated with the breadcrumb. + */ url?: string; action?: Action; }; /** @returns {Action} */ declare function Action(): Action; type Action = { + /** + * - Type of action to be taken e.g, page. + */ type?: string; page?: ActionPage; popup?: ActionPage; @@ -580,22 +682,65 @@ type Action = { /** @returns {AvailablePageSeo} */ declare function AvailablePageSeo(): AvailablePageSeo; type AvailablePageSeo = { + /** + * - The seo title of the page. + */ title?: string; + /** + * - The seo description of the page. + */ description?: string; + /** + * - The canonical url of the page. + */ canonical_url?: string; + /** + * - An array of meta tags for the page, + * each represented by an object. + */ meta_tags?: SEOMetaItem[]; sitemap?: SEOSitemap; + /** + * - An array representing breadcrumb + * navigation, where each item provides information about a step in the + * navigation path. + */ breadcrumb?: SEObreadcrumb[]; + /** + * - The unique identifier for the object. + */ _id?: string; }; /** @returns {AvailablePageSchemaSections} */ declare function AvailablePageSchemaSections(): AvailablePageSchemaSections; type AvailablePageSchemaSections = { + /** + * - The name of the section. + */ name?: string; + /** + * - A label for the section, which can be used for + * display purposes. + */ label?: string; + /** + * - The source of the section, for example, 'themebundle'. + */ source?: string; + /** + * - An object containing various properties + * associated with the section. + */ props?: any; + /** + * - An array of blocks within the section, where + * each block is represented as an object. + */ blocks?: any[]; + /** + * - An object containing preset configurations for + * the section. + */ preset?: any; predicate?: AvailablePagePredicate; }; @@ -608,35 +753,75 @@ type AvailablePagePredicate = { schedule?: AvailablePageSchedulePredicate; platform?: AvailablePagePlatformPredicate; /** - * - An array of zone ids associated with the section + * - An array of zone ids associated with the section. */ zones?: string[]; }; /** @returns {AvailablePageScreenPredicate} */ declare function AvailablePageScreenPredicate(): AvailablePageScreenPredicate; type AvailablePageScreenPredicate = { + /** + * - Indicates if the predicate applies to mobile screens. + */ mobile?: boolean; + /** + * - Indicates if the predicate applies to desktop screens. + */ desktop?: boolean; + /** + * - Indicates if the predicate applies to tablet screens. + */ tablet?: boolean; }; /** @returns {AvailablePageUserPredicate} */ declare function AvailablePageUserPredicate(): AvailablePageUserPredicate; type AvailablePageUserPredicate = { + /** + * - Indicates if the predicate applies to + * authenticated users. + */ authenticated?: boolean; + /** + * - Indicates if the predicate applies to + * anonymous users. + */ anonymous?: boolean; }; /** @returns {AvailablePageRoutePredicate} */ declare function AvailablePageRoutePredicate(): AvailablePageRoutePredicate; type AvailablePageRoutePredicate = { + /** + * - Specifies the type of route selection, which + * can be 'none', 'exact', or 'query'. + */ selected?: string; + /** + * - The exact url for the route when 'selected' + * is set to 'exact'. + */ exact_url?: string; + /** + * - An object representing query parameters for the + * route when 'selected' is set to 'query'. + */ query?: any; }; /** @returns {AvailablePageSchedulePredicate} */ declare function AvailablePageSchedulePredicate(): AvailablePageSchedulePredicate; type AvailablePageSchedulePredicate = { + /** + * - A cron expression specifying the schedule for the + * predicate. + */ cron?: string; + /** + * - The start date and time for the schedule, in iso + * 8601 format. + */ start?: string; + /** + * - The end date and time for the schedule, in iso 8601 format. + */ end?: string; }; /** @returns {ThemesSchema} */ @@ -645,62 +830,65 @@ type ThemesSchema = { font?: Font; config?: Config; /** - * - Whether the theme has been applied or not + * - Whether the theme has been applied or not. */ applied?: boolean; /** - * - Whether the theme is private or not + * - Whether the theme is private or not. */ is_private?: boolean; /** - * - An array of tags associated with the theme + * - An array of tags associated with the theme. */ tags?: string[]; /** - * - The unique identifier of the theme + * - The unique identifier of the theme. */ _id?: string; /** - * - The ID of the application + * - The id of the application. */ application_id?: string; /** - * - The ID of the theme in the marketplace + * - The id of the theme in the marketplace. */ marketplace_theme_id?: string; meta?: ThemeMeta; /** - * - The name of the theme + * - The name of the theme. */ name?: string; /** - * - The ID of the template theme + * - The id of the template theme. */ template_theme_id?: string; /** - * - The version of the theme + * - The version of the theme. */ version?: string; /** - * - The styles associated with the theme + * - The styles associated with the theme. */ styles?: any; /** - * - The creation timestamp of the theme + * - The creation timestamp of the theme. */ created_at?: string; /** - * - The last update timestamp of the theme + * - The last update timestamp of the theme. */ updated_at?: string; assets?: Assets; /** - * - Available sections information + * - Available sections information. */ available_sections?: SectionItem[]; + /** + * - The theme or category type associated with the page. + */ theme_type?: string; /** - * - The company id in which sales channel exists + * - The company id in which sales channel exists. */ company_id?: number; }; @@ -709,7 +897,7 @@ declare function Font(): Font; type Font = { variants: FontVariants; /** - * - The font family + * - The font family. */ family: string; }; @@ -726,11 +914,11 @@ type FontVariants = { declare function FontVariant(): FontVariant; type FontVariant = { /** - * - The name of the font variant + * - The name of the font variant. */ name: string; /** - * - The URL of the font file + * - The url of the font file. */ file: string; }; @@ -738,11 +926,11 @@ type FontVariant = { declare function Config(): Config; type Config = { /** - * - The current configuration + * - The current configuration. */ current: string; /** - * - A list of configurations + * - A list of configurations. */ list: ThemeConfiguration[]; global_schema?: GlobalSchema; @@ -752,12 +940,17 @@ type Config = { declare function ThemeConfiguration(): ThemeConfiguration; type ThemeConfiguration = { /** - * - The name of the configuration + * - The name of the configuration. */ name?: string; + /** + * - A global configuration object containing + * various settings for the theme. + */ global_config?: any; /** - * - An array of pages + * - An array of pages associated with the theme + * configuration. */ page?: string[]; }; @@ -770,128 +963,128 @@ type CustomConfig = { declare function CustomProps(): CustomProps; type CustomProps = { /** - * - The header background color + * - The header background color. */ header_bg_color?: string; /** - * - The header text color + * - The header text color. */ header_text_color?: string; /** - * - The header border color + * - The header border color. */ header_border_color?: string; /** - * - The header icon color + * - The header icon color. */ header_icon_color?: string; /** * - The header cart - * notification background color + * notification background color. */ header_cart_notification_bg_color?: string; /** * - The header cart - * notification text color + * notification text color. */ header_cart_notification_text_color?: string; /** - * - The header navigation hover color + * - The header navigation hover color. */ header_nav_hover_color?: string; /** - * - The primary button color + * - The primary button color. */ button_primary_color?: string; /** - * - The primary button label color + * - The primary button label color. */ button_primary_label_color?: string; /** - * - The add to cart button color + * - The add to cart button color. */ button_add_to_cart_color?: string; /** * - The add to cart button - * label color + * label color. */ button_add_to_cart_label_color?: string; /** - * - The secondary button color + * - The secondary button color. */ button_secondary_color?: string; /** - * - The secondary button label color + * - The secondary button label color. */ button_secondary_label_color?: string; /** - * - The tertiary button color + * - The tertiary button color. */ button_tertiary_color?: string; /** - * - The tertiary button label color + * - The tertiary button label color. */ button_tertiary_label_color?: string; /** - * - The tertiary button hover color + * - The tertiary button hover color. */ button_tertiary_hover_color?: string; /** * - The tertiary button - * hover text color + * hover text color. */ button_tertiary_hover_text_color?: string; /** - * - The text heading link color + * - The text heading link color. */ text_heading_link_color?: string; /** - * - The text body color + * - The text body color. */ text_body_color?: string; /** - * - The text price color + * - The text price color. */ text_price_color?: string; /** - * - The text sale price color + * - The text sale price color. */ text_sale_price_color?: string; /** * - The text strikethrough - * price color + * price color. */ text_strikethrough_price_color?: string; /** - * - The text discount color + * - The text discount color. */ text_discount_color?: string; /** - * - The footer background color + * - The footer background color. */ footer_bg_color?: string; /** - * - The footer text color + * - The footer text color. */ footer_text_color?: string; /** - * - The footer border color + * - The footer border color. */ footer_border_color?: string; /** - * - The footer navigation hover color + * - The footer navigation hover color. */ footer_nav_hover_color?: string; /** - * - Whether to disable the cart or not + * - Whether to disable the cart or not. */ disable_cart?: boolean; /** - * - Whether the menu is below the logo or not + * - Whether the menu is below the logo or not. */ is_menu_below_logo?: boolean; /** - * - The position of the menu + * - The position of the menu. */ menu_position?: string; }; @@ -922,27 +1115,27 @@ type AdvanceSetting = { declare function UserAlertsSetting(): UserAlertsSetting; type UserAlertsSetting = { /** - * - The success background color + * - The success background color. */ success_background?: string; /** - * - The success text color + * - The success text color. */ success_text?: string; /** - * - The error background color + * - The error background color. */ error_background?: string; /** - * - The error text color + * - The error text color. */ error_text?: string; /** - * - The info background color + * - The info background color. */ info_background?: string; /** - * - The info text color + * - The info text color. */ info_text?: string; }; @@ -950,11 +1143,11 @@ type UserAlertsSetting = { declare function ThemeSetting(): ThemeSetting; type ThemeSetting = { /** - * - The page background color + * - The page background color. */ page_background?: string; /** - * - The theme accent color + * - The theme accent color. */ theme_accent?: string; }; @@ -962,19 +1155,19 @@ type ThemeSetting = { declare function TextSetting(): TextSetting; type TextSetting = { /** - * - The text heading color + * - The text heading color. */ text_heading?: string; /** - * - The text body color + * - The text body color. */ text_body?: string; /** - * - The text label color + * - The text label color. */ text_label?: string; /** - * - The secondary text color + * - The secondary text color. */ text_secondary?: string; }; @@ -982,15 +1175,15 @@ type TextSetting = { declare function ButtonSetting(): ButtonSetting; type ButtonSetting = { /** - * - The primary button color + * - The primary button color. */ button_primary?: string; /** - * - The secondary button color + * - The secondary button color. */ button_secondary?: string; /** - * - The button link color + * - The button link color. */ button_link?: string; }; @@ -998,19 +1191,19 @@ type ButtonSetting = { declare function SaleDiscountSetting(): SaleDiscountSetting; type SaleDiscountSetting = { /** - * - The sale badge background color + * - The sale badge background color. */ sale_badge_background?: string; /** - * - The sale badge text color + * - The sale badge text color. */ sale_badge_text?: string; /** - * - The sale discount text color + * - The sale discount text color. */ sale_discount_text?: string; /** - * - The sale timer color + * - The sale timer color. */ sale_timer?: string; }; @@ -1018,15 +1211,15 @@ type SaleDiscountSetting = { declare function HeaderSetting(): HeaderSetting; type HeaderSetting = { /** - * - The header background color + * - The header background color. */ header_background?: string; /** - * - The header navigation color + * - The header navigation color. */ header_nav?: string; /** - * - The header icon color + * - The header icon color. */ header_icon?: string; }; @@ -1034,23 +1227,23 @@ type HeaderSetting = { declare function FooterSetting(): FooterSetting; type FooterSetting = { /** - * - The footer background color + * - The footer background color. */ footer_background?: string; /** - * - The footer bottom background color + * - The footer bottom background color. */ footer_bottom_background?: string; /** - * - The footer heading text color + * - The footer heading text color. */ footer_heading_text?: string; /** - * - The footer body text color + * - The footer body text color. */ footer_body_text?: string; /** - * - The footer icon color + * - The footer icon color. */ footer_icon?: string; }; @@ -1058,11 +1251,11 @@ type FooterSetting = { declare function OverlayPopupSetting(): OverlayPopupSetting; type OverlayPopupSetting = { /** - * - The dialog background color + * - The dialog background color. */ dialog_backgroung?: string; /** - * - The overlay color + * - The overlay color. */ overlay?: string; }; @@ -1070,11 +1263,11 @@ type OverlayPopupSetting = { declare function DividerStrokeHighlightSetting(): DividerStrokeHighlightSetting; type DividerStrokeHighlightSetting = { /** - * - The divider strokes color + * - The divider strokes color. */ divider_strokes?: string; /** - * - The highlight color + * - The highlight color. */ highlight?: string; }; @@ -1094,27 +1287,27 @@ type StaticProps = { declare function Colors(): Colors; type Colors = { /** - * - The primary color + * - The primary color. */ primary_color?: string; /** - * - The secondary color + * - The secondary color. */ secondary_color?: string; /** - * - The accent color + * - The accent color. */ accent_color?: string; /** - * - The link color + * - The link color. */ link_color?: string; /** - * - The secondary button color + * - The secondary button color. */ button_secondary_color?: string; /** - * - The background color + * - The background color. */ bg_color?: string; }; @@ -1122,11 +1315,11 @@ type Colors = { declare function AuthConfig(): AuthConfig; type AuthConfig = { /** - * - Whether to show header authentication or not + * - Whether to show header authentication or not. */ show_header_auth?: boolean; /** - * - Whether to show footer authentication or not + * - Whether to show footer authentication or not. */ show_footer_auth?: boolean; }; @@ -1141,21 +1334,21 @@ declare function ThemeMeta(): ThemeMeta; type ThemeMeta = { payment?: ThemePayment; /** - * - The description of the theme + * - The description of the theme. */ description?: string; /** - * - An array of industries associated with the theme + * - An array of industries associated with the theme. */ industry?: string[]; release?: Release; images?: Images; /** - * - The slug of the theme + * - The slug of the theme. */ slug?: string; /** - * - The name of the theme + * - The name of the theme. */ name?: string; }; @@ -1163,11 +1356,11 @@ type ThemeMeta = { declare function ThemePayment(): ThemePayment; type ThemePayment = { /** - * - Whether the theme is paid or not + * - Whether the theme is paid or not. */ is_paid?: boolean; /** - * - The amount of the theme + * - The amount of the theme. */ amount?: number; }; @@ -1175,11 +1368,11 @@ type ThemePayment = { declare function Release(): Release; type Release = { /** - * - The release notes of the theme + * - The release notes of the theme. */ notes?: string; /** - * - The version of the theme + * - The version of the theme. */ version?: string; }; @@ -1187,11 +1380,11 @@ type Release = { declare function Images(): Images; type Images = { /** - * - The URL of the desktop image + * - The url of the desktop image. */ desktop?: string; /** - * - The URL of the mobile image + * - The url of the mobile image. */ mobile?: string; }; @@ -1205,72 +1398,97 @@ type Assets = { /** @returns {UMDJs} */ declare function UMDJs(): UMDJs; type UMDJs = { + /** + * - An array of strings representing urls or links. + */ links?: string[]; }; /** @returns {CommonJS} */ declare function CommonJS(): CommonJS; type CommonJS = { + /** + * - A string representing the url or link to the + * commonjs module. + */ link?: string; }; /** @returns {CSS} */ declare function CSS(): CSS; type CSS = { + /** + * - An array of strings representing urls for css assets. + */ links?: string[]; }; /** @returns {SectionItem} */ declare function SectionItem(): SectionItem; type SectionItem = { + /** + * - An array of objects representing properties or + * attributes of the section item. + */ props?: any[]; /** - * - Blocks + * - An array having blocks of the section. */ blocks?: any[]; /** - * - Name of the section + * - Name of the section. */ name?: string; /** - * - Label for the section + * - Label for the section. */ label?: string; }; /** @returns {GlobalSchema} */ declare function GlobalSchema(): GlobalSchema; type GlobalSchema = { + /** + * - An array of properties associated with the + * global schema, where each property is represented by an object. + */ props?: Prop[]; }; /** @returns {Prop} */ declare function Prop(): Prop; type Prop = { /** - * - The type of the property + * - The type of the property. */ type?: string; /** - * - The category of the property + * - The category of the property. */ category?: string; /** - * - The ID of the property + * - The id of the property. */ id?: string; /** - * - The label of the property + * - The label of the property. */ label?: string; /** - * - Additional information about the property + * - Additional information about the property. */ info?: string; }; /** @returns {Preset} */ declare function Preset(): Preset; type Preset = { + /** + * - An array of pages included in the preset, each + * represented by an object. + */ pages?: Page[]; }; /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - An array of sections included in the page. + */ sections?: Section[]; /** * - The value of the page. @@ -1288,6 +1506,9 @@ type SectionProps = { /** @returns {SectionPreset} */ declare function SectionPreset(): SectionPreset; type SectionPreset = { + /** + * - An array of blocks included in the section preset. + */ blocks?: Block[]; }; /** @returns {ImagePickerProp} */ @@ -1310,7 +1531,7 @@ type UrlProp = { */ type?: string; /** - * - The value of the URL property. + * - The value of the url property. */ value?: string; }; @@ -1359,6 +1580,10 @@ type RangeProp = { /** @returns {Section} */ declare function Section(): Section; type Section = { + /** + * - An array of blocks included in the section, + * each represented by an object conforming to the block schema. + */ blocks?: Block[]; predicate?: Predicate; /** @@ -1424,7 +1649,7 @@ type Route = { */ selected?: string; /** - * - The exact URL of the route. + * - The exact url of the route. */ exact_url?: string; }; @@ -1432,33 +1657,49 @@ type Route = { declare function AvailablePagePlatformPredicate(): AvailablePagePlatformPredicate; type AvailablePagePlatformPredicate = { /** - * - Section visibility on ios platform + * - Section visibility on ios platform. */ ios?: boolean; /** - * - Section visibility on android platform + * - Section visibility on android platform. */ android?: boolean; /** - * - Section visibility on web platform + * - Section visibility on web platform. */ web?: boolean; }; /** @returns {BlitzkriegInternalServerErrorSchema} */ declare function BlitzkriegInternalServerErrorSchema(): BlitzkriegInternalServerErrorSchema; type BlitzkriegInternalServerErrorSchema = { + /** + * - A descriptive message detailing the internal + * server error. + */ message?: string; }; /** @returns {BlitzkriegApiErrorSchema} */ declare function BlitzkriegApiErrorSchema(): BlitzkriegApiErrorSchema; type BlitzkriegApiErrorSchema = { + /** + * - A descriptive message detailing the api error. + */ message?: string; }; /** @returns {ActionPage} */ declare function ActionPage(): ActionPage; type ActionPage = { + /** + * - Parameters that should be considered in path. + */ params?: any; + /** + * - Query parameter if any to be added to the action. + */ query?: any; + /** + * - The URL for the action. + */ url?: string; type: PageType; }; @@ -1468,4 +1709,4 @@ type ActionPage = { * @returns {PageType} */ declare function PageType(): PageType; -type PageType = "about-us" | "addresses" | "blog" | "brands" | "cards" | "cart" | "categories" | "brand" | "category" | "collection" | "collections" | "contact-us" | "external" | "faq" | "freshchat" | "home" | "notification-settings" | "orders" | "page" | "policy" | "product" | "product-request" | "products" | "profile" | "profile-order-shipment" | "profile-basic" | "profile-company" | "profile-emails" | "profile-phones" | "rate-us" | "refer-earn" | "settings" | "shared-cart" | "tnc" | "track-order" | "wishlist" | "sections" | "form" | "cart-delivery" | "cart-payment" | "cart-review" | "login" | "register" | "shipping-policy" | "return-policy" | "order-status"; +type PageType = "about-us" | "addresses" | "blog" | "brands" | "cards" | "cart" | "categories" | "brand" | "category" | "collection" | "collections" | "custom" | "contact-us" | "external" | "faq" | "freshchat" | "home" | "notification-settings" | "orders" | "page" | "policy" | "product" | "product-request" | "products" | "profile" | "profile-order-shipment" | "profile-basic" | "profile-company" | "profile-emails" | "profile-phones" | "rate-us" | "refer-earn" | "settings" | "shared-cart" | "tnc" | "track-order" | "wishlist" | "sections" | "form" | "cart-delivery" | "cart-payment" | "cart-review" | "login" | "register" | "shipping-policy" | "return-policy" | "order-status"; diff --git a/sdk/application/Theme/ThemeApplicationModel.js b/sdk/application/Theme/ThemeApplicationModel.js index 297bb7f88..d49a817c2 100644 --- a/sdk/application/Theme/ThemeApplicationModel.js +++ b/sdk/application/Theme/ThemeApplicationModel.js @@ -2,78 +2,96 @@ const Joi = require("joi"); /** * @typedef AllAvailablePageSchema - * @property {AvailablePageSchema[]} [pages] + * @property {AvailablePageSchema[]} [pages] - List all the pages. */ /** * @typedef AvailablePageSchema - * @property {string} [value] - * @property {string} [text] - * @property {string} [path] - * @property {string} [type] - * @property {AvailablePageSchemaSections[]} [sections] - * @property {AvailablePageSectionMetaAttributes[]} [sections_meta] - * @property {string} [theme] + * @property {string} [value] - The name of the page. For example, 'about-us'. + * @property {string} [text] - The textual content associated with the page. For + * example, 'about us'. + * @property {string} [path] - The url path for the page. For example, 'about-us'. + * @property {string} [type] - The type of the page, which can be 'system', + * 'custom', or 'sections'. + * @property {AvailablePageSchemaSections[]} [sections] - An array of sections + * that make up the page. + * @property {AvailablePageSectionMetaAttributes[]} [sections_meta] - An array + * of metadata attributes for the sections of the page, each represented by an object. + * @property {string} [theme] - The unique identifier for the theme associated + * with the section. * @property {AvailablePageSeo} [seo] - * @property {Object[]} [props] - * @property {string} [_id] + * @property {Object[]} [props] - An array of properties associated with the + * object, where each property is represented as an object. + * @property {string} [_id] - The unique identifier for the object. */ /** * @typedef AvailablePageSectionMetaAttributes - * @property {Object} [attributes] + * @property {Object} [attributes] - A key-value pair object containing metadata + * attributes for the section. */ /** * @typedef SEOMetaItem - * @property {string} [title] - * @property {SEOMetaItems[]} [items] + * @property {string} [title] - The title of the meta tag item. + * @property {SEOMetaItems[]} [items] - An array of items within the meta tag, + * each represented by an object. */ /** * @typedef SEOMetaItems - * @property {string} [key] - * @property {string} [value] + * @property {string} [key] - The key of the meta tag item. + * @property {string} [value] - The value of the meta tag item. */ /** * @typedef SEOSitemap - * @property {number} [priority] - * @property {string} [frequency] + * @property {number} [priority] - The priority of the page in the sitemap, + * typically a value between 0.0 And 1.0. + * @property {string} [frequency] - The frequency with which the content of the + * page is likely to change, such as 'always', 'hourly', 'daily', 'weekly', + * 'monthly', 'yearly', or 'never'. */ /** * @typedef SEObreadcrumb - * @property {string} [url] + * @property {string} [url] - The url associated with the breadcrumb. * @property {Action} [action] */ /** * @typedef Action - * @property {string} [type] + * @property {string} [type] - Type of action to be taken e.g, page. * @property {ActionPage} [page] * @property {ActionPage} [popup] */ /** * @typedef AvailablePageSeo - * @property {string} [title] - * @property {string} [description] - * @property {string} [canonical_url] - * @property {SEOMetaItem[]} [meta_tags] + * @property {string} [title] - The seo title of the page. + * @property {string} [description] - The seo description of the page. + * @property {string} [canonical_url] - The canonical url of the page. + * @property {SEOMetaItem[]} [meta_tags] - An array of meta tags for the page, + * each represented by an object. * @property {SEOSitemap} [sitemap] - * @property {SEObreadcrumb[]} [breadcrumb] - * @property {string} [_id] + * @property {SEObreadcrumb[]} [breadcrumb] - An array representing breadcrumb + * navigation, where each item provides information about a step in the + * navigation path. + * @property {string} [_id] - The unique identifier for the object. */ /** * @typedef AvailablePageSchemaSections - * @property {string} [name] - * @property {string} [label] - * @property {string} [source] - * @property {Object} [props] - * @property {Object[]} [blocks] - * @property {Object} [preset] + * @property {string} [name] - The name of the section. + * @property {string} [label] - A label for the section, which can be used for + * display purposes. + * @property {string} [source] - The source of the section, for example, 'themebundle'. + * @property {Object} [props] - An object containing various properties + * associated with the section. + * @property {Object[]} [blocks] - An array of blocks within the section, where + * each block is represented as an object. + * @property {Object} [preset] - An object containing preset configurations for + * the section. * @property {AvailablePagePredicate} [predicate] */ @@ -84,63 +102,70 @@ const Joi = require("joi"); * @property {AvailablePageRoutePredicate} [route] * @property {AvailablePageSchedulePredicate} [schedule] * @property {AvailablePagePlatformPredicate} [platform] - * @property {string[]} [zones] - An array of zone ids associated with the section + * @property {string[]} [zones] - An array of zone ids associated with the section. */ /** * @typedef AvailablePageScreenPredicate - * @property {boolean} [mobile] - * @property {boolean} [desktop] - * @property {boolean} [tablet] + * @property {boolean} [mobile] - Indicates if the predicate applies to mobile screens. + * @property {boolean} [desktop] - Indicates if the predicate applies to desktop screens. + * @property {boolean} [tablet] - Indicates if the predicate applies to tablet screens. */ /** * @typedef AvailablePageUserPredicate - * @property {boolean} [authenticated] - * @property {boolean} [anonymous] + * @property {boolean} [authenticated] - Indicates if the predicate applies to + * authenticated users. + * @property {boolean} [anonymous] - Indicates if the predicate applies to + * anonymous users. */ /** * @typedef AvailablePageRoutePredicate - * @property {string} [selected] - * @property {string} [exact_url] - * @property {Object} [query] + * @property {string} [selected] - Specifies the type of route selection, which + * can be 'none', 'exact', or 'query'. + * @property {string} [exact_url] - The exact url for the route when 'selected' + * is set to 'exact'. + * @property {Object} [query] - An object representing query parameters for the + * route when 'selected' is set to 'query'. */ /** * @typedef AvailablePageSchedulePredicate - * @property {string} [cron] - * @property {string} [start] - * @property {string} [end] + * @property {string} [cron] - A cron expression specifying the schedule for the + * predicate. + * @property {string} [start] - The start date and time for the schedule, in iso + * 8601 format. + * @property {string} [end] - The end date and time for the schedule, in iso 8601 format. */ /** * @typedef ThemesSchema * @property {Font} [font] * @property {Config} [config] - * @property {boolean} [applied] - Whether the theme has been applied or not - * @property {boolean} [is_private] - Whether the theme is private or not - * @property {string[]} [tags] - An array of tags associated with the theme - * @property {string} [_id] - The unique identifier of the theme - * @property {string} [application_id] - The ID of the application - * @property {string} [marketplace_theme_id] - The ID of the theme in the marketplace + * @property {boolean} [applied] - Whether the theme has been applied or not. + * @property {boolean} [is_private] - Whether the theme is private or not. + * @property {string[]} [tags] - An array of tags associated with the theme. + * @property {string} [_id] - The unique identifier of the theme. + * @property {string} [application_id] - The id of the application. + * @property {string} [marketplace_theme_id] - The id of the theme in the marketplace. * @property {ThemeMeta} [meta] - * @property {string} [name] - The name of the theme - * @property {string} [template_theme_id] - The ID of the template theme - * @property {string} [version] - The version of the theme - * @property {Object} [styles] - The styles associated with the theme - * @property {string} [created_at] - The creation timestamp of the theme - * @property {string} [updated_at] - The last update timestamp of the theme + * @property {string} [name] - The name of the theme. + * @property {string} [template_theme_id] - The id of the template theme. + * @property {string} [version] - The version of the theme. + * @property {Object} [styles] - The styles associated with the theme. + * @property {string} [created_at] - The creation timestamp of the theme. + * @property {string} [updated_at] - The last update timestamp of the theme. * @property {Assets} [assets] - * @property {SectionItem[]} [available_sections] - Available sections information - * @property {string} [theme_type] - * @property {number} [company_id] - The company id in which sales channel exists + * @property {SectionItem[]} [available_sections] - Available sections information. + * @property {string} [theme_type] - The theme or category type associated with the page. + * @property {number} [company_id] - The company id in which sales channel exists. */ /** * @typedef Font * @property {FontVariants} variants - * @property {string} family - The font family + * @property {string} family - The font family. */ /** @@ -154,23 +179,25 @@ const Joi = require("joi"); /** * @typedef FontVariant - * @property {string} name - The name of the font variant - * @property {string} file - The URL of the font file + * @property {string} name - The name of the font variant. + * @property {string} file - The url of the font file. */ /** * @typedef Config - * @property {string} current - The current configuration - * @property {ThemeConfiguration[]} list - A list of configurations + * @property {string} current - The current configuration. + * @property {ThemeConfiguration[]} list - A list of configurations. * @property {GlobalSchema} [global_schema] * @property {Preset} [preset] */ /** * @typedef ThemeConfiguration - * @property {string} [name] - The name of the configuration - * @property {Object} [global_config] - * @property {string[]} [page] - An array of pages + * @property {string} [name] - The name of the configuration. + * @property {Object} [global_config] - A global configuration object containing + * various settings for the theme. + * @property {string[]} [page] - An array of pages associated with the theme + * configuration. */ /** @@ -180,41 +207,41 @@ const Joi = require("joi"); /** * @typedef CustomProps - * @property {string} [header_bg_color] - The header background color - * @property {string} [header_text_color] - The header text color - * @property {string} [header_border_color] - The header border color - * @property {string} [header_icon_color] - The header icon color + * @property {string} [header_bg_color] - The header background color. + * @property {string} [header_text_color] - The header text color. + * @property {string} [header_border_color] - The header border color. + * @property {string} [header_icon_color] - The header icon color. * @property {string} [header_cart_notification_bg_color] - The header cart - * notification background color + * notification background color. * @property {string} [header_cart_notification_text_color] - The header cart - * notification text color - * @property {string} [header_nav_hover_color] - The header navigation hover color - * @property {string} [button_primary_color] - The primary button color - * @property {string} [button_primary_label_color] - The primary button label color - * @property {string} [button_add_to_cart_color] - The add to cart button color + * notification text color. + * @property {string} [header_nav_hover_color] - The header navigation hover color. + * @property {string} [button_primary_color] - The primary button color. + * @property {string} [button_primary_label_color] - The primary button label color. + * @property {string} [button_add_to_cart_color] - The add to cart button color. * @property {string} [button_add_to_cart_label_color] - The add to cart button - * label color - * @property {string} [button_secondary_color] - The secondary button color - * @property {string} [button_secondary_label_color] - The secondary button label color - * @property {string} [button_tertiary_color] - The tertiary button color - * @property {string} [button_tertiary_label_color] - The tertiary button label color - * @property {string} [button_tertiary_hover_color] - The tertiary button hover color + * label color. + * @property {string} [button_secondary_color] - The secondary button color. + * @property {string} [button_secondary_label_color] - The secondary button label color. + * @property {string} [button_tertiary_color] - The tertiary button color. + * @property {string} [button_tertiary_label_color] - The tertiary button label color. + * @property {string} [button_tertiary_hover_color] - The tertiary button hover color. * @property {string} [button_tertiary_hover_text_color] - The tertiary button - * hover text color - * @property {string} [text_heading_link_color] - The text heading link color - * @property {string} [text_body_color] - The text body color - * @property {string} [text_price_color] - The text price color - * @property {string} [text_sale_price_color] - The text sale price color + * hover text color. + * @property {string} [text_heading_link_color] - The text heading link color. + * @property {string} [text_body_color] - The text body color. + * @property {string} [text_price_color] - The text price color. + * @property {string} [text_sale_price_color] - The text sale price color. * @property {string} [text_strikethrough_price_color] - The text strikethrough - * price color - * @property {string} [text_discount_color] - The text discount color - * @property {string} [footer_bg_color] - The footer background color - * @property {string} [footer_text_color] - The footer text color - * @property {string} [footer_border_color] - The footer border color - * @property {string} [footer_nav_hover_color] - The footer navigation hover color - * @property {boolean} [disable_cart] - Whether to disable the cart or not - * @property {boolean} [is_menu_below_logo] - Whether the menu is below the logo or not - * @property {string} [menu_position] - The position of the menu + * price color. + * @property {string} [text_discount_color] - The text discount color. + * @property {string} [footer_bg_color] - The footer background color. + * @property {string} [footer_text_color] - The footer text color. + * @property {string} [footer_border_color] - The footer border color. + * @property {string} [footer_nav_hover_color] - The footer navigation hover color. + * @property {boolean} [disable_cart] - Whether to disable the cart or not. + * @property {boolean} [is_menu_below_logo] - Whether the menu is below the logo or not. + * @property {string} [menu_position] - The position of the menu. */ /** @@ -242,69 +269,69 @@ const Joi = require("joi"); /** * @typedef UserAlertsSetting - * @property {string} [success_background] - The success background color - * @property {string} [success_text] - The success text color - * @property {string} [error_background] - The error background color - * @property {string} [error_text] - The error text color - * @property {string} [info_background] - The info background color - * @property {string} [info_text] - The info text color + * @property {string} [success_background] - The success background color. + * @property {string} [success_text] - The success text color. + * @property {string} [error_background] - The error background color. + * @property {string} [error_text] - The error text color. + * @property {string} [info_background] - The info background color. + * @property {string} [info_text] - The info text color. */ /** * @typedef ThemeSetting - * @property {string} [page_background] - The page background color - * @property {string} [theme_accent] - The theme accent color + * @property {string} [page_background] - The page background color. + * @property {string} [theme_accent] - The theme accent color. */ /** * @typedef TextSetting - * @property {string} [text_heading] - The text heading color - * @property {string} [text_body] - The text body color - * @property {string} [text_label] - The text label color - * @property {string} [text_secondary] - The secondary text color + * @property {string} [text_heading] - The text heading color. + * @property {string} [text_body] - The text body color. + * @property {string} [text_label] - The text label color. + * @property {string} [text_secondary] - The secondary text color. */ /** * @typedef ButtonSetting - * @property {string} [button_primary] - The primary button color - * @property {string} [button_secondary] - The secondary button color - * @property {string} [button_link] - The button link color + * @property {string} [button_primary] - The primary button color. + * @property {string} [button_secondary] - The secondary button color. + * @property {string} [button_link] - The button link color. */ /** * @typedef SaleDiscountSetting - * @property {string} [sale_badge_background] - The sale badge background color - * @property {string} [sale_badge_text] - The sale badge text color - * @property {string} [sale_discount_text] - The sale discount text color - * @property {string} [sale_timer] - The sale timer color + * @property {string} [sale_badge_background] - The sale badge background color. + * @property {string} [sale_badge_text] - The sale badge text color. + * @property {string} [sale_discount_text] - The sale discount text color. + * @property {string} [sale_timer] - The sale timer color. */ /** * @typedef HeaderSetting - * @property {string} [header_background] - The header background color - * @property {string} [header_nav] - The header navigation color - * @property {string} [header_icon] - The header icon color + * @property {string} [header_background] - The header background color. + * @property {string} [header_nav] - The header navigation color. + * @property {string} [header_icon] - The header icon color. */ /** * @typedef FooterSetting - * @property {string} [footer_background] - The footer background color - * @property {string} [footer_bottom_background] - The footer bottom background color - * @property {string} [footer_heading_text] - The footer heading text color - * @property {string} [footer_body_text] - The footer body text color - * @property {string} [footer_icon] - The footer icon color + * @property {string} [footer_background] - The footer background color. + * @property {string} [footer_bottom_background] - The footer bottom background color. + * @property {string} [footer_heading_text] - The footer heading text color. + * @property {string} [footer_body_text] - The footer body text color. + * @property {string} [footer_icon] - The footer icon color. */ /** * @typedef OverlayPopupSetting - * @property {string} [dialog_backgroung] - The dialog background color - * @property {string} [overlay] - The overlay color + * @property {string} [dialog_backgroung] - The dialog background color. + * @property {string} [overlay] - The overlay color. */ /** * @typedef DividerStrokeHighlightSetting - * @property {string} [divider_strokes] - The divider strokes color - * @property {string} [highlight] - The highlight color + * @property {string} [divider_strokes] - The divider strokes color. + * @property {string} [highlight] - The highlight color. */ /** @@ -321,18 +348,18 @@ const Joi = require("joi"); /** * @typedef Colors - * @property {string} [primary_color] - The primary color - * @property {string} [secondary_color] - The secondary color - * @property {string} [accent_color] - The accent color - * @property {string} [link_color] - The link color - * @property {string} [button_secondary_color] - The secondary button color - * @property {string} [bg_color] - The background color + * @property {string} [primary_color] - The primary color. + * @property {string} [secondary_color] - The secondary color. + * @property {string} [accent_color] - The accent color. + * @property {string} [link_color] - The link color. + * @property {string} [button_secondary_color] - The secondary button color. + * @property {string} [bg_color] - The background color. */ /** * @typedef AuthConfig - * @property {boolean} [show_header_auth] - Whether to show header authentication or not - * @property {boolean} [show_footer_auth] - Whether to show footer authentication or not + * @property {boolean} [show_header_auth] - Whether to show header authentication or not. + * @property {boolean} [show_footer_auth] - Whether to show footer authentication or not. */ /** @@ -344,30 +371,30 @@ const Joi = require("joi"); /** * @typedef ThemeMeta * @property {ThemePayment} [payment] - * @property {string} [description] - The description of the theme - * @property {string[]} [industry] - An array of industries associated with the theme + * @property {string} [description] - The description of the theme. + * @property {string[]} [industry] - An array of industries associated with the theme. * @property {Release} [release] * @property {Images} [images] - * @property {string} [slug] - The slug of the theme - * @property {string} [name] - The name of the theme + * @property {string} [slug] - The slug of the theme. + * @property {string} [name] - The name of the theme. */ /** * @typedef ThemePayment - * @property {boolean} [is_paid] - Whether the theme is paid or not - * @property {number} [amount] - The amount of the theme + * @property {boolean} [is_paid] - Whether the theme is paid or not. + * @property {number} [amount] - The amount of the theme. */ /** * @typedef Release - * @property {string} [notes] - The release notes of the theme - * @property {string} [version] - The version of the theme + * @property {string} [notes] - The release notes of the theme. + * @property {string} [version] - The version of the theme. */ /** * @typedef Images - * @property {string} [desktop] - The URL of the desktop image - * @property {string} [mobile] - The URL of the mobile image + * @property {string} [desktop] - The url of the desktop image. + * @property {string} [mobile] - The url of the mobile image. */ /** @@ -379,49 +406,53 @@ const Joi = require("joi"); /** * @typedef UMDJs - * @property {string[]} [links] + * @property {string[]} [links] - An array of strings representing urls or links. */ /** * @typedef CommonJS - * @property {string} [link] + * @property {string} [link] - A string representing the url or link to the + * commonjs module. */ /** * @typedef CSS - * @property {string[]} [links] + * @property {string[]} [links] - An array of strings representing urls for css assets. */ /** * @typedef SectionItem - * @property {Object[]} [props] - * @property {Object[]} [blocks] - Blocks - * @property {string} [name] - Name of the section - * @property {string} [label] - Label for the section + * @property {Object[]} [props] - An array of objects representing properties or + * attributes of the section item. + * @property {Object[]} [blocks] - An array having blocks of the section. + * @property {string} [name] - Name of the section. + * @property {string} [label] - Label for the section. */ /** * @typedef GlobalSchema - * @property {Prop[]} [props] + * @property {Prop[]} [props] - An array of properties associated with the + * global schema, where each property is represented by an object. */ /** * @typedef Prop - * @property {string} [type] - The type of the property - * @property {string} [category] - The category of the property - * @property {string} [id] - The ID of the property - * @property {string} [label] - The label of the property - * @property {string} [info] - Additional information about the property + * @property {string} [type] - The type of the property. + * @property {string} [category] - The category of the property. + * @property {string} [id] - The id of the property. + * @property {string} [label] - The label of the property. + * @property {string} [info] - Additional information about the property. */ /** * @typedef Preset - * @property {Page[]} [pages] + * @property {Page[]} [pages] - An array of pages included in the preset, each + * represented by an object. */ /** * @typedef Page - * @property {Section[]} [sections] + * @property {Section[]} [sections] - An array of sections included in the page. * @property {string} [value] - The value of the page. */ @@ -435,7 +466,7 @@ const Joi = require("joi"); /** * @typedef SectionPreset - * @property {Block[]} [blocks] + * @property {Block[]} [blocks] - An array of blocks included in the section preset. */ /** @@ -447,7 +478,7 @@ const Joi = require("joi"); /** * @typedef UrlProp * @property {string} [type] - The type of the property. - * @property {string} [value] - The value of the URL property. + * @property {string} [value] - The value of the url property. */ /** @@ -476,7 +507,8 @@ const Joi = require("joi"); /** * @typedef Section - * @property {Block[]} [blocks] + * @property {Block[]} [blocks] - An array of blocks included in the section, + * each represented by an object conforming to the block schema. * @property {Predicate} [predicate] * @property {string} [name] - The name of the section. * @property {SectionProps} [props] @@ -513,31 +545,32 @@ const Joi = require("joi"); /** * @typedef Route * @property {string} [selected] - The selected route. - * @property {string} [exact_url] - The exact URL of the route. + * @property {string} [exact_url] - The exact url of the route. */ /** * @typedef AvailablePagePlatformPredicate - * @property {boolean} [ios] - Section visibility on ios platform - * @property {boolean} [android] - Section visibility on android platform - * @property {boolean} [web] - Section visibility on web platform + * @property {boolean} [ios] - Section visibility on ios platform. + * @property {boolean} [android] - Section visibility on android platform. + * @property {boolean} [web] - Section visibility on web platform. */ /** * @typedef BlitzkriegInternalServerErrorSchema - * @property {string} [message] + * @property {string} [message] - A descriptive message detailing the internal + * server error. */ /** * @typedef BlitzkriegApiErrorSchema - * @property {string} [message] + * @property {string} [message] - A descriptive message detailing the api error. */ /** * @typedef ActionPage - * @property {Object} [params] - * @property {Object} [query] - * @property {string} [url] + * @property {Object} [params] - Parameters that should be considered in path. + * @property {Object} [query] - Query parameter if any to be added to the action. + * @property {string} [url] - The URL for the action. * @property {PageType} type */ @@ -553,6 +586,7 @@ const Joi = require("joi"); * | "category" * | "collection" * | "collections" + * | "custom" * | "contact-us" * | "external" * | "faq" @@ -1312,6 +1346,8 @@ class ThemeApplicationModel { "collections", + "custom", + "contact-us", "external", diff --git a/sdk/application/Theme/ThemeApplicationValidator.d.ts b/sdk/application/Theme/ThemeApplicationValidator.d.ts index 76ecd062a..a2ea28c61 100644 --- a/sdk/application/Theme/ThemeApplicationValidator.d.ts +++ b/sdk/application/Theme/ThemeApplicationValidator.d.ts @@ -1,19 +1,20 @@ export = ThemeApplicationValidator; /** * @typedef GetAllPagesParam - * @property {string} themeId - ID of the theme to be retrieved + * @property {string} themeId - Id of the theme to be retrieved. */ /** @typedef GetAppliedThemeParam */ /** * @typedef GetPageParam - * @property {string} themeId - ID of the theme to be retrieved - * @property {string} pageValue - Value of the page to be retrieved - * @property {string} [filters] - Filters on sections to be applied or not - * @property {number} [company] - Company id of the application + * @property {string} themeId - Id of the theme to be retrieved. + * @property {string} pageValue - Value of the page to be retrieved. + * @property {string} [filters] - Filters on sections to be applied or not. + * @property {string} [sectionPreviewHash] - Unique hash id on sections preview. + * @property {number} [company] - Company id of the application. */ /** * @typedef GetThemeForPreviewParam - * @property {string} themeId - ID of the theme to be retrieved + * @property {string} themeId - Id of the theme to be retrieved. */ declare class ThemeApplicationValidator { /** @returns {GetAllPagesParam} */ @@ -30,31 +31,35 @@ declare namespace ThemeApplicationValidator { } type GetAllPagesParam = { /** - * - ID of the theme to be retrieved + * - Id of the theme to be retrieved. */ themeId: string; }; type GetPageParam = { /** - * - ID of the theme to be retrieved + * - Id of the theme to be retrieved. */ themeId: string; /** - * - Value of the page to be retrieved + * - Value of the page to be retrieved. */ pageValue: string; /** - * - Filters on sections to be applied or not + * - Filters on sections to be applied or not. */ filters?: string; /** - * - Company id of the application + * - Unique hash id on sections preview. + */ + sectionPreviewHash?: string; + /** + * - Company id of the application. */ company?: number; }; type GetThemeForPreviewParam = { /** - * - ID of the theme to be retrieved + * - Id of the theme to be retrieved. */ themeId: string; }; diff --git a/sdk/application/Theme/ThemeApplicationValidator.js b/sdk/application/Theme/ThemeApplicationValidator.js index aa92c5fa5..a977433b7 100644 --- a/sdk/application/Theme/ThemeApplicationValidator.js +++ b/sdk/application/Theme/ThemeApplicationValidator.js @@ -4,22 +4,23 @@ const ThemeApplicationModel = require("./ThemeApplicationModel"); /** * @typedef GetAllPagesParam - * @property {string} themeId - ID of the theme to be retrieved + * @property {string} themeId - Id of the theme to be retrieved. */ /** @typedef GetAppliedThemeParam */ /** * @typedef GetPageParam - * @property {string} themeId - ID of the theme to be retrieved - * @property {string} pageValue - Value of the page to be retrieved - * @property {string} [filters] - Filters on sections to be applied or not - * @property {number} [company] - Company id of the application + * @property {string} themeId - Id of the theme to be retrieved. + * @property {string} pageValue - Value of the page to be retrieved. + * @property {string} [filters] - Filters on sections to be applied or not. + * @property {string} [sectionPreviewHash] - Unique hash id on sections preview. + * @property {number} [company] - Company id of the application. */ /** * @typedef GetThemeForPreviewParam - * @property {string} themeId - ID of the theme to be retrieved + * @property {string} themeId - Id of the theme to be retrieved. */ class ThemeApplicationValidator { @@ -41,6 +42,7 @@ class ThemeApplicationValidator { themeId: Joi.string().allow("").required(), pageValue: Joi.string().allow("").required(), filters: Joi.string().allow(""), + sectionPreviewHash: Joi.string().allow(""), company: Joi.number(), }).required(); } diff --git a/sdk/application/User/UserApplicationClient.d.ts b/sdk/application/User/UserApplicationClient.d.ts index 67854a787..c073d6ca7 100644 --- a/sdk/application/User/UserApplicationClient.d.ts +++ b/sdk/application/User/UserApplicationClient.d.ts @@ -56,7 +56,7 @@ declare class User { * @returns {Promise} - Success response * @name addEmail * @summary: Add Email to Profile - * @description: Adds a new email address to the user's profile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/addEmail/). + * @description: Add a new email address to the user's profile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/addEmail/). */ addEmail({ body, platform, requestHeaders }?: UserApplicationValidator.AddEmailParam, { responseHeaders }?: object): Promise; /** @@ -66,7 +66,7 @@ declare class User { * @returns {Promise} - Success response * @name addMobileNumber * @summary: Add Mobile Number to Profile - * @description: Adds a new mobile number to the user's profile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/addMobileNumber/). + * @description: Add a new mobile number to the user's profile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/addMobileNumber/). */ addMobileNumber({ body, platform, requestHeaders }?: UserApplicationValidator.AddMobileNumberParam, { responseHeaders }?: object): Promise; /** @@ -76,7 +76,7 @@ declare class User { * @returns {Promise} - Success response * @name deleteEmail * @summary: Delete Email From Profile - * @description: Delete Email From Profile - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/deleteEmail/). + * @description: Delete email from profile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/deleteEmail/). */ deleteEmail({ active, primary, verified, email, platform, requestHeaders }?: UserApplicationValidator.DeleteEmailParam, { responseHeaders }?: object): Promise; /** @@ -86,7 +86,7 @@ declare class User { * @returns {Promise} - Success response * @name deleteMobileNumber * @summary: Delete Mobile Number From Profile - * @description: Delete Mobile Number From Profile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/deleteMobileNumber/). + * @description: Delete mobile number from profile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/deleteMobileNumber/). */ deleteMobileNumber({ active, primary, verified, countryCode, phone, platform, requestHeaders, }?: UserApplicationValidator.DeleteMobileNumberParam, { responseHeaders }?: object): Promise; /** @@ -96,7 +96,7 @@ declare class User { * @returns {Promise} - Success response * @name deleteUser * @summary: Verify OTP and Delete User - * @description: Verify OTP sent to mobile/email and Delete the user's account. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/deleteUser/). + * @description: Verify OTP sent to mobile/email and delete the user's account. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/deleteUser/). */ deleteUser({ body, requestHeaders }?: UserApplicationValidator.DeleteUserParam, { responseHeaders }?: object): Promise; /** @@ -106,7 +106,7 @@ declare class User { * @returns {Promise} - Success response * @name forgotPassword * @summary: Reset Password via Code and login - * @description: Reset a password using the code sent on email or SMS the Login. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/forgotPassword/). + * @description: Reset a password using the code sent on email or sms the login. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/forgotPassword/). */ forgotPassword({ body, requestHeaders }?: UserApplicationValidator.ForgotPasswordParam, { responseHeaders }?: object): Promise; /** @@ -146,7 +146,7 @@ declare class User { * @returns {Promise} - Success response * @name getUserAttributes * @summary: Get User Attributes - * @description: Get the list of user attributes - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/getUserAttributes/). + * @description: Get the list of user attributes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/getUserAttributes/). */ getUserAttributes({ slug, requestHeaders }?: UserApplicationValidator.GetUserAttributesParam, { responseHeaders }?: object): Promise; /** @@ -156,7 +156,7 @@ declare class User { * @returns {Promise} - Success response * @name hasPassword * @summary: Check Password Existence - * @description: Check if user has set an account password - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/hasPassword/). + * @description: Check if user has set an account password. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/hasPassword/). */ hasPassword({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -166,7 +166,7 @@ declare class User { * @returns {Promise} - Success response * @name loginWithAppleIOS * @summary: iOS Login with Apple - * @description: Enables iOS users to log in to the system using their Apple ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithAppleIOS/). + * @description: Enable ios users to log in to the system using their apple id. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithAppleIOS/). */ loginWithAppleIOS({ body, platform, requestHeaders }?: UserApplicationValidator.LoginWithAppleIOSParam, { responseHeaders }?: object): Promise; /** @@ -176,7 +176,7 @@ declare class User { * @returns {Promise} - Success response * @name loginWithEmailAndPassword * @summary: Email and Password Login - * @description: Allows login using an email and password combination. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithEmailAndPassword/). + * @description: Allow login using an email and password combination. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithEmailAndPassword/). */ loginWithEmailAndPassword({ body, requestHeaders }?: UserApplicationValidator.LoginWithEmailAndPasswordParam, { responseHeaders }?: object): Promise; /** @@ -186,7 +186,7 @@ declare class User { * @returns {Promise} - Success response * @name loginWithFacebook * @summary: Login with Facebook - * @description: Enables users to log in to the system using their Facebook accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithFacebook/). + * @description: Enable users to log in to the system using their facebook accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithFacebook/). */ loginWithFacebook({ body, platform, requestHeaders }?: UserApplicationValidator.LoginWithFacebookParam, { responseHeaders }?: object): Promise; /** @@ -196,7 +196,7 @@ declare class User { * @returns {Promise} - Success response * @name loginWithGoogle * @summary: Login with Google - * @description: Enables website users to log in to the system using their Google accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithGoogle/). + * @description: Enable website users to log in to the system using their google accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithGoogle/). */ loginWithGoogle({ body, platform, requestHeaders }?: UserApplicationValidator.LoginWithGoogleParam, { responseHeaders }?: object): Promise; /** @@ -206,7 +206,7 @@ declare class User { * @returns {Promise} - Success response * @name loginWithGoogleAndroid * @summary: Android Login with Google - * @description: Enables Android users to log in to the system using their Facebook accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithGoogleAndroid/). + * @description: Enable android users to log in to the system using their facebook accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithGoogleAndroid/). */ loginWithGoogleAndroid({ body, platform, requestHeaders }?: UserApplicationValidator.LoginWithGoogleAndroidParam, { responseHeaders }?: object): Promise; /** @@ -216,7 +216,7 @@ declare class User { * @returns {Promise} - Success response * @name loginWithGoogleIOS * @summary: iOS Login with Google - * @description: Enables iOS users to log in to the system using their Facebook accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithGoogleIOS/). + * @description: Enable ios users to log in to the system using their facebook accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithGoogleIOS/). */ loginWithGoogleIOS({ body, platform, requestHeaders }?: UserApplicationValidator.LoginWithGoogleIOSParam, { responseHeaders }?: object): Promise; /** @@ -226,7 +226,7 @@ declare class User { * @returns {Promise} - Success response * @name loginWithOTP * @summary: Login with Mobile OTP - * @description: Allows users to log in using a one-time password sent to their mobile - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithOTP/). + * @description: Allow users to log in using a one-time password sent to their mobile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithOTP/). */ loginWithOTP({ body, platform, requestHeaders }?: UserApplicationValidator.LoginWithOTPParam, { responseHeaders }?: object): Promise; /** @@ -236,7 +236,7 @@ declare class User { * @returns {Promise} - Success response * @name loginWithToken * @summary: Login with Token - * @description: Login User using a token for authentication. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithToken/). + * @description: Login user using a token for authentication. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithToken/). */ loginWithToken({ body, requestHeaders }?: UserApplicationValidator.LoginWithTokenParam, { responseHeaders }?: object): Promise; /** @@ -246,7 +246,7 @@ declare class User { * @returns {Promise} - Success response * @name logout * @summary: Logout Current User - * @description: Logout currently logged-in user - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/logout/). + * @description: Logout currently logged-in user. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/logout/). */ logout({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** @@ -256,7 +256,7 @@ declare class User { * @returns {Promise} - Success response * @name registerWithForm * @summary: Register User with Form - * @description: Enables new users to register using a form. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/registerWithForm/). + * @description: Enable new users to register using a form. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/registerWithForm/). */ registerWithForm({ body, platform, requestHeaders }?: UserApplicationValidator.RegisterWithFormParam, { responseHeaders }?: object): Promise; /** @@ -267,7 +267,7 @@ declare class User { * Success response * @name resetForgotPassword * @summary: Reset Password via Code - * @description: Reset a password using the code sent on email or SMS. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/resetForgotPassword/). + * @description: Reset a password using the code sent on email or sms. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/resetForgotPassword/). */ resetForgotPassword({ body, requestHeaders }?: UserApplicationValidator.ResetForgotPasswordParam, { responseHeaders }?: object): Promise; /** @@ -277,7 +277,7 @@ declare class User { * @returns {Promise} - Success response * @name sendForgotOTPOnEmail * @summary: Send Email OTP for Forgot Password - * @description: Sends a one-time password to the user's email for verification when resetting a forgotten password. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendForgotOTPOnEmail/). + * @description: Send a one-time password to the user's email for verification when resetting a forgotten password. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendForgotOTPOnEmail/). */ sendForgotOTPOnEmail({ body, platform, requestHeaders }?: UserApplicationValidator.SendForgotOTPOnEmailParam, { responseHeaders }?: object): Promise; /** @@ -287,7 +287,7 @@ declare class User { * @returns {Promise} - Success response * @name sendForgotOTPOnMobile * @summary: Send mobile OTP for forgot-password - * @description: Sends a one-time password to the user's mobile for verification when resetting a forgotten password. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendForgotOTPOnMobile/). + * @description: Send a one-time password to the user's mobile for verification when resetting a forgotten password. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendForgotOTPOnMobile/). */ sendForgotOTPOnMobile({ body, platform, requestHeaders }?: UserApplicationValidator.SendForgotOTPOnMobileParam, { responseHeaders }?: object): Promise; /** @@ -297,7 +297,7 @@ declare class User { * @returns {Promise} - Success response * @name sendOTPOnEmail * @summary: Send OTP on Email - * @description: Sends a one-time password to the user's email for verification. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendOTPOnEmail/). + * @description: Send a one-time password to the user's email for verification. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendOTPOnEmail/). */ sendOTPOnEmail({ body, platform, requestHeaders }?: UserApplicationValidator.SendOTPOnEmailParam, { responseHeaders }?: object): Promise; /** @@ -307,7 +307,7 @@ declare class User { * @returns {Promise} - Success response * @name sendOTPOnMobile * @summary: Send OTP on Mobile - * @description: Sends a one-time password to the user's mobile for verification. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendOTPOnMobile/). + * @description: Send a one-time password to the user's mobile for verification. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendOTPOnMobile/). */ sendOTPOnMobile({ body, platform, requestHeaders }?: UserApplicationValidator.SendOTPOnMobileParam, { responseHeaders }?: object): Promise; /** @@ -317,7 +317,7 @@ declare class User { * @returns {Promise} - Success response * @name sendResetPasswordEmail * @summary: Reset Password via Email - * @description: Sends a password reset link to the user's email. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendResetPasswordEmail/). + * @description: Send a password reset link to the user's email. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendResetPasswordEmail/). */ sendResetPasswordEmail({ body, platform, requestHeaders }?: UserApplicationValidator.SendResetPasswordEmailParam, { responseHeaders }?: object): Promise; /** @@ -327,7 +327,7 @@ declare class User { * @returns {Promise} - Success response * @name sendResetPasswordMobile * @summary: Reset Password via Mobile - * @description: Sends a password reset link to the user's Mobile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendResetPasswordMobile/). + * @description: Send a password reset link to the user's mobile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendResetPasswordMobile/). */ sendResetPasswordMobile({ body, platform, requestHeaders }?: UserApplicationValidator.SendResetPasswordMobileParam, { responseHeaders }?: object): Promise; /** @@ -337,7 +337,7 @@ declare class User { * @returns {Promise} - Success response * @name sendResetToken * @summary: Validate Password Reset Code - * @description: Validate Password Reset link Code - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendResetToken/). + * @description: Validate password reset link code. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendResetToken/). */ sendResetToken({ body, requestHeaders }?: UserApplicationValidator.SendResetTokenParam, { responseHeaders }?: object): Promise; /** @@ -349,7 +349,7 @@ declare class User { * Success response * @name sendVerificationLinkToEmail * @summary: Send Verification Link to Email - * @description: Sends a verification link to a newly added email address. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendVerificationLinkToEmail/). + * @description: Send a verification link to a newly added email address. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendVerificationLinkToEmail/). */ sendVerificationLinkToEmail({ body, platform, requestHeaders }?: UserApplicationValidator.SendVerificationLinkToEmailParam, { responseHeaders }?: object): Promise; /** @@ -362,7 +362,7 @@ declare class User { * Success response * @name sendVerificationLinkToMobile * @summary: Send Verification Link to Mobile - * @description: Sends a verification link to a newly added mobile number. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendVerificationLinkToMobile/). + * @description: Send a verification link to a newly added mobile number. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendVerificationLinkToMobile/). */ sendVerificationLinkToMobile({ body, platform, requestHeaders }?: UserApplicationValidator.SendVerificationLinkToMobileParam, { responseHeaders }?: object): Promise; /** @@ -372,7 +372,7 @@ declare class User { * @returns {Promise} - Success response * @name setEmailAsPrimary * @summary: Set Email as Primary - * @description: Sets an email address as the primary contact for the user. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/setEmailAsPrimary/). + * @description: Set an email address as the primary contact for the user. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/setEmailAsPrimary/). */ setEmailAsPrimary({ body, requestHeaders }?: UserApplicationValidator.SetEmailAsPrimaryParam, { responseHeaders }?: object): Promise; /** @@ -382,7 +382,7 @@ declare class User { * @returns {Promise} - Success response * @name setMobileNumberAsPrimary * @summary: Set Mobile as Primary - * @description: Sets a mobile number as the primary contact for the user. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/setMobileNumberAsPrimary/). + * @description: Set a mobile number as the primary contact for the user. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/setMobileNumberAsPrimary/). */ setMobileNumberAsPrimary({ body, requestHeaders }?: UserApplicationValidator.SetMobileNumberAsPrimaryParam, { responseHeaders }?: object): Promise; /** @@ -402,7 +402,7 @@ declare class User { * @returns {Promise} - Success response * @name updateProfile * @summary: Edit User Profile Details - * @description: Allows users to modify and update their profile details - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/updateProfile/). + * @description: Allow users to modify and update their profile details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/updateProfile/). */ updateProfile({ body, platform, requestHeaders }?: UserApplicationValidator.UpdateProfileParam, { responseHeaders }?: object): Promise; /** @@ -412,7 +412,7 @@ declare class User { * @returns {Promise} - Success response * @name updateUserAttributes * @summary: Update User Attributes - * @description: Update user attributes - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/updateUserAttributes/). + * @description: Update user attributes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/updateUserAttributes/). */ updateUserAttributes({ body, requestHeaders }?: UserApplicationValidator.UpdateUserAttributesParam, { responseHeaders }?: object): Promise; /** @@ -432,7 +432,7 @@ declare class User { * @returns {Promise} - Success response * @name verifyEmail * @summary: Verify Email with Code - * @description: Verifies user email with a code sent within a link sent to their email. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyEmail/). + * @description: Verify user email with a code sent within a link sent to their email. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyEmail/). */ verifyEmail({ body, requestHeaders }?: UserApplicationValidator.VerifyEmailParam, { responseHeaders }?: object): Promise; /** @@ -442,7 +442,7 @@ declare class User { * @returns {Promise} - Success response * @name verifyEmailForgotOTP * @summary: Verify Email OTP for Forgot Password - * @description: Verify one-time password sent to user's email for resetting a forgotten password - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyEmailForgotOTP/). + * @description: Verify one-time password sent to user's email for resetting a forgotten password. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyEmailForgotOTP/). */ verifyEmailForgotOTP({ body, platform, requestHeaders }?: UserApplicationValidator.VerifyEmailForgotOTPParam, { responseHeaders }?: object): Promise; /** @@ -462,7 +462,7 @@ declare class User { * @returns {Promise} - Success response * @name verifyMobile * @summary: Verify Mobile with Code - * @description: Verifies user mobile with a code sent within a link sent to their mobile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyMobile/). + * @description: Verify user mobile with a code sent within a link sent to their mobile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyMobile/). */ verifyMobile({ body, requestHeaders }?: UserApplicationValidator.VerifyMobileParam, { responseHeaders }?: object): Promise; /** @@ -472,7 +472,7 @@ declare class User { * @returns {Promise} - Success response * @name verifyMobileForgotOTP * @summary: Verify Mobile OTP for Forgot Password - * @description: Verify one-time password sent to user's mobile for resetting a forgotten password - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyMobileForgotOTP/). + * @description: Verify one-time password sent to user's mobile for resetting a forgotten password. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyMobileForgotOTP/). */ verifyMobileForgotOTP({ body, platform, requestHeaders }?: UserApplicationValidator.VerifyMobileForgotOTPParam, { responseHeaders }?: object): Promise; /** diff --git a/sdk/application/User/UserApplicationClient.js b/sdk/application/User/UserApplicationClient.js index 83efbefca..6023475db 100644 --- a/sdk/application/User/UserApplicationClient.js +++ b/sdk/application/User/UserApplicationClient.js @@ -109,7 +109,7 @@ class User { * @returns {Promise} - Success response * @name addEmail * @summary: Add Email to Profile - * @description: Adds a new email address to the user's profile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/addEmail/). + * @description: Add a new email address to the user's profile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/addEmail/). */ async addEmail( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -186,7 +186,7 @@ class User { * @returns {Promise} - Success response * @name addMobileNumber * @summary: Add Mobile Number to Profile - * @description: Adds a new mobile number to the user's profile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/addMobileNumber/). + * @description: Add a new mobile number to the user's profile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/addMobileNumber/). */ async addMobileNumber( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -265,7 +265,7 @@ class User { * @returns {Promise} - Success response * @name deleteEmail * @summary: Delete Email From Profile - * @description: Delete Email From Profile - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/deleteEmail/). + * @description: Delete email from profile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/deleteEmail/). */ async deleteEmail( { active, primary, verified, email, platform, requestHeaders } = { @@ -348,7 +348,7 @@ class User { * @returns {Promise} - Success response * @name deleteMobileNumber * @summary: Delete Mobile Number From Profile - * @description: Delete Mobile Number From Profile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/deleteMobileNumber/). + * @description: Delete mobile number from profile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/deleteMobileNumber/). */ async deleteMobileNumber( { @@ -440,7 +440,7 @@ class User { * @returns {Promise} - Success response * @name deleteUser * @summary: Verify OTP and Delete User - * @description: Verify OTP sent to mobile/email and Delete the user's account. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/deleteUser/). + * @description: Verify OTP sent to mobile/email and delete the user's account. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/deleteUser/). */ async deleteUser( { body, requestHeaders } = { requestHeaders: {} }, @@ -516,7 +516,7 @@ class User { * @returns {Promise} - Success response * @name forgotPassword * @summary: Reset Password via Code and login - * @description: Reset a password using the code sent on email or SMS the Login. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/forgotPassword/). + * @description: Reset a password using the code sent on email or sms the login. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/forgotPassword/). */ async forgotPassword( { body, requestHeaders } = { requestHeaders: {} }, @@ -831,7 +831,7 @@ class User { * @returns {Promise} - Success response * @name getUserAttributes * @summary: Get User Attributes - * @description: Get the list of user attributes - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/getUserAttributes/). + * @description: Get the list of user attributes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/getUserAttributes/). */ async getUserAttributes( { slug, requestHeaders } = { requestHeaders: {} }, @@ -910,7 +910,7 @@ class User { * @returns {Promise} - Success response * @name hasPassword * @summary: Check Password Existence - * @description: Check if user has set an account password - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/hasPassword/). + * @description: Check if user has set an account password. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/hasPassword/). */ async hasPassword( { requestHeaders } = { requestHeaders: {} }, @@ -986,7 +986,7 @@ class User { * @returns {Promise} - Success response * @name loginWithAppleIOS * @summary: iOS Login with Apple - * @description: Enables iOS users to log in to the system using their Apple ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithAppleIOS/). + * @description: Enable ios users to log in to the system using their apple id. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithAppleIOS/). */ async loginWithAppleIOS( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -1065,7 +1065,7 @@ class User { * @returns {Promise} - Success response * @name loginWithEmailAndPassword * @summary: Email and Password Login - * @description: Allows login using an email and password combination. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithEmailAndPassword/). + * @description: Allow login using an email and password combination. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithEmailAndPassword/). */ async loginWithEmailAndPassword( { body, requestHeaders } = { requestHeaders: {} }, @@ -1145,7 +1145,7 @@ class User { * @returns {Promise} - Success response * @name loginWithFacebook * @summary: Login with Facebook - * @description: Enables users to log in to the system using their Facebook accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithFacebook/). + * @description: Enable users to log in to the system using their facebook accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithFacebook/). */ async loginWithFacebook( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -1224,7 +1224,7 @@ class User { * @returns {Promise} - Success response * @name loginWithGoogle * @summary: Login with Google - * @description: Enables website users to log in to the system using their Google accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithGoogle/). + * @description: Enable website users to log in to the system using their google accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithGoogle/). */ async loginWithGoogle( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -1303,7 +1303,7 @@ class User { * @returns {Promise} - Success response * @name loginWithGoogleAndroid * @summary: Android Login with Google - * @description: Enables Android users to log in to the system using their Facebook accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithGoogleAndroid/). + * @description: Enable android users to log in to the system using their facebook accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithGoogleAndroid/). */ async loginWithGoogleAndroid( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -1384,7 +1384,7 @@ class User { * @returns {Promise} - Success response * @name loginWithGoogleIOS * @summary: iOS Login with Google - * @description: Enables iOS users to log in to the system using their Facebook accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithGoogleIOS/). + * @description: Enable ios users to log in to the system using their facebook accounts. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithGoogleIOS/). */ async loginWithGoogleIOS( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -1463,7 +1463,7 @@ class User { * @returns {Promise} - Success response * @name loginWithOTP * @summary: Login with Mobile OTP - * @description: Allows users to log in using a one-time password sent to their mobile - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithOTP/). + * @description: Allow users to log in using a one-time password sent to their mobile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithOTP/). */ async loginWithOTP( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -1542,7 +1542,7 @@ class User { * @returns {Promise} - Success response * @name loginWithToken * @summary: Login with Token - * @description: Login User using a token for authentication. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithToken/). + * @description: Login user using a token for authentication. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/loginWithToken/). */ async loginWithToken( { body, requestHeaders } = { requestHeaders: {} }, @@ -1620,7 +1620,7 @@ class User { * @returns {Promise} - Success response * @name logout * @summary: Logout Current User - * @description: Logout currently logged-in user - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/logout/). + * @description: Logout currently logged-in user. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/logout/). */ async logout( { requestHeaders } = { requestHeaders: {} }, @@ -1696,7 +1696,7 @@ class User { * @returns {Promise} - Success response * @name registerWithForm * @summary: Register User with Form - * @description: Enables new users to register using a form. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/registerWithForm/). + * @description: Enable new users to register using a form. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/registerWithForm/). */ async registerWithForm( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -1776,7 +1776,7 @@ class User { * Success response * @name resetForgotPassword * @summary: Reset Password via Code - * @description: Reset a password using the code sent on email or SMS. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/resetForgotPassword/). + * @description: Reset a password using the code sent on email or sms. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/resetForgotPassword/). */ async resetForgotPassword( { body, requestHeaders } = { requestHeaders: {} }, @@ -1854,7 +1854,7 @@ class User { * @returns {Promise} - Success response * @name sendForgotOTPOnEmail * @summary: Send Email OTP for Forgot Password - * @description: Sends a one-time password to the user's email for verification when resetting a forgotten password. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendForgotOTPOnEmail/). + * @description: Send a one-time password to the user's email for verification when resetting a forgotten password. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendForgotOTPOnEmail/). */ async sendForgotOTPOnEmail( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -1933,7 +1933,7 @@ class User { * @returns {Promise} - Success response * @name sendForgotOTPOnMobile * @summary: Send mobile OTP for forgot-password - * @description: Sends a one-time password to the user's mobile for verification when resetting a forgotten password. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendForgotOTPOnMobile/). + * @description: Send a one-time password to the user's mobile for verification when resetting a forgotten password. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendForgotOTPOnMobile/). */ async sendForgotOTPOnMobile( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -2012,7 +2012,7 @@ class User { * @returns {Promise} - Success response * @name sendOTPOnEmail * @summary: Send OTP on Email - * @description: Sends a one-time password to the user's email for verification. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendOTPOnEmail/). + * @description: Send a one-time password to the user's email for verification. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendOTPOnEmail/). */ async sendOTPOnEmail( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -2091,7 +2091,7 @@ class User { * @returns {Promise} - Success response * @name sendOTPOnMobile * @summary: Send OTP on Mobile - * @description: Sends a one-time password to the user's mobile for verification. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendOTPOnMobile/). + * @description: Send a one-time password to the user's mobile for verification. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendOTPOnMobile/). */ async sendOTPOnMobile( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -2170,7 +2170,7 @@ class User { * @returns {Promise} - Success response * @name sendResetPasswordEmail * @summary: Reset Password via Email - * @description: Sends a password reset link to the user's email. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendResetPasswordEmail/). + * @description: Send a password reset link to the user's email. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendResetPasswordEmail/). */ async sendResetPasswordEmail( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -2251,7 +2251,7 @@ class User { * @returns {Promise} - Success response * @name sendResetPasswordMobile * @summary: Reset Password via Mobile - * @description: Sends a password reset link to the user's Mobile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendResetPasswordMobile/). + * @description: Send a password reset link to the user's mobile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendResetPasswordMobile/). */ async sendResetPasswordMobile( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -2329,7 +2329,7 @@ class User { * @returns {Promise} - Success response * @name sendResetToken * @summary: Validate Password Reset Code - * @description: Validate Password Reset link Code - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendResetToken/). + * @description: Validate password reset link code. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendResetToken/). */ async sendResetToken( { body, requestHeaders } = { requestHeaders: {} }, @@ -2409,7 +2409,7 @@ class User { * Success response * @name sendVerificationLinkToEmail * @summary: Send Verification Link to Email - * @description: Sends a verification link to a newly added email address. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendVerificationLinkToEmail/). + * @description: Send a verification link to a newly added email address. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendVerificationLinkToEmail/). */ async sendVerificationLinkToEmail( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -2493,7 +2493,7 @@ class User { * Success response * @name sendVerificationLinkToMobile * @summary: Send Verification Link to Mobile - * @description: Sends a verification link to a newly added mobile number. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendVerificationLinkToMobile/). + * @description: Send a verification link to a newly added mobile number. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/sendVerificationLinkToMobile/). */ async sendVerificationLinkToMobile( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -2574,7 +2574,7 @@ class User { * @returns {Promise} - Success response * @name setEmailAsPrimary * @summary: Set Email as Primary - * @description: Sets an email address as the primary contact for the user. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/setEmailAsPrimary/). + * @description: Set an email address as the primary contact for the user. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/setEmailAsPrimary/). */ async setEmailAsPrimary( { body, requestHeaders } = { requestHeaders: {} }, @@ -2652,7 +2652,7 @@ class User { * @returns {Promise} - Success response * @name setMobileNumberAsPrimary * @summary: Set Mobile as Primary - * @description: Sets a mobile number as the primary contact for the user. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/setMobileNumberAsPrimary/). + * @description: Set a mobile number as the primary contact for the user. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/setMobileNumberAsPrimary/). */ async setMobileNumberAsPrimary( { body, requestHeaders } = { requestHeaders: {} }, @@ -2810,7 +2810,7 @@ class User { * @returns {Promise} - Success response * @name updateProfile * @summary: Edit User Profile Details - * @description: Allows users to modify and update their profile details - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/updateProfile/). + * @description: Allow users to modify and update their profile details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/updateProfile/). */ async updateProfile( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -2889,7 +2889,7 @@ class User { * @returns {Promise} - Success response * @name updateUserAttributes * @summary: Update User Attributes - * @description: Update user attributes - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/updateUserAttributes/). + * @description: Update user attributes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/updateUserAttributes/). */ async updateUserAttributes( { body, requestHeaders } = { requestHeaders: {} }, @@ -3044,7 +3044,7 @@ class User { * @returns {Promise} - Success response * @name verifyEmail * @summary: Verify Email with Code - * @description: Verifies user email with a code sent within a link sent to their email. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyEmail/). + * @description: Verify user email with a code sent within a link sent to their email. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyEmail/). */ async verifyEmail( { body, requestHeaders } = { requestHeaders: {} }, @@ -3120,7 +3120,7 @@ class User { * @returns {Promise} - Success response * @name verifyEmailForgotOTP * @summary: Verify Email OTP for Forgot Password - * @description: Verify one-time password sent to user's email for resetting a forgotten password - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyEmailForgotOTP/). + * @description: Verify one-time password sent to user's email for resetting a forgotten password. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyEmailForgotOTP/). */ async verifyEmailForgotOTP( { body, platform, requestHeaders } = { requestHeaders: {} }, @@ -3278,7 +3278,7 @@ class User { * @returns {Promise} - Success response * @name verifyMobile * @summary: Verify Mobile with Code - * @description: Verifies user mobile with a code sent within a link sent to their mobile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyMobile/). + * @description: Verify user mobile with a code sent within a link sent to their mobile. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyMobile/). */ async verifyMobile( { body, requestHeaders } = { requestHeaders: {} }, @@ -3356,7 +3356,7 @@ class User { * @returns {Promise} - Success response * @name verifyMobileForgotOTP * @summary: Verify Mobile OTP for Forgot Password - * @description: Verify one-time password sent to user's mobile for resetting a forgotten password - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyMobileForgotOTP/). + * @description: Verify one-time password sent to user's mobile for resetting a forgotten password. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/user/verifyMobileForgotOTP/). */ async verifyMobileForgotOTP( { body, platform, requestHeaders } = { requestHeaders: {} }, diff --git a/sdk/application/User/UserApplicationModel.d.ts b/sdk/application/User/UserApplicationModel.d.ts index dc33b4c4c..036043066 100644 --- a/sdk/application/User/UserApplicationModel.d.ts +++ b/sdk/application/User/UserApplicationModel.d.ts @@ -1,169 +1,172 @@ export = UserApplicationModel; /** * @typedef UpdateUserAttributesRequest - * @property {Object} [attributes] + * @property {Object} [attributes] - Describes the request structure to update + * the user attribute. */ /** * @typedef UserAttributes - * @property {Object} [attributes] + * @property {Object} [attributes] - Describes the structure of user attribute. */ /** * @typedef DeleteApplicationUserRequestSchema - * @property {string} [user_id] - * @property {string} [reason] - * @property {string} [reason_id] - * @property {string} [request_id] - * @property {string} [otp] + * @property {string} [user_id] - User id for the application user. + * @property {string} [reason] - Reason to delete the application user. + * @property {string} [reason_id] - Reason id of request to delete the application user . + * @property {string} [request_id] - ID of request to delete the application user . + * @property {string} [otp] - OTP to verify the delete application user request. */ /** * @typedef EditEmailRequestSchema - * @property {string} [email] + * @property {string} [email] - Email of the user. */ /** * @typedef SendVerificationLinkMobileRequestSchema - * @property {boolean} [verified] - * @property {boolean} [active] - * @property {string} [country_code] - * @property {string} [phone] - * @property {boolean} [primary] + * @property {boolean} [verified] - Boolean to specify if the phone number is + * verified or not. + * @property {boolean} [active] - Boolean to specify if the phone number is active or not. + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [phone] - Phone number. + * @property {boolean} [primary] - Boolean to specify if the phone number is + * primary or not. */ /** * @typedef EditMobileRequestSchema - * @property {string} [country_code] - * @property {string} [phone] + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [phone] - Phone number of user. */ /** * @typedef EditProfileRequestSchema * @property {boolean} [encrypt_otp] - Set to true if you want to encrypt the OTP. - * @property {string} [first_name] - * @property {string} [last_name] + * @property {string} [first_name] - First name of the application user. + * @property {string} [last_name] - Last name of the application user. * @property {EditProfileMobileSchema} [mobile] - * @property {string} [country_code] - * @property {string} [email] - * @property {string} [gender] - * @property {string} [dob] - * @property {string} [profile_pic_url] - * @property {string} [android_hash] - * @property {string} [sender] - * @property {string} [register_token] + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [email] - Email id of user. + * @property {string} [gender] - Gender of user. + * @property {string} [dob] - Date of birth of user. + * @property {string} [profile_pic_url] - Profile picture of user. + * @property {string} [android_hash] - Unique hash value. + * @property {string} [sender] - Identity of the sender. + * @property {string} [register_token] - Unique temporary registration of the user. */ /** * @typedef EditProfileMobileSchema - * @property {string} [phone] - * @property {string} [country_code] + * @property {string} [phone] - Phone number of user. + * @property {string} [country_code] - Country code for the phone number. */ /** * @typedef SendEmailOtpRequestSchema - * @property {string} [email] - * @property {string} [action] - * @property {string} [token] - * @property {string} [register_token] + * @property {string} [email] - Email of a user to send email OTP. + * @property {string} [action] - Action to specify if to send or resent the OTP. + * @property {string} [token] - Token to validate the request. + * @property {string} [register_token] - Unique temporary registration of the user. */ /** * @typedef SendEmailForgotOtpRequestSchema - * @property {string} [email] - * @property {string} [action] - * @property {string} [token] + * @property {string} [email] - Email of a user to send email OTP. + * @property {string} [action] - Action to specify if to send or resent the OTP. + * @property {string} [token] - Token to validate the request. */ /** * @typedef VerifyEmailOtpRequestSchema - * @property {string} [email] - * @property {string} [action] - * @property {string} [register_token] - * @property {string} [otp] + * @property {string} [email] - Email of a user to verify OTP. + * @property {string} [action] - Action to verify the send or resent OTP. + * @property {string} [register_token] - Unique temporary registration of the user. + * @property {string} [otp] - OTP for verification. */ /** * @typedef VerifyEmailForgotOtpRequestSchema - * @property {string} [email] - * @property {string} [otp] + * @property {string} [email] - Email id of user. + * @property {string} [otp] - OTP for verification. */ /** * @typedef VerifyOtpRequestSchema - * @property {string} [request_id] - * @property {string} [register_token] - * @property {string} [otp] + * @property {string} [request_id] - Unique request id for the OTP sent to mobile number. + * @property {string} [register_token] - Unique temporary registration of the user. + * @property {string} [otp] - OTP for verification. */ /** * @typedef VerifyMobileForgotOtpRequestSchema - * @property {string} [request_id] - * @property {string} [otp] + * @property {string} [request_id] - Unique request id for the OTP. + * @property {string} [otp] - OTP for verification. */ /** * @typedef SendMobileOtpRequestSchema * @property {boolean} [encrypt_otp] - Set to true if you want to encrypt the OTP. - * @property {string} [mobile] - * @property {string} [country_code] - * @property {string} [action] - * @property {string} [token] - * @property {string} [android_hash] - * @property {string} [force] + * @property {string} [mobile] - Mobile number of user. + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [action] - Action to specify if to send or resent the OTP. + * @property {string} [token] - Token to validate the request. + * @property {string} [android_hash] - Unique hash value. + * @property {string} [force] - Force verify the OTP. */ /** * @typedef SendMobileForgotOtpRequestSchema - * @property {string} [mobile] - * @property {string} [country_code] - * @property {string} [action] - * @property {string} [token] - * @property {string} [android_hash] + * @property {string} [mobile] - Phone number of user. + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [action] - Action to specify if to send or resent the OTP. + * @property {string} [token] - Token to validate the request. + * @property {string} [android_hash] - Unique hash value. */ /** * @typedef UpdatePasswordRequestSchema - * @property {string} [old_password] - * @property {string} [new_password] + * @property {string} [old_password] - Old password. + * @property {string} [new_password] - New password. */ /** * @typedef FormRegisterRequestSchema - * @property {string} [first_name] - * @property {string} [last_name] - * @property {string} [gender] - * @property {string} [email] - * @property {string} [password] + * @property {string} [first_name] - First name of the application user. + * @property {string} [last_name] - Last name of the application user. + * @property {string} [gender] - Gender of user. + * @property {string} [email] - Email of user. + * @property {string} [password] - Password of user. * @property {FormRegisterRequestSchemaPhone} [phone] - * @property {string} [register_token] + * @property {string} [register_token] - Unique registration token of user. */ /** * @typedef TokenRequestBodySchema - * @property {string} [token] + * @property {string} [token] - Unique token. */ /** * @typedef ForgotPasswordRequestSchema - * @property {string} [code] - * @property {string} [password] + * @property {string} [code] - Unique code to verify request. + * @property {string} [password] - Password of user. */ /** * @typedef CodeRequestBodySchema - * @property {string} [code] + * @property {string} [code] - Unique code to verify request. */ /** * @typedef SendResetPasswordEmailRequestSchema - * @property {string} [email] + * @property {string} [email] - Email id of user. */ /** * @typedef SendResetPasswordMobileRequestSchema - * @property {string} [country_code] - * @property {string} [mobile] + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [mobile] - Phone number of user. */ /** * @typedef PasswordLoginRequestSchema - * @property {string} [password] - * @property {string} [username] + * @property {string} [password] - Password of user. + * @property {string} [username] - Username of user. */ /** * @typedef SendOtpRequestSchema - * @property {boolean} [encrypt_otp] - Set to true if you want to encrypt the OTP. - * @property {string} [country_code] - * @property {string} [mobile] - * @property {string} [android_hash] + * @property {boolean} [encrypt_otp] - Eet to true if you want to encrypt the OTP. + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [mobile] - Phone number. + * @property {string} [android_hash] - Unique hash value. */ /** * @typedef OAuthRequestSchema - * @property {boolean} [is_signed_in] + * @property {boolean} [is_signed_in] - Boolean to specify if the user is signed in . * @property {OAuthRequestSchemaOauth2} [oauth2] * @property {OAuthRequestSchemaProfile} [profile] */ /** * @typedef OAuthRequestAppleSchema - * @property {string} [user_identifier] + * @property {string} [user_identifier] - Unique user identifier. * @property {OAuthRequestAppleSchemaOauth} [oauth] * @property {OAuthRequestAppleSchemaProfile} [profile] */ @@ -173,232 +176,271 @@ export = UserApplicationModel; */ /** * @typedef AuthSuccess - * @property {string} [register_token] - * @property {boolean} [user_exists] + * @property {string} [register_token] - Unique registration token for user. + * @property {boolean} [user_exists] - Boolean which specifies if user is registered. * @property {UserSchema} [user] */ /** * @typedef UserExistsResponse - * @property {boolean} [user_exists] + * @property {boolean} [user_exists] - Boolean which specifies if user is + * registered or not. */ /** * @typedef SendOtpResponse - * @property {number} [resend_timer] - * @property {string} [resend_token] - * @property {boolean} [success] - * @property {string} [request_id] - * @property {string} [message] - * @property {string} [mobile] - * @property {string} [country_code] - * @property {string} [email] - * @property {string} [resend_email_token] - * @property {string} [register_token] - * @property {boolean} [verify_email_otp] - * @property {boolean} [verify_mobile_otp] - * @property {boolean} [user_exists] + * @property {number} [resend_timer] - Time after which opt can be resent. + * @property {string} [resend_token] - Unique token to identify the OTP send + * request and resend the token. + * @property {boolean} [success] - Specify if the OTP is successfully sent. + * @property {string} [request_id] - Unique request id for the OTP. + * @property {string} [message] - Message to specify the OTP send status. Eg. + * OTP sent, failed to send OTP etc. + * @property {string} [mobile] - Phone number of user. + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [email] - Email id of user. + * @property {string} [resend_email_token] - Unique token to identify the OTP + * send request and resend the token on email. + * @property {string} [register_token] - Unique registration token for user. + * @property {boolean} [verify_email_otp] - If email OTP verification is + * mandatory for registration. + * @property {boolean} [verify_mobile_otp] - If mobile OTP verification is + * mandatory for registration. + * @property {boolean} [user_exists] - If user is registered or not. */ /** * @typedef ProfileEditSuccess * @property {UserSchema} [user] - * @property {string} [register_token] - * @property {string} [resend_email_token] - * @property {boolean} [user_exists] - * @property {boolean} [verify_email_link] - * @property {boolean} [verify_email_otp] - * @property {boolean} [verify_mobile_otp] - * @property {string} [email] - * @property {string} [request_id] - * @property {string} [country_code] - * @property {string} [mobile] - * @property {boolean} [success] - * @property {string} [message] - * @property {number} [resend_timer] - * @property {string} [resend_token] + * @property {string} [register_token] - Unique registration token for user. + * @property {string} [resend_email_token] - Unique token to identify the + * request for OTP verification in case of unverified email. + * @property {boolean} [user_exists] - If user is registered or not. + * @property {boolean} [verify_email_link] - Whether to send a link to verify + * the registered email id of the user. + * @property {boolean} [verify_email_otp] - Whether to send a OTP to verify the + * registered email id of the user. + * @property {boolean} [verify_mobile_otp] - Whether to send a OTP to verify the + * registered phone of the user. + * @property {string} [email] - Email id of user. + * @property {string} [request_id] - A random uuid string used to track the request. + * @property {string} [country_code] - The country specific prefix for the phone number. + * @property {string} [mobile] - The user's mobile number without the country code. + * @property {boolean} [success] - Whether the operation was successful. + * @property {string} [message] - Information about the operation's result. + * @property {number} [resend_timer] - Time in seconds before an request can be resent. + * @property {string} [resend_token] - A token used to authorize the resending of request. */ /** * @typedef LoginSuccess * @property {UserSchema} [user] - * @property {string} [request_id] - * @property {string} [register_token] + * @property {string} [request_id] - A random uuid string used to track the send + * OTP response. + * @property {string} [register_token] - A token used for registration purposes. */ /** * @typedef ResetForgotPasswordSuccess - * @property {boolean} [success] + * @property {boolean} [success] - Whether the password reset operation was successful. */ /** * @typedef VerifyOtpSuccess * @property {UserSchema} [user] - * @property {boolean} [user_exists] - * @property {string} [register_token] + * @property {boolean} [user_exists] - Whether the user already exists. + * @property {string} [register_token] - A token used for registration purposes. */ /** * @typedef VerifyForgotOtpSuccess - * @property {boolean} [success] - * @property {string} [forgot_token] + * @property {boolean} [success] - Whether the OTP verification was successful. + * @property {string} [forgot_token] - A token used for resetting the forgotten password. */ /** * @typedef ResetPasswordSuccess - * @property {string} [status] + * @property {string} [status] - Status of the password reset operation. */ /** * @typedef RegisterFormSuccess - * @property {string} [email] - * @property {number} [resend_timer] - * @property {string} [resend_token] - * @property {string} [resend_email_token] - * @property {string} [register_token] - * @property {boolean} [success] - * @property {string} [request_id] - * @property {string} [message] - * @property {string} [mobile] - * @property {string} [country_code] - * @property {boolean} [verify_email_otp] - * @property {boolean} [verify_mobile_otp] - * @property {boolean} [user_exists] + * @property {string} [email] - The email address provided during registration. + * @property {number} [resend_timer] - The time in seconds before an OTP can be resent. + * @property {string} [resend_token] - A token used to authorize the resending of an OTP. + * @property {string} [resend_email_token] - A token used to authorize the + * resending of an OTP via email. + * @property {string} [register_token] - A token used for completing the + * registration process. + * @property {boolean} [success] - A boolean value indicating whether the + * registration operation was successful. + * @property {string} [request_id] - A random uuid string used to track the + * registration response. + * @property {string} [message] - A string containing additional information + * about the operation's result. + * @property {string} [mobile] - The user's phone mobile without the country code. + * @property {string} [country_code] - The country specific prefix for the phone number. + * @property {boolean} [verify_email_otp] - Whether email OTP verification is required. + * @property {boolean} [verify_mobile_otp] - Whether mobile OTP verification is required. + * @property {boolean} [user_exists] - Whether the user already exists. */ /** * @typedef VerifyEmailSuccess - * @property {string} [message] + * @property {string} [message] - Result of the email verification process. */ /** * @typedef HasPasswordSuccess - * @property {number} [result] + * @property {number} [result] - An integer value indicating whether the user + * has set a password (1 for true, 0 for false). */ /** * @typedef LogoutSuccess - * @property {boolean} [logout] + * @property {boolean} [logout] - Whether the logout operation was successful. */ /** * @typedef DeleteUserSuccess - * @property {boolean} [success] + * @property {boolean} [success] - Whether the user deletion operation was successful. */ /** * @typedef OtpSuccess - * @property {number} [resend_timer] - * @property {string} [resend_token] - * @property {string} [register_token] - * @property {boolean} [success] - * @property {string} [request_id] - * @property {string} [message] - * @property {string} [mobile] - * @property {string} [country_code] + * @property {number} [resend_timer] - The time in seconds before an OTP can be resent. + * @property {string} [resend_token] - A token used to authorize the resending of an OTP. + * @property {string} [register_token] - A token used for completing the + * registration process. + * @property {boolean} [success] - Whether the OTP send operation was successful. + * @property {string} [request_id] - A random uuid string used to track the OTP + * send response. + * @property {string} [message] - Additional information about the operation's result. + * @property {string} [mobile] - The user's mobile number without the country code. + * @property {string} [country_code] - The country specific prefix for the phone number. */ /** * @typedef EmailOtpSuccess - * @property {boolean} [success] - * @property {string} [resend_email_token] + * @property {boolean} [success] - Whether the OTP send operation was successful. + * @property {string} [resend_email_token] - A token used to authorize the + * resending of an OTP via email. */ /** * @typedef SessionListSuccess - * @property {string[]} [sessions] + * @property {string[]} [sessions] - An array of active session identifiers. */ /** * @typedef VerifyMobileOTPSuccess * @property {UserSchema} [user] - * @property {boolean} [verify_mobile_link] + * @property {boolean} [verify_mobile_link] - Whether the mobile number + * verification link was successful. */ /** * @typedef VerifyEmailOTPSuccess * @property {UserSchema} [user] - * @property {boolean} [verify_email_link] + * @property {boolean} [verify_email_link] - Whether the email verification link + * was successful. */ /** * @typedef SendMobileVerifyLinkSuccess - * @property {boolean} [verify_mobile_link] + * @property {boolean} [verify_mobile_link] - Whether the mobile verification + * link was successfully sent. */ /** * @typedef SendEmailVerifyLinkSuccess - * @property {boolean} [verify_email_link] + * @property {boolean} [verify_email_link] - Whether the email verification link + * was successfully sent. */ /** * @typedef APIError - * @property {string} [code] - * @property {string} [message] - * @property {string} [info] - Error code description link - * @property {string} [request_id] - * @property {string} [error] - * @property {Object} [meta] - * @property {boolean} [authenticated] + * @property {string} [code] - The error code representing the type of error. + * @property {string} [message] - A descriptive message providing more details + * about the error. + * @property {string} [info] - A link to the error code description. + * @property {string} [request_id] - A random uuid string used to track the api request. + * @property {string} [error] - The error message or stack trace. + * @property {Object} [meta] - Additional metadata associated with the error. + * @property {boolean} [authenticated] - Whether the user is authenticated. */ /** * @typedef FormRegisterRequestSchemaPhone - * @property {string} [country_code] - * @property {string} [mobile] + * @property {string} [country_code] - Country code for mobile number. + * @property {string} [mobile] - The user's mobile number without the country code. */ /** * @typedef OAuthRequestSchemaOauth2 - * @property {string} [access_token] - * @property {number} [expiry] - * @property {string} [refresh_token] + * @property {string} [access_token] - The access token issued by the oauth2 provider. + * @property {number} [expiry] - The expiry time of the access token in + * milliseconds since epoch. + * @property {string} [refresh_token] - The refresh token issued by the oauth2 provider. */ /** * @typedef OAuthRequestSchemaProfile - * @property {string} [last_name] - * @property {string} [image] - * @property {string} [id] - * @property {string} [email] - * @property {string} [full_name] - * @property {string} [first_name] + * @property {string} [last_name] - The last name of the user. + * @property {string} [image] - The url of the user's profile picture. + * @property {string} [id] - The unique identifier of the user. + * @property {string} [email] - The email address of the user. + * @property {string} [full_name] - The full name of the user. + * @property {string} [first_name] - The first name of the user. */ /** * @typedef OAuthRequestAppleSchemaOauth - * @property {string} [identity_token] + * @property {string} [identity_token] - The identity token issued by apple. */ /** * @typedef OAuthRequestAppleSchemaProfile - * @property {string} [last_name] - * @property {string} [full_name] - * @property {string} [first_name] + * @property {string} [last_name] - The last name of the user. + * @property {string} [full_name] - The full name of the user. + * @property {string} [first_name] - The first name of the user. */ /** * @typedef PlatformSchema - * @property {string} [display] + * @property {string} [display] - The display name of the platform. * @property {LookAndFeel} [look_and_feel] - * @property {string} [updated_at] - * @property {boolean} [active] - * @property {boolean} [forgot_password] + * @property {string} [updated_at] - The date and time when the configuration + * was last updated. + * @property {boolean} [active] - Is the application config active or not . + * @property {boolean} [forgot_password] - Forgot password option to be given or + * not to application user. * @property {Login} [login] - * @property {boolean} [skip_captcha] - * @property {string} [name] + * @property {boolean} [skip_captcha] - Skip the captcha or not . + * @property {string} [name] - Name of the application. * @property {MetaSchema} [meta] - * @property {string} [_id] + * @property {string} [_id] - Unique document id of the platform config. * @property {Social} [social] * @property {RequiredFields} [required_fields] * @property {RegisterRequiredFields} [register_required_fields] - * @property {boolean} [skip_login] + * @property {boolean} [skip_login] - Whether to skip the login or not . * @property {FlashCard} [flash_card] - * @property {string} [subtext] + * @property {string} [subtext] - Text to be shown at the top of the flash card + * like login to fynd, login to tira. * @property {SocialTokens} [social_tokens] - * @property {string} [created_at] - * @property {boolean} [register] - * @property {string} [mobile_image] - * @property {string} [desktop_image] - * @property {number} [delete_account_day] - * @property {DeleteAccountReasons[]} [delete_account_reasons] + * @property {string} [created_at] - When was the application platform config + * document was created. + * @property {boolean} [register] - Whether to show the registration page on + * landing page or not. + * @property {string} [mobile_image] - Image to be shown on registration page + * for mobile devices. + * @property {string} [desktop_image] - Image to be shown on registration page + * for desktop devices. + * @property {number} [delete_account_day] - Number of days after which the user + * account will be deleted. + * @property {DeleteAccountReasons[]} [delete_account_reasons] - List of reasons + * you can set to ask user when account is being deleted from application. * @property {DeleteAccountConsent} [delete_account_consent] * @property {SessionExpiry} [session_config] - * @property {number} [__v] + * @property {number} [__v] - Version of the document. */ /** * @typedef LookAndFeel - * @property {string} [card_position] - * @property {string} [background_color] + * @property {string} [card_position] - Position of the card eg right, left, + * top-right etc. + * @property {string} [background_color] - Background colour of the card. */ /** * @typedef Login - * @property {boolean} [password] - * @property {boolean} [otp] + * @property {boolean} [password] - Application is providing login with password or not. + * @property {boolean} [otp] - Application is providing login with OTP or not. */ /** * @typedef MetaSchema - * @property {boolean} [fynd_default] + * @property {boolean} [fynd_default] - One of the custom field that you are + * storing in meta. */ /** * @typedef Social - * @property {boolean} [account_kit] - * @property {boolean} [facebook] - * @property {boolean} [google] - * @property {boolean} [apple] + * @property {boolean} [account_kit] - Is accountkit social login active for + * application or not. + * @property {boolean} [facebook] - Is facebook social login active for + * application or not . + * @property {boolean} [google] - Is google social login active for application or not . + * @property {boolean} [apple] - Is apple social login active for application or not. */ /** * @typedef RequiredFields @@ -407,13 +449,17 @@ export = UserApplicationModel; */ /** * @typedef PlatformEmail - * @property {boolean} [is_required] - * @property {string} [level] + * @property {boolean} [is_required] - Is email mandatory for user to register + * on a application or not. + * @property {string} [level] - Level of email mandatory hard is mandatory and + * soft is optional. */ /** * @typedef PlatformMobile - * @property {boolean} [is_required] - * @property {string} [level] + * @property {boolean} [is_required] - Is mobile mandatory for user to register + * on a application or not. + * @property {string} [level] - Level of mobile mandatory hard is mandatory and + * soft is optional. */ /** * @typedef RegisterRequiredFields @@ -422,19 +468,24 @@ export = UserApplicationModel; */ /** * @typedef RegisterRequiredFieldsEmail - * @property {boolean} [is_required] - * @property {string} [level] + * @property {boolean} [is_required] - Is email mandatory for user to register + * on a application or not. + * @property {string} [level] - Level of email mandatory hard is mandatory and + * soft is optional. */ /** * @typedef RegisterRequiredFieldsMobile - * @property {boolean} [is_required] - * @property {string} [level] + * @property {boolean} [is_required] - Is mobile mandatory for user to register + * on a application or not. + * @property {string} [level] - Level of mobile mandatory hard is mandatory and + * soft is optional. */ /** * @typedef FlashCard - * @property {string} [text] - * @property {string} [text_color] - * @property {string} [background_color] + * @property {string} [text] - Text to be shown in the flash card. + * @property {string} [text_color] - Text colour for the text in the flash card. + * @property {string} [background_color] - Background colour of the text to be + * shown on the flash card. */ /** * @typedef SocialTokens @@ -444,67 +495,70 @@ export = UserApplicationModel; */ /** * @typedef DeleteAccountReasons - * @property {string} [reason_text] - * @property {string} [reason_id] - * @property {boolean} [show_text_area] + * @property {string} [reason_text] - Text of the reason to be shown to user. + * @property {string} [reason_id] - Unique id of the reason . + * @property {boolean} [show_text_area] - A boolean whether to show text area or not. */ /** * @typedef DeleteAccountConsent - * @property {string} [consent_text] + * @property {string} [consent_text] - Consent text to be shown to user. */ /** * @typedef Facebook - * @property {string} [app_id] + * @property {string} [app_id] - App id of the credentials facebook. */ /** * @typedef Accountkit - * @property {string} [app_id] + * @property {string} [app_id] - App id of the credentials account kit. */ /** * @typedef Google - * @property {string} [app_id] + * @property {string} [app_id] - App id of the credentials google. */ /** * @typedef SessionExpiry - * @property {number} [duration] - * @property {string} [type] - * @property {boolean} [is_rolling] + * @property {number} [duration] - Number of days or hours based on type till + * which the session can be rolled back. + * @property {string} [type] - Days or hours the type of time for session rollback. + * @property {boolean} [is_rolling] - Whether session needs to be rollback or not. */ /** * @typedef UserSchema - * @property {string} [application_id] - * @property {string} [user_id] - * @property {string} [first_name] - * @property {Object} [meta] - * @property {string} [last_name] - * @property {PhoneNumber[]} [phone_numbers] - * @property {Email[]} [emails] - * @property {string} [gender] - * @property {string} [dob] - * @property {boolean} [active] - * @property {string} [profile_pic_url] - * @property {string} [username] - * @property {string} [account_type] - * @property {string} [_id] - * @property {string} [created_at] - * @property {string} [updated_at] - * @property {string} [external_id] - * @property {string} [rr_id] + * @property {string} [application_id] - Application id of the user. + * @property {string} [user_id] - Unique id of the user. + * @property {string} [first_name] - First name of the user. + * @property {Object} [meta] - Metadata of the user, used to store details about the user + * @property {string} [last_name] - Last name of the user + * @property {PhoneNumber[]} [phone_numbers] - List of phone numbers of the user. + * @property {Email[]} [emails] - List of email addresses of the user. + * @property {string} [gender] - Gender of the user. + * @property {string} [dob] - Date of birth of the user. + * @property {boolean} [active] - Is the user active. + * @property {string} [profile_pic_url] - URL of the profile picture of the user. + * @property {string} [username] - Unique username of the user. + * @property {string} [account_type] - Type of user (user, programmatic (created + * by system)) + * @property {string} [_id] - Unique id of the user. + * @property {string} [created_at] - Date and time of user creation. + * @property {string} [updated_at] - Date and time of user update. + * @property {string} [external_id] - Unique id referencing any user external + * documents (jio). + * @property {string} [rr_id] - Unique id referencing any user external documents. */ /** * @typedef PhoneNumber - * @property {string} [phone] - Phone number - * @property {number} [country_code] - Country code - * @property {boolean} [active] - Is the phone number active - * @property {boolean} [primary] - Is it a primary phone number - * @property {boolean} [verified] - Is the phone number verified + * @property {string} [phone] - Phone number of the user. + * @property {number} [country_code] - Country code for mobile number. + * @property {boolean} [active] - Is the phone number active. + * @property {boolean} [primary] - Is it a primary phone number. + * @property {boolean} [verified] - Is the phone number verified. */ /** * @typedef Email - * @property {string} [email] - Email address - * @property {boolean} [active] - Is the email active - * @property {boolean} [primary] - Is it a primary email - * @property {boolean} [verified] - Is the email verified + * @property {string} [email] - Email address. + * @property {boolean} [active] - Is the email active. + * @property {boolean} [primary] - Is it a primary email. + * @property {boolean} [verified] - Is the email verified. */ declare class UserApplicationModel { } @@ -514,40 +568,88 @@ declare namespace UserApplicationModel { /** @returns {UpdateUserAttributesRequest} */ declare function UpdateUserAttributesRequest(): UpdateUserAttributesRequest; type UpdateUserAttributesRequest = { + /** + * - Describes the request structure to update + * the user attribute. + */ attributes?: any; }; /** @returns {UserAttributes} */ declare function UserAttributes(): UserAttributes; type UserAttributes = { + /** + * - Describes the structure of user attribute. + */ attributes?: any; }; /** @returns {DeleteApplicationUserRequestSchema} */ declare function DeleteApplicationUserRequestSchema(): DeleteApplicationUserRequestSchema; type DeleteApplicationUserRequestSchema = { + /** + * - User id for the application user. + */ user_id?: string; + /** + * - Reason to delete the application user. + */ reason?: string; + /** + * - Reason id of request to delete the application user . + */ reason_id?: string; + /** + * - ID of request to delete the application user . + */ request_id?: string; + /** + * - OTP to verify the delete application user request. + */ otp?: string; }; /** @returns {EditEmailRequestSchema} */ declare function EditEmailRequestSchema(): EditEmailRequestSchema; type EditEmailRequestSchema = { + /** + * - Email of the user. + */ email?: string; }; /** @returns {SendVerificationLinkMobileRequestSchema} */ declare function SendVerificationLinkMobileRequestSchema(): SendVerificationLinkMobileRequestSchema; type SendVerificationLinkMobileRequestSchema = { + /** + * - Boolean to specify if the phone number is + * verified or not. + */ verified?: boolean; + /** + * - Boolean to specify if the phone number is active or not. + */ active?: boolean; + /** + * - Country code for the phone number. + */ country_code?: string; + /** + * - Phone number. + */ phone?: string; + /** + * - Boolean to specify if the phone number is + * primary or not. + */ primary?: boolean; }; /** @returns {EditMobileRequestSchema} */ declare function EditMobileRequestSchema(): EditMobileRequestSchema; type EditMobileRequestSchema = { + /** + * - Country code for the phone number. + */ country_code?: string; + /** + * - Phone number of user. + */ phone?: string; }; /** @returns {EditProfileRequestSchema} */ @@ -557,64 +659,154 @@ type EditProfileRequestSchema = { * - Set to true if you want to encrypt the OTP. */ encrypt_otp?: boolean; + /** + * - First name of the application user. + */ first_name?: string; + /** + * - Last name of the application user. + */ last_name?: string; mobile?: EditProfileMobileSchema; + /** + * - Country code for the phone number. + */ country_code?: string; + /** + * - Email id of user. + */ email?: string; + /** + * - Gender of user. + */ gender?: string; + /** + * - Date of birth of user. + */ dob?: string; + /** + * - Profile picture of user. + */ profile_pic_url?: string; + /** + * - Unique hash value. + */ android_hash?: string; + /** + * - Identity of the sender. + */ sender?: string; + /** + * - Unique temporary registration of the user. + */ register_token?: string; }; /** @returns {EditProfileMobileSchema} */ declare function EditProfileMobileSchema(): EditProfileMobileSchema; type EditProfileMobileSchema = { + /** + * - Phone number of user. + */ phone?: string; + /** + * - Country code for the phone number. + */ country_code?: string; }; /** @returns {SendEmailOtpRequestSchema} */ declare function SendEmailOtpRequestSchema(): SendEmailOtpRequestSchema; type SendEmailOtpRequestSchema = { + /** + * - Email of a user to send email OTP. + */ email?: string; + /** + * - Action to specify if to send or resent the OTP. + */ action?: string; + /** + * - Token to validate the request. + */ token?: string; + /** + * - Unique temporary registration of the user. + */ register_token?: string; }; /** @returns {SendEmailForgotOtpRequestSchema} */ declare function SendEmailForgotOtpRequestSchema(): SendEmailForgotOtpRequestSchema; type SendEmailForgotOtpRequestSchema = { + /** + * - Email of a user to send email OTP. + */ email?: string; + /** + * - Action to specify if to send or resent the OTP. + */ action?: string; + /** + * - Token to validate the request. + */ token?: string; }; /** @returns {VerifyEmailOtpRequestSchema} */ declare function VerifyEmailOtpRequestSchema(): VerifyEmailOtpRequestSchema; type VerifyEmailOtpRequestSchema = { + /** + * - Email of a user to verify OTP. + */ email?: string; + /** + * - Action to verify the send or resent OTP. + */ action?: string; + /** + * - Unique temporary registration of the user. + */ register_token?: string; + /** + * - OTP for verification. + */ otp?: string; }; /** @returns {VerifyEmailForgotOtpRequestSchema} */ declare function VerifyEmailForgotOtpRequestSchema(): VerifyEmailForgotOtpRequestSchema; type VerifyEmailForgotOtpRequestSchema = { + /** + * - Email id of user. + */ email?: string; + /** + * - OTP for verification. + */ otp?: string; }; /** @returns {VerifyOtpRequestSchema} */ declare function VerifyOtpRequestSchema(): VerifyOtpRequestSchema; type VerifyOtpRequestSchema = { + /** + * - Unique request id for the OTP sent to mobile number. + */ request_id?: string; + /** + * - Unique temporary registration of the user. + */ register_token?: string; + /** + * - OTP for verification. + */ otp?: string; }; /** @returns {VerifyMobileForgotOtpRequestSchema} */ declare function VerifyMobileForgotOtpRequestSchema(): VerifyMobileForgotOtpRequestSchema; type VerifyMobileForgotOtpRequestSchema = { + /** + * - Unique request id for the OTP. + */ request_id?: string; + /** + * - OTP for verification. + */ otp?: string; }; /** @returns {SendMobileOtpRequestSchema} */ @@ -624,86 +816,182 @@ type SendMobileOtpRequestSchema = { * - Set to true if you want to encrypt the OTP. */ encrypt_otp?: boolean; + /** + * - Mobile number of user. + */ mobile?: string; + /** + * - Country code for the phone number. + */ country_code?: string; + /** + * - Action to specify if to send or resent the OTP. + */ action?: string; + /** + * - Token to validate the request. + */ token?: string; + /** + * - Unique hash value. + */ android_hash?: string; + /** + * - Force verify the OTP. + */ force?: string; }; /** @returns {SendMobileForgotOtpRequestSchema} */ declare function SendMobileForgotOtpRequestSchema(): SendMobileForgotOtpRequestSchema; type SendMobileForgotOtpRequestSchema = { + /** + * - Phone number of user. + */ mobile?: string; + /** + * - Country code for the phone number. + */ country_code?: string; + /** + * - Action to specify if to send or resent the OTP. + */ action?: string; + /** + * - Token to validate the request. + */ token?: string; + /** + * - Unique hash value. + */ android_hash?: string; }; /** @returns {UpdatePasswordRequestSchema} */ declare function UpdatePasswordRequestSchema(): UpdatePasswordRequestSchema; type UpdatePasswordRequestSchema = { + /** + * - Old password. + */ old_password?: string; + /** + * - New password. + */ new_password?: string; }; /** @returns {FormRegisterRequestSchema} */ declare function FormRegisterRequestSchema(): FormRegisterRequestSchema; type FormRegisterRequestSchema = { + /** + * - First name of the application user. + */ first_name?: string; + /** + * - Last name of the application user. + */ last_name?: string; + /** + * - Gender of user. + */ gender?: string; + /** + * - Email of user. + */ email?: string; + /** + * - Password of user. + */ password?: string; phone?: FormRegisterRequestSchemaPhone; + /** + * - Unique registration token of user. + */ register_token?: string; }; /** @returns {TokenRequestBodySchema} */ declare function TokenRequestBodySchema(): TokenRequestBodySchema; type TokenRequestBodySchema = { + /** + * - Unique token. + */ token?: string; }; /** @returns {ForgotPasswordRequestSchema} */ declare function ForgotPasswordRequestSchema(): ForgotPasswordRequestSchema; type ForgotPasswordRequestSchema = { + /** + * - Unique code to verify request. + */ code?: string; + /** + * - Password of user. + */ password?: string; }; /** @returns {CodeRequestBodySchema} */ declare function CodeRequestBodySchema(): CodeRequestBodySchema; type CodeRequestBodySchema = { + /** + * - Unique code to verify request. + */ code?: string; }; /** @returns {SendResetPasswordEmailRequestSchema} */ declare function SendResetPasswordEmailRequestSchema(): SendResetPasswordEmailRequestSchema; type SendResetPasswordEmailRequestSchema = { + /** + * - Email id of user. + */ email?: string; }; /** @returns {SendResetPasswordMobileRequestSchema} */ declare function SendResetPasswordMobileRequestSchema(): SendResetPasswordMobileRequestSchema; type SendResetPasswordMobileRequestSchema = { + /** + * - Country code for the phone number. + */ country_code?: string; + /** + * - Phone number of user. + */ mobile?: string; }; /** @returns {PasswordLoginRequestSchema} */ declare function PasswordLoginRequestSchema(): PasswordLoginRequestSchema; type PasswordLoginRequestSchema = { + /** + * - Password of user. + */ password?: string; + /** + * - Username of user. + */ username?: string; }; /** @returns {SendOtpRequestSchema} */ declare function SendOtpRequestSchema(): SendOtpRequestSchema; type SendOtpRequestSchema = { /** - * - Set to true if you want to encrypt the OTP. + * - Eet to true if you want to encrypt the OTP. */ encrypt_otp?: boolean; + /** + * - Country code for the phone number. + */ country_code?: string; + /** + * - Phone number. + */ mobile?: string; + /** + * - Unique hash value. + */ android_hash?: string; }; /** @returns {OAuthRequestSchema} */ declare function OAuthRequestSchema(): OAuthRequestSchema; type OAuthRequestSchema = { + /** + * - Boolean to specify if the user is signed in . + */ is_signed_in?: boolean; oauth2?: OAuthRequestSchemaOauth2; profile?: OAuthRequestSchemaProfile; @@ -711,6 +999,9 @@ type OAuthRequestSchema = { /** @returns {OAuthRequestAppleSchema} */ declare function OAuthRequestAppleSchema(): OAuthRequestAppleSchema; type OAuthRequestAppleSchema = { + /** + * - Unique user identifier. + */ user_identifier?: string; oauth?: OAuthRequestAppleSchemaOauth; profile?: OAuthRequestAppleSchemaProfile; @@ -723,265 +1014,652 @@ type UserObjectSchema = { /** @returns {AuthSuccess} */ declare function AuthSuccess(): AuthSuccess; type AuthSuccess = { + /** + * - Unique registration token for user. + */ register_token?: string; + /** + * - Boolean which specifies if user is registered. + */ user_exists?: boolean; user?: UserSchema; }; /** @returns {UserExistsResponse} */ declare function UserExistsResponse(): UserExistsResponse; type UserExistsResponse = { + /** + * - Boolean which specifies if user is + * registered or not. + */ user_exists?: boolean; }; /** @returns {SendOtpResponse} */ declare function SendOtpResponse(): SendOtpResponse; type SendOtpResponse = { + /** + * - Time after which opt can be resent. + */ resend_timer?: number; + /** + * - Unique token to identify the OTP send + * request and resend the token. + */ resend_token?: string; + /** + * - Specify if the OTP is successfully sent. + */ success?: boolean; + /** + * - Unique request id for the OTP. + */ request_id?: string; + /** + * - Message to specify the OTP send status. Eg. + * OTP sent, failed to send OTP etc. + */ message?: string; + /** + * - Phone number of user. + */ mobile?: string; + /** + * - Country code for the phone number. + */ country_code?: string; + /** + * - Email id of user. + */ email?: string; + /** + * - Unique token to identify the OTP + * send request and resend the token on email. + */ resend_email_token?: string; + /** + * - Unique registration token for user. + */ register_token?: string; + /** + * - If email OTP verification is + * mandatory for registration. + */ verify_email_otp?: boolean; + /** + * - If mobile OTP verification is + * mandatory for registration. + */ verify_mobile_otp?: boolean; + /** + * - If user is registered or not. + */ user_exists?: boolean; }; /** @returns {ProfileEditSuccess} */ declare function ProfileEditSuccess(): ProfileEditSuccess; type ProfileEditSuccess = { user?: UserSchema; + /** + * - Unique registration token for user. + */ register_token?: string; + /** + * - Unique token to identify the + * request for OTP verification in case of unverified email. + */ resend_email_token?: string; + /** + * - If user is registered or not. + */ user_exists?: boolean; + /** + * - Whether to send a link to verify + * the registered email id of the user. + */ verify_email_link?: boolean; + /** + * - Whether to send a OTP to verify the + * registered email id of the user. + */ verify_email_otp?: boolean; + /** + * - Whether to send a OTP to verify the + * registered phone of the user. + */ verify_mobile_otp?: boolean; + /** + * - Email id of user. + */ email?: string; + /** + * - A random uuid string used to track the request. + */ request_id?: string; + /** + * - The country specific prefix for the phone number. + */ country_code?: string; + /** + * - The user's mobile number without the country code. + */ mobile?: string; + /** + * - Whether the operation was successful. + */ success?: boolean; + /** + * - Information about the operation's result. + */ message?: string; + /** + * - Time in seconds before an request can be resent. + */ resend_timer?: number; + /** + * - A token used to authorize the resending of request. + */ resend_token?: string; }; /** @returns {LoginSuccess} */ declare function LoginSuccess(): LoginSuccess; type LoginSuccess = { user?: UserSchema; + /** + * - A random uuid string used to track the send + * OTP response. + */ request_id?: string; + /** + * - A token used for registration purposes. + */ register_token?: string; }; /** @returns {ResetForgotPasswordSuccess} */ declare function ResetForgotPasswordSuccess(): ResetForgotPasswordSuccess; type ResetForgotPasswordSuccess = { + /** + * - Whether the password reset operation was successful. + */ success?: boolean; }; /** @returns {VerifyOtpSuccess} */ declare function VerifyOtpSuccess(): VerifyOtpSuccess; type VerifyOtpSuccess = { user?: UserSchema; + /** + * - Whether the user already exists. + */ user_exists?: boolean; + /** + * - A token used for registration purposes. + */ register_token?: string; }; /** @returns {VerifyForgotOtpSuccess} */ declare function VerifyForgotOtpSuccess(): VerifyForgotOtpSuccess; type VerifyForgotOtpSuccess = { + /** + * - Whether the OTP verification was successful. + */ success?: boolean; + /** + * - A token used for resetting the forgotten password. + */ forgot_token?: string; }; /** @returns {ResetPasswordSuccess} */ declare function ResetPasswordSuccess(): ResetPasswordSuccess; type ResetPasswordSuccess = { + /** + * - Status of the password reset operation. + */ status?: string; }; /** @returns {RegisterFormSuccess} */ declare function RegisterFormSuccess(): RegisterFormSuccess; type RegisterFormSuccess = { + /** + * - The email address provided during registration. + */ email?: string; + /** + * - The time in seconds before an OTP can be resent. + */ resend_timer?: number; + /** + * - A token used to authorize the resending of an OTP. + */ resend_token?: string; + /** + * - A token used to authorize the + * resending of an OTP via email. + */ resend_email_token?: string; + /** + * - A token used for completing the + * registration process. + */ register_token?: string; + /** + * - A boolean value indicating whether the + * registration operation was successful. + */ success?: boolean; + /** + * - A random uuid string used to track the + * registration response. + */ request_id?: string; + /** + * - A string containing additional information + * about the operation's result. + */ message?: string; + /** + * - The user's phone mobile without the country code. + */ mobile?: string; + /** + * - The country specific prefix for the phone number. + */ country_code?: string; + /** + * - Whether email OTP verification is required. + */ verify_email_otp?: boolean; + /** + * - Whether mobile OTP verification is required. + */ verify_mobile_otp?: boolean; + /** + * - Whether the user already exists. + */ user_exists?: boolean; }; /** @returns {VerifyEmailSuccess} */ declare function VerifyEmailSuccess(): VerifyEmailSuccess; type VerifyEmailSuccess = { + /** + * - Result of the email verification process. + */ message?: string; }; /** @returns {HasPasswordSuccess} */ declare function HasPasswordSuccess(): HasPasswordSuccess; type HasPasswordSuccess = { + /** + * - An integer value indicating whether the user + * has set a password (1 for true, 0 for false). + */ result?: number; }; /** @returns {LogoutSuccess} */ declare function LogoutSuccess(): LogoutSuccess; type LogoutSuccess = { + /** + * - Whether the logout operation was successful. + */ logout?: boolean; }; /** @returns {DeleteUserSuccess} */ declare function DeleteUserSuccess(): DeleteUserSuccess; type DeleteUserSuccess = { + /** + * - Whether the user deletion operation was successful. + */ success?: boolean; }; /** @returns {OtpSuccess} */ declare function OtpSuccess(): OtpSuccess; type OtpSuccess = { + /** + * - The time in seconds before an OTP can be resent. + */ resend_timer?: number; + /** + * - A token used to authorize the resending of an OTP. + */ resend_token?: string; + /** + * - A token used for completing the + * registration process. + */ register_token?: string; + /** + * - Whether the OTP send operation was successful. + */ success?: boolean; + /** + * - A random uuid string used to track the OTP + * send response. + */ request_id?: string; + /** + * - Additional information about the operation's result. + */ message?: string; + /** + * - The user's mobile number without the country code. + */ mobile?: string; + /** + * - The country specific prefix for the phone number. + */ country_code?: string; }; /** @returns {EmailOtpSuccess} */ declare function EmailOtpSuccess(): EmailOtpSuccess; type EmailOtpSuccess = { + /** + * - Whether the OTP send operation was successful. + */ success?: boolean; + /** + * - A token used to authorize the + * resending of an OTP via email. + */ resend_email_token?: string; }; /** @returns {SessionListSuccess} */ declare function SessionListSuccess(): SessionListSuccess; type SessionListSuccess = { + /** + * - An array of active session identifiers. + */ sessions?: string[]; }; /** @returns {VerifyMobileOTPSuccess} */ declare function VerifyMobileOTPSuccess(): VerifyMobileOTPSuccess; type VerifyMobileOTPSuccess = { user?: UserSchema; + /** + * - Whether the mobile number + * verification link was successful. + */ verify_mobile_link?: boolean; }; /** @returns {VerifyEmailOTPSuccess} */ declare function VerifyEmailOTPSuccess(): VerifyEmailOTPSuccess; type VerifyEmailOTPSuccess = { user?: UserSchema; + /** + * - Whether the email verification link + * was successful. + */ verify_email_link?: boolean; }; /** @returns {SendMobileVerifyLinkSuccess} */ declare function SendMobileVerifyLinkSuccess(): SendMobileVerifyLinkSuccess; type SendMobileVerifyLinkSuccess = { + /** + * - Whether the mobile verification + * link was successfully sent. + */ verify_mobile_link?: boolean; }; /** @returns {SendEmailVerifyLinkSuccess} */ declare function SendEmailVerifyLinkSuccess(): SendEmailVerifyLinkSuccess; type SendEmailVerifyLinkSuccess = { + /** + * - Whether the email verification link + * was successfully sent. + */ verify_email_link?: boolean; }; /** @returns {APIError} */ declare function APIError(): APIError; type APIError = { + /** + * - The error code representing the type of error. + */ code?: string; + /** + * - A descriptive message providing more details + * about the error. + */ message?: string; /** - * - Error code description link + * - A link to the error code description. */ info?: string; + /** + * - A random uuid string used to track the api request. + */ request_id?: string; + /** + * - The error message or stack trace. + */ error?: string; + /** + * - Additional metadata associated with the error. + */ meta?: any; + /** + * - Whether the user is authenticated. + */ authenticated?: boolean; }; /** @returns {FormRegisterRequestSchemaPhone} */ declare function FormRegisterRequestSchemaPhone(): FormRegisterRequestSchemaPhone; type FormRegisterRequestSchemaPhone = { + /** + * - Country code for mobile number. + */ country_code?: string; + /** + * - The user's mobile number without the country code. + */ mobile?: string; }; /** @returns {OAuthRequestSchemaOauth2} */ declare function OAuthRequestSchemaOauth2(): OAuthRequestSchemaOauth2; type OAuthRequestSchemaOauth2 = { + /** + * - The access token issued by the oauth2 provider. + */ access_token?: string; + /** + * - The expiry time of the access token in + * milliseconds since epoch. + */ expiry?: number; + /** + * - The refresh token issued by the oauth2 provider. + */ refresh_token?: string; }; /** @returns {OAuthRequestSchemaProfile} */ declare function OAuthRequestSchemaProfile(): OAuthRequestSchemaProfile; type OAuthRequestSchemaProfile = { + /** + * - The last name of the user. + */ last_name?: string; + /** + * - The url of the user's profile picture. + */ image?: string; + /** + * - The unique identifier of the user. + */ id?: string; + /** + * - The email address of the user. + */ email?: string; + /** + * - The full name of the user. + */ full_name?: string; + /** + * - The first name of the user. + */ first_name?: string; }; /** @returns {OAuthRequestAppleSchemaOauth} */ declare function OAuthRequestAppleSchemaOauth(): OAuthRequestAppleSchemaOauth; type OAuthRequestAppleSchemaOauth = { + /** + * - The identity token issued by apple. + */ identity_token?: string; }; /** @returns {OAuthRequestAppleSchemaProfile} */ declare function OAuthRequestAppleSchemaProfile(): OAuthRequestAppleSchemaProfile; type OAuthRequestAppleSchemaProfile = { + /** + * - The last name of the user. + */ last_name?: string; + /** + * - The full name of the user. + */ full_name?: string; + /** + * - The first name of the user. + */ first_name?: string; }; /** @returns {PlatformSchema} */ declare function PlatformSchema(): PlatformSchema; type PlatformSchema = { + /** + * - The display name of the platform. + */ display?: string; look_and_feel?: LookAndFeel; + /** + * - The date and time when the configuration + * was last updated. + */ updated_at?: string; + /** + * - Is the application config active or not . + */ active?: boolean; + /** + * - Forgot password option to be given or + * not to application user. + */ forgot_password?: boolean; login?: Login; + /** + * - Skip the captcha or not . + */ skip_captcha?: boolean; + /** + * - Name of the application. + */ name?: string; meta?: MetaSchema; + /** + * - Unique document id of the platform config. + */ _id?: string; social?: Social; required_fields?: RequiredFields; register_required_fields?: RegisterRequiredFields; + /** + * - Whether to skip the login or not . + */ skip_login?: boolean; flash_card?: FlashCard; + /** + * - Text to be shown at the top of the flash card + * like login to fynd, login to tira. + */ subtext?: string; social_tokens?: SocialTokens; + /** + * - When was the application platform config + * document was created. + */ created_at?: string; + /** + * - Whether to show the registration page on + * landing page or not. + */ register?: boolean; + /** + * - Image to be shown on registration page + * for mobile devices. + */ mobile_image?: string; + /** + * - Image to be shown on registration page + * for desktop devices. + */ desktop_image?: string; + /** + * - Number of days after which the user + * account will be deleted. + */ delete_account_day?: number; + /** + * - List of reasons + * you can set to ask user when account is being deleted from application. + */ delete_account_reasons?: DeleteAccountReasons[]; delete_account_consent?: DeleteAccountConsent; session_config?: SessionExpiry; + /** + * - Version of the document. + */ __v?: number; }; /** @returns {LookAndFeel} */ declare function LookAndFeel(): LookAndFeel; type LookAndFeel = { + /** + * - Position of the card eg right, left, + * top-right etc. + */ card_position?: string; + /** + * - Background colour of the card. + */ background_color?: string; }; /** @returns {Login} */ declare function Login(): Login; type Login = { + /** + * - Application is providing login with password or not. + */ password?: boolean; + /** + * - Application is providing login with OTP or not. + */ otp?: boolean; }; /** @returns {MetaSchema} */ declare function MetaSchema(): MetaSchema; type MetaSchema = { + /** + * - One of the custom field that you are + * storing in meta. + */ fynd_default?: boolean; }; /** @returns {Social} */ declare function Social(): Social; type Social = { + /** + * - Is accountkit social login active for + * application or not. + */ account_kit?: boolean; + /** + * - Is facebook social login active for + * application or not . + */ facebook?: boolean; + /** + * - Is google social login active for application or not . + */ google?: boolean; + /** + * - Is apple social login active for application or not. + */ apple?: boolean; }; /** @returns {RequiredFields} */ @@ -993,13 +1671,29 @@ type RequiredFields = { /** @returns {PlatformEmail} */ declare function PlatformEmail(): PlatformEmail; type PlatformEmail = { + /** + * - Is email mandatory for user to register + * on a application or not. + */ is_required?: boolean; + /** + * - Level of email mandatory hard is mandatory and + * soft is optional. + */ level?: string; }; /** @returns {PlatformMobile} */ declare function PlatformMobile(): PlatformMobile; type PlatformMobile = { + /** + * - Is mobile mandatory for user to register + * on a application or not. + */ is_required?: boolean; + /** + * - Level of mobile mandatory hard is mandatory and + * soft is optional. + */ level?: string; }; /** @returns {RegisterRequiredFields} */ @@ -1011,20 +1705,46 @@ type RegisterRequiredFields = { /** @returns {RegisterRequiredFieldsEmail} */ declare function RegisterRequiredFieldsEmail(): RegisterRequiredFieldsEmail; type RegisterRequiredFieldsEmail = { + /** + * - Is email mandatory for user to register + * on a application or not. + */ is_required?: boolean; + /** + * - Level of email mandatory hard is mandatory and + * soft is optional. + */ level?: string; }; /** @returns {RegisterRequiredFieldsMobile} */ declare function RegisterRequiredFieldsMobile(): RegisterRequiredFieldsMobile; type RegisterRequiredFieldsMobile = { + /** + * - Is mobile mandatory for user to register + * on a application or not. + */ is_required?: boolean; + /** + * - Level of mobile mandatory hard is mandatory and + * soft is optional. + */ level?: string; }; /** @returns {FlashCard} */ declare function FlashCard(): FlashCard; type FlashCard = { + /** + * - Text to be shown in the flash card. + */ text?: string; + /** + * - Text colour for the text in the flash card. + */ text_color?: string; + /** + * - Background colour of the text to be + * shown on the flash card. + */ background_color?: string; }; /** @returns {SocialTokens} */ @@ -1037,80 +1757,167 @@ type SocialTokens = { /** @returns {DeleteAccountReasons} */ declare function DeleteAccountReasons(): DeleteAccountReasons; type DeleteAccountReasons = { + /** + * - Text of the reason to be shown to user. + */ reason_text?: string; + /** + * - Unique id of the reason . + */ reason_id?: string; + /** + * - A boolean whether to show text area or not. + */ show_text_area?: boolean; }; /** @returns {DeleteAccountConsent} */ declare function DeleteAccountConsent(): DeleteAccountConsent; type DeleteAccountConsent = { + /** + * - Consent text to be shown to user. + */ consent_text?: string; }; /** @returns {Facebook} */ declare function Facebook(): Facebook; type Facebook = { + /** + * - App id of the credentials facebook. + */ app_id?: string; }; /** @returns {Accountkit} */ declare function Accountkit(): Accountkit; type Accountkit = { + /** + * - App id of the credentials account kit. + */ app_id?: string; }; /** @returns {Google} */ declare function Google(): Google; type Google = { + /** + * - App id of the credentials google. + */ app_id?: string; }; /** @returns {SessionExpiry} */ declare function SessionExpiry(): SessionExpiry; type SessionExpiry = { + /** + * - Number of days or hours based on type till + * which the session can be rolled back. + */ duration?: number; + /** + * - Days or hours the type of time for session rollback. + */ type?: string; + /** + * - Whether session needs to be rollback or not. + */ is_rolling?: boolean; }; /** @returns {UserSchema} */ declare function UserSchema(): UserSchema; type UserSchema = { + /** + * - Application id of the user. + */ application_id?: string; + /** + * - Unique id of the user. + */ user_id?: string; + /** + * - First name of the user. + */ first_name?: string; + /** + * - Metadata of the user, used to store details about the user + */ meta?: any; + /** + * - Last name of the user + */ last_name?: string; + /** + * - List of phone numbers of the user. + */ phone_numbers?: PhoneNumber[]; + /** + * - List of email addresses of the user. + */ emails?: Email[]; + /** + * - Gender of the user. + */ gender?: string; + /** + * - Date of birth of the user. + */ dob?: string; + /** + * - Is the user active. + */ active?: boolean; + /** + * - URL of the profile picture of the user. + */ profile_pic_url?: string; + /** + * - Unique username of the user. + */ username?: string; + /** + * - Type of user (user, programmatic (created + * by system)) + */ account_type?: string; + /** + * - Unique id of the user. + */ _id?: string; + /** + * - Date and time of user creation. + */ created_at?: string; + /** + * - Date and time of user update. + */ updated_at?: string; + /** + * - Unique id referencing any user external + * documents (jio). + */ external_id?: string; + /** + * - Unique id referencing any user external documents. + */ rr_id?: string; }; /** @returns {PhoneNumber} */ declare function PhoneNumber(): PhoneNumber; type PhoneNumber = { /** - * - Phone number + * - Phone number of the user. */ phone?: string; /** - * - Country code + * - Country code for mobile number. */ country_code?: number; /** - * - Is the phone number active + * - Is the phone number active. */ active?: boolean; /** - * - Is it a primary phone number + * - Is it a primary phone number. */ primary?: boolean; /** - * - Is the phone number verified + * - Is the phone number verified. */ verified?: boolean; }; @@ -1118,19 +1925,19 @@ type PhoneNumber = { declare function Email(): Email; type Email = { /** - * - Email address + * - Email address. */ email?: string; /** - * - Is the email active + * - Is the email active. */ active?: boolean; /** - * - Is it a primary email + * - Is it a primary email. */ primary?: boolean; /** - * - Is the email verified + * - Is the email verified. */ verified?: boolean; }; diff --git a/sdk/application/User/UserApplicationModel.js b/sdk/application/User/UserApplicationModel.js index d36b79179..da07a276c 100644 --- a/sdk/application/User/UserApplicationModel.js +++ b/sdk/application/User/UserApplicationModel.js @@ -2,195 +2,198 @@ const Joi = require("joi"); /** * @typedef UpdateUserAttributesRequest - * @property {Object} [attributes] + * @property {Object} [attributes] - Describes the request structure to update + * the user attribute. */ /** * @typedef UserAttributes - * @property {Object} [attributes] + * @property {Object} [attributes] - Describes the structure of user attribute. */ /** * @typedef DeleteApplicationUserRequestSchema - * @property {string} [user_id] - * @property {string} [reason] - * @property {string} [reason_id] - * @property {string} [request_id] - * @property {string} [otp] + * @property {string} [user_id] - User id for the application user. + * @property {string} [reason] - Reason to delete the application user. + * @property {string} [reason_id] - Reason id of request to delete the application user . + * @property {string} [request_id] - ID of request to delete the application user . + * @property {string} [otp] - OTP to verify the delete application user request. */ /** * @typedef EditEmailRequestSchema - * @property {string} [email] + * @property {string} [email] - Email of the user. */ /** * @typedef SendVerificationLinkMobileRequestSchema - * @property {boolean} [verified] - * @property {boolean} [active] - * @property {string} [country_code] - * @property {string} [phone] - * @property {boolean} [primary] + * @property {boolean} [verified] - Boolean to specify if the phone number is + * verified or not. + * @property {boolean} [active] - Boolean to specify if the phone number is active or not. + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [phone] - Phone number. + * @property {boolean} [primary] - Boolean to specify if the phone number is + * primary or not. */ /** * @typedef EditMobileRequestSchema - * @property {string} [country_code] - * @property {string} [phone] + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [phone] - Phone number of user. */ /** * @typedef EditProfileRequestSchema * @property {boolean} [encrypt_otp] - Set to true if you want to encrypt the OTP. - * @property {string} [first_name] - * @property {string} [last_name] + * @property {string} [first_name] - First name of the application user. + * @property {string} [last_name] - Last name of the application user. * @property {EditProfileMobileSchema} [mobile] - * @property {string} [country_code] - * @property {string} [email] - * @property {string} [gender] - * @property {string} [dob] - * @property {string} [profile_pic_url] - * @property {string} [android_hash] - * @property {string} [sender] - * @property {string} [register_token] + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [email] - Email id of user. + * @property {string} [gender] - Gender of user. + * @property {string} [dob] - Date of birth of user. + * @property {string} [profile_pic_url] - Profile picture of user. + * @property {string} [android_hash] - Unique hash value. + * @property {string} [sender] - Identity of the sender. + * @property {string} [register_token] - Unique temporary registration of the user. */ /** * @typedef EditProfileMobileSchema - * @property {string} [phone] - * @property {string} [country_code] + * @property {string} [phone] - Phone number of user. + * @property {string} [country_code] - Country code for the phone number. */ /** * @typedef SendEmailOtpRequestSchema - * @property {string} [email] - * @property {string} [action] - * @property {string} [token] - * @property {string} [register_token] + * @property {string} [email] - Email of a user to send email OTP. + * @property {string} [action] - Action to specify if to send or resent the OTP. + * @property {string} [token] - Token to validate the request. + * @property {string} [register_token] - Unique temporary registration of the user. */ /** * @typedef SendEmailForgotOtpRequestSchema - * @property {string} [email] - * @property {string} [action] - * @property {string} [token] + * @property {string} [email] - Email of a user to send email OTP. + * @property {string} [action] - Action to specify if to send or resent the OTP. + * @property {string} [token] - Token to validate the request. */ /** * @typedef VerifyEmailOtpRequestSchema - * @property {string} [email] - * @property {string} [action] - * @property {string} [register_token] - * @property {string} [otp] + * @property {string} [email] - Email of a user to verify OTP. + * @property {string} [action] - Action to verify the send or resent OTP. + * @property {string} [register_token] - Unique temporary registration of the user. + * @property {string} [otp] - OTP for verification. */ /** * @typedef VerifyEmailForgotOtpRequestSchema - * @property {string} [email] - * @property {string} [otp] + * @property {string} [email] - Email id of user. + * @property {string} [otp] - OTP for verification. */ /** * @typedef VerifyOtpRequestSchema - * @property {string} [request_id] - * @property {string} [register_token] - * @property {string} [otp] + * @property {string} [request_id] - Unique request id for the OTP sent to mobile number. + * @property {string} [register_token] - Unique temporary registration of the user. + * @property {string} [otp] - OTP for verification. */ /** * @typedef VerifyMobileForgotOtpRequestSchema - * @property {string} [request_id] - * @property {string} [otp] + * @property {string} [request_id] - Unique request id for the OTP. + * @property {string} [otp] - OTP for verification. */ /** * @typedef SendMobileOtpRequestSchema * @property {boolean} [encrypt_otp] - Set to true if you want to encrypt the OTP. - * @property {string} [mobile] - * @property {string} [country_code] - * @property {string} [action] - * @property {string} [token] - * @property {string} [android_hash] - * @property {string} [force] + * @property {string} [mobile] - Mobile number of user. + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [action] - Action to specify if to send or resent the OTP. + * @property {string} [token] - Token to validate the request. + * @property {string} [android_hash] - Unique hash value. + * @property {string} [force] - Force verify the OTP. */ /** * @typedef SendMobileForgotOtpRequestSchema - * @property {string} [mobile] - * @property {string} [country_code] - * @property {string} [action] - * @property {string} [token] - * @property {string} [android_hash] + * @property {string} [mobile] - Phone number of user. + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [action] - Action to specify if to send or resent the OTP. + * @property {string} [token] - Token to validate the request. + * @property {string} [android_hash] - Unique hash value. */ /** * @typedef UpdatePasswordRequestSchema - * @property {string} [old_password] - * @property {string} [new_password] + * @property {string} [old_password] - Old password. + * @property {string} [new_password] - New password. */ /** * @typedef FormRegisterRequestSchema - * @property {string} [first_name] - * @property {string} [last_name] - * @property {string} [gender] - * @property {string} [email] - * @property {string} [password] + * @property {string} [first_name] - First name of the application user. + * @property {string} [last_name] - Last name of the application user. + * @property {string} [gender] - Gender of user. + * @property {string} [email] - Email of user. + * @property {string} [password] - Password of user. * @property {FormRegisterRequestSchemaPhone} [phone] - * @property {string} [register_token] + * @property {string} [register_token] - Unique registration token of user. */ /** * @typedef TokenRequestBodySchema - * @property {string} [token] + * @property {string} [token] - Unique token. */ /** * @typedef ForgotPasswordRequestSchema - * @property {string} [code] - * @property {string} [password] + * @property {string} [code] - Unique code to verify request. + * @property {string} [password] - Password of user. */ /** * @typedef CodeRequestBodySchema - * @property {string} [code] + * @property {string} [code] - Unique code to verify request. */ /** * @typedef SendResetPasswordEmailRequestSchema - * @property {string} [email] + * @property {string} [email] - Email id of user. */ /** * @typedef SendResetPasswordMobileRequestSchema - * @property {string} [country_code] - * @property {string} [mobile] + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [mobile] - Phone number of user. */ /** * @typedef PasswordLoginRequestSchema - * @property {string} [password] - * @property {string} [username] + * @property {string} [password] - Password of user. + * @property {string} [username] - Username of user. */ /** * @typedef SendOtpRequestSchema - * @property {boolean} [encrypt_otp] - Set to true if you want to encrypt the OTP. - * @property {string} [country_code] - * @property {string} [mobile] - * @property {string} [android_hash] + * @property {boolean} [encrypt_otp] - Eet to true if you want to encrypt the OTP. + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [mobile] - Phone number. + * @property {string} [android_hash] - Unique hash value. */ /** * @typedef OAuthRequestSchema - * @property {boolean} [is_signed_in] + * @property {boolean} [is_signed_in] - Boolean to specify if the user is signed in . * @property {OAuthRequestSchemaOauth2} [oauth2] * @property {OAuthRequestSchemaProfile} [profile] */ /** * @typedef OAuthRequestAppleSchema - * @property {string} [user_identifier] + * @property {string} [user_identifier] - Unique user identifier. * @property {OAuthRequestAppleSchemaOauth} [oauth] * @property {OAuthRequestAppleSchemaProfile} [profile] */ @@ -202,263 +205,302 @@ const Joi = require("joi"); /** * @typedef AuthSuccess - * @property {string} [register_token] - * @property {boolean} [user_exists] + * @property {string} [register_token] - Unique registration token for user. + * @property {boolean} [user_exists] - Boolean which specifies if user is registered. * @property {UserSchema} [user] */ /** * @typedef UserExistsResponse - * @property {boolean} [user_exists] + * @property {boolean} [user_exists] - Boolean which specifies if user is + * registered or not. */ /** * @typedef SendOtpResponse - * @property {number} [resend_timer] - * @property {string} [resend_token] - * @property {boolean} [success] - * @property {string} [request_id] - * @property {string} [message] - * @property {string} [mobile] - * @property {string} [country_code] - * @property {string} [email] - * @property {string} [resend_email_token] - * @property {string} [register_token] - * @property {boolean} [verify_email_otp] - * @property {boolean} [verify_mobile_otp] - * @property {boolean} [user_exists] + * @property {number} [resend_timer] - Time after which opt can be resent. + * @property {string} [resend_token] - Unique token to identify the OTP send + * request and resend the token. + * @property {boolean} [success] - Specify if the OTP is successfully sent. + * @property {string} [request_id] - Unique request id for the OTP. + * @property {string} [message] - Message to specify the OTP send status. Eg. + * OTP sent, failed to send OTP etc. + * @property {string} [mobile] - Phone number of user. + * @property {string} [country_code] - Country code for the phone number. + * @property {string} [email] - Email id of user. + * @property {string} [resend_email_token] - Unique token to identify the OTP + * send request and resend the token on email. + * @property {string} [register_token] - Unique registration token for user. + * @property {boolean} [verify_email_otp] - If email OTP verification is + * mandatory for registration. + * @property {boolean} [verify_mobile_otp] - If mobile OTP verification is + * mandatory for registration. + * @property {boolean} [user_exists] - If user is registered or not. */ /** * @typedef ProfileEditSuccess * @property {UserSchema} [user] - * @property {string} [register_token] - * @property {string} [resend_email_token] - * @property {boolean} [user_exists] - * @property {boolean} [verify_email_link] - * @property {boolean} [verify_email_otp] - * @property {boolean} [verify_mobile_otp] - * @property {string} [email] - * @property {string} [request_id] - * @property {string} [country_code] - * @property {string} [mobile] - * @property {boolean} [success] - * @property {string} [message] - * @property {number} [resend_timer] - * @property {string} [resend_token] + * @property {string} [register_token] - Unique registration token for user. + * @property {string} [resend_email_token] - Unique token to identify the + * request for OTP verification in case of unverified email. + * @property {boolean} [user_exists] - If user is registered or not. + * @property {boolean} [verify_email_link] - Whether to send a link to verify + * the registered email id of the user. + * @property {boolean} [verify_email_otp] - Whether to send a OTP to verify the + * registered email id of the user. + * @property {boolean} [verify_mobile_otp] - Whether to send a OTP to verify the + * registered phone of the user. + * @property {string} [email] - Email id of user. + * @property {string} [request_id] - A random uuid string used to track the request. + * @property {string} [country_code] - The country specific prefix for the phone number. + * @property {string} [mobile] - The user's mobile number without the country code. + * @property {boolean} [success] - Whether the operation was successful. + * @property {string} [message] - Information about the operation's result. + * @property {number} [resend_timer] - Time in seconds before an request can be resent. + * @property {string} [resend_token] - A token used to authorize the resending of request. */ /** * @typedef LoginSuccess * @property {UserSchema} [user] - * @property {string} [request_id] - * @property {string} [register_token] + * @property {string} [request_id] - A random uuid string used to track the send + * OTP response. + * @property {string} [register_token] - A token used for registration purposes. */ /** * @typedef ResetForgotPasswordSuccess - * @property {boolean} [success] + * @property {boolean} [success] - Whether the password reset operation was successful. */ /** * @typedef VerifyOtpSuccess * @property {UserSchema} [user] - * @property {boolean} [user_exists] - * @property {string} [register_token] + * @property {boolean} [user_exists] - Whether the user already exists. + * @property {string} [register_token] - A token used for registration purposes. */ /** * @typedef VerifyForgotOtpSuccess - * @property {boolean} [success] - * @property {string} [forgot_token] + * @property {boolean} [success] - Whether the OTP verification was successful. + * @property {string} [forgot_token] - A token used for resetting the forgotten password. */ /** * @typedef ResetPasswordSuccess - * @property {string} [status] + * @property {string} [status] - Status of the password reset operation. */ /** * @typedef RegisterFormSuccess - * @property {string} [email] - * @property {number} [resend_timer] - * @property {string} [resend_token] - * @property {string} [resend_email_token] - * @property {string} [register_token] - * @property {boolean} [success] - * @property {string} [request_id] - * @property {string} [message] - * @property {string} [mobile] - * @property {string} [country_code] - * @property {boolean} [verify_email_otp] - * @property {boolean} [verify_mobile_otp] - * @property {boolean} [user_exists] + * @property {string} [email] - The email address provided during registration. + * @property {number} [resend_timer] - The time in seconds before an OTP can be resent. + * @property {string} [resend_token] - A token used to authorize the resending of an OTP. + * @property {string} [resend_email_token] - A token used to authorize the + * resending of an OTP via email. + * @property {string} [register_token] - A token used for completing the + * registration process. + * @property {boolean} [success] - A boolean value indicating whether the + * registration operation was successful. + * @property {string} [request_id] - A random uuid string used to track the + * registration response. + * @property {string} [message] - A string containing additional information + * about the operation's result. + * @property {string} [mobile] - The user's phone mobile without the country code. + * @property {string} [country_code] - The country specific prefix for the phone number. + * @property {boolean} [verify_email_otp] - Whether email OTP verification is required. + * @property {boolean} [verify_mobile_otp] - Whether mobile OTP verification is required. + * @property {boolean} [user_exists] - Whether the user already exists. */ /** * @typedef VerifyEmailSuccess - * @property {string} [message] + * @property {string} [message] - Result of the email verification process. */ /** * @typedef HasPasswordSuccess - * @property {number} [result] + * @property {number} [result] - An integer value indicating whether the user + * has set a password (1 for true, 0 for false). */ /** * @typedef LogoutSuccess - * @property {boolean} [logout] + * @property {boolean} [logout] - Whether the logout operation was successful. */ /** * @typedef DeleteUserSuccess - * @property {boolean} [success] + * @property {boolean} [success] - Whether the user deletion operation was successful. */ /** * @typedef OtpSuccess - * @property {number} [resend_timer] - * @property {string} [resend_token] - * @property {string} [register_token] - * @property {boolean} [success] - * @property {string} [request_id] - * @property {string} [message] - * @property {string} [mobile] - * @property {string} [country_code] + * @property {number} [resend_timer] - The time in seconds before an OTP can be resent. + * @property {string} [resend_token] - A token used to authorize the resending of an OTP. + * @property {string} [register_token] - A token used for completing the + * registration process. + * @property {boolean} [success] - Whether the OTP send operation was successful. + * @property {string} [request_id] - A random uuid string used to track the OTP + * send response. + * @property {string} [message] - Additional information about the operation's result. + * @property {string} [mobile] - The user's mobile number without the country code. + * @property {string} [country_code] - The country specific prefix for the phone number. */ /** * @typedef EmailOtpSuccess - * @property {boolean} [success] - * @property {string} [resend_email_token] + * @property {boolean} [success] - Whether the OTP send operation was successful. + * @property {string} [resend_email_token] - A token used to authorize the + * resending of an OTP via email. */ /** * @typedef SessionListSuccess - * @property {string[]} [sessions] + * @property {string[]} [sessions] - An array of active session identifiers. */ /** * @typedef VerifyMobileOTPSuccess * @property {UserSchema} [user] - * @property {boolean} [verify_mobile_link] + * @property {boolean} [verify_mobile_link] - Whether the mobile number + * verification link was successful. */ /** * @typedef VerifyEmailOTPSuccess * @property {UserSchema} [user] - * @property {boolean} [verify_email_link] + * @property {boolean} [verify_email_link] - Whether the email verification link + * was successful. */ /** * @typedef SendMobileVerifyLinkSuccess - * @property {boolean} [verify_mobile_link] + * @property {boolean} [verify_mobile_link] - Whether the mobile verification + * link was successfully sent. */ /** * @typedef SendEmailVerifyLinkSuccess - * @property {boolean} [verify_email_link] + * @property {boolean} [verify_email_link] - Whether the email verification link + * was successfully sent. */ /** * @typedef APIError - * @property {string} [code] - * @property {string} [message] - * @property {string} [info] - Error code description link - * @property {string} [request_id] - * @property {string} [error] - * @property {Object} [meta] - * @property {boolean} [authenticated] + * @property {string} [code] - The error code representing the type of error. + * @property {string} [message] - A descriptive message providing more details + * about the error. + * @property {string} [info] - A link to the error code description. + * @property {string} [request_id] - A random uuid string used to track the api request. + * @property {string} [error] - The error message or stack trace. + * @property {Object} [meta] - Additional metadata associated with the error. + * @property {boolean} [authenticated] - Whether the user is authenticated. */ /** * @typedef FormRegisterRequestSchemaPhone - * @property {string} [country_code] - * @property {string} [mobile] + * @property {string} [country_code] - Country code for mobile number. + * @property {string} [mobile] - The user's mobile number without the country code. */ /** * @typedef OAuthRequestSchemaOauth2 - * @property {string} [access_token] - * @property {number} [expiry] - * @property {string} [refresh_token] + * @property {string} [access_token] - The access token issued by the oauth2 provider. + * @property {number} [expiry] - The expiry time of the access token in + * milliseconds since epoch. + * @property {string} [refresh_token] - The refresh token issued by the oauth2 provider. */ /** * @typedef OAuthRequestSchemaProfile - * @property {string} [last_name] - * @property {string} [image] - * @property {string} [id] - * @property {string} [email] - * @property {string} [full_name] - * @property {string} [first_name] + * @property {string} [last_name] - The last name of the user. + * @property {string} [image] - The url of the user's profile picture. + * @property {string} [id] - The unique identifier of the user. + * @property {string} [email] - The email address of the user. + * @property {string} [full_name] - The full name of the user. + * @property {string} [first_name] - The first name of the user. */ /** * @typedef OAuthRequestAppleSchemaOauth - * @property {string} [identity_token] + * @property {string} [identity_token] - The identity token issued by apple. */ /** * @typedef OAuthRequestAppleSchemaProfile - * @property {string} [last_name] - * @property {string} [full_name] - * @property {string} [first_name] + * @property {string} [last_name] - The last name of the user. + * @property {string} [full_name] - The full name of the user. + * @property {string} [first_name] - The first name of the user. */ /** * @typedef PlatformSchema - * @property {string} [display] + * @property {string} [display] - The display name of the platform. * @property {LookAndFeel} [look_and_feel] - * @property {string} [updated_at] - * @property {boolean} [active] - * @property {boolean} [forgot_password] + * @property {string} [updated_at] - The date and time when the configuration + * was last updated. + * @property {boolean} [active] - Is the application config active or not . + * @property {boolean} [forgot_password] - Forgot password option to be given or + * not to application user. * @property {Login} [login] - * @property {boolean} [skip_captcha] - * @property {string} [name] + * @property {boolean} [skip_captcha] - Skip the captcha or not . + * @property {string} [name] - Name of the application. * @property {MetaSchema} [meta] - * @property {string} [_id] + * @property {string} [_id] - Unique document id of the platform config. * @property {Social} [social] * @property {RequiredFields} [required_fields] * @property {RegisterRequiredFields} [register_required_fields] - * @property {boolean} [skip_login] + * @property {boolean} [skip_login] - Whether to skip the login or not . * @property {FlashCard} [flash_card] - * @property {string} [subtext] + * @property {string} [subtext] - Text to be shown at the top of the flash card + * like login to fynd, login to tira. * @property {SocialTokens} [social_tokens] - * @property {string} [created_at] - * @property {boolean} [register] - * @property {string} [mobile_image] - * @property {string} [desktop_image] - * @property {number} [delete_account_day] - * @property {DeleteAccountReasons[]} [delete_account_reasons] + * @property {string} [created_at] - When was the application platform config + * document was created. + * @property {boolean} [register] - Whether to show the registration page on + * landing page or not. + * @property {string} [mobile_image] - Image to be shown on registration page + * for mobile devices. + * @property {string} [desktop_image] - Image to be shown on registration page + * for desktop devices. + * @property {number} [delete_account_day] - Number of days after which the user + * account will be deleted. + * @property {DeleteAccountReasons[]} [delete_account_reasons] - List of reasons + * you can set to ask user when account is being deleted from application. * @property {DeleteAccountConsent} [delete_account_consent] * @property {SessionExpiry} [session_config] - * @property {number} [__v] + * @property {number} [__v] - Version of the document. */ /** * @typedef LookAndFeel - * @property {string} [card_position] - * @property {string} [background_color] + * @property {string} [card_position] - Position of the card eg right, left, + * top-right etc. + * @property {string} [background_color] - Background colour of the card. */ /** * @typedef Login - * @property {boolean} [password] - * @property {boolean} [otp] + * @property {boolean} [password] - Application is providing login with password or not. + * @property {boolean} [otp] - Application is providing login with OTP or not. */ /** * @typedef MetaSchema - * @property {boolean} [fynd_default] + * @property {boolean} [fynd_default] - One of the custom field that you are + * storing in meta. */ /** * @typedef Social - * @property {boolean} [account_kit] - * @property {boolean} [facebook] - * @property {boolean} [google] - * @property {boolean} [apple] + * @property {boolean} [account_kit] - Is accountkit social login active for + * application or not. + * @property {boolean} [facebook] - Is facebook social login active for + * application or not . + * @property {boolean} [google] - Is google social login active for application or not . + * @property {boolean} [apple] - Is apple social login active for application or not. */ /** @@ -469,14 +511,18 @@ const Joi = require("joi"); /** * @typedef PlatformEmail - * @property {boolean} [is_required] - * @property {string} [level] + * @property {boolean} [is_required] - Is email mandatory for user to register + * on a application or not. + * @property {string} [level] - Level of email mandatory hard is mandatory and + * soft is optional. */ /** * @typedef PlatformMobile - * @property {boolean} [is_required] - * @property {string} [level] + * @property {boolean} [is_required] - Is mobile mandatory for user to register + * on a application or not. + * @property {string} [level] - Level of mobile mandatory hard is mandatory and + * soft is optional. */ /** @@ -487,21 +533,26 @@ const Joi = require("joi"); /** * @typedef RegisterRequiredFieldsEmail - * @property {boolean} [is_required] - * @property {string} [level] + * @property {boolean} [is_required] - Is email mandatory for user to register + * on a application or not. + * @property {string} [level] - Level of email mandatory hard is mandatory and + * soft is optional. */ /** * @typedef RegisterRequiredFieldsMobile - * @property {boolean} [is_required] - * @property {string} [level] + * @property {boolean} [is_required] - Is mobile mandatory for user to register + * on a application or not. + * @property {string} [level] - Level of mobile mandatory hard is mandatory and + * soft is optional. */ /** * @typedef FlashCard - * @property {string} [text] - * @property {string} [text_color] - * @property {string} [background_color] + * @property {string} [text] - Text to be shown in the flash card. + * @property {string} [text_color] - Text colour for the text in the flash card. + * @property {string} [background_color] - Background colour of the text to be + * shown on the flash card. */ /** @@ -513,75 +564,78 @@ const Joi = require("joi"); /** * @typedef DeleteAccountReasons - * @property {string} [reason_text] - * @property {string} [reason_id] - * @property {boolean} [show_text_area] + * @property {string} [reason_text] - Text of the reason to be shown to user. + * @property {string} [reason_id] - Unique id of the reason . + * @property {boolean} [show_text_area] - A boolean whether to show text area or not. */ /** * @typedef DeleteAccountConsent - * @property {string} [consent_text] + * @property {string} [consent_text] - Consent text to be shown to user. */ /** * @typedef Facebook - * @property {string} [app_id] + * @property {string} [app_id] - App id of the credentials facebook. */ /** * @typedef Accountkit - * @property {string} [app_id] + * @property {string} [app_id] - App id of the credentials account kit. */ /** * @typedef Google - * @property {string} [app_id] + * @property {string} [app_id] - App id of the credentials google. */ /** * @typedef SessionExpiry - * @property {number} [duration] - * @property {string} [type] - * @property {boolean} [is_rolling] + * @property {number} [duration] - Number of days or hours based on type till + * which the session can be rolled back. + * @property {string} [type] - Days or hours the type of time for session rollback. + * @property {boolean} [is_rolling] - Whether session needs to be rollback or not. */ /** * @typedef UserSchema - * @property {string} [application_id] - * @property {string} [user_id] - * @property {string} [first_name] - * @property {Object} [meta] - * @property {string} [last_name] - * @property {PhoneNumber[]} [phone_numbers] - * @property {Email[]} [emails] - * @property {string} [gender] - * @property {string} [dob] - * @property {boolean} [active] - * @property {string} [profile_pic_url] - * @property {string} [username] - * @property {string} [account_type] - * @property {string} [_id] - * @property {string} [created_at] - * @property {string} [updated_at] - * @property {string} [external_id] - * @property {string} [rr_id] + * @property {string} [application_id] - Application id of the user. + * @property {string} [user_id] - Unique id of the user. + * @property {string} [first_name] - First name of the user. + * @property {Object} [meta] - Metadata of the user, used to store details about the user + * @property {string} [last_name] - Last name of the user + * @property {PhoneNumber[]} [phone_numbers] - List of phone numbers of the user. + * @property {Email[]} [emails] - List of email addresses of the user. + * @property {string} [gender] - Gender of the user. + * @property {string} [dob] - Date of birth of the user. + * @property {boolean} [active] - Is the user active. + * @property {string} [profile_pic_url] - URL of the profile picture of the user. + * @property {string} [username] - Unique username of the user. + * @property {string} [account_type] - Type of user (user, programmatic (created + * by system)) + * @property {string} [_id] - Unique id of the user. + * @property {string} [created_at] - Date and time of user creation. + * @property {string} [updated_at] - Date and time of user update. + * @property {string} [external_id] - Unique id referencing any user external + * documents (jio). + * @property {string} [rr_id] - Unique id referencing any user external documents. */ /** * @typedef PhoneNumber - * @property {string} [phone] - Phone number - * @property {number} [country_code] - Country code - * @property {boolean} [active] - Is the phone number active - * @property {boolean} [primary] - Is it a primary phone number - * @property {boolean} [verified] - Is the phone number verified + * @property {string} [phone] - Phone number of the user. + * @property {number} [country_code] - Country code for mobile number. + * @property {boolean} [active] - Is the phone number active. + * @property {boolean} [primary] - Is it a primary phone number. + * @property {boolean} [verified] - Is the phone number verified. */ /** * @typedef Email - * @property {string} [email] - Email address - * @property {boolean} [active] - Is the email active - * @property {boolean} [primary] - Is it a primary email - * @property {boolean} [verified] - Is the email verified + * @property {string} [email] - Email address. + * @property {boolean} [active] - Is the email active. + * @property {boolean} [primary] - Is it a primary email. + * @property {boolean} [verified] - Is the email verified. */ class UserApplicationModel { diff --git a/sdk/application/User/UserApplicationValidator.d.ts b/sdk/application/User/UserApplicationValidator.d.ts index 19399cb17..18fcaef45 100644 --- a/sdk/application/User/UserApplicationValidator.d.ts +++ b/sdk/application/User/UserApplicationValidator.d.ts @@ -1,38 +1,38 @@ export = UserApplicationValidator; /** * @typedef AddEmailParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.EditEmailRequestSchema} body */ /** * @typedef AddMobileNumberParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.EditMobileRequestSchema} body */ /** * @typedef DeleteEmailParam - * @property {string} [platform] - ID of the application - * @property {boolean} active - This is a boolean value to check if email ID is - * active 1. True - Email ID is active 2.False - Email ID is inactive - * @property {boolean} primary - This is a boolean value to check if email ID is - * primary (main email ID) 1. True - Email ID is primary 2.False - Email ID is - * not primary - * @property {boolean} verified - This is a boolean value to check if email ID - * is verified 1. True - Email ID is verified 2.False - Email ID is not verified yet - * @property {string} email - The email ID to delete + * @property {string} [platform] - ID of the application. + * @property {boolean} active - Boolean value to check if email id is active 1. + * True - email id is active 2.False - email id is inactive. + * @property {boolean} primary - Boolean value to check if email id is primary + * (main email id) 1. True - email id is primary 2.False - email id is not primary. + * @property {boolean} verified - Boolean value to check if email id is verified + * 1. True - email id is verified 2.False - email id is not verified yet. + * @property {string} email - The email id to delete. */ /** * @typedef DeleteMobileNumberParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {boolean} active - This is a boolean value to check if mobile - * number is active 1.True - Number is active 2. False - Number is inactive + * number is active 1.True - number is active 2. False - number is inactive. * @property {boolean} primary - This is a boolean value to check if mobile - * number is primary number (main number) 1. True - Number is primary 2. False - * - Number is not primary + * number is primary number (main number) 1. True - number is primary 2. False + * - number is not primary. * @property {boolean} verified - This is a boolean value to check if mobile - * number is verified 1. True - Number is verified 2.False - Number is not verified yet - * @property {string} countryCode - Country code of the phone number, e.g. 91 - * @property {string} phone - Phone number + * number is verified 1. True - number is verified 2.False - number is not + * verified yet. + * @property {string} countryCode - Country code of the phone number, e.g. 91. + * @property {string} phone - Phone number. */ /** * @typedef DeleteUserParam @@ -46,7 +46,7 @@ export = UserApplicationValidator; /** @typedef GetLoggedInUserParam */ /** * @typedef GetPlatformConfigParam - * @property {string} [name] - Name of the application, e.g. Fynd + * @property {string} [name] - Name of the application, e.g. Fynd. */ /** * @typedef GetUserAttributesParam @@ -55,7 +55,7 @@ export = UserApplicationValidator; /** @typedef HasPasswordParam */ /** * @typedef LoginWithAppleIOSParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.OAuthRequestAppleSchema} body */ /** @@ -64,27 +64,27 @@ export = UserApplicationValidator; */ /** * @typedef LoginWithFacebookParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.OAuthRequestSchema} body */ /** * @typedef LoginWithGoogleParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.OAuthRequestSchema} body */ /** * @typedef LoginWithGoogleAndroidParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.OAuthRequestSchema} body */ /** * @typedef LoginWithGoogleIOSParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.OAuthRequestSchema} body */ /** * @typedef LoginWithOTPParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendOtpRequestSchema} body */ /** @@ -94,7 +94,7 @@ export = UserApplicationValidator; /** @typedef LogoutParam */ /** * @typedef RegisterWithFormParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.FormRegisterRequestSchema} body */ /** @@ -103,32 +103,32 @@ export = UserApplicationValidator; */ /** * @typedef SendForgotOTPOnEmailParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendEmailForgotOtpRequestSchema} body */ /** * @typedef SendForgotOTPOnMobileParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendMobileForgotOtpRequestSchema} body */ /** * @typedef SendOTPOnEmailParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendEmailOtpRequestSchema} body */ /** * @typedef SendOTPOnMobileParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendMobileOtpRequestSchema} body */ /** * @typedef SendResetPasswordEmailParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendResetPasswordEmailRequestSchema} body */ /** * @typedef SendResetPasswordMobileParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendResetPasswordMobileRequestSchema} body */ /** @@ -137,12 +137,12 @@ export = UserApplicationValidator; */ /** * @typedef SendVerificationLinkToEmailParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.EditEmailRequestSchema} body */ /** * @typedef SendVerificationLinkToMobileParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendVerificationLinkMobileRequestSchema} body */ /** @@ -159,7 +159,7 @@ export = UserApplicationValidator; */ /** * @typedef UpdateProfileParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.EditProfileRequestSchema} body */ /** @@ -168,7 +168,7 @@ export = UserApplicationValidator; */ /** * @typedef UserExistsParam - * @property {string} q - Email id or phone number of user + * @property {string} q - Email id or phone number of user. */ /** * @typedef VerifyEmailParam @@ -176,12 +176,12 @@ export = UserApplicationValidator; */ /** * @typedef VerifyEmailForgotOTPParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.VerifyEmailForgotOtpRequestSchema} body */ /** * @typedef VerifyEmailOTPParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.VerifyEmailOtpRequestSchema} body */ /** @@ -190,12 +190,12 @@ export = UserApplicationValidator; */ /** * @typedef VerifyMobileForgotOTPParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.VerifyMobileForgotOtpRequestSchema} body */ /** * @typedef VerifyMobileOTPParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.VerifyOtpRequestSchema} body */ declare class UserApplicationValidator { @@ -291,71 +291,71 @@ declare namespace UserApplicationValidator { } type AddEmailParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.EditEmailRequestSchema; }; type AddMobileNumberParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.EditMobileRequestSchema; }; type DeleteEmailParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; /** - * - This is a boolean value to check if email ID is - * active 1. True - Email ID is active 2.False - Email ID is inactive + * - Boolean value to check if email id is active 1. + * True - email id is active 2.False - email id is inactive. */ active: boolean; /** - * - This is a boolean value to check if email ID is - * primary (main email ID) 1. True - Email ID is primary 2.False - Email ID is - * not primary + * - Boolean value to check if email id is primary + * (main email id) 1. True - email id is primary 2.False - email id is not primary. */ primary: boolean; /** - * - This is a boolean value to check if email ID - * is verified 1. True - Email ID is verified 2.False - Email ID is not verified yet + * - Boolean value to check if email id is verified + * 1. True - email id is verified 2.False - email id is not verified yet. */ verified: boolean; /** - * - The email ID to delete + * - The email id to delete. */ email: string; }; type DeleteMobileNumberParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; /** * - This is a boolean value to check if mobile - * number is active 1.True - Number is active 2. False - Number is inactive + * number is active 1.True - number is active 2. False - number is inactive. */ active: boolean; /** * - This is a boolean value to check if mobile - * number is primary number (main number) 1. True - Number is primary 2. False - * - Number is not primary + * number is primary number (main number) 1. True - number is primary 2. False + * - number is not primary. */ primary: boolean; /** * - This is a boolean value to check if mobile - * number is verified 1. True - Number is verified 2.False - Number is not verified yet + * number is verified 1. True - number is verified 2.False - number is not + * verified yet. */ verified: boolean; /** - * - Country code of the phone number, e.g. 91 + * - Country code of the phone number, e.g. 91. */ countryCode: string; /** - * - Phone number + * - Phone number. */ phone: string; }; @@ -367,7 +367,7 @@ type ForgotPasswordParam = { }; type GetPlatformConfigParam = { /** - * - Name of the application, e.g. Fynd + * - Name of the application, e.g. Fynd. */ name?: string; }; @@ -379,7 +379,7 @@ type GetUserAttributesParam = { }; type LoginWithAppleIOSParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.OAuthRequestAppleSchema; @@ -389,35 +389,35 @@ type LoginWithEmailAndPasswordParam = { }; type LoginWithFacebookParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.OAuthRequestSchema; }; type LoginWithGoogleParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.OAuthRequestSchema; }; type LoginWithGoogleAndroidParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.OAuthRequestSchema; }; type LoginWithGoogleIOSParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.OAuthRequestSchema; }; type LoginWithOTPParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.SendOtpRequestSchema; @@ -427,7 +427,7 @@ type LoginWithTokenParam = { }; type RegisterWithFormParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.FormRegisterRequestSchema; @@ -437,42 +437,42 @@ type ResetForgotPasswordParam = { }; type SendForgotOTPOnEmailParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.SendEmailForgotOtpRequestSchema; }; type SendForgotOTPOnMobileParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.SendMobileForgotOtpRequestSchema; }; type SendOTPOnEmailParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.SendEmailOtpRequestSchema; }; type SendOTPOnMobileParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.SendMobileOtpRequestSchema; }; type SendResetPasswordEmailParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.SendResetPasswordEmailRequestSchema; }; type SendResetPasswordMobileParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.SendResetPasswordMobileRequestSchema; @@ -482,14 +482,14 @@ type SendResetTokenParam = { }; type SendVerificationLinkToEmailParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.EditEmailRequestSchema; }; type SendVerificationLinkToMobileParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.SendVerificationLinkMobileRequestSchema; @@ -505,7 +505,7 @@ type UpdatePasswordParam = { }; type UpdateProfileParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.EditProfileRequestSchema; @@ -515,7 +515,7 @@ type UpdateUserAttributesParam = { }; type UserExistsParam = { /** - * - Email id or phone number of user + * - Email id or phone number of user. */ q: string; }; @@ -524,14 +524,14 @@ type VerifyEmailParam = { }; type VerifyEmailForgotOTPParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.VerifyEmailForgotOtpRequestSchema; }; type VerifyEmailOTPParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.VerifyEmailOtpRequestSchema; @@ -541,14 +541,14 @@ type VerifyMobileParam = { }; type VerifyMobileForgotOTPParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.VerifyMobileForgotOtpRequestSchema; }; type VerifyMobileOTPParam = { /** - * - ID of the application + * - ID of the application. */ platform?: string; body: UserApplicationModel.VerifyOtpRequestSchema; diff --git a/sdk/application/User/UserApplicationValidator.js b/sdk/application/User/UserApplicationValidator.js index b0cc11e5c..f8878b4ca 100644 --- a/sdk/application/User/UserApplicationValidator.js +++ b/sdk/application/User/UserApplicationValidator.js @@ -4,41 +4,41 @@ const UserApplicationModel = require("./UserApplicationModel"); /** * @typedef AddEmailParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.EditEmailRequestSchema} body */ /** * @typedef AddMobileNumberParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.EditMobileRequestSchema} body */ /** * @typedef DeleteEmailParam - * @property {string} [platform] - ID of the application - * @property {boolean} active - This is a boolean value to check if email ID is - * active 1. True - Email ID is active 2.False - Email ID is inactive - * @property {boolean} primary - This is a boolean value to check if email ID is - * primary (main email ID) 1. True - Email ID is primary 2.False - Email ID is - * not primary - * @property {boolean} verified - This is a boolean value to check if email ID - * is verified 1. True - Email ID is verified 2.False - Email ID is not verified yet - * @property {string} email - The email ID to delete + * @property {string} [platform] - ID of the application. + * @property {boolean} active - Boolean value to check if email id is active 1. + * True - email id is active 2.False - email id is inactive. + * @property {boolean} primary - Boolean value to check if email id is primary + * (main email id) 1. True - email id is primary 2.False - email id is not primary. + * @property {boolean} verified - Boolean value to check if email id is verified + * 1. True - email id is verified 2.False - email id is not verified yet. + * @property {string} email - The email id to delete. */ /** * @typedef DeleteMobileNumberParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {boolean} active - This is a boolean value to check if mobile - * number is active 1.True - Number is active 2. False - Number is inactive + * number is active 1.True - number is active 2. False - number is inactive. * @property {boolean} primary - This is a boolean value to check if mobile - * number is primary number (main number) 1. True - Number is primary 2. False - * - Number is not primary + * number is primary number (main number) 1. True - number is primary 2. False + * - number is not primary. * @property {boolean} verified - This is a boolean value to check if mobile - * number is verified 1. True - Number is verified 2.False - Number is not verified yet - * @property {string} countryCode - Country code of the phone number, e.g. 91 - * @property {string} phone - Phone number + * number is verified 1. True - number is verified 2.False - number is not + * verified yet. + * @property {string} countryCode - Country code of the phone number, e.g. 91. + * @property {string} phone - Phone number. */ /** @@ -57,7 +57,7 @@ const UserApplicationModel = require("./UserApplicationModel"); /** * @typedef GetPlatformConfigParam - * @property {string} [name] - Name of the application, e.g. Fynd + * @property {string} [name] - Name of the application, e.g. Fynd. */ /** @@ -69,7 +69,7 @@ const UserApplicationModel = require("./UserApplicationModel"); /** * @typedef LoginWithAppleIOSParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.OAuthRequestAppleSchema} body */ @@ -80,31 +80,31 @@ const UserApplicationModel = require("./UserApplicationModel"); /** * @typedef LoginWithFacebookParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.OAuthRequestSchema} body */ /** * @typedef LoginWithGoogleParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.OAuthRequestSchema} body */ /** * @typedef LoginWithGoogleAndroidParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.OAuthRequestSchema} body */ /** * @typedef LoginWithGoogleIOSParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.OAuthRequestSchema} body */ /** * @typedef LoginWithOTPParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendOtpRequestSchema} body */ @@ -117,7 +117,7 @@ const UserApplicationModel = require("./UserApplicationModel"); /** * @typedef RegisterWithFormParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.FormRegisterRequestSchema} body */ @@ -128,37 +128,37 @@ const UserApplicationModel = require("./UserApplicationModel"); /** * @typedef SendForgotOTPOnEmailParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendEmailForgotOtpRequestSchema} body */ /** * @typedef SendForgotOTPOnMobileParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendMobileForgotOtpRequestSchema} body */ /** * @typedef SendOTPOnEmailParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendEmailOtpRequestSchema} body */ /** * @typedef SendOTPOnMobileParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendMobileOtpRequestSchema} body */ /** * @typedef SendResetPasswordEmailParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendResetPasswordEmailRequestSchema} body */ /** * @typedef SendResetPasswordMobileParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendResetPasswordMobileRequestSchema} body */ @@ -169,13 +169,13 @@ const UserApplicationModel = require("./UserApplicationModel"); /** * @typedef SendVerificationLinkToEmailParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.EditEmailRequestSchema} body */ /** * @typedef SendVerificationLinkToMobileParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.SendVerificationLinkMobileRequestSchema} body */ @@ -196,7 +196,7 @@ const UserApplicationModel = require("./UserApplicationModel"); /** * @typedef UpdateProfileParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.EditProfileRequestSchema} body */ @@ -207,7 +207,7 @@ const UserApplicationModel = require("./UserApplicationModel"); /** * @typedef UserExistsParam - * @property {string} q - Email id or phone number of user + * @property {string} q - Email id or phone number of user. */ /** @@ -217,13 +217,13 @@ const UserApplicationModel = require("./UserApplicationModel"); /** * @typedef VerifyEmailForgotOTPParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.VerifyEmailForgotOtpRequestSchema} body */ /** * @typedef VerifyEmailOTPParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.VerifyEmailOtpRequestSchema} body */ @@ -234,13 +234,13 @@ const UserApplicationModel = require("./UserApplicationModel"); /** * @typedef VerifyMobileForgotOTPParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.VerifyMobileForgotOtpRequestSchema} body */ /** * @typedef VerifyMobileOTPParam - * @property {string} [platform] - ID of the application + * @property {string} [platform] - ID of the application. * @property {UserApplicationModel.VerifyOtpRequestSchema} body */ diff --git a/sdk/application/Webhook/WebhookApplicationClient.d.ts b/sdk/application/Webhook/WebhookApplicationClient.d.ts index f3098e32d..fbec6135f 100644 --- a/sdk/application/Webhook/WebhookApplicationClient.d.ts +++ b/sdk/application/Webhook/WebhookApplicationClient.d.ts @@ -14,7 +14,7 @@ declare class Webhook { * @returns {Promise} - Success response * @name saveClickEvent * @summary: Endpoint to capture click events from sales channels and persist them in database. - * @description: Endpoint to capture click events from sales channels. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/webhook/saveClickEvent/). + * @description: Send click events from sales channels. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/webhook/saveClickEvent/). */ saveClickEvent({ body, requestHeaders }?: WebhookApplicationValidator.SaveClickEventParam, { responseHeaders }?: object): Promise; } diff --git a/sdk/application/Webhook/WebhookApplicationClient.js b/sdk/application/Webhook/WebhookApplicationClient.js index 10d88f089..048dc2806 100644 --- a/sdk/application/Webhook/WebhookApplicationClient.js +++ b/sdk/application/Webhook/WebhookApplicationClient.js @@ -40,7 +40,7 @@ class Webhook { * @returns {Promise} - Success response * @name saveClickEvent * @summary: Endpoint to capture click events from sales channels and persist them in database. - * @description: Endpoint to capture click events from sales channels. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/webhook/saveClickEvent/). + * @description: Send click events from sales channels. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/application/webhook/saveClickEvent/). */ async saveClickEvent( { body, requestHeaders } = { requestHeaders: {} }, diff --git a/sdk/application/Webhook/WebhookApplicationModel.d.ts b/sdk/application/Webhook/WebhookApplicationModel.d.ts index 034d8c20e..e816731a7 100644 --- a/sdk/application/Webhook/WebhookApplicationModel.d.ts +++ b/sdk/application/Webhook/WebhookApplicationModel.d.ts @@ -1,17 +1,17 @@ export = WebhookApplicationModel; /** * @typedef ClickEventBatch - * @property {string} [event_name] + * @property {string} [event_name] - Name of click event. */ /** * @typedef ClickEventRequest - * @property {ClickEventBatch[]} [batch] + * @property {ClickEventBatch[]} [batch] - List of click events captured. */ /** * @typedef ClickEventResponse - * @property {number} [success_count] - * @property {number} [failed_count] - * @property {ClickEventBatch[]} [failed_events] + * @property {number} [success_count] - Count of valid events. + * @property {number} [failed_count] - Count of events failed in schema validation. + * @property {ClickEventBatch[]} [failed_events] - List of failed events with error. */ declare class WebhookApplicationModel { } @@ -21,17 +21,32 @@ declare namespace WebhookApplicationModel { /** @returns {ClickEventBatch} */ declare function ClickEventBatch(): ClickEventBatch; type ClickEventBatch = { + /** + * - Name of click event. + */ event_name?: string; }; /** @returns {ClickEventRequest} */ declare function ClickEventRequest(): ClickEventRequest; type ClickEventRequest = { + /** + * - List of click events captured. + */ batch?: ClickEventBatch[]; }; /** @returns {ClickEventResponse} */ declare function ClickEventResponse(): ClickEventResponse; type ClickEventResponse = { + /** + * - Count of valid events. + */ success_count?: number; + /** + * - Count of events failed in schema validation. + */ failed_count?: number; + /** + * - List of failed events with error. + */ failed_events?: ClickEventBatch[]; }; diff --git a/sdk/application/Webhook/WebhookApplicationModel.js b/sdk/application/Webhook/WebhookApplicationModel.js index 8123797d8..cff9919c7 100644 --- a/sdk/application/Webhook/WebhookApplicationModel.js +++ b/sdk/application/Webhook/WebhookApplicationModel.js @@ -2,19 +2,19 @@ const Joi = require("joi"); /** * @typedef ClickEventBatch - * @property {string} [event_name] + * @property {string} [event_name] - Name of click event. */ /** * @typedef ClickEventRequest - * @property {ClickEventBatch[]} [batch] + * @property {ClickEventBatch[]} [batch] - List of click events captured. */ /** * @typedef ClickEventResponse - * @property {number} [success_count] - * @property {number} [failed_count] - * @property {ClickEventBatch[]} [failed_events] + * @property {number} [success_count] - Count of valid events. + * @property {number} [failed_count] - Count of events failed in schema validation. + * @property {ClickEventBatch[]} [failed_events] - List of failed events with error. */ class WebhookApplicationModel { diff --git a/sdk/common/Clickstream.js b/sdk/common/Clickstream.js index ac235a50b..d5cfa9945 100644 --- a/sdk/common/Clickstream.js +++ b/sdk/common/Clickstream.js @@ -16,6 +16,72 @@ const sg = function safeGet(fn, defaultValue = null) { return defaultValue; } }; +/** + * Safely extracts search query and click position + * + * @author Hitendra Singh + * @param {Object} [defaultValue] - Utm_params + * @returns {Object} - Query and position + */ +const fetchPositionAndQuery = function (utm_params) { + if (!utm_params || !Object.keys(utm_params).length) { + return { + query: null, + position: null, + }; + } + + if (utm_params.utm_medium === "search") { + try { + const decodedUri = utm_params.utm_content + ? atob(utm_params.utm_content) + : null; + if (decodedUri) { + const parts = decodedUri.split(":::"); + return { + query: parts[0] || null, + position: parts[1] || null, + }; + } + } catch (err) { + return { + query: null, + position: null, + }; + } + } + return { + query: null, + position: null, + }; +}; +/** + * Safely extracts company details from window object + * + * @author Hitendra Singh + * @returns {Object} - Company_id, company_mode and company_created_on + */ +const fetchCompanyDetails = function () { + //getting the current date in UTC + const now = new Date(); + const formattedDate = now.toISOString(); + const application = sg(() => window.config.application, null); + if (application && Object.keys(application).length) { + return { + company_id: sg(() => application.company_id, 0), + company_mode: sg(() => application.mode, "live"), + company_created_on: sg( + () => application.company_created_on, + formattedDate + ), + }; + } + return { + company_id: 0, + company_mode: "live", + company_created_on: formattedDate, + }; +}; if (typeof window != "undefined") { window.FPI.event.on("user.login", (eventData) => { @@ -26,6 +92,7 @@ if (typeof window != "undefined") { phone: sg(() => eventData["phone_number"]), login_value: sg(() => eventData["login_value"]), method: sg(() => eventData["method"]), + ...fetchCompanyDetails(), }).catch((err) => { Logger({ level: "ERROR", message: err }); }); @@ -38,6 +105,7 @@ if (typeof window != "undefined") { email: sg(() => eventData["email"]), phone: sg(() => eventData["phone_number"]), method: sg(() => eventData["method"]), + ...fetchCompanyDetails(), }).catch((err) => { Logger({ level: "ERROR", message: err }); }); @@ -45,11 +113,12 @@ if (typeof window != "undefined") { window.FPI.event.on("user.logout", (eventData) => { Logger({ level: "DEBUG", message: eventData }); - Clickstream.sendEvent("user_logout", { event_type: "identity" }).catch( - (err) => { - Logger({ level: "ERROR", message: err }); - } - ); + Clickstream.sendEvent("user_logout", { + event_type: "identity", + ...fetchCompanyDetails(), + }).catch((err) => { + Logger({ level: "ERROR", message: err }); + }); Clickstream.reset().catch((err) => { Logger({ level: "ERROR", message: err }); }); @@ -57,7 +126,7 @@ if (typeof window != "undefined") { window.FPI.event.on("wishlist.add", (eventData) => { Logger({ level: "DEBUG", message: eventData }); - Clickstream.sendEvent("product_wishlist_add", { + const payload = { wishlist_name: "TODO", wishlist_id: "TODO", event_type: "engagement", @@ -70,6 +139,12 @@ if (typeof window != "undefined") { currency: sg(() => eventData.item.price.effective.currency_code), value: "TODO", source_url: "TODO", + ...fetchCompanyDetails(), + }; + const queryResult = fetchPositionAndQuery(eventData.utm_params); + Clickstream.sendEvent("product_wishlist_add", { + ...payload, + ...queryResult, }) .then((resp) => { Logger({ level: "DEBUG", message: "Click event sent" }); @@ -94,6 +169,7 @@ if (typeof window != "undefined") { currency: sg(() => eventData.item.price.effective.currency_code), value: "TODO", source_url: "TODO", + ...fetchCompanyDetails(), }) .then((resp) => { Logger({ level: "DEBUG", message: "Click event sent" }); @@ -105,7 +181,7 @@ if (typeof window != "undefined") { window.FPI.event.on("cart.newProduct", (eventData) => { Logger({ level: "DEBUG", message: eventData }); - Clickstream.sendEvent("add_to_cart", { + const payload = { cart_id: eventData.cart_id, event_type: "engagement", product_id: sg(() => eventData.products[0]["uid"]), @@ -117,9 +193,13 @@ if (typeof window != "undefined") { price: sg(() => eventData.products[0]["price"]["selling"]), quantity: sg(() => eventData.products[0]["quantity"]["current"]), source_url: "TODO", - position: "TODO", + position: null, + query: null, value: "TODO", - }) + ...fetchCompanyDetails(), + }; + const queryResult = fetchPositionAndQuery(eventData.utm_params); + Clickstream.sendEvent("add_to_cart", { ...payload, ...queryResult }) .then((resp) => { Logger({ level: "DEBUG", message: "Click event sent" }); }) @@ -141,8 +221,9 @@ if (typeof window != "undefined") { price: sg(() => eventData.products[0]["price"]["selling"]), quantity: sg(() => eventData.products[0]["quantity"]["current"]), source_url: "TODO", - position: "TODO", + position: null, value: "TODO", + ...fetchCompanyDetails(), }) .then((resp) => { Logger({ level: "DEBUG", message: "Click event sent" }); @@ -157,6 +238,7 @@ if (typeof window != "undefined") { Clickstream.sendEvent("order_complete", { event_type: "conversion", ...eventData, + ...fetchCompanyDetails(), }) .then((resp) => { Logger({ level: "DEBUG", message: "Click event sent" }); @@ -171,6 +253,7 @@ if (typeof window != "undefined") { Clickstream.sendEvent("order_refunded", { event_type: "conversion", ...eventData, + ...fetchCompanyDetails(), }) .then((resp) => { Logger({ level: "DEBUG", message: "Click event sent" }); @@ -203,6 +286,40 @@ if (typeof window != "undefined") { article_id: sg(() => p.article["uid"]), }; }), + ...fetchCompanyDetails(), + }) + .then((resp) => { + Logger({ level: "DEBUG", message: "Click event sent" }); + }) + .catch((err) => { + Logger({ level: "ERROR", message: err }); + }); + }); + window.FPI.event.on("order.checkedout", (eventData) => { + Logger({ level: "DEBUG", message: eventData }); + Clickstream.sendEvent("order_checkedout", { + event_type: "conversion", + cart_id: eventData.cart_id, + cart_total: sg(() => eventData.breakup_values_raw["mrp_total"]), + item_total: sg(() => eventData.products.length), + shipping: sg(() => eventData.breakup_values_raw["delivery_charge"]), + tax: sg(() => eventData.breakup_values_raw["gst_charges"]), + order_total: sg(() => eventData.breakup_values_raw["total"]), + currency: sg(() => eventData.products[0]["price"]["currency_code"]), + order_id: sg(() => eventData.order_id), + products: eventData.products.map((p) => { + return { + product_id: p.uid, + l3_category: sg(() => p.category["name"]), + l1_category: "TODO", + quantity: sg(() => p.quantity["current"]), + price: sg(() => p.price["marked"]), + value: sg(() => p.price["effective"]), + currency: sg(() => p.price["currency_code"]), + article_id: sg(() => p.article["uid"]), + }; + }), + ...fetchCompanyDetails(), }) .then((resp) => { Logger({ level: "DEBUG", message: "Click event sent" }); @@ -212,9 +329,31 @@ if (typeof window != "undefined") { }); }); + window.FPI.event.on("product_list.view", (eventData) => { + Logger({ level: "DEBUG", message: eventData }); + Clickstream.sendEvent("product_listing", { + event_type: "impression", + query: sg(() => eventData.slug["q"]), + products: eventData.items.map((p) => { + return { + product_id: p.uid, + name: p.name, + currency: sg(() => p.price["effective"]["currency_code"]), + mrp: sg(() => p.price["effective"]["max"]), + esp: sg(() => p.price["effective"]["min"]), + source_url: p.url, + brand: sg(() => p.brand["name"]), + }; + }), + + item_total: sg(() => eventData["page"]["item_total"]), + ...fetchCompanyDetails(), + }); + }); + window.FPI.event.on("product.view", (eventData) => { Logger({ level: "DEBUG", message: eventData }); - Clickstream.sendEvent("product_view", { + const payload = { event_type: "click", product_id: sg(() => eventData.product["uid"]), currency: sg(() => eventData.product.price["currency_code"]), @@ -225,7 +364,14 @@ if (typeof window != "undefined") { l1_category: sg(() => eventData.product.l1_category), source_url: sg(() => eventData.product.source_url), quantity: sg(() => eventData.product.sizes[0]["quantity"]), - position: "TODO", + position: null, + query: null, + }; + const queryResult = fetchPositionAndQuery(eventData.utm_params); + Clickstream.sendEvent("product_view", { + ...payload, + ...queryResult, + ...fetchCompanyDetails(), }) .then((resp) => { Logger({ level: "DEBUG", message: "Click event sent" }); @@ -237,16 +383,43 @@ if (typeof window != "undefined") { window.FPI.event.on("search.products", (eventData) => { Logger({ level: "DEBUG", message: eventData }); - Clickstream.sendEvent("product_search", { + const payload = { event_type: "search", query: eventData.search_text, - }) - .then((resp) => { - Logger({ level: "DEBUG", message: "Click event sent" }); + products: [], + item_total: null, + }; + //filter eventData.data to find the products array and item total + let products = []; + if (eventData.data && eventData.data.length > 0) { + products = eventData.data + .filter((item) => { + if ((item["type"] === "product" && item.categories) || item.product) + return true; + }) + .map((product) => { + return product.display || product.name; + }); + } + + const item_total = sg(() => + eventData.page["item_total"] ? eventData.page["item_total"] : 0 + ); + if (payload.query) { + //only if query is present + Clickstream.sendEvent("product_search", { + ...payload, + products, + item_total, + ...fetchCompanyDetails(), }) - .catch((err) => { - Logger({ level: "ERROR", message: err }); - }); + .then((resp) => { + Logger({ level: "DEBUG", message: "Click event sent" }); + }) + .catch((err) => { + Logger({ level: "ERROR", message: err }); + }); + } }); window.FPI.event.on("product_list.filter", (eventData) => { diff --git a/sdk/common/Constant.d.ts b/sdk/common/Constant.d.ts index e57c53bc0..59aec8b9e 100644 --- a/sdk/common/Constant.d.ts +++ b/sdk/common/Constant.d.ts @@ -12,6 +12,7 @@ export namespace AVAILABLE_PAGE_TYPE { const COLLECTIONS: string; const CONTACT_US: string; const EXTERNAL: string; + const CUSTOM: string; const FAQ: string; const FRESHCHAT: string; const HOME: string; @@ -127,6 +128,14 @@ export const NAVIGATORS: { required: boolean; }[]; }; + custom: { + name: string; + link: string; + query: { + key: string; + required: boolean; + }[]; + }; faq: { name: string; link: string; diff --git a/sdk/common/Constant.js b/sdk/common/Constant.js index 830f6645f..3bf3d5ad9 100644 --- a/sdk/common/Constant.js +++ b/sdk/common/Constant.js @@ -12,6 +12,7 @@ const AVAILABLE_PAGE_TYPE = { COLLECTIONS: "collections", CONTACT_US: "contact-us", EXTERNAL: "external", + CUSTOM: "custom", FAQ: "faq", FRESHCHAT: "freshchat", HOME: "home", @@ -144,6 +145,16 @@ const NAVIGATORS = { }, ], }, + custom: { + name: "Custom theme link", + link: "/c/", + query: [ + { + key: "url", + required: true, + }, + ], + }, faq: { name: "FAQ", link: "/faq", diff --git a/sdk/common/Utility.js b/sdk/common/Utility.js index 70a2c51b3..f897499c8 100644 --- a/sdk/common/Utility.js +++ b/sdk/common/Utility.js @@ -31,6 +31,20 @@ function convertUrlToAction(url) { return utils.trimChar(pageType) === bestMatchingLink.value; }); const closestMatchingNavKey = typeLink[closestMatchingNavLink] || "home"; + // if it is custom theme link url should be in query object, also we will grab our main link from this url field in convertActionToUrl + if (closestMatchingNavLink === Constant.NAVIGATORS.custom.link) { + return { + type: "page", + page: { + type: closestMatchingNavKey, + query: { + url: [url.split("?")[0]], + ...query, + }, + params: bestMatchingLink.params, + }, + }; + } return { type: "page", page: { @@ -57,6 +71,11 @@ function convertActionToUrl(action) { case utils.NAV_TYPE.PAGE: { const item = Object.assign({}, Constant.NAVIGATORS[action.page.type]); if (item) { + // If it is custom action object then we need to get out link from query.url, in custom page action object url in query is original link, so get link from there and remove the url field + if (action.page.type === Constant.AVAILABLE_PAGE_TYPE.CUSTOM) { + item.link = action.page.query.url[0]; + delete action.page.query.url; + } //get param item.link = utils.generateUrlWithParams(item, action.page.params); //get query diff --git a/sdk/common/utils.js b/sdk/common/utils.js index a15e24e2b..40525b32c 100644 --- a/sdk/common/utils.js +++ b/sdk/common/utils.js @@ -112,7 +112,14 @@ const findBestMatchingLink = (allLinks = [], pathname = "/") => { pathname = trimChar(pathname); // -> product/test-product-tag/reviews for (let i = 0; i < allLinks.length; i++) { let link = trimChar(allLinks[i]); // -> product/:slug/add-reviews - if (new RegExp(`^${trimChar(link)}`).test(pathname)) { + + const firstLinkMatch = trimChar(link).split("/")[0]; + const firstPathMatch = trimChar(pathname).split("/")[0]; + // atleast first string from path should match, if you don't add this condition then it will give link 'c' for 'collection' path name + if ( + new RegExp(`^${trimChar(link)}`).test(pathname) && + firstLinkMatch.length === firstPathMatch.length + ) { bestMatch.value = link; break; } diff --git a/sdk/partner/Lead/LeadPartnerModel.d.ts b/sdk/partner/Lead/LeadPartnerModel.d.ts index 94faa4aad..090241e66 100644 --- a/sdk/partner/Lead/LeadPartnerModel.d.ts +++ b/sdk/partner/Lead/LeadPartnerModel.d.ts @@ -7,13 +7,13 @@ export = LeadPartnerModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef TicketHistoryList @@ -194,12 +194,33 @@ type TicketList = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {TicketHistoryList} */ diff --git a/sdk/partner/Lead/LeadPartnerModel.js b/sdk/partner/Lead/LeadPartnerModel.js index bfdf47719..1381b5d17 100644 --- a/sdk/partner/Lead/LeadPartnerModel.js +++ b/sdk/partner/Lead/LeadPartnerModel.js @@ -9,13 +9,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** diff --git a/sdk/partner/Logistics/LogisticsPartnerModel.d.ts b/sdk/partner/Logistics/LogisticsPartnerModel.d.ts index c61c47693..508ec7e9b 100644 --- a/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +++ b/sdk/partner/Logistics/LogisticsPartnerModel.d.ts @@ -33,13 +33,13 @@ export = LogisticsPartnerModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef BulkRegionJobSerializer @@ -239,12 +239,33 @@ type BulkRegionServiceabilityTatResponse = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {BulkRegionJobSerializer} */ diff --git a/sdk/partner/Logistics/LogisticsPartnerModel.js b/sdk/partner/Logistics/LogisticsPartnerModel.js index 9ddf8730f..836740053 100644 --- a/sdk/partner/Logistics/LogisticsPartnerModel.js +++ b/sdk/partner/Logistics/LogisticsPartnerModel.js @@ -39,13 +39,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** diff --git a/sdk/partner/PartnerClient.d.ts b/sdk/partner/PartnerClient.d.ts index 311ac97b1..0db7bf761 100644 --- a/sdk/partner/PartnerClient.d.ts +++ b/sdk/partner/PartnerClient.d.ts @@ -25,6 +25,14 @@ declare class PartnerClient { * @throws {FDKClientValidationError} When the provided header is not an object. */ setExtraHeaders(header: object): void; + request({ method, url, query, body, headers, responseHeaders, }: { + method: any; + url: any; + query: any; + body: any; + headers: any; + responseHeaders?: boolean; + }): Promise>; } import FileStorage = require("./FileStorage/FileStoragePartnerClient"); import Lead = require("./Lead/LeadPartnerClient"); diff --git a/sdk/partner/PartnerClient.js b/sdk/partner/PartnerClient.js index 4e92ef5d2..01592d8a5 100644 --- a/sdk/partner/PartnerClient.js +++ b/sdk/partner/PartnerClient.js @@ -9,6 +9,7 @@ const Theme = require("./Theme/ThemePartnerClient"); const Webhook = require("./Webhook/WebhookPartnerClient"); const { FDKClientValidationError } = require("../common/FDKError"); +const { execute } = require("./PartnerAPIClient"); /** * Represents the client for the partner APIs. @@ -44,6 +45,19 @@ class PartnerClient { throw new FDKClientValidationError("Context value should be an object"); } } + + async request({ + method, + url, + query, + body, + headers, + responseHeaders = false, + }) { + return await execute(this.config, method, url, query, body, headers, { + responseHeaders, + }); + } } module.exports = PartnerClient; diff --git a/sdk/partner/Theme/ThemePartnerClient.d.ts b/sdk/partner/Theme/ThemePartnerClient.d.ts index 07e477a6c..2222a72a1 100644 --- a/sdk/partner/Theme/ThemePartnerClient.d.ts +++ b/sdk/partner/Theme/ThemePartnerClient.d.ts @@ -194,6 +194,26 @@ declare class Theme { * @description: Publish a draft extension section within the specified organization. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/partner/theme/publishExtensionSections/). */ publishExtensionSections({ extensionId, body, requestHeaders }?: ThemePartnerValidator.PublishExtensionSectionsParam, { responseHeaders }?: object): Promise; + /** + * @param {ThemePartnerValidator.ApplyExtensionPreviewParam} arg - Arg object. + * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` + * @param {import("../PartnerAPIClient").Options} - Options + * @returns {Promise} - Success response + * @name applyExtensionPreview + * @summary: Start a Preview of Extension Section + * @description: Use this API to start a local session for previewing the extension section binding. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/partner/theme/applyExtensionPreview/). + */ + applyExtensionPreview({ extensionSectionId, body, requestHeaders }?: ThemePartnerValidator.ApplyExtensionPreviewParam, { responseHeaders }?: object): Promise; + /** + * @param {ThemePartnerValidator.RemoveExtensionPreviewParam} arg - Arg object. + * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` + * @param {import("../PartnerAPIClient").Options} - Options + * @returns {Promise} - Success response + * @name removeExtensionPreview + * @summary: Close a Preview of Extension Section + * @description: Use this API to close a local session for previewing the extension section binding - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/partner/theme/removeExtensionPreview/). + */ + removeExtensionPreview({ extensionSectionId, body, requestHeaders }?: ThemePartnerValidator.RemoveExtensionPreviewParam, { responseHeaders }?: object): Promise; /** * @param {ThemePartnerValidator.GetThemeRejectionReasonsParam} arg - Arg object. * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` diff --git a/sdk/partner/Theme/ThemePartnerClient.js b/sdk/partner/Theme/ThemePartnerClient.js index 15178f3ea..a5125987f 100644 --- a/sdk/partner/Theme/ThemePartnerClient.js +++ b/sdk/partner/Theme/ThemePartnerClient.js @@ -1532,6 +1532,164 @@ class Theme { return response; } + /** + * @param {ThemePartnerValidator.ApplyExtensionPreviewParam} arg - Arg object. + * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` + * @param {import("../PartnerAPIClient").Options} - Options + * @returns {Promise} - Success response + * @name applyExtensionPreview + * @summary: Start a Preview of Extension Section + * @description: Use this API to start a local session for previewing the extension section binding. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/partner/theme/applyExtensionPreview/). + */ + async applyExtensionPreview( + { extensionSectionId, body, requestHeaders } = { requestHeaders: {} }, + { responseHeaders } = { responseHeaders: false } + ) { + const { error } = ThemePartnerValidator.applyExtensionPreview().validate( + { + extensionSectionId, + body, + }, + { abortEarly: false, allowUnknown: true } + ); + if (error) { + return Promise.reject(new FDKClientValidationError(error)); + } + + // Showing warrnings if extra unknown parameters are found + const { + error: warrning, + } = ThemePartnerValidator.applyExtensionPreview().validate( + { + extensionSectionId, + body, + }, + { abortEarly: false, allowUnknown: false } + ); + if (warrning) { + Logger({ + level: "WARN", + message: `Parameter Validation warrnings for partner > Theme > applyExtensionPreview \n ${warrning}`, + }); + } + + const query_params = {}; + + const response = await PartnerAPIClient.execute( + this.config, + "post", + `/service/partner/theme/v1.0/organization/${this.config.organizationId}/extension-section/${extensionSectionId}/preview`, + query_params, + body, + requestHeaders, + { responseHeaders } + ); + + let responseData = response; + if (responseHeaders) { + responseData = response[0]; + } + + const { + error: res_error, + } = ThemePartnerModel.ExtensionPreviewResponse().validate(responseData, { + abortEarly: false, + allowUnknown: true, + }); + + if (res_error) { + if (this.config.options.strictResponseCheck === true) { + return Promise.reject(new FDKResponseValidationError(res_error)); + } else { + Logger({ + level: "WARN", + message: `Response Validation Warnings for partner > Theme > applyExtensionPreview \n ${res_error}`, + }); + } + } + + return response; + } + + /** + * @param {ThemePartnerValidator.RemoveExtensionPreviewParam} arg - Arg object. + * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` + * @param {import("../PartnerAPIClient").Options} - Options + * @returns {Promise} - Success response + * @name removeExtensionPreview + * @summary: Close a Preview of Extension Section + * @description: Use this API to close a local session for previewing the extension section binding - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/partner/theme/removeExtensionPreview/). + */ + async removeExtensionPreview( + { extensionSectionId, body, requestHeaders } = { requestHeaders: {} }, + { responseHeaders } = { responseHeaders: false } + ) { + const { error } = ThemePartnerValidator.removeExtensionPreview().validate( + { + extensionSectionId, + body, + }, + { abortEarly: false, allowUnknown: true } + ); + if (error) { + return Promise.reject(new FDKClientValidationError(error)); + } + + // Showing warrnings if extra unknown parameters are found + const { + error: warrning, + } = ThemePartnerValidator.removeExtensionPreview().validate( + { + extensionSectionId, + body, + }, + { abortEarly: false, allowUnknown: false } + ); + if (warrning) { + Logger({ + level: "WARN", + message: `Parameter Validation warrnings for partner > Theme > removeExtensionPreview \n ${warrning}`, + }); + } + + const query_params = {}; + + const response = await PartnerAPIClient.execute( + this.config, + "delete", + `/service/partner/theme/v1.0/organization/${this.config.organizationId}/extension-section/${extensionSectionId}/preview`, + query_params, + body, + requestHeaders, + { responseHeaders } + ); + + let responseData = response; + if (responseHeaders) { + responseData = response[0]; + } + + const { + error: res_error, + } = ThemePartnerModel.ExtensionPreviewResponse().validate(responseData, { + abortEarly: false, + allowUnknown: true, + }); + + if (res_error) { + if (this.config.options.strictResponseCheck === true) { + return Promise.reject(new FDKResponseValidationError(res_error)); + } else { + Logger({ + level: "WARN", + message: `Response Validation Warnings for partner > Theme > removeExtensionPreview \n ${res_error}`, + }); + } + } + + return response; + } + /** * @param {ThemePartnerValidator.GetThemeRejectionReasonsParam} arg - Arg object. * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` diff --git a/sdk/partner/Theme/ThemePartnerModel.d.ts b/sdk/partner/Theme/ThemePartnerModel.d.ts index f2df8e38a..80cd37f1e 100644 --- a/sdk/partner/Theme/ThemePartnerModel.d.ts +++ b/sdk/partner/Theme/ThemePartnerModel.d.ts @@ -65,6 +65,15 @@ export = ThemePartnerModel; * @property {string} [type] * @property {string} [status] */ +/** + * @typedef ExtensionPreviewRequest + * @property {string} [application_id] - Application ID + * @property {string} [section_preview_hash] - Hash for the section preview + */ +/** + * @typedef ExtensionPreviewResponse + * @property {string} [message] + */ /** * @typedef PublishExtensionSectionResponse * @property {SectionsResponse} [sections] @@ -104,7 +113,7 @@ export = ThemePartnerModel; */ /** * @typedef Action - * @property {string} [type] + * @property {string} [type] - Type of action to be taken e.g, page. * @property {ActionPage} [page] * @property {ActionPage} [popup] */ @@ -589,9 +598,9 @@ export = ThemePartnerModel; */ /** * @typedef ActionPage - * @property {Object} [params] - * @property {Object} [query] - * @property {string} [url] + * @property {Object} [params] - Parameters that should be considered in path. + * @property {Object} [query] - Query parameter if any to be added to the action. + * @property {string} [url] - The URL for the action. * @property {PageType} type */ /** @@ -606,6 +615,7 @@ export = ThemePartnerModel; * | "category" * | "collection" * | "collections" + * | "custom" * | "contact-us" * | "external" * | "faq" @@ -645,7 +655,7 @@ export = ThemePartnerModel; declare class ThemePartnerModel { } declare namespace ThemePartnerModel { - export { AvailablePageSchema, DraftExtensionSectionRequest, DraftExtensionSectionResponse, SectionsResponse, ExtensionSection, PropExtension, AssetsExtension, PublishExtensionSectionRequest, PublishExtensionSectionResponse, AvailablePageSectionMetaAttributes, AvailablePageSeo, SEOMetaItem, SEOMetaItems, SEOSitemap, SEObreadcrumb, Action, AvailablePageSchemaSections, AvailablePageScreenPredicate, AvailablePageUserPredicate, AvailablePageRoutePredicate, AvailablePagePlatformPredicate, AvailablePageSchedulePredicate, AvailablePagePredicate, MarketplaceThemeSchema, MarketplaceTheme, PaymentInfo, ContactInfo, CatalogSize, MarketplaceThemeImages, CarouselItem, ExploreInfo, Feature, FeatureItem, Highlight, Variation, Documentation, Comments, ThemeRejectionReasons, AllAvailablePageSchema, PaginationSchema, BlitzkriegApiErrorSchema, BlitzkriegInternalServerErrorSchema, ThemesSchema, Font, FontVariants, FontVariant, Config, ThemeConfiguration, OverlayPopup, DividerStrokeHighlight, UserAlerts, OrderTracking, ThemeConfigListPage, ThemeConfigListPageSettingsProps, CustomConfig, CustomProps, ThemeMeta, ThemePayment, Release, Images, Assets, UMDJs, CommonJS, CSS, SectionItem, GlobalSchema, Prop, Preset, Page, SectionProps, SectionPreset, ImagePickerProp, UrlProp, BlockProps, TextProp, CheckboxProp, RangeProp, Section, Block, Predicate, Screen, ThemeUserSchema, Route, UpdateThemeRequestBody, CreateNewTheme, ActionPage, PageType }; + export { AvailablePageSchema, DraftExtensionSectionRequest, DraftExtensionSectionResponse, SectionsResponse, ExtensionSection, PropExtension, AssetsExtension, PublishExtensionSectionRequest, ExtensionPreviewRequest, ExtensionPreviewResponse, PublishExtensionSectionResponse, AvailablePageSectionMetaAttributes, AvailablePageSeo, SEOMetaItem, SEOMetaItems, SEOSitemap, SEObreadcrumb, Action, AvailablePageSchemaSections, AvailablePageScreenPredicate, AvailablePageUserPredicate, AvailablePageRoutePredicate, AvailablePagePlatformPredicate, AvailablePageSchedulePredicate, AvailablePagePredicate, MarketplaceThemeSchema, MarketplaceTheme, PaymentInfo, ContactInfo, CatalogSize, MarketplaceThemeImages, CarouselItem, ExploreInfo, Feature, FeatureItem, Highlight, Variation, Documentation, Comments, ThemeRejectionReasons, AllAvailablePageSchema, PaginationSchema, BlitzkriegApiErrorSchema, BlitzkriegInternalServerErrorSchema, ThemesSchema, Font, FontVariants, FontVariant, Config, ThemeConfiguration, OverlayPopup, DividerStrokeHighlight, UserAlerts, OrderTracking, ThemeConfigListPage, ThemeConfigListPageSettingsProps, CustomConfig, CustomProps, ThemeMeta, ThemePayment, Release, Images, Assets, UMDJs, CommonJS, CSS, SectionItem, GlobalSchema, Prop, Preset, Page, SectionProps, SectionPreset, ImagePickerProp, UrlProp, BlockProps, TextProp, CheckboxProp, RangeProp, Section, Block, Predicate, Screen, ThemeUserSchema, Route, UpdateThemeRequestBody, CreateNewTheme, ActionPage, PageType }; } /** @returns {AvailablePageSchema} */ declare function AvailablePageSchema(): AvailablePageSchema; @@ -727,6 +737,23 @@ type PublishExtensionSectionRequest = { type?: string; status?: string; }; +/** @returns {ExtensionPreviewRequest} */ +declare function ExtensionPreviewRequest(): ExtensionPreviewRequest; +type ExtensionPreviewRequest = { + /** + * - Application ID + */ + application_id?: string; + /** + * - Hash for the section preview + */ + section_preview_hash?: string; +}; +/** @returns {ExtensionPreviewResponse} */ +declare function ExtensionPreviewResponse(): ExtensionPreviewResponse; +type ExtensionPreviewResponse = { + message?: string; +}; /** @returns {PublishExtensionSectionResponse} */ declare function PublishExtensionSectionResponse(): PublishExtensionSectionResponse; type PublishExtensionSectionResponse = { @@ -774,6 +801,9 @@ type SEObreadcrumb = { /** @returns {Action} */ declare function Action(): Action; type Action = { + /** + * - Type of action to be taken e.g, page. + */ type?: string; page?: ActionPage; popup?: ActionPage; @@ -1785,8 +1815,17 @@ type CreateNewTheme = { /** @returns {ActionPage} */ declare function ActionPage(): ActionPage; type ActionPage = { + /** + * - Parameters that should be considered in path. + */ params?: any; + /** + * - Query parameter if any to be added to the action. + */ query?: any; + /** + * - The URL for the action. + */ url?: string; type: PageType; }; @@ -1796,4 +1835,4 @@ type ActionPage = { * @returns {PageType} */ declare function PageType(): PageType; -type PageType = "about-us" | "addresses" | "blog" | "brands" | "cards" | "cart" | "categories" | "brand" | "category" | "collection" | "collections" | "contact-us" | "external" | "faq" | "freshchat" | "home" | "notification-settings" | "orders" | "page" | "policy" | "product" | "product-request" | "products" | "profile" | "profile-order-shipment" | "profile-basic" | "profile-company" | "profile-emails" | "profile-phones" | "rate-us" | "refer-earn" | "settings" | "shared-cart" | "tnc" | "track-order" | "wishlist" | "sections" | "form" | "cart-delivery" | "cart-payment" | "cart-review" | "login" | "register" | "shipping-policy" | "return-policy" | "order-status"; +type PageType = "about-us" | "addresses" | "blog" | "brands" | "cards" | "cart" | "categories" | "brand" | "category" | "collection" | "collections" | "custom" | "contact-us" | "external" | "faq" | "freshchat" | "home" | "notification-settings" | "orders" | "page" | "policy" | "product" | "product-request" | "products" | "profile" | "profile-order-shipment" | "profile-basic" | "profile-company" | "profile-emails" | "profile-phones" | "rate-us" | "refer-earn" | "settings" | "shared-cart" | "tnc" | "track-order" | "wishlist" | "sections" | "form" | "cart-delivery" | "cart-payment" | "cart-review" | "login" | "register" | "shipping-policy" | "return-policy" | "order-status"; diff --git a/sdk/partner/Theme/ThemePartnerModel.js b/sdk/partner/Theme/ThemePartnerModel.js index 55f59b596..1c222c6ea 100644 --- a/sdk/partner/Theme/ThemePartnerModel.js +++ b/sdk/partner/Theme/ThemePartnerModel.js @@ -74,6 +74,17 @@ const Joi = require("joi"); * @property {string} [status] */ +/** + * @typedef ExtensionPreviewRequest + * @property {string} [application_id] - Application ID + * @property {string} [section_preview_hash] - Hash for the section preview + */ + +/** + * @typedef ExtensionPreviewResponse + * @property {string} [message] + */ + /** * @typedef PublishExtensionSectionResponse * @property {SectionsResponse} [sections] @@ -120,7 +131,7 @@ const Joi = require("joi"); /** * @typedef Action - * @property {string} [type] + * @property {string} [type] - Type of action to be taken e.g, page. * @property {ActionPage} [page] * @property {ActionPage} [popup] */ @@ -675,9 +686,9 @@ const Joi = require("joi"); /** * @typedef ActionPage - * @property {Object} [params] - * @property {Object} [query] - * @property {string} [url] + * @property {Object} [params] - Parameters that should be considered in path. + * @property {Object} [query] - Query parameter if any to be added to the action. + * @property {string} [url] - The URL for the action. * @property {PageType} type */ @@ -693,6 +704,7 @@ const Joi = require("joi"); * | "category" * | "collection" * | "collections" + * | "custom" * | "contact-us" * | "external" * | "faq" @@ -825,6 +837,21 @@ class ThemePartnerModel { }); } + /** @returns {ExtensionPreviewRequest} */ + static ExtensionPreviewRequest() { + return Joi.object({ + application_id: Joi.string().allow(""), + section_preview_hash: Joi.string().allow(""), + }); + } + + /** @returns {ExtensionPreviewResponse} */ + static ExtensionPreviewResponse() { + return Joi.object({ + message: Joi.string().allow(""), + }); + } + /** @returns {PublishExtensionSectionResponse} */ static PublishExtensionSectionResponse() { return Joi.object({ @@ -1620,6 +1647,8 @@ class ThemePartnerModel { "collections", + "custom", + "contact-us", "external", diff --git a/sdk/partner/Theme/ThemePartnerValidator.d.ts b/sdk/partner/Theme/ThemePartnerValidator.d.ts index 119500893..40d62cc57 100644 --- a/sdk/partner/Theme/ThemePartnerValidator.d.ts +++ b/sdk/partner/Theme/ThemePartnerValidator.d.ts @@ -19,6 +19,8 @@ declare class ThemeValidator { static createNewThemeInOrganization(): any; static createExtensionSectionDraft(): any; static publishExtensionSections(): any; + static applyExtensionPreview(): any; + static removeExtensionPreview(): any; static getThemeRejectionReasons(): any; static getThemeVersions(): any; static createTheme(): any; diff --git a/sdk/partner/Theme/ThemePartnerValidator.js b/sdk/partner/Theme/ThemePartnerValidator.js index d892cf625..f57417310 100644 --- a/sdk/partner/Theme/ThemePartnerValidator.js +++ b/sdk/partner/Theme/ThemePartnerValidator.js @@ -153,6 +153,20 @@ class ThemeValidator { }).required(); } + static applyExtensionPreview() { + return Joi.object({ + extensionSectionId: Joi.string().allow("").required(), + body: ThemeModel.ExtensionPreviewRequest().required(), + }).required(); + } + + static removeExtensionPreview() { + return Joi.object({ + extensionSectionId: Joi.string().allow("").required(), + body: ThemeModel.ExtensionPreviewRequest().required(), + }).required(); + } + static getThemeRejectionReasons() { return Joi.object({ themeId: Joi.string().allow("").required(), diff --git a/sdk/partner/Webhook/WebhookPartnerModel.d.ts b/sdk/partner/Webhook/WebhookPartnerModel.d.ts index 04358d844..f839f7eef 100644 --- a/sdk/partner/Webhook/WebhookPartnerModel.d.ts +++ b/sdk/partner/Webhook/WebhookPartnerModel.d.ts @@ -179,13 +179,13 @@ export = WebhookPartnerModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef DeliveryEventLevelSchema @@ -516,12 +516,33 @@ type EventProcessReportObject = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {DeliveryEventLevelSchema} */ diff --git a/sdk/partner/Webhook/WebhookPartnerModel.js b/sdk/partner/Webhook/WebhookPartnerModel.js index 40f52747b..9f9d69638 100644 --- a/sdk/partner/Webhook/WebhookPartnerModel.js +++ b/sdk/partner/Webhook/WebhookPartnerModel.js @@ -205,13 +205,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** diff --git a/sdk/platform/Analytics/AnalyticsPlatformModel.d.ts b/sdk/platform/Analytics/AnalyticsPlatformModel.d.ts index c40236f31..feb98ce9c 100644 --- a/sdk/platform/Analytics/AnalyticsPlatformModel.d.ts +++ b/sdk/platform/Analytics/AnalyticsPlatformModel.d.ts @@ -1,13 +1,13 @@ export = AnalyticsPlatformModel; /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef FileDownloadRequestBody @@ -28,12 +28,33 @@ declare namespace AnalyticsPlatformModel { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {FileDownloadRequestBody} */ diff --git a/sdk/platform/Analytics/AnalyticsPlatformModel.js b/sdk/platform/Analytics/AnalyticsPlatformModel.js index b4f67fcda..6c0844c48 100644 --- a/sdk/platform/Analytics/AnalyticsPlatformModel.js +++ b/sdk/platform/Analytics/AnalyticsPlatformModel.js @@ -2,13 +2,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** diff --git a/sdk/platform/Billing/BillingPlatformClient.d.ts b/sdk/platform/Billing/BillingPlatformClient.d.ts index 5d53cacf9..b1f6f233d 100644 --- a/sdk/platform/Billing/BillingPlatformClient.d.ts +++ b/sdk/platform/Billing/BillingPlatformClient.d.ts @@ -2,16 +2,6 @@ export = Billing; declare class Billing { constructor(config: any); config: any; - /** - * @param {BillingPlatformValidator.ActivateSubscriptionPlanParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name activateSubscriptionPlan - * @summary: Activate a subscription plan. - * @description: Activate a specific subscription plan for a customer. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/activateSubscriptionPlan/). - */ - activateSubscriptionPlan({ body, requestHeaders }?: BillingPlatformValidator.ActivateSubscriptionPlanParam, { responseHeaders }?: object): Promise; /** * @param {BillingPlatformValidator.CancelSubscriptionChargeParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` @@ -22,36 +12,6 @@ declare class Billing { * @description: Cancel an ongoing subscription charge for a customer. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/cancelSubscriptionCharge/). */ cancelSubscriptionCharge({ extensionId, subscriptionId, requestHeaders }?: BillingPlatformValidator.CancelSubscriptionChargeParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.CancelSubscriptionPlanParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name cancelSubscriptionPlan - * @summary: Cancel a subscription plan. - * @description: Cancel an active subscription plan for a customer - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/cancelSubscriptionPlan/). - */ - cancelSubscriptionPlan({ body, requestHeaders }?: BillingPlatformValidator.CancelSubscriptionPlanParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.ChangePlanParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name changePlan - * @summary: Upgrade plan. - * @description: Admin user can modify the subscription plan for an seller account. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/changePlan/). - */ - changePlan({ body, requestHeaders }?: BillingPlatformValidator.ChangePlanParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.CheckCouponValidityParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name checkCouponValidity - * @summary: Verify coupon validity. - * @description: Checks whether a coupon code is valid for discounts while billing. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/checkCouponValidity/). - */ - checkCouponValidity({ plan, couponCode, requestHeaders }?: BillingPlatformValidator.CheckCouponValidityParam, { responseHeaders }?: object): Promise; /** * @param {BillingPlatformValidator.CreateOneTimeChargeParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` @@ -64,36 +24,16 @@ declare class Billing { */ createOneTimeCharge({ extensionId, body, requestHeaders }?: BillingPlatformValidator.CreateOneTimeChargeParam, { responseHeaders }?: object): Promise; /** - * @param {BillingPlatformValidator.CreditTransactionParam} arg - Arg object + * @param {BillingPlatformValidator.CreateSubscriptionChargeParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - + * @returns {Promise} - * Success response - * @name creditTransaction - * @summary: Credit Transaction - * @description: Credit Transaction - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/creditTransaction/). - */ - creditTransaction({ uniqueId, productSuite, type, pageSize, pageNo, startDate, endDate, searchType, searchValue, requestHeaders, }?: BillingPlatformValidator.CreditTransactionParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.CurrentAppLimitParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name currentAppLimit - * @summary: Obtain feature limit configurations. - * @description: Retrieve configuration settings for feature limits in subscription plans. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/currentAppLimit/). + * @name createSubscriptionCharge + * @summary: Initiate subscription billing + * @description: Register a subscription charge for a seller using your extension. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/createSubscriptionCharge/). */ - currentAppLimit({ productSuite, type, requestHeaders }?: BillingPlatformValidator.CurrentAppLimitParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.GetBankListParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getBankList - * @summary: Get Bank List - * @description: Get Bank List - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getBankList/). - */ - getBankList({ requestHeaders }?: any, { responseHeaders }?: object): Promise; + createSubscriptionCharge({ extensionId, body, requestHeaders }?: BillingPlatformValidator.CreateSubscriptionChargeParam, { responseHeaders }?: object): Promise; /** * @param {BillingPlatformValidator.GetChargeDetailsParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` @@ -104,87 +44,6 @@ declare class Billing { * @description: Retrieve comprehensive details about a specific billing charge. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getChargeDetails/). */ getChargeDetails({ extensionId, chargeId, requestHeaders }?: BillingPlatformValidator.GetChargeDetailsParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.GetCustomerDetailParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getCustomerDetail - * @summary: Fetch customer details. - * @description: Obtain customer-related billing information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getCustomerDetail/). - */ - getCustomerDetail({ requestHeaders }?: any, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.GetEnterprisePlansParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getEnterprisePlans - * @summary: Retrieve enterprise-level plans. - * @description: Retrieve available enterprise-level subscription plans. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getEnterprisePlans/). - */ - getEnterprisePlans({ requestHeaders }?: any, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.GetFeatureLimitConfigParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getFeatureLimitConfig - * @summary: Obtain feature limit configurations. - * @description: Retrieve configuration settings for feature limits in subscription plans. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getFeatureLimitConfig/). - */ - getFeatureLimitConfig({ productSuite, type, requestHeaders }?: BillingPlatformValidator.GetFeatureLimitConfigParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.GetInvoiceByIdParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getInvoiceById - * @summary: Get a specific invoice. - * @description: Retrieve a particular invoice's details by providing its unique ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getInvoiceById/). - */ - getInvoiceById({ invoiceId, requestHeaders }?: BillingPlatformValidator.GetInvoiceByIdParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.GetInvoicesParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getInvoices - * @summary: Retrieve invoices. - * @description: Retrieve invoices for billing and payment tracking. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getInvoices/). - */ - getInvoices({ requestHeaders }?: any, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.GetPaymentOptionsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getPaymentOptions - * @summary: API to get payment options - * @description: API to get payment options. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getPaymentOptions/). - */ - getPaymentOptions({ transactionId, requestHeaders }?: BillingPlatformValidator.GetPaymentOptionsParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.GetPaymentTransactionParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - - * Success response - * @name getPaymentTransaction - * @summary: API to get payment transaction details - * @description: API to get payment transaction details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getPaymentTransaction/). - */ - getPaymentTransaction({ transactionId, requestHeaders }?: BillingPlatformValidator.GetPaymentTransactionParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.GetSubscriptionParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getSubscription - * @summary: Retrieve subscription details. - * @description: Retrieve details of a customer's subscription information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getSubscription/). - */ - getSubscription({ requestHeaders }?: any, { responseHeaders }?: object): Promise; /** * @param {BillingPlatformValidator.GetSubscriptionChargeParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` @@ -195,256 +54,6 @@ declare class Billing { * @description: Retrieve detailed information about subscription charges using this API. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getSubscriptionCharge/). */ getSubscriptionCharge({ extensionId, subscriptionId, requestHeaders }?: BillingPlatformValidator.GetSubscriptionChargeParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.GetentityDetailParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getentityDetail - * @summary: Generic api to get the entity detail - * @description: Generic api to get the entity detail - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getentityDetail/). - */ - getentityDetail({ entityName, channel, entityId, component, componentName, requestHeaders, }?: BillingPlatformValidator.GetentityDetailParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.GlobalSettingsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name globalSettings - * @summary: API to get global settings details - * @description: API to get global settings details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/globalSettings/). - */ - globalSettings({ pageNo, pageSize, query, requestHeaders }?: BillingPlatformValidator.GlobalSettingsParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.MethodDefaultParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name methodDefault - * @summary: Method Default - * @description: Method Default - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/methodDefault/). - */ - methodDefault({ body, requestHeaders }?: BillingPlatformValidator.MethodDefaultParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.PaymentCollectParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name paymentCollect - * @summary: Payment Collect - * @description: Payment Collect - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/paymentCollect/). - */ - paymentCollect({ body, requestHeaders }?: BillingPlatformValidator.PaymentCollectParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.PaymentInitiateParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name paymentInitiate - * @summary: Initiate Payment - * @description: Initiate Payment. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/paymentInitiate/). - */ - paymentInitiate({ body, requestHeaders }?: BillingPlatformValidator.PaymentInitiateParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.PaymentOptionsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name paymentOptions - * @summary: API to get payment details of requested payment options - * @description: API to get payment details of requested payment options. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/paymentOptions/). - */ - paymentOptions({ code, requestHeaders }?: BillingPlatformValidator.PaymentOptionsParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.PaymentStatusParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name paymentStatus - * @summary: Credit Transaction - * @description: Credit Transaction - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/paymentStatus/). - */ - paymentStatus({ orderId, requestHeaders }?: BillingPlatformValidator.PaymentStatusParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.PlanDowngradeParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name planDowngrade - * @summary: Plan change downgrade - * @description: Plan change downgrade - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/planDowngrade/). - */ - planDowngrade({ body, requestHeaders }?: BillingPlatformValidator.PlanDowngradeParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.PlanDowngradeGetParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name planDowngradeGet - * @summary: Get plan change downgrade - * @description: Get plan change downgrade - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/planDowngradeGet/). - */ - planDowngradeGet({ requestHeaders }?: any, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.PlanStatusUpdateParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name planStatusUpdate - * @summary: Update subscription plan status. - * @description: Modify the status of a subscription plan. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/planStatusUpdate/). - */ - planStatusUpdate({ body, requestHeaders }?: BillingPlatformValidator.PlanStatusUpdateParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.SetupIntentParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name setupIntent - * @summary: Setup Intent - * @description: Setup Intent - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/setupIntent/). - */ - setupIntent({ body, requestHeaders }?: BillingPlatformValidator.SetupIntentParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.SetupMandateParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name setupMandate - * @summary: Setup Mandate - * @description: Setup Mandate - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/setupMandate/). - */ - setupMandate({ body, requestHeaders }?: BillingPlatformValidator.SetupMandateParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.SetupPaymentParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name setupPayment - * @summary: Setup Payment - * @description: Setup Payment - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/setupPayment/). - */ - setupPayment({ body, requestHeaders }?: BillingPlatformValidator.SetupPaymentParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.SubscriptionConfigsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name subscriptionConfigs - * @summary: API to get subscription config details - * @description: API to get subscription config details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/subscriptionConfigs/). - */ - subscriptionConfigs({ requestHeaders }?: any, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.SubscriptionMethodsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name subscriptionMethods - * @summary: API to get subscription methods - * @description: API to get subscription methods. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/subscriptionMethods/). - */ - subscriptionMethods({ uniqueExternalId, requestHeaders }?: BillingPlatformValidator.SubscriptionMethodsParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.SubscriptionMethodsDeleteParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name subscriptionMethodsDelete - * @summary: API to get subscription methods - * @description: API to get subscription methods. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/subscriptionMethodsDelete/). - */ - subscriptionMethodsDelete({ uniqueExternalId, paymentMethodId, requestHeaders }?: BillingPlatformValidator.SubscriptionMethodsDeleteParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.SubscriptionPlanChangeParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name subscriptionPlanChange - * @summary: API to get plan change details of subscription - * @description: API to get plan change details of subscription. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/subscriptionPlanChange/). - */ - subscriptionPlanChange({ productSuite, coupon, uniqueId, platform, planId, requestHeaders }?: BillingPlatformValidator.SubscriptionPlanChangeParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.SubscriptionRenewParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name subscriptionRenew - * @summary: Subscription Renew - * @description: Subscription Renew - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/subscriptionRenew/). - */ - subscriptionRenew({ body, requestHeaders }?: BillingPlatformValidator.SubscriptionRenewParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.TopupCancelCreditParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name topupCancelCredit - * @summary: Cancel Topup - * @description: Cancel Topup - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/topupCancelCredit/). - */ - topupCancelCredit({ body, requestHeaders }?: BillingPlatformValidator.TopupCancelCreditParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.TopupCreditParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name topupCredit - * @summary: Topup - * @description: Topup - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/topupCredit/). - */ - topupCredit({ body, requestHeaders }?: BillingPlatformValidator.TopupCreditParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.UpdateConsentParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name updateConsent - * @summary: Update Consent - * @description: Update Consent - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/updateConsent/). - */ - updateConsent({ subscriberId, requestHeaders }?: BillingPlatformValidator.UpdateConsentParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.UpdateSetupIntentParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name updateSetupIntent - * @summary: Setup Intent - * @description: Setup Intent - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/updateSetupIntent/). - */ - updateSetupIntent({ body, requestHeaders }?: BillingPlatformValidator.UpdateSetupIntentParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.UpgradePlanParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name upgradePlan - * @summary: Post Methods - * @description: Admin user can modify the subscription plan for an seller account. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/upgradePlan/). - */ - upgradePlan({ body, requestHeaders }?: BillingPlatformValidator.UpgradePlanParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.UpsertCustomerDetailParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name upsertCustomerDetail - * @summary: Update or insert customer details. - * @description: Allows you to modify or insert customer information in the billing system. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/upsertCustomerDetail/). - */ - upsertCustomerDetail({ body, requestHeaders }?: BillingPlatformValidator.UpsertCustomerDetailParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPlatformValidator.VerifyPaymentParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name verifyPayment - * @summary: API to verify subscription payment - * @description: API to verify subscription payment. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/verifyPayment/). - */ - verifyPayment({ body, requestHeaders }?: BillingPlatformValidator.VerifyPaymentParam, { responseHeaders }?: object): Promise; } import BillingPlatformValidator = require("./BillingPlatformValidator"); import BillingPlatformModel = require("./BillingPlatformModel"); diff --git a/sdk/platform/Billing/BillingPlatformClient.js b/sdk/platform/Billing/BillingPlatformClient.js index 223c5cb0e..b8eba5051 100644 --- a/sdk/platform/Billing/BillingPlatformClient.js +++ b/sdk/platform/Billing/BillingPlatformClient.js @@ -14,87 +14,6 @@ class Billing { this.config = config; } - /** - * @param {BillingPlatformValidator.ActivateSubscriptionPlanParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name activateSubscriptionPlan - * @summary: Activate a subscription plan. - * @description: Activate a specific subscription plan for a customer. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/activateSubscriptionPlan/). - */ - async activateSubscriptionPlan( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { - error, - } = BillingPlatformValidator.activateSubscriptionPlan().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.activateSubscriptionPlan().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > activateSubscriptionPlan \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/activate`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.SubscriptionActivateRes().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > activateSubscriptionPlan \n ${res_error}`, - }); - } - } - - return response; - } - /** * @param {BillingPlatformValidator.CancelSubscriptionChargeParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` @@ -179,22 +98,22 @@ class Billing { } /** - * @param {BillingPlatformValidator.CancelSubscriptionPlanParam} arg - Arg object + * @param {BillingPlatformValidator.CreateOneTimeChargeParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name cancelSubscriptionPlan - * @summary: Cancel a subscription plan. - * @description: Cancel an active subscription plan for a customer - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/cancelSubscriptionPlan/). + * @returns {Promise} - + * Success response + * @name createOneTimeCharge + * @summary: Generate a one-time charge. + * @description: Generate a one-time charge for specific services or products. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/createOneTimeCharge/). */ - async cancelSubscriptionPlan( - { body, requestHeaders } = { requestHeaders: {} }, + async createOneTimeCharge( + { extensionId, body, requestHeaders } = { requestHeaders: {} }, { responseHeaders } = { responseHeaders: false } ) { - const { - error, - } = BillingPlatformValidator.cancelSubscriptionPlan().validate( + const { error } = BillingPlatformValidator.createOneTimeCharge().validate( { + extensionId, body, }, { abortEarly: false, allowUnknown: true } @@ -206,8 +125,9 @@ class Billing { // Showing warrnings if extra unknown parameters are found const { error: warrning, - } = BillingPlatformValidator.cancelSubscriptionPlan().validate( + } = BillingPlatformValidator.createOneTimeCharge().validate( { + extensionId, body, }, { abortEarly: false, allowUnknown: false } @@ -215,7 +135,7 @@ class Billing { if (warrning) { Logger({ level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > cancelSubscriptionPlan \n ${warrning}`, + message: `Parameter Validation warrnings for platform > Billing > createOneTimeCharge \n ${warrning}`, }); } @@ -226,7 +146,7 @@ class Billing { const response = await PlatformAPIClient.execute( this.config, "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/cancel`, + `/service/platform/billing/v1.0/company/${this.config.companyId}/extension/${extensionId}/one_time_charge`, query_params, body, { ...xHeaders, ...requestHeaders }, @@ -240,10 +160,10 @@ class Billing { const { error: res_error, - } = BillingPlatformModel.CancelSubscriptionRes().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); + } = BillingPlatformModel.CreateOneTimeChargeResponse().validate( + responseData, + { abortEarly: false, allowUnknown: true } + ); if (res_error) { if (this.config.options.strictResponseCheck === true) { @@ -251,7 +171,7 @@ class Billing { } else { Logger({ level: "WARN", - message: `Response Validation Warnings for platform > Billing > cancelSubscriptionPlan \n ${res_error}`, + message: `Response Validation Warnings for platform > Billing > createOneTimeCharge \n ${res_error}`, }); } } @@ -260,20 +180,24 @@ class Billing { } /** - * @param {BillingPlatformValidator.ChangePlanParam} arg - Arg object + * @param {BillingPlatformValidator.CreateSubscriptionChargeParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name changePlan - * @summary: Upgrade plan. - * @description: Admin user can modify the subscription plan for an seller account. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/changePlan/). + * @returns {Promise} - + * Success response + * @name createSubscriptionCharge + * @summary: Initiate subscription billing + * @description: Register a subscription charge for a seller using your extension. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/createSubscriptionCharge/). */ - async changePlan( - { body, requestHeaders } = { requestHeaders: {} }, + async createSubscriptionCharge( + { extensionId, body, requestHeaders } = { requestHeaders: {} }, { responseHeaders } = { responseHeaders: false } ) { - const { error } = BillingPlatformValidator.changePlan().validate( + const { + error, + } = BillingPlatformValidator.createSubscriptionCharge().validate( { + extensionId, body, }, { abortEarly: false, allowUnknown: true } @@ -283,8 +207,11 @@ class Billing { } // Showing warrnings if extra unknown parameters are found - const { error: warrning } = BillingPlatformValidator.changePlan().validate( + const { + error: warrning, + } = BillingPlatformValidator.createSubscriptionCharge().validate( { + extensionId, body, }, { abortEarly: false, allowUnknown: false } @@ -292,7 +219,7 @@ class Billing { if (warrning) { Logger({ level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > changePlan \n ${warrning}`, + message: `Parameter Validation warrnings for platform > Billing > createSubscriptionCharge \n ${warrning}`, }); } @@ -303,7 +230,7 @@ class Billing { const response = await PlatformAPIClient.execute( this.config, "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/plan-change`, + `/service/platform/billing/v1.0/company/${this.config.companyId}/extension/${extensionId}/subscription`, query_params, body, { ...xHeaders, ...requestHeaders }, @@ -317,10 +244,10 @@ class Billing { const { error: res_error, - } = BillingPlatformModel.SubscriptionActivateRes().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); + } = BillingPlatformModel.CreateSubscriptionResponse().validate( + responseData, + { abortEarly: false, allowUnknown: true } + ); if (res_error) { if (this.config.options.strictResponseCheck === true) { @@ -328,7 +255,7 @@ class Billing { } else { Logger({ level: "WARN", - message: `Response Validation Warnings for platform > Billing > changePlan \n ${res_error}`, + message: `Response Validation Warnings for platform > Billing > createSubscriptionCharge \n ${res_error}`, }); } } @@ -337,22 +264,22 @@ class Billing { } /** - * @param {BillingPlatformValidator.CheckCouponValidityParam} arg - Arg object + * @param {BillingPlatformValidator.GetChargeDetailsParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name checkCouponValidity - * @summary: Verify coupon validity. - * @description: Checks whether a coupon code is valid for discounts while billing. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/checkCouponValidity/). + * @returns {Promise} - Success response + * @name getChargeDetails + * @summary: Obtain charge details. + * @description: Retrieve comprehensive details about a specific billing charge. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getChargeDetails/). */ - async checkCouponValidity( - { plan, couponCode, requestHeaders } = { requestHeaders: {} }, + async getChargeDetails( + { extensionId, chargeId, requestHeaders } = { requestHeaders: {} }, { responseHeaders } = { responseHeaders: false } ) { - const { error } = BillingPlatformValidator.checkCouponValidity().validate( + const { error } = BillingPlatformValidator.getChargeDetails().validate( { - plan, - couponCode, + extensionId, + chargeId, }, { abortEarly: false, allowUnknown: true } ); @@ -363,30 +290,28 @@ class Billing { // Showing warrnings if extra unknown parameters are found const { error: warrning, - } = BillingPlatformValidator.checkCouponValidity().validate( + } = BillingPlatformValidator.getChargeDetails().validate( { - plan, - couponCode, + extensionId, + chargeId, }, { abortEarly: false, allowUnknown: false } ); if (warrning) { Logger({ level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > checkCouponValidity \n ${warrning}`, + message: `Parameter Validation warrnings for platform > Billing > getChargeDetails \n ${warrning}`, }); } const query_params = {}; - query_params["plan"] = plan; - query_params["coupon_code"] = couponCode; const xHeaders = {}; const response = await PlatformAPIClient.execute( this.config, "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/coupon/check-validity`, + `/service/platform/billing/v1.0/company/${this.config.companyId}/extension/${extensionId}/charge/${chargeId}`, query_params, undefined, { ...xHeaders, ...requestHeaders }, @@ -400,7 +325,7 @@ class Billing { const { error: res_error, - } = BillingPlatformModel.CheckValidityResponse().validate(responseData, { + } = BillingPlatformModel.ChargeDetails().validate(responseData, { abortEarly: false, allowUnknown: true, }); @@ -411,7 +336,7 @@ class Billing { } else { Logger({ level: "WARN", - message: `Response Validation Warnings for platform > Billing > checkCouponValidity \n ${res_error}`, + message: `Response Validation Warnings for platform > Billing > getChargeDetails \n ${res_error}`, }); } } @@ -420,23 +345,22 @@ class Billing { } /** - * @param {BillingPlatformValidator.CreateOneTimeChargeParam} arg - Arg object + * @param {BillingPlatformValidator.GetSubscriptionChargeParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - - * Success response - * @name createOneTimeCharge - * @summary: Generate a one-time charge. - * @description: Generate a one-time charge for specific services or products. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/createOneTimeCharge/). + * @returns {Promise} - Success response + * @name getSubscriptionCharge + * @summary: Retrieve subscription charge details. + * @description: Retrieve detailed information about subscription charges using this API. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getSubscriptionCharge/). */ - async createOneTimeCharge( - { extensionId, body, requestHeaders } = { requestHeaders: {} }, + async getSubscriptionCharge( + { extensionId, subscriptionId, requestHeaders } = { requestHeaders: {} }, { responseHeaders } = { responseHeaders: false } ) { - const { error } = BillingPlatformValidator.createOneTimeCharge().validate( + const { error } = BillingPlatformValidator.getSubscriptionCharge().validate( { extensionId, - body, + subscriptionId, }, { abortEarly: false, allowUnknown: true } ); @@ -447,144 +371,28 @@ class Billing { // Showing warrnings if extra unknown parameters are found const { error: warrning, - } = BillingPlatformValidator.createOneTimeCharge().validate( + } = BillingPlatformValidator.getSubscriptionCharge().validate( { extensionId, - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > createOneTimeCharge \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/extension/${extensionId}/one_time_charge`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.CreateOneTimeChargeResponse().validate( - responseData, - { abortEarly: false, allowUnknown: true } - ); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > createOneTimeCharge \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.CreditTransactionParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - - * Success response - * @name creditTransaction - * @summary: Credit Transaction - * @description: Credit Transaction - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/creditTransaction/). - */ - async creditTransaction( - { - uniqueId, - productSuite, - type, - pageSize, - pageNo, - startDate, - endDate, - searchType, - searchValue, - requestHeaders, - } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.creditTransaction().validate( - { - uniqueId, - productSuite, - type, - pageSize, - pageNo, - startDate, - endDate, - searchType, - searchValue, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.creditTransaction().validate( - { - uniqueId, - productSuite, - type, - pageSize, - pageNo, - startDate, - endDate, - searchType, - searchValue, + subscriptionId, }, { abortEarly: false, allowUnknown: false } ); if (warrning) { Logger({ level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > creditTransaction \n ${warrning}`, + message: `Parameter Validation warrnings for platform > Billing > getSubscriptionCharge \n ${warrning}`, }); } const query_params = {}; - query_params["unique_id"] = uniqueId; - query_params["product_suite"] = productSuite; - query_params["type"] = type; - query_params["page_size"] = pageSize; - query_params["page_no"] = pageNo; - query_params["start_date"] = startDate; - query_params["end_date"] = endDate; - query_params["search_type"] = searchType; - query_params["search_value"] = searchValue; const xHeaders = {}; const response = await PlatformAPIClient.execute( this.config, "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/credit-transaction`, + `/service/platform/billing/v1.0/company/${this.config.companyId}/extension/${extensionId}/subscription/${subscriptionId}`, query_params, undefined, { ...xHeaders, ...requestHeaders }, @@ -598,10 +406,10 @@ class Billing { const { error: res_error, - } = BillingPlatformModel.CreditTransactionResponse().validate( - responseData, - { abortEarly: false, allowUnknown: true } - ); + } = BillingPlatformModel.SubscriptionChargeRes().validate(responseData, { + abortEarly: false, + allowUnknown: true, + }); if (res_error) { if (this.config.options.strictResponseCheck === true) { @@ -609,2953 +417,7 @@ class Billing { } else { Logger({ level: "WARN", - message: `Response Validation Warnings for platform > Billing > creditTransaction \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.CurrentAppLimitParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name currentAppLimit - * @summary: Obtain feature limit configurations. - * @description: Retrieve configuration settings for feature limits in subscription plans. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/currentAppLimit/). - */ - async currentAppLimit( - { productSuite, type, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.currentAppLimit().validate( - { - productSuite, - type, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.currentAppLimit().validate( - { - productSuite, - type, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > currentAppLimit \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["product_suite"] = productSuite; - query_params["type"] = type; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/current-app-limit`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.SubscriptionLimit().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > currentAppLimit \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.GetBankListParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getBankList - * @summary: Get Bank List - * @description: Get Bank List - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getBankList/). - */ - async getBankList( - { requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.getBankList().validate( - {}, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { error: warrning } = BillingPlatformValidator.getBankList().validate( - {}, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > getBankList \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/payment/bank/list`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { error: res_error } = Joi.string() - .allow("") - .validate(responseData, { abortEarly: false, allowUnknown: true }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > getBankList \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.GetChargeDetailsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getChargeDetails - * @summary: Obtain charge details. - * @description: Retrieve comprehensive details about a specific billing charge. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getChargeDetails/). - */ - async getChargeDetails( - { extensionId, chargeId, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.getChargeDetails().validate( - { - extensionId, - chargeId, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.getChargeDetails().validate( - { - extensionId, - chargeId, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > getChargeDetails \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/extension/${extensionId}/charge/${chargeId}`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.ChargeDetails().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > getChargeDetails \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.GetCustomerDetailParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getCustomerDetail - * @summary: Fetch customer details. - * @description: Obtain customer-related billing information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getCustomerDetail/). - */ - async getCustomerDetail( - { requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.getCustomerDetail().validate( - {}, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.getCustomerDetail().validate( - {}, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > getCustomerDetail \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/customer-detail`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.SubscriptionCustomer().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > getCustomerDetail \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.GetEnterprisePlansParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getEnterprisePlans - * @summary: Retrieve enterprise-level plans. - * @description: Retrieve available enterprise-level subscription plans. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getEnterprisePlans/). - */ - async getEnterprisePlans( - { requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.getEnterprisePlans().validate( - {}, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.getEnterprisePlans().validate( - {}, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > getEnterprisePlans \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/plans`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { error: res_error } = Joi.array() - .items(BillingPlatformModel.Plan()) - .validate(responseData, { abortEarly: false, allowUnknown: true }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > getEnterprisePlans \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.GetFeatureLimitConfigParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getFeatureLimitConfig - * @summary: Obtain feature limit configurations. - * @description: Retrieve configuration settings for feature limits in subscription plans. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getFeatureLimitConfig/). - */ - async getFeatureLimitConfig( - { productSuite, type, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.getFeatureLimitConfig().validate( - { - productSuite, - type, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.getFeatureLimitConfig().validate( - { - productSuite, - type, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > getFeatureLimitConfig \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["product_suite"] = productSuite; - query_params["type"] = type; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/current-limit`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.SubscriptionLimit().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > getFeatureLimitConfig \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.GetInvoiceByIdParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getInvoiceById - * @summary: Get a specific invoice. - * @description: Retrieve a particular invoice's details by providing its unique ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getInvoiceById/). - */ - async getInvoiceById( - { invoiceId, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.getInvoiceById().validate( - { - invoiceId, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.getInvoiceById().validate( - { - invoiceId, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > getInvoiceById \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/invoice/${invoiceId}`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.InvoiceData().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > getInvoiceById \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.GetInvoicesParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getInvoices - * @summary: Retrieve invoices. - * @description: Retrieve invoices for billing and payment tracking. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getInvoices/). - */ - async getInvoices( - { requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.getInvoices().validate( - {}, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { error: warrning } = BillingPlatformValidator.getInvoices().validate( - {}, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > getInvoices \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/invoice/list`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.Invoices().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > getInvoices \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.GetPaymentOptionsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getPaymentOptions - * @summary: API to get payment options - * @description: API to get payment options. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getPaymentOptions/). - */ - async getPaymentOptions( - { transactionId, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.getPaymentOptions().validate( - { - transactionId, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.getPaymentOptions().validate( - { - transactionId, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > getPaymentOptions \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["transaction_id"] = transactionId; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/payment/options`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.GetPaymentOptions().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > getPaymentOptions \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.GetPaymentTransactionParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - - * Success response - * @name getPaymentTransaction - * @summary: API to get payment transaction details - * @description: API to get payment transaction details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getPaymentTransaction/). - */ - async getPaymentTransaction( - { transactionId, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.getPaymentTransaction().validate( - { - transactionId, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.getPaymentTransaction().validate( - { - transactionId, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > getPaymentTransaction \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/payment/transaction/${transactionId}`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.PaymentTransactionDetails().validate( - responseData, - { abortEarly: false, allowUnknown: true } - ); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > getPaymentTransaction \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.GetSubscriptionParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getSubscription - * @summary: Retrieve subscription details. - * @description: Retrieve details of a customer's subscription information. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getSubscription/). - */ - async getSubscription( - { requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.getSubscription().validate( - {}, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.getSubscription().validate( - {}, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > getSubscription \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/current`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.SubscriptionStatus().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > getSubscription \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.GetSubscriptionChargeParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getSubscriptionCharge - * @summary: Retrieve subscription charge details. - * @description: Retrieve detailed information about subscription charges using this API. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getSubscriptionCharge/). - */ - async getSubscriptionCharge( - { extensionId, subscriptionId, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.getSubscriptionCharge().validate( - { - extensionId, - subscriptionId, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.getSubscriptionCharge().validate( - { - extensionId, - subscriptionId, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > getSubscriptionCharge \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/extension/${extensionId}/subscription/${subscriptionId}`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.SubscriptionChargeRes().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > getSubscriptionCharge \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.GetentityDetailParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getentityDetail - * @summary: Generic api to get the entity detail - * @description: Generic api to get the entity detail - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/getentityDetail/). - */ - async getentityDetail( - { - entityName, - channel, - entityId, - component, - componentName, - requestHeaders, - } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.getentityDetail().validate( - { - entityName, - channel, - entityId, - component, - componentName, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.getentityDetail().validate( - { - entityName, - channel, - entityId, - component, - componentName, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > getentityDetail \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["entity_name"] = entityName; - query_params["entity_id"] = entityId; - query_params["channel"] = channel; - query_params["component"] = component; - query_params["component_name"] = componentName; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/entity/detail`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { error: res_error } = Joi.array() - .items(BillingPlatformModel.EntityDetail()) - .validate(responseData, { abortEarly: false, allowUnknown: true }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > getentityDetail \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.GlobalSettingsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name globalSettings - * @summary: API to get global settings details - * @description: API to get global settings details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/globalSettings/). - */ - async globalSettings( - { pageNo, pageSize, query, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.globalSettings().validate( - { - pageNo, - pageSize, - query, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.globalSettings().validate( - { - pageNo, - pageSize, - query, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > globalSettings \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["page_no"] = pageNo; - query_params["page_size"] = pageSize; - query_params["query"] = query; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/global-settings`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.GlobalSettings().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > globalSettings \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.MethodDefaultParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name methodDefault - * @summary: Method Default - * @description: Method Default - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/methodDefault/). - */ - async methodDefault( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.methodDefault().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.methodDefault().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > methodDefault \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "put", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/method/default`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.Message().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > methodDefault \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.PaymentCollectParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name paymentCollect - * @summary: Payment Collect - * @description: Payment Collect - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/paymentCollect/). - */ - async paymentCollect( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.paymentCollect().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.paymentCollect().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > paymentCollect \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/payment/collect`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.PaymentCollectRes().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > paymentCollect \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.PaymentInitiateParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name paymentInitiate - * @summary: Initiate Payment - * @description: Initiate Payment. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/paymentInitiate/). - */ - async paymentInitiate( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.paymentInitiate().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.paymentInitiate().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > paymentInitiate \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/payment/initiate`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.SubscribePlanRes().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > paymentInitiate \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.PaymentOptionsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name paymentOptions - * @summary: API to get payment details of requested payment options - * @description: API to get payment details of requested payment options. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/paymentOptions/). - */ - async paymentOptions( - { code, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.paymentOptions().validate( - { - code, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.paymentOptions().validate( - { - code, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > paymentOptions \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["code"] = code; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/payment-options`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.PaymentOptions().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > paymentOptions \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.PaymentStatusParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name paymentStatus - * @summary: Credit Transaction - * @description: Credit Transaction - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/paymentStatus/). - */ - async paymentStatus( - { orderId, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.paymentStatus().validate( - { - orderId, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.paymentStatus().validate( - { - orderId, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > paymentStatus \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["order_id"] = orderId; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/payment-status`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.PaymentStatusResponse().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > paymentStatus \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.PlanDowngradeParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name planDowngrade - * @summary: Plan change downgrade - * @description: Plan change downgrade - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/planDowngrade/). - */ - async planDowngrade( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.planDowngrade().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.planDowngrade().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > planDowngrade \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/plan-change/downgrade`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.PostDowngradeRes().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > planDowngrade \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.PlanDowngradeGetParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name planDowngradeGet - * @summary: Get plan change downgrade - * @description: Get plan change downgrade - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/planDowngradeGet/). - */ - async planDowngradeGet( - { requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.planDowngradeGet().validate( - {}, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.planDowngradeGet().validate( - {}, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > planDowngradeGet \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/plan-change/downgrade`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.DowngradeRes().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > planDowngradeGet \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.PlanStatusUpdateParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name planStatusUpdate - * @summary: Update subscription plan status. - * @description: Modify the status of a subscription plan. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/planStatusUpdate/). - */ - async planStatusUpdate( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.planStatusUpdate().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.planStatusUpdate().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > planStatusUpdate \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "patch", - `/service/platform/billing/v1.0/company/${this.config.companyId}/plan/status`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.Plan().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > planStatusUpdate \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.SetupIntentParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name setupIntent - * @summary: Setup Intent - * @description: Setup Intent - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/setupIntent/). - */ - async setupIntent( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.setupIntent().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { error: warrning } = BillingPlatformValidator.setupIntent().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > setupIntent \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/setup/intent`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.SetupIntentRes().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > setupIntent \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.SetupMandateParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name setupMandate - * @summary: Setup Mandate - * @description: Setup Mandate - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/setupMandate/). - */ - async setupMandate( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.setupMandate().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.setupMandate().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > setupMandate \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "patch", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/setup/mandate`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.Message().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > setupMandate \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.SetupPaymentParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name setupPayment - * @summary: Setup Payment - * @description: Setup Payment - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/setupPayment/). - */ - async setupPayment( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.setupPayment().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.setupPayment().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > setupPayment \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/setup/payment`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.SetupPayment().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > setupPayment \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.SubscriptionConfigsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name subscriptionConfigs - * @summary: API to get subscription config details - * @description: API to get subscription config details. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/subscriptionConfigs/). - */ - async subscriptionConfigs( - { requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.subscriptionConfigs().validate( - {}, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.subscriptionConfigs().validate( - {}, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > subscriptionConfigs \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/configs`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.ConfigRes().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > subscriptionConfigs \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.SubscriptionMethodsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name subscriptionMethods - * @summary: API to get subscription methods - * @description: API to get subscription methods. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/subscriptionMethods/). - */ - async subscriptionMethods( - { uniqueExternalId, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.subscriptionMethods().validate( - { - uniqueExternalId, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.subscriptionMethods().validate( - { - uniqueExternalId, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > subscriptionMethods \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["unique_external_id"] = uniqueExternalId; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/methods`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.SubscriptionMethods().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > subscriptionMethods \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.SubscriptionMethodsDeleteParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name subscriptionMethodsDelete - * @summary: API to get subscription methods - * @description: API to get subscription methods. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/subscriptionMethodsDelete/). - */ - async subscriptionMethodsDelete( - { uniqueExternalId, paymentMethodId, requestHeaders } = { - requestHeaders: {}, - }, - { responseHeaders } = { responseHeaders: false } - ) { - const { - error, - } = BillingPlatformValidator.subscriptionMethodsDelete().validate( - { - uniqueExternalId, - paymentMethodId, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.subscriptionMethodsDelete().validate( - { - uniqueExternalId, - paymentMethodId, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > subscriptionMethodsDelete \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["unique_external_id"] = uniqueExternalId; - query_params["payment_method_id"] = paymentMethodId; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "delete", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/methods`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.ResourceNotFound().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > subscriptionMethodsDelete \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.SubscriptionPlanChangeParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name subscriptionPlanChange - * @summary: API to get plan change details of subscription - * @description: API to get plan change details of subscription. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/subscriptionPlanChange/). - */ - async subscriptionPlanChange( - { productSuite, coupon, uniqueId, platform, planId, requestHeaders } = { - requestHeaders: {}, - }, - { responseHeaders } = { responseHeaders: false } - ) { - const { - error, - } = BillingPlatformValidator.subscriptionPlanChange().validate( - { - productSuite, - coupon, - uniqueId, - platform, - planId, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.subscriptionPlanChange().validate( - { - productSuite, - coupon, - uniqueId, - platform, - planId, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > subscriptionPlanChange \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["product_suite"] = productSuite; - query_params["coupon"] = coupon; - query_params["unique_id"] = uniqueId; - query_params["platform"] = platform; - query_params["plan_id"] = planId; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/plan-change`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.PlanChangeDetails().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > subscriptionPlanChange \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.SubscriptionRenewParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name subscriptionRenew - * @summary: Subscription Renew - * @description: Subscription Renew - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/subscriptionRenew/). - */ - async subscriptionRenew( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.subscriptionRenew().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.subscriptionRenew().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > subscriptionRenew \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/renew`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.SubscriptionRenewRes().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > subscriptionRenew \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.TopupCancelCreditParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name topupCancelCredit - * @summary: Cancel Topup - * @description: Cancel Topup - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/topupCancelCredit/). - */ - async topupCancelCredit( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.topupCancelCredit().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.topupCancelCredit().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > topupCancelCredit \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/topup/cancel`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.CancelTopupRes().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > topupCancelCredit \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.TopupCreditParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name topupCredit - * @summary: Topup - * @description: Topup - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/topupCredit/). - */ - async topupCredit( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.topupCredit().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { error: warrning } = BillingPlatformValidator.topupCredit().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > topupCredit \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/topup`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.TopupRes().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > topupCredit \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.UpdateConsentParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name updateConsent - * @summary: Update Consent - * @description: Update Consent - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/updateConsent/). - */ - async updateConsent( - { subscriberId, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.updateConsent().validate( - { - subscriberId, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.updateConsent().validate( - { - subscriberId, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > updateConsent \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["subscriber_id"] = subscriberId; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "put", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/consent`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.StatusMessage().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > updateConsent \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.UpdateSetupIntentParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name updateSetupIntent - * @summary: Setup Intent - * @description: Setup Intent - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/updateSetupIntent/). - */ - async updateSetupIntent( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.updateSetupIntent().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.updateSetupIntent().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > updateSetupIntent \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "put", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/setup/intent`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.StatusMessage().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > updateSetupIntent \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.UpgradePlanParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name upgradePlan - * @summary: Post Methods - * @description: Admin user can modify the subscription plan for an seller account. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/upgradePlan/). - */ - async upgradePlan( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.upgradePlan().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { error: warrning } = BillingPlatformValidator.upgradePlan().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > upgradePlan \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/methods`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.ResourceNotFound().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > upgradePlan \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.UpsertCustomerDetailParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name upsertCustomerDetail - * @summary: Update or insert customer details. - * @description: Allows you to modify or insert customer information in the billing system. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/upsertCustomerDetail/). - */ - async upsertCustomerDetail( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.upsertCustomerDetail().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.upsertCustomerDetail().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > upsertCustomerDetail \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/customer-detail`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.SubscriptionCustomer().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > upsertCustomerDetail \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPlatformValidator.VerifyPaymentParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name verifyPayment - * @summary: API to verify subscription payment - * @description: API to verify subscription payment. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/billing/verifyPayment/). - */ - async verifyPayment( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPlatformValidator.verifyPayment().validate( - { - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPlatformValidator.verifyPayment().validate( - { - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Billing > verifyPayment \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "post", - `/service/platform/billing/v1.0/company/${this.config.companyId}/subscription/verify-payment`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPlatformModel.VerifyPaymentRes().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Billing > verifyPayment \n ${res_error}`, + message: `Response Validation Warnings for platform > Billing > getSubscriptionCharge \n ${res_error}`, }); } } diff --git a/sdk/platform/Billing/BillingPlatformModel.d.ts b/sdk/platform/Billing/BillingPlatformModel.d.ts index 7989aed9b..29a2e11ad 100644 --- a/sdk/platform/Billing/BillingPlatformModel.d.ts +++ b/sdk/platform/Billing/BillingPlatformModel.d.ts @@ -1,1175 +1,372 @@ export = BillingPlatformModel; -/** - * @typedef CompanyInfo - * @property {string} [company_name] - * @property {string} [gstin] - * @property {string} [address] - * @property {AddressDetails} [address_details] - * @property {string} [pan] - * @property {string} [phone] - * @property {string} [email] - * @property {string} [cin] - */ -/** - * @typedef AddressDetails - * @property {string} [address_line_1] - * @property {string} [address_line_2] - * @property {string} [city] - * @property {string} [pincode] - * @property {string} [state] - * @property {string} [country] - */ -/** - * @typedef InvoiceData - * @property {InvoiceDetailsData} [invoice] - * @property {InvoiceItems[]} [invoice_items] - * @property {CompanyInfo} [shopsense_details] - */ -/** - * @typedef InvoiceDetailsData - * @property {number} [attemp] - * @property {Object} [documents] - * @property {Object} [payment] - * @property {Period} [period] - * @property {Client} [client] - * @property {Object} [discount] - * @property {Object} [taxation] - * @property {string} [_id] - * @property {boolean} [auto_advance] - * @property {string} [collection_method] - * @property {string} [subscriber_id] - * @property {string} [currency] - * @property {string} [invoice_url] - * @property {string} [number] - * @property {boolean} [paid] - * @property {Object} [pg_data] - * @property {string} [receipt_number] - * @property {string} [statement_descriptor] - * @property {string} [current_status] - * @property {StatusTrail[]} [status_trail] - * @property {number} [subtotal] - * @property {number} [total] - * @property {number} [old_settlement] - * @property {number} [credit_balance] - * @property {string} [subscription] - * @property {number} [attempt] - * @property {string} [next_action_time] - * @property {number} [credit_note_amount] - * @property {string} [created_at] - * @property {string} [modified_at] - */ -/** - * @typedef Client - * @property {string} [name] - * @property {string} [email] - * @property {string} [phone] - * @property {string[]} [address_lines] - */ -/** - * @typedef Period - * @property {string} [start] - * @property {string} [end] - */ -/** - * @typedef StatusTrail - * @property {string} [value] - * @property {string} [timestamp] - * @property {string} [_id] - */ -/** - * @typedef PaymentCollectRes - * @property {string} [transaction_id] - * @property {string} [current_status] - */ /** * @typedef SubscriptionChargeRes - * @property {string} [_id] - * @property {string} [product_suit_id] - * @property {string} [entity_id] - * @property {string} [entity_type] - * @property {string} [name] - * @property {string} [status] - * @property {number} [trial_days] - * @property {string} [activated_on] - * @property {string} [cancelled_on] - * @property {boolean} [is_test] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {string} [company_id] - * @property {Object[]} [line_items] + * @property {string} [_id] - Unique identifier for the subscription charge + * @property {string} [product_suit_id] - ID of the product suit associated with + * the charge + * @property {string} [entity_id] - Unique identifier for the entity + * @property {string} [entity_type] - Type of entity (e.g., subscription, extension) + * @property {string} [name] - Name of the subscription charge + * @property {string} [status] - Current status of the subscription charge + * @property {number} [trial_days] - Number of trial days provided + * @property {string} [activated_on] - Date when the charge was activated + * @property {string} [cancelled_on] - Date when the charge was cancelled + * @property {boolean} [is_test] - Indicates if the charge is for testing purposes + * @property {string} [created_at] - Timestamp when the charge was created + * @property {string} [modified_at] - Timestamp when the charge was last modified + * @property {string} [company_id] - Company id + * @property {Object[]} [line_items] - List of line items associated with the charge */ /** - * @typedef PostDowngradeRes - * @property {boolean} [success] - * @property {DowngradeRes} [data] + * @typedef ChargeDetails + * @property {string} [_id] - Unique identifier for the charge. + * @property {string} [entity_type] - The type of entity associated with the + * charge (e.g., 'extension', 'subscription'). + * @property {string} [entity_id] - Unique identifier for the entity associated + * with the charge. + * @property {string} [name] - The name of the charge. + * @property {string} [term] - Description of the charge term. + * @property {string} [charge_type] - The type of charge (e.g., 'standalone', + * 'recurring'). + * @property {string} [pricing_type] - The pricing model for the charge (e.g., + * 'one_time', 'recurring'). + * @property {EntityChargePrice} [price] + * @property {ChargeRecurring} [recurring] + * @property {string} [status] - Current status of the charge. + * @property {number} [capped_amount] - Maximum amount that can be charged, if applicable. + * @property {string} [activated_on] - Date and time when the charge was activated. + * @property {string} [cancelled_on] - Date and time when the charge was cancelled. + * @property {string} [billing_date] - Date and time when the charge was billed. + * @property {SubscriptionTrialPeriod} [current_period] + * @property {string} [modified_at] - Date and time when the charge details were + * last modified. + * @property {string} [created_at] - Date and time when the charge was created. + * @property {boolean} [is_test] - Indicates whether the charge is for testing purposes. + * @property {string} [company_id] - Company id. + * @property {Object} [meta] - Additional metadata associated with the charge. + * @property {number} [__v] - Internal version key for the charge record. */ /** - * @typedef DowngradeRes - * @property {string} [_id] - * @property {string} [status] - * @property {string} [subscriber_id] - * @property {boolean} [activated] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {string} [plan_id] - * @property {string} [reason] - * @property {string} [request_user_id] - * @property {string} [subscription_id] + * @typedef ResourceNotFound + * @property {string} [message] - Resource not found with {id} + * @property {Object} [code] + * @property {Object} [success] */ /** - * @typedef PaymentStatusData - * @property {string} [_id] - * @property {string} [journey] - * @property {Object[]} [webhook_response] - * @property {string} [aggregator_status] - * @property {string} [current_status] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {number} [__v] - * @property {string} [aggregator_order_id] + * @typedef CreateOneTimeCharge + * @property {string} [name] - The name of the one-time charge to be created. + * @property {OneTimeChargeItem} [charge] + * @property {boolean} [is_test] - Indicates whether the charge creation is for + * testing purposes. + * @property {string} [return_url] - URL to which the user will be redirected + * after creating the charge. */ /** - * @typedef PaymentStatusResponse - * @property {string} [status] - * @property {PaymentStatusData} [data] + * @typedef CreateOneTimeChargeResponse + * @property {Charge} [charge] + * @property {string} [confirm_url] - URL to which users are redirected to + * confirm or complete the payment or subscription process. */ /** * @typedef BadRequest * @property {string} [message] - Failure message. */ /** - * @typedef ResourceNotFound - * @property {string} [message] - Resource not found with {id} - * @property {Object} [code] - * @property {Object} [success] + * @typedef CreateSubscriptionCharge + * @property {string} name - The name of the charge. + * @property {number} [trial_days] + * @property {ChargeLineItem[]} line_items + * @property {boolean} [is_test] - Indicates whether the charge is for testing purposes. + * @property {string} return_url - The URL passed in request which extension + * expects in return. */ /** - * @typedef InternalServerError - * @property {string} [message] - Internal server Server error - * @property {string} [code] - Error code + * @typedef CreateSubscriptionResponse + * @property {EntitySubscription} [subscription] + * @property {string} [confirm_url] - URL to which users are redirected to + * confirm or complete the payment or subscription process. */ /** - * @typedef CheckValidityResponse - * @property {boolean} [is_valid] - * @property {number} [discount_amount] + * @typedef EntityChargePrice + * @property {number} [amount] - The amount for the price. The minimum value is 1. + * @property {string} [currency_code] - The currency code for the price */ /** - * @typedef PlanRecurring + * @typedef ChargeRecurring * @property {string} [interval] - * @property {number} [interval_count] - */ -/** - * @typedef PlanMeta - * @property {string} [seller_status] - * @property {string} [company] - * @property {string} [plan_platform_display_name] - */ -/** - * @typedef Plan - * @property {Object[]} [fee_components] - * @property {PlanRecurring} [recurring] - * @property {boolean} [is_trial_plan] - * @property {string} [plan_group] - * @property {string[]} [tag_lines] - * @property {string} [currency] - * @property {boolean} [is_active] - * @property {boolean} [is_visible] - * @property {number} [trial_period] - * @property {string[]} [addons] - * @property {string[]} [tags] - * @property {string} [type] - * @property {string} [country] - * @property {string} [_id] - * @property {string} [name] - * @property {string} [description] - * @property {number} [amount] - * @property {string} [product_suite_id] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {Taxation} [taxation] - * @property {OneTimeFees} [one_time_fees] - * @property {CreditLine} [credit_line] - * @property {string} [current_status] - * @property {string} [channel_type] - * @property {Object[]} [company_ids] - * @property {string} [platform] - * @property {string} [activated_on] - * @property {PlanMeta} [meta] - * @property {string} [created_by] + * @property {number} [interval_time] */ /** * @typedef SubscriptionTrialPeriod - * @property {string} [start_date] - * @property {string} [end_date] + * @property {string} [start_date] - The start date and time of the trial period. + * @property {string} [end_date] - The end date and time of the trial period. */ /** - * @typedef EntityChargePrice - * @property {number} [amount] - Amount for price. Minimum value 1 - * @property {string} [currency_code] + * @typedef Charge + * @property {OneTimeChargeEntity} [final_charge] */ /** * @typedef OneTimeChargeItem - * @property {string} [name] - * @property {string} [term] - * @property {string} [pricing_type] + * @property {string} [name] - The name of the one-time charge item. + * @property {string} [term] - The term or description of the charge. + * @property {string} [pricing_type] - The type of pricing for the charge item. * @property {EntityChargePrice} [price] + * @property {number} [capped_amount] - The maximum amount that can be charged + * for this item, if applicable. + * @property {boolean} [is_test] - Indicates whether the charge item is for + * testing purposes. + * @property {Object} [metadata] - Additional metadata associated with the charge item. + */ +/** + * @typedef ChargeLineItem + * @property {string} name - Its name of the extension plan. + * @property {string} term - It indicates how it will be charged. + * @property {string} pricing_type - It indicates the extension subscription + * will be auto renewed timely. + * @property {EntityChargePrice} price + * @property {EntityChargeRecurring} [recurring] * @property {number} [capped_amount] + * @property {number} [trial_days] * @property {boolean} [is_test] * @property {Object} [metadata] */ /** - * @typedef CreateOneTimeCharge - * @property {string} [name] - * @property {OneTimeChargeItem} [charge] - * @property {boolean} [is_test] - * @property {string} [return_url] + * @typedef EntitySubscription + * @property {string} [_id] - Unique identifier for the subscription charge + * @property {string} [product_suit_id] - ID of the product suit associated with + * the charge + * @property {string} [entity_id] - Unique identifier for the entity + * @property {string} [entity_type] - Type of entity (e.g., subscription, extension) + * @property {string} [name] - Name of the subscription charge + * @property {string} [status] - Current status of the subscription charge + * @property {number} [trial_days] - Number of trial days provided + * @property {boolean} [is_test] - Indicates if the charge is for testing purposes + * @property {string} [created_at] - Timestamp when the charge was created + * @property {string} [modified_at] - Timestamp when the charge was last modified + * @property {string} [subscriber_id] - Unique Identifier of the company + * @property {EntityChargeDetails[]} [line_items] + * @property {string} [return_url] - The URL passed in request which extension + * expects in return. */ /** - * @typedef ChargeRecurring - * @property {string} [interval] - * @property {number} [interval_time] + * @typedef OneTimeChargeEntity + * @property {string} [term] - Description of the charge term or usage. + * @property {string} [charge_type] - Type of the charge (e.g., 'subscription', + * 'extension'). + * @property {number} [capped_amount] - Maximum amount that can be charged. If + * no cap, the value should be 0. + * @property {string} [billing_date] - Date when the charge was billed. Null if + * not yet billed. + * @property {string} [created_at] - Date and time when the charge entity was created. + * @property {string} [modified_at] - Date and time when the charge entity was + * last modified. + * @property {number} [__v] - Internal version key for the charge record. + * @property {string} [_id] - Unique identifier for the charge entity. + * @property {string} [name] - The name of the one-time charge. + * @property {string} [status] - Current status of the charge (e.g., 'pending', + * 'completed'). + * @property {string} [activated_on] - Date and time when the charge was + * activated. Null if not yet activated. + * @property {string} [cancelled_on] - Date and time when the charge was + * cancelled. Null if not cancelled. + * @property {Object} [metadata] - Additional metadata associated with the charge. + * @property {string} [return_url] - URL to redirect to after processing the charge. + * @property {boolean} [is_test] - Indicates whether the charge is for testing purposes. + * @property {string} [pricing_type] - Pricing model for the charge (e.g., 'one_time'). + * @property {string} [subscriber_id] - Unique identifier for the subscriber + * associated with the charge. + * @property {string} [entity_type] - Type of the entity related to the charge + * (e.g., 'subscription', 'user'). + * @property {string} [entity_id] - Unique identifier for the entity associated + * with the charge. + * @property {Object} [meta] - Additional metadata associated with the charge. + * @property {EntityChargePrice} [price] */ /** - * @typedef ChargeDetails - * @property {string} [_id] - * @property {string} [entity_type] - * @property {string} [entity_id] - * @property {string} [name] - * @property {string} [term] - * @property {string} [charge_type] - * @property {string} [pricing_type] + * @typedef EntityChargeRecurring + * @property {string} interval - The interval of the subscription. + */ +/** + * @typedef EntityChargeDetails + * @property {string} [_id] - Unique identifier for the charge. + * @property {string} [subscription_id] - Unique identifier of the extension subscription. + * @property {string} [subscriber_id] - Unique identifier of the + * subscriber/company who installed extension subscription. + * @property {string} [entity_type] - The type of entity associated with the + * charge (e.g., 'extension', 'subscription'). + * @property {string} [entity_id] - Unique identifier for the entity associated + * with the charge. + * @property {string} [name] - The name of the charge. + * @property {string} [term] - Description of the charge term. + * @property {string} [charge_type] - The type of charge (e.g., 'standalone', + * 'recurring'). + * @property {string} [pricing_type] - The pricing model for the charge (e.g., + * 'one_time', 'recurring'). * @property {EntityChargePrice} [price] * @property {ChargeRecurring} [recurring] - * @property {string} [status] - * @property {number} [capped_amount] - * @property {string} [activated_on] - * @property {string} [cancelled_on] - * @property {string} [billing_date] + * @property {string} [status] - Current status of the charge. + * @property {number} [capped_amount] - Maximum amount that can be charged, if applicable. + * @property {string} [activated_on] - Date and time when the charge was activated. + * @property {string} [cancelled_on] - Date and time when the charge was cancelled. + * @property {string} [billing_date] - Date and time when the charge was billed. * @property {SubscriptionTrialPeriod} [current_period] - * @property {string} [modified_at] - * @property {string} [created_at] - * @property {boolean} [is_test] - * @property {string} [company_id] - * @property {Object} [meta] - * @property {number} [__v] - */ -/** - * @typedef OneTimeChargeEntity - * @property {string} [term] - * @property {string} [charge_type] - * @property {number} [capped_amount] - * @property {string} [billing_date] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {number} [__v] - * @property {string} [_id] - * @property {string} [name] - * @property {string} [status] - * @property {string} [activated_on] - * @property {string} [cancelled_on] - * @property {Object} [metadata] - * @property {string} [return_url] - * @property {boolean} [is_test] - * @property {string} [pricing_type] - * @property {string} [subscriber_id] - * @property {string} [entity_type] - * @property {string} [entity_id] - * @property {Object} [meta] - * @property {EntityChargePrice} [price] - */ -/** - * @typedef CreateOneTimeChargeResponse - * @property {Charge} [charge] - * @property {string} [confirm_url] - */ -/** - * @typedef Charge - * @property {OneTimeChargeEntity} [final_charge] - */ -/** - * @typedef InvoiceDetailsStatusTrail - * @property {string} [_id] - * @property {string} [value] - * @property {string} [timestamp] - */ -/** - * @typedef InvoiceItemsPlanRecurring - * @property {string} [interval] - * @property {number} [interval_count] - */ -/** - * @typedef InvoiceItemsPlan - * @property {InvoiceItemsPlanRecurring} [recurring] - * @property {boolean} [is_trial_plan] - * @property {string} [plan_group] - * @property {string[]} [tag_lines] - * @property {string} [currency] - * @property {boolean} [is_active] - * @property {boolean} [is_visible] - * @property {number} [trial_period] - * @property {string[]} [addons] - * @property {string[]} [tags] - * @property {string} [type] - * @property {string} [country] - * @property {string} [_id] - * @property {string} [name] - * @property {string} [description] - * @property {number} [amount] - * @property {string} [product_suite_id] - * @property {string} [created_at] - * @property {string} [modified_at] - */ -/** - * @typedef InvoiceItemsPeriod - * @property {string} [start] - * @property {string} [end] - */ -/** - * @typedef InvoiceItems - * @property {string} [_id] - * @property {string} [currency] - * @property {InvoiceItemsPlan} [plan] - * @property {string} [name] - * @property {number} [quantity] - * @property {string} [description] - * @property {InvoiceItemsPeriod} [period] - * @property {number} [unit_amount] - * @property {number} [amount] - * @property {string} [type] - * @property {string} [invoice_id] - * @property {string} [created_at] - * @property {string} [modified_at] - */ -/** - * @typedef InvoicesDataClient - * @property {string} [name] - * @property {string} [email] - * @property {string} [phone] - * @property {string[]} [address_lines] - */ -/** - * @typedef InvoicesDataPeriod - * @property {string} [start] - * @property {string} [end] - */ -/** - * @typedef InvoicesDataPaymentMethod - * @property {string} [pg_payment_method_id] - */ -/** - * @typedef InvoicesData - * @property {string} [_id] - * @property {Object} [documents] - * @property {Object} [payment] - * @property {number} [old_settlement] - * @property {number} [credit_balance] - * @property {Object} [discount] - * @property {Object} [taxation] - * @property {number} [credit_note_amount] - * @property {InvoicesDataClient} [client] - * @property {boolean} [auto_advance] - * @property {string} [currency] - * @property {boolean} [paid] - * @property {number} [attemp] - * @property {string} [collection_method] - * @property {string} [subscriber_id] - * @property {string} [invoice_url] - * @property {string} [number] - * @property {Object} [pg_data] - * @property {InvoicesDataPeriod} [period] - * @property {string} [receipt_number] - * @property {string} [statement_descriptor] - * @property {string} [current_status] - * @property {InvoiceDetailsStatusTrail[]} [status_trail] - * @property {number} [subtotal] - * @property {number} [total] - * @property {string} [subscription] - * @property {string} [next_action_time] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {string} [hash_identifier] - * @property {InvoicesDataPaymentMethod} [payment_method] - * @property {InvoiceItems[]} [invoice_items] - */ -/** - * @typedef Invoices - * @property {InvoicesData[]} [data] - * @property {number} [start] - * @property {number} [end] - * @property {number} [limit] - * @property {number} [page] - * @property {number} [total] - */ -/** - * @typedef Phone - * @property {string} [phone_number] - * @property {string} [phone_country_code] - */ -/** - * @typedef SubscriptionBillingAddress - * @property {string} [country] - * @property {string} [state] - * @property {string} [city] - * @property {string} [line1] - * @property {string} [line2] - * @property {string} [postal_code] - */ -/** - * @typedef SubscriptionCustomer - * @property {Phone} [phone] - * @property {SubscriptionBillingAddress} [billing_address] - * @property {string} [_id] - * @property {string} [unique_id] - * @property {string} [type] - * @property {string} [name] - * @property {string} [email] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {Object} [data] - * @property {Object} [documents] - * @property {boolean} [consent] - * @property {boolean} [comms] - * @property {number} [credit_balance] - * @property {BusinessCountryInfo} [business_country_info] - */ -/** - * @typedef SubscriptionCustomerCreate - * @property {Phone} [phone] - * @property {SubscriptionBillingAddress} [billing_address] - * @property {string} [unique_id] - * @property {string} [type] - * @property {string} [name] - * @property {string} [email] - */ -/** - * @typedef SubscriptionCurrentPeriod - * @property {string} [start] - * @property {string} [end] - */ -/** - * @typedef SubscriptionPauseCollection - * @property {string} [behavior] - * @property {string} [resume_at] - */ -/** - * @typedef SubscriptionTrial - * @property {string} [start] - * @property {string} [end] - */ -/** - * @typedef SubscriptionInvoiceSettings - * @property {boolean} [generation] - * @property {boolean} [charging] - */ -/** - * @typedef Subscription - * @property {Object} [meta] - * @property {SubscriptionCurrentPeriod} [current_period] - * @property {SubscriptionPauseCollection} [pause_collection] - * @property {SubscriptionTrial} [trial] - * @property {SubscriptionInvoiceSettings} [invoice_settings] - * @property {boolean} [is_active] - * @property {boolean} [cancel_at_period_end] - * @property {string} [_id] - * @property {string} [subscriber_id] - * @property {string} [plan_id] - * @property {string} [product_suite_id] - * @property {Plan} [plan_data] - * @property {string} [current_status] - * @property {string} [collection_method] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {string} [latest_invoice] - * @property {string} [channel_type] - * @property {boolean} [freezed] - * @property {string} [cancel_at] - * @property {string} [canceled_at] - */ -/** - * @typedef SubscriptionStatus - * @property {boolean} [is_enabled] - * @property {Subscription} [subscription] - * @property {InvoicesData} [latest_invoice] - * @property {Plan} [next_plan] - * @property {Subscription[]} [current_subscriptions] - * @property {number} [mandate_amount] - * @property {string} [message] - */ -/** - * @typedef SubscriptionLimitApplication - * @property {boolean} [enabled] - * @property {number} [hard_limit] - * @property {number} [soft_limit] - */ -/** - * @typedef SubscriptionLimitMarketplace - * @property {boolean} [enabled] - */ -/** - * @typedef SubscriptionLimitOtherPlatform - * @property {boolean} [enabled] - */ -/** - * @typedef SubscriptionLimitTeam - * @property {number} [limit] - */ -/** - * @typedef SubscriptionLimitProducts - * @property {boolean} [bulk] - * @property {number} [limit] - */ -/** - * @typedef SubscriptionLimitExtensions - * @property {boolean} [enabled] - * @property {number} [limit] - */ -/** - * @typedef SubscriptionLimitIntegrations - * @property {boolean} [enabled] - * @property {number} [limit] - */ -/** - * @typedef SubscriptionLimit - * @property {SubscriptionLimitApplication} [application] - * @property {SubscriptionLimitMarketplace} [marketplace] - * @property {SubscriptionLimitOtherPlatform} [other_platform] - * @property {SubscriptionLimitTeam} [team] - * @property {SubscriptionLimitProducts} [products] - * @property {SubscriptionLimitExtensions} [extensions] - * @property {SubscriptionLimitIntegrations} [integrations] - * @property {boolean} [is_trial_plan] - */ -/** - * @typedef IntentReq - * @property {string} [unique_external_id] - * @property {string} [plan_id] - */ -/** - * @typedef PutIntentReq - * @property {string} [unique_external_id] - * @property {string} [setup_intent_id] - * @property {string} [payment_method_id] - * @property {boolean} [set_default] - */ -/** - * @typedef SubscriptionActivateReq - * @property {string} [unique_id] - * @property {string} [type] - * @property {string} [product_suite] - * @property {string} [plan_id] - * @property {string} [payment_method] - * @property {string} [subscription_id] - * @property {string} [coupon] - * @property {Object} [meta] - */ -/** - * @typedef SubscriptionActivateRes - * @property {boolean} [success] - * @property {Subscription} [data] - */ -/** - * @typedef CancelSubscriptionReq - * @property {string} [unique_id] - * @property {string} [type] - * @property {string} [product_suite] - * @property {string} [subscription_id] - */ -/** - * @typedef CancelSubscriptionRes - * @property {boolean} [success] - * @property {Subscription} [data] - */ -/** - * @typedef PlanStatusUpdateReq - * @property {string} [plan_id] - * @property {string} [reason] - * @property {string} [seller_status] - */ -/** - * @typedef SunscribePlan - * @property {string} [entity_type] - * @property {string} [collection_type] - * @property {string} [plan_id] - * @property {string} [callback_url] - * @property {Meta} [meta] - */ -/** - * @typedef Meta - * @property {boolean} [subscribe] - * @property {boolean} [is_custom_plan] - * @property {boolean} [is_plan_upgrade] - */ -/** - * @typedef SubscribePlanRes - * @property {string} [redirect_url] - * @property {string} [transaction_id] - * @property {string} [current_status] - * @property {Meta} [meta] - */ -/** - * @typedef EntityDetail - * @property {string} [entity] - * @property {Subscription} [item] - */ -/** - * @typedef PaymentOptions - * @property {string} [_id] - * @property {string} [name] - * @property {string} [description] - * @property {string} [logo] - * @property {string} [aggregator_id] - * @property {string} [aggregator] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {number} [__v] - */ -/** - * @typedef VerifyPaymentReq - * @property {string} [razorpay_payment_id] - * @property {string} [razorpay_order_id] - * @property {string} [razorpay_signature] - * @property {number} [status_code] - * @property {string} [provider_type] - */ -/** - * @typedef Documents - * @property {string} [pan] - * @property {string} [gst] - */ -/** - * @typedef BillingAddress - * @property {string} [country] - * @property {string} [state] - * @property {string} [city] - * @property {string} [line1] - * @property {string} [line2] - * @property {string} [postal_code] - * @property {string} [country_code] - */ -/** - * @typedef Currency - * @property {string} [code] - * @property {string} [symbol] - * @property {string} [name] - */ -/** - * @typedef BusinessCountryInfo - * @property {string} [country] - * @property {string} [country_code] - * @property {Currency} [currency] - * @property {string} [timezone] - */ -/** - * @typedef SubscriberData - * @property {boolean} [pg_user_exists] - * @property {Object} [id] - * @property {string} [pg_customer_id] - * @property {string} [default_payment_method] - */ -/** - * @typedef Subscriber - * @property {Documents} [documents] - * @property {Object} [phone] - * @property {BillingAddress} [billing_address] - * @property {boolean} [consent] - * @property {boolean} [comms] - * @property {string} [_id] - * @property {string} [type] - * @property {string} [unique_id] - * @property {string} [name] - * @property {string} [email] - * @property {BusinessCountryInfo} [business_country_info] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {number} [credit_balance] - * @property {SubscriberData} [data] - */ -/** - * @typedef Author - * @property {Object} [modified_by_details] - */ -/** - * @typedef EndingBalance - * @property {number} [amount] - * @property {string} [old_entry_ref] - */ -/** - * @typedef PaymentData - * @property {string} [transaction_id] - * @property {string} [aggregator] - * @property {string} [aggregator_order_id] - */ -/** - * @typedef CreditTransaction - * @property {Object} [entity] - * @property {Author} [author] - * @property {string} [_id] - * @property {number} [amount] - * @property {string} [currency] - * @property {string} [subscriber_id] - * @property {string} [description] - * @property {Object} [is_test] - * @property {EndingBalance} [ending_balance] - * @property {PaymentData} [payment] - * @property {string} [type] - * @property {string} [created_at] - * @property {string} [modified_at] - */ -/** - * @typedef VerifyPaymentData - * @property {boolean} [success] - * @property {Subscriber} [subscriber] - * @property {CreditTransaction} [credit_transaction] - */ -/** - * @typedef VerifyPaymentRes - * @property {string} [status] - * @property {VerifyPaymentData} [data] - */ -/** - * @typedef DefaultMerchants - * @property {string} [stripe] - */ -/** - * @typedef GlobalSettingsPayment - * @property {DefaultMerchants} [default_merchants] - */ -/** - * @typedef GlobalSettingsData - * @property {GlobalSettingsPayment} [payment] - * @property {boolean} [freeze_panel] - * @property {string} [_id] - * @property {string} [created_at] - * @property {string} [modified_at] - */ -/** - * @typedef GlobalSettings - * @property {string} [status] - * @property {GlobalSettingsData} [data] - */ -/** - * @typedef MethodChecks - * @property {string} [address_line1_check] - * @property {string} [address_postal_code_check] - * @property {string} [cvc_check] - */ -/** - * @typedef MethodNetworks - * @property {string[]} [available] - * @property {string} [preferred] - */ -/** - * @typedef MethodSecureUsage - * @property {boolean} [supported] - */ -/** - * @typedef MethodDetails - * @property {string} [id] - * @property {string} [type] - * @property {boolean} [mandate_available] - * @property {number} [mandate_amount] - * @property {string} [pg_payment_method_id] - * @property {boolean} [is_default] - * @property {SubscriptionMethodData} [data] - */ -/** - * @typedef SubscriptionMethodData - * @property {string} [brand] - * @property {MethodChecks} [checks] - * @property {string} [country] - * @property {number} [exp_month] - * @property {number} [exp_year] - * @property {string} [fingerprint] - * @property {string} [funding] - * @property {string} [generated_from] - * @property {string} [last4] - * @property {MethodNetworks} [networks] - * @property {MethodSecureUsage} [three_d_secure_usage] - * @property {string} [wallet] - * @property {string} [name] - * @property {boolean} [is_default] - */ -/** - * @typedef SubscriptionMethods - * @property {boolean} [success] - * @property {MethodDetails[]} [data] - */ -/** - * @typedef ConfigPublicKey - * @property {string} [public_key] - */ -/** - * @typedef ConfigRes - * @property {boolean} [success] - * @property {string} [aggregator] - * @property {ConfigPublicKey} [config] - */ -/** - * @typedef PlanChangeData - * @property {number} [total] - * @property {number} [credit_note_amount] - * @property {number} [settlement] - * @property {number} [taxable_amount] - * @property {number} [gst_amount] - * @property {number} [gross_total] - * @property {number} [gst] - * @property {number} [discount] - */ -/** - * @typedef PlanChangeDetails - * @property {string} [status] - * @property {PlanChangeData} [data] - */ -/** - * @typedef TransactionMeta - * @property {string} [invoice_id] - */ -/** - * @typedef PaymentTransactionDetails - * @property {Object} [aggregator] - * @property {string} [currency] - * @property {string} [current_status] - * @property {string} [_id] - * @property {string} [subscriber_id] - * @property {number} [amount] - * @property {string} [entity_type] - * @property {string} [collection_type] - * @property {TransactionMeta} [meta] - * @property {string} [created_at] - * @property {string} [modified_at] - */ -/** - * @typedef PaymentItems - * @property {string} [name] - * @property {string} [code] - * @property {string} [aggregator] - */ -/** - * @typedef GetPaymentOptions - * @property {PaymentItems[]} [payment_options] - */ -/** - * @typedef TopupReq - * @property {number} [amount] - * @property {string} [currency] - * @property {string} [provider_type] - */ -/** - * @typedef SetupMandateReq - * @property {string} [intent_id] - * @property {string} [payment_method_id] - */ -/** - * @typedef SetupPaymentReq - * @property {string} [payment_method] - * @property {string} [payment_id] - * @property {string} [plan_id] - * @property {string} [invoice_id] - */ -/** - * @typedef SubscriptionRenewReq - * @property {string} [invoice_id] - * @property {string} [entity_type] - * @property {string} [collection_type] - * @property {string} [callback_url] - * @property {RenewMeta} [meta] - */ -/** - * @typedef RenewMeta - * @property {boolean} [invoice_payment] - * @property {boolean} [renew] - */ -/** - * @typedef SubscriptionMethodsReq - * @property {string} [unique_external_id] - * @property {string} [setup_intent_id] - * @property {string} [pg_payment_method_id] - * @property {boolean} [set_default] - */ -/** - * @typedef CreditTransactionResponse - * @property {number} [total] - Total number of transactions - * @property {number} [limit] - Maximum number of transactions per page - * @property {number} [page] - Current page number - * @property {number} [pages] - Total number of pages - * @property {CreditTransaction[]} [items] - */ -/** - * @typedef DowngradePlanReq - * @property {string} [unique_id] - * @property {string} [type] - * @property {string} [product_suite] - * @property {string} [plan_id] - * @property {string} [reason] - * @property {string} [platform] - */ -/** - * @typedef Taxation - * @property {number} [gst] - GST percentage - */ -/** - * @typedef OneTimeFees - * @property {number} [developement] - * @property {number} [marketing] - */ -/** - * @typedef CreditLine - * @property {boolean} [is_active] - */ -/** - * @typedef StatusMessage - * @property {string} [status] - * @property {string} [message] - * @property {boolean} [success] - * @property {string} [code] - */ -/** - * @typedef PaymentCollectReq - * @property {string} [transaction_id] - * @property {boolean} [credit_balance] - * @property {string} [payment_mode] - * @property {string} [payment_method] - * @property {string} [invoice_id] - */ -/** - * @typedef SubscriptionRenewResMeta - * @property {boolean} [invoice_payment] - * @property {boolean} [renew] - */ -/** - * @typedef SubscriptionRenewRes - * @property {string} [redirect_url] - * @property {string} [transaction_id] - * @property {string} [current_status] - * @property {SubscriptionRenewResMeta} [meta] - */ -/** - * @typedef SetupIntentRes - * @property {boolean} [success] - * @property {SetupIntentData} [data] - */ -/** - * @typedef SetupIntentData - * @property {string} [id] - * @property {string} [client_secret] - * @property {Object} [customer] - * @property {string} [status] - */ -/** - * @typedef SetupPayment - * @property {string} [id] - * @property {string} [status] - * @property {Object} [customer] - * @property {string} [client_secret] - * @property {string} [payment_method] - * @property {string} [mandate] - * @property {PaymentMethodOptions} [payment_method_options] - */ -/** - * @typedef PaymentMethodOptions - * @property {Card} [card] - */ -/** - * @typedef Card - * @property {MandateOptions} [mandate_options] - */ -/** - * @typedef MandateOptions - * @property {number} [amount] - */ -/** - * @typedef Message - * @property {string} [message] - */ -/** - * @typedef TopupRes - * @property {string} [status] - * @property {string} [aggregator_order_id] - * @property {number} [amount] - * @property {string} [currency] - * @property {string} [transaction_id] - */ -/** - * @typedef CancelTopupReq - * @property {string} [order_id] - */ -/** - * @typedef CancelTopupRes - * @property {string} [_id] - * @property {string} [subscriber_id] - * @property {number} [amount] - * @property {string} [currency] - * @property {string} [aggregator] - * @property {string} [aggregator_order_id] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {number} [__v] - * @property {string} [aggregator_status] - * @property {string} [current_status] - */ -/** - * @typedef DefaultReq - * @property {string} [payment_method_id] + * @property {string} [modified_at] - Date and time when the charge details were + * last modified. + * @property {string} [created_at] - Date and time when the charge was created. + * @property {boolean} [is_test] - Indicates whether the charge is for testing purposes. + * @property {string} [company_id] - Company id. + * @property {Object} [meta] - Additional metadata associated with the charge. + * @property {number} [__v] - Internal version key for the charge record. */ declare class BillingPlatformModel { } declare namespace BillingPlatformModel { - export { CompanyInfo, AddressDetails, InvoiceData, InvoiceDetailsData, Client, Period, StatusTrail, PaymentCollectRes, SubscriptionChargeRes, PostDowngradeRes, DowngradeRes, PaymentStatusData, PaymentStatusResponse, BadRequest, ResourceNotFound, InternalServerError, CheckValidityResponse, PlanRecurring, PlanMeta, Plan, SubscriptionTrialPeriod, EntityChargePrice, OneTimeChargeItem, CreateOneTimeCharge, ChargeRecurring, ChargeDetails, OneTimeChargeEntity, CreateOneTimeChargeResponse, Charge, InvoiceDetailsStatusTrail, InvoiceItemsPlanRecurring, InvoiceItemsPlan, InvoiceItemsPeriod, InvoiceItems, InvoicesDataClient, InvoicesDataPeriod, InvoicesDataPaymentMethod, InvoicesData, Invoices, Phone, SubscriptionBillingAddress, SubscriptionCustomer, SubscriptionCustomerCreate, SubscriptionCurrentPeriod, SubscriptionPauseCollection, SubscriptionTrial, SubscriptionInvoiceSettings, Subscription, SubscriptionStatus, SubscriptionLimitApplication, SubscriptionLimitMarketplace, SubscriptionLimitOtherPlatform, SubscriptionLimitTeam, SubscriptionLimitProducts, SubscriptionLimitExtensions, SubscriptionLimitIntegrations, SubscriptionLimit, IntentReq, PutIntentReq, SubscriptionActivateReq, SubscriptionActivateRes, CancelSubscriptionReq, CancelSubscriptionRes, PlanStatusUpdateReq, SunscribePlan, Meta, SubscribePlanRes, EntityDetail, PaymentOptions, VerifyPaymentReq, Documents, BillingAddress, Currency, BusinessCountryInfo, SubscriberData, Subscriber, Author, EndingBalance, PaymentData, CreditTransaction, VerifyPaymentData, VerifyPaymentRes, DefaultMerchants, GlobalSettingsPayment, GlobalSettingsData, GlobalSettings, MethodChecks, MethodNetworks, MethodSecureUsage, MethodDetails, SubscriptionMethodData, SubscriptionMethods, ConfigPublicKey, ConfigRes, PlanChangeData, PlanChangeDetails, TransactionMeta, PaymentTransactionDetails, PaymentItems, GetPaymentOptions, TopupReq, SetupMandateReq, SetupPaymentReq, SubscriptionRenewReq, RenewMeta, SubscriptionMethodsReq, CreditTransactionResponse, DowngradePlanReq, Taxation, OneTimeFees, CreditLine, StatusMessage, PaymentCollectReq, SubscriptionRenewResMeta, SubscriptionRenewRes, SetupIntentRes, SetupIntentData, SetupPayment, PaymentMethodOptions, Card, MandateOptions, Message, TopupRes, CancelTopupReq, CancelTopupRes, DefaultReq }; + export { SubscriptionChargeRes, ChargeDetails, ResourceNotFound, CreateOneTimeCharge, CreateOneTimeChargeResponse, BadRequest, CreateSubscriptionCharge, CreateSubscriptionResponse, EntityChargePrice, ChargeRecurring, SubscriptionTrialPeriod, Charge, OneTimeChargeItem, ChargeLineItem, EntitySubscription, OneTimeChargeEntity, EntityChargeRecurring, EntityChargeDetails }; } -/** @returns {CompanyInfo} */ -declare function CompanyInfo(): CompanyInfo; -type CompanyInfo = { - company_name?: string; - gstin?: string; - address?: string; - address_details?: AddressDetails; - pan?: string; - phone?: string; - email?: string; - cin?: string; -}; -/** @returns {AddressDetails} */ -declare function AddressDetails(): AddressDetails; -type AddressDetails = { - address_line_1?: string; - address_line_2?: string; - city?: string; - pincode?: string; - state?: string; - country?: string; -}; -/** @returns {InvoiceData} */ -declare function InvoiceData(): InvoiceData; -type InvoiceData = { - invoice?: InvoiceDetailsData; - invoice_items?: InvoiceItems[]; - shopsense_details?: CompanyInfo; -}; -/** @returns {InvoiceDetailsData} */ -declare function InvoiceDetailsData(): InvoiceDetailsData; -type InvoiceDetailsData = { - attemp?: number; - documents?: any; - payment?: any; - period?: Period; - client?: Client; - discount?: any; - taxation?: any; - _id?: string; - auto_advance?: boolean; - collection_method?: string; - subscriber_id?: string; - currency?: string; - invoice_url?: string; - number?: string; - paid?: boolean; - pg_data?: any; - receipt_number?: string; - statement_descriptor?: string; - current_status?: string; - status_trail?: StatusTrail[]; - subtotal?: number; - total?: number; - old_settlement?: number; - credit_balance?: number; - subscription?: string; - attempt?: number; - next_action_time?: string; - credit_note_amount?: number; - created_at?: string; - modified_at?: string; -}; -/** @returns {Client} */ -declare function Client(): Client; -type Client = { - name?: string; - email?: string; - phone?: string; - address_lines?: string[]; -}; -/** @returns {Period} */ -declare function Period(): Period; -type Period = { - start?: string; - end?: string; -}; -/** @returns {StatusTrail} */ -declare function StatusTrail(): StatusTrail; -type StatusTrail = { - value?: string; - timestamp?: string; - _id?: string; -}; -/** @returns {PaymentCollectRes} */ -declare function PaymentCollectRes(): PaymentCollectRes; -type PaymentCollectRes = { - transaction_id?: string; - current_status?: string; -}; /** @returns {SubscriptionChargeRes} */ declare function SubscriptionChargeRes(): SubscriptionChargeRes; type SubscriptionChargeRes = { + /** + * - Unique identifier for the subscription charge + */ _id?: string; + /** + * - ID of the product suit associated with + * the charge + */ product_suit_id?: string; + /** + * - Unique identifier for the entity + */ entity_id?: string; + /** + * - Type of entity (e.g., subscription, extension) + */ entity_type?: string; + /** + * - Name of the subscription charge + */ name?: string; + /** + * - Current status of the subscription charge + */ status?: string; + /** + * - Number of trial days provided + */ trial_days?: number; + /** + * - Date when the charge was activated + */ activated_on?: string; + /** + * - Date when the charge was cancelled + */ cancelled_on?: string; + /** + * - Indicates if the charge is for testing purposes + */ is_test?: boolean; + /** + * - Timestamp when the charge was created + */ created_at?: string; + /** + * - Timestamp when the charge was last modified + */ modified_at?: string; + /** + * - Company id + */ company_id?: string; + /** + * - List of line items associated with the charge + */ line_items?: any[]; }; -/** @returns {PostDowngradeRes} */ -declare function PostDowngradeRes(): PostDowngradeRes; -type PostDowngradeRes = { - success?: boolean; - data?: DowngradeRes; -}; -/** @returns {DowngradeRes} */ -declare function DowngradeRes(): DowngradeRes; -type DowngradeRes = { +/** @returns {ChargeDetails} */ +declare function ChargeDetails(): ChargeDetails; +type ChargeDetails = { + /** + * - Unique identifier for the charge. + */ _id?: string; + /** + * - The type of entity associated with the + * charge (e.g., 'extension', 'subscription'). + */ + entity_type?: string; + /** + * - Unique identifier for the entity associated + * with the charge. + */ + entity_id?: string; + /** + * - The name of the charge. + */ + name?: string; + /** + * - Description of the charge term. + */ + term?: string; + /** + * - The type of charge (e.g., 'standalone', + * 'recurring'). + */ + charge_type?: string; + /** + * - The pricing model for the charge (e.g., + * 'one_time', 'recurring'). + */ + pricing_type?: string; + price?: EntityChargePrice; + recurring?: ChargeRecurring; + /** + * - Current status of the charge. + */ status?: string; - subscriber_id?: string; - activated?: boolean; - created_at?: string; + /** + * - Maximum amount that can be charged, if applicable. + */ + capped_amount?: number; + /** + * - Date and time when the charge was activated. + */ + activated_on?: string; + /** + * - Date and time when the charge was cancelled. + */ + cancelled_on?: string; + /** + * - Date and time when the charge was billed. + */ + billing_date?: string; + current_period?: SubscriptionTrialPeriod; + /** + * - Date and time when the charge details were + * last modified. + */ modified_at?: string; - plan_id?: string; - reason?: string; - request_user_id?: string; - subscription_id?: string; -}; -/** @returns {PaymentStatusData} */ -declare function PaymentStatusData(): PaymentStatusData; -type PaymentStatusData = { - _id?: string; - journey?: string; - webhook_response?: any[]; - aggregator_status?: string; - current_status?: string; + /** + * - Date and time when the charge was created. + */ created_at?: string; - modified_at?: string; - __v?: number; - aggregator_order_id?: string; -}; -/** @returns {PaymentStatusResponse} */ -declare function PaymentStatusResponse(): PaymentStatusResponse; -type PaymentStatusResponse = { - status?: string; - data?: PaymentStatusData; -}; -/** @returns {BadRequest} */ -declare function BadRequest(): BadRequest; -type BadRequest = { /** - * - Failure message. + * - Indicates whether the charge is for testing purposes. */ - message?: string; + is_test?: boolean; + /** + * - Company id. + */ + company_id?: string; + /** + * - Additional metadata associated with the charge. + */ + meta?: any; + /** + * - Internal version key for the charge record. + */ + __v?: number; }; /** @returns {ResourceNotFound} */ declare function ResourceNotFound(): ResourceNotFound; @@ -1181,1006 +378,409 @@ type ResourceNotFound = { code?: any; success?: any; }; -/** @returns {InternalServerError} */ -declare function InternalServerError(): InternalServerError; -type InternalServerError = { +/** @returns {CreateOneTimeCharge} */ +declare function CreateOneTimeCharge(): CreateOneTimeCharge; +type CreateOneTimeCharge = { /** - * - Internal server Server error + * - The name of the one-time charge to be created. */ - message?: string; + name?: string; + charge?: OneTimeChargeItem; /** - * - Error code + * - Indicates whether the charge creation is for + * testing purposes. */ - code?: string; -}; -/** @returns {CheckValidityResponse} */ -declare function CheckValidityResponse(): CheckValidityResponse; -type CheckValidityResponse = { - is_valid?: boolean; - discount_amount?: number; + is_test?: boolean; + /** + * - URL to which the user will be redirected + * after creating the charge. + */ + return_url?: string; }; -/** @returns {PlanRecurring} */ -declare function PlanRecurring(): PlanRecurring; -type PlanRecurring = { - interval?: string; - interval_count?: number; +/** @returns {CreateOneTimeChargeResponse} */ +declare function CreateOneTimeChargeResponse(): CreateOneTimeChargeResponse; +type CreateOneTimeChargeResponse = { + charge?: Charge; + /** + * - URL to which users are redirected to + * confirm or complete the payment or subscription process. + */ + confirm_url?: string; }; -/** @returns {PlanMeta} */ -declare function PlanMeta(): PlanMeta; -type PlanMeta = { - seller_status?: string; - company?: string; - plan_platform_display_name?: string; +/** @returns {BadRequest} */ +declare function BadRequest(): BadRequest; +type BadRequest = { + /** + * - Failure message. + */ + message?: string; }; -/** @returns {Plan} */ -declare function Plan(): Plan; -type Plan = { - fee_components?: any[]; - recurring?: PlanRecurring; - is_trial_plan?: boolean; - plan_group?: string; - tag_lines?: string[]; - currency?: string; - is_active?: boolean; - is_visible?: boolean; - trial_period?: number; - addons?: string[]; - tags?: string[]; - type?: string; - country?: string; - _id?: string; - name?: string; - description?: string; - amount?: number; - product_suite_id?: string; - created_at?: string; - modified_at?: string; - taxation?: Taxation; - one_time_fees?: OneTimeFees; - credit_line?: CreditLine; - current_status?: string; - channel_type?: string; - company_ids?: any[]; - platform?: string; - activated_on?: string; - meta?: PlanMeta; - created_by?: string; +/** @returns {CreateSubscriptionCharge} */ +declare function CreateSubscriptionCharge(): CreateSubscriptionCharge; +type CreateSubscriptionCharge = { + /** + * - The name of the charge. + */ + name: string; + trial_days?: number; + line_items: ChargeLineItem[]; + /** + * - Indicates whether the charge is for testing purposes. + */ + is_test?: boolean; + /** + * - The URL passed in request which extension + * expects in return. + */ + return_url: string; }; -/** @returns {SubscriptionTrialPeriod} */ -declare function SubscriptionTrialPeriod(): SubscriptionTrialPeriod; -type SubscriptionTrialPeriod = { - start_date?: string; - end_date?: string; +/** @returns {CreateSubscriptionResponse} */ +declare function CreateSubscriptionResponse(): CreateSubscriptionResponse; +type CreateSubscriptionResponse = { + subscription?: EntitySubscription; + /** + * - URL to which users are redirected to + * confirm or complete the payment or subscription process. + */ + confirm_url?: string; }; /** @returns {EntityChargePrice} */ declare function EntityChargePrice(): EntityChargePrice; type EntityChargePrice = { /** - * - Amount for price. Minimum value 1 + * - The amount for the price. The minimum value is 1. */ amount?: number; + /** + * - The currency code for the price + */ currency_code?: string; }; +/** @returns {ChargeRecurring} */ +declare function ChargeRecurring(): ChargeRecurring; +type ChargeRecurring = { + interval?: string; + interval_time?: number; +}; +/** @returns {SubscriptionTrialPeriod} */ +declare function SubscriptionTrialPeriod(): SubscriptionTrialPeriod; +type SubscriptionTrialPeriod = { + /** + * - The start date and time of the trial period. + */ + start_date?: string; + /** + * - The end date and time of the trial period. + */ + end_date?: string; +}; +/** @returns {Charge} */ +declare function Charge(): Charge; +type Charge = { + final_charge?: OneTimeChargeEntity; +}; /** @returns {OneTimeChargeItem} */ declare function OneTimeChargeItem(): OneTimeChargeItem; type OneTimeChargeItem = { + /** + * - The name of the one-time charge item. + */ name?: string; + /** + * - The term or description of the charge. + */ term?: string; + /** + * - The type of pricing for the charge item. + */ pricing_type?: string; price?: EntityChargePrice; + /** + * - The maximum amount that can be charged + * for this item, if applicable. + */ capped_amount?: number; + /** + * - Indicates whether the charge item is for + * testing purposes. + */ is_test?: boolean; + /** + * - Additional metadata associated with the charge item. + */ metadata?: any; }; -/** @returns {CreateOneTimeCharge} */ -declare function CreateOneTimeCharge(): CreateOneTimeCharge; -type CreateOneTimeCharge = { - name?: string; - charge?: OneTimeChargeItem; +/** @returns {ChargeLineItem} */ +declare function ChargeLineItem(): ChargeLineItem; +type ChargeLineItem = { + /** + * - Its name of the extension plan. + */ + name: string; + /** + * - It indicates how it will be charged. + */ + term: string; + /** + * - It indicates the extension subscription + * will be auto renewed timely. + */ + pricing_type: string; + price: EntityChargePrice; + recurring?: EntityChargeRecurring; + capped_amount?: number; + trial_days?: number; is_test?: boolean; - return_url?: string; -}; -/** @returns {ChargeRecurring} */ -declare function ChargeRecurring(): ChargeRecurring; -type ChargeRecurring = { - interval?: string; - interval_time?: number; + metadata?: any; }; -/** @returns {ChargeDetails} */ -declare function ChargeDetails(): ChargeDetails; -type ChargeDetails = { +/** @returns {EntitySubscription} */ +declare function EntitySubscription(): EntitySubscription; +type EntitySubscription = { + /** + * - Unique identifier for the subscription charge + */ _id?: string; - entity_type?: string; + /** + * - ID of the product suit associated with + * the charge + */ + product_suit_id?: string; + /** + * - Unique identifier for the entity + */ entity_id?: string; + /** + * - Type of entity (e.g., subscription, extension) + */ + entity_type?: string; + /** + * - Name of the subscription charge + */ name?: string; - term?: string; - charge_type?: string; - pricing_type?: string; - price?: EntityChargePrice; - recurring?: ChargeRecurring; + /** + * - Current status of the subscription charge + */ status?: string; - capped_amount?: number; - activated_on?: string; - cancelled_on?: string; - billing_date?: string; - current_period?: SubscriptionTrialPeriod; - modified_at?: string; - created_at?: string; + /** + * - Number of trial days provided + */ + trial_days?: number; + /** + * - Indicates if the charge is for testing purposes + */ is_test?: boolean; - company_id?: string; - meta?: any; - __v?: number; + /** + * - Timestamp when the charge was created + */ + created_at?: string; + /** + * - Timestamp when the charge was last modified + */ + modified_at?: string; + /** + * - Unique Identifier of the company + */ + subscriber_id?: string; + line_items?: EntityChargeDetails[]; + /** + * - The URL passed in request which extension + * expects in return. + */ + return_url?: string; }; /** @returns {OneTimeChargeEntity} */ declare function OneTimeChargeEntity(): OneTimeChargeEntity; type OneTimeChargeEntity = { + /** + * - Description of the charge term or usage. + */ term?: string; + /** + * - Type of the charge (e.g., 'subscription', + * 'extension'). + */ charge_type?: string; + /** + * - Maximum amount that can be charged. If + * no cap, the value should be 0. + */ capped_amount?: number; + /** + * - Date when the charge was billed. Null if + * not yet billed. + */ billing_date?: string; + /** + * - Date and time when the charge entity was created. + */ created_at?: string; + /** + * - Date and time when the charge entity was + * last modified. + */ modified_at?: string; + /** + * - Internal version key for the charge record. + */ __v?: number; + /** + * - Unique identifier for the charge entity. + */ _id?: string; + /** + * - The name of the one-time charge. + */ name?: string; + /** + * - Current status of the charge (e.g., 'pending', + * 'completed'). + */ status?: string; + /** + * - Date and time when the charge was + * activated. Null if not yet activated. + */ activated_on?: string; + /** + * - Date and time when the charge was + * cancelled. Null if not cancelled. + */ cancelled_on?: string; + /** + * - Additional metadata associated with the charge. + */ metadata?: any; + /** + * - URL to redirect to after processing the charge. + */ return_url?: string; + /** + * - Indicates whether the charge is for testing purposes. + */ is_test?: boolean; + /** + * - Pricing model for the charge (e.g., 'one_time'). + */ pricing_type?: string; + /** + * - Unique identifier for the subscriber + * associated with the charge. + */ subscriber_id?: string; + /** + * - Type of the entity related to the charge + * (e.g., 'subscription', 'user'). + */ entity_type?: string; + /** + * - Unique identifier for the entity associated + * with the charge. + */ entity_id?: string; + /** + * - Additional metadata associated with the charge. + */ meta?: any; price?: EntityChargePrice; }; -/** @returns {CreateOneTimeChargeResponse} */ -declare function CreateOneTimeChargeResponse(): CreateOneTimeChargeResponse; -type CreateOneTimeChargeResponse = { - charge?: Charge; - confirm_url?: string; -}; -/** @returns {Charge} */ -declare function Charge(): Charge; -type Charge = { - final_charge?: OneTimeChargeEntity; -}; -/** @returns {InvoiceDetailsStatusTrail} */ -declare function InvoiceDetailsStatusTrail(): InvoiceDetailsStatusTrail; -type InvoiceDetailsStatusTrail = { - _id?: string; - value?: string; - timestamp?: string; -}; -/** @returns {InvoiceItemsPlanRecurring} */ -declare function InvoiceItemsPlanRecurring(): InvoiceItemsPlanRecurring; -type InvoiceItemsPlanRecurring = { - interval?: string; - interval_count?: number; -}; -/** @returns {InvoiceItemsPlan} */ -declare function InvoiceItemsPlan(): InvoiceItemsPlan; -type InvoiceItemsPlan = { - recurring?: InvoiceItemsPlanRecurring; - is_trial_plan?: boolean; - plan_group?: string; - tag_lines?: string[]; - currency?: string; - is_active?: boolean; - is_visible?: boolean; - trial_period?: number; - addons?: string[]; - tags?: string[]; - type?: string; - country?: string; - _id?: string; - name?: string; - description?: string; - amount?: number; - product_suite_id?: string; - created_at?: string; - modified_at?: string; -}; -/** @returns {InvoiceItemsPeriod} */ -declare function InvoiceItemsPeriod(): InvoiceItemsPeriod; -type InvoiceItemsPeriod = { - start?: string; - end?: string; -}; -/** @returns {InvoiceItems} */ -declare function InvoiceItems(): InvoiceItems; -type InvoiceItems = { - _id?: string; - currency?: string; - plan?: InvoiceItemsPlan; - name?: string; - quantity?: number; - description?: string; - period?: InvoiceItemsPeriod; - unit_amount?: number; - amount?: number; - type?: string; - invoice_id?: string; - created_at?: string; - modified_at?: string; -}; -/** @returns {InvoicesDataClient} */ -declare function InvoicesDataClient(): InvoicesDataClient; -type InvoicesDataClient = { - name?: string; - email?: string; - phone?: string; - address_lines?: string[]; -}; -/** @returns {InvoicesDataPeriod} */ -declare function InvoicesDataPeriod(): InvoicesDataPeriod; -type InvoicesDataPeriod = { - start?: string; - end?: string; -}; -/** @returns {InvoicesDataPaymentMethod} */ -declare function InvoicesDataPaymentMethod(): InvoicesDataPaymentMethod; -type InvoicesDataPaymentMethod = { - pg_payment_method_id?: string; -}; -/** @returns {InvoicesData} */ -declare function InvoicesData(): InvoicesData; -type InvoicesData = { - _id?: string; - documents?: any; - payment?: any; - old_settlement?: number; - credit_balance?: number; - discount?: any; - taxation?: any; - credit_note_amount?: number; - client?: InvoicesDataClient; - auto_advance?: boolean; - currency?: string; - paid?: boolean; - attemp?: number; - collection_method?: string; - subscriber_id?: string; - invoice_url?: string; - number?: string; - pg_data?: any; - period?: InvoicesDataPeriod; - receipt_number?: string; - statement_descriptor?: string; - current_status?: string; - status_trail?: InvoiceDetailsStatusTrail[]; - subtotal?: number; - total?: number; - subscription?: string; - next_action_time?: string; - created_at?: string; - modified_at?: string; - hash_identifier?: string; - payment_method?: InvoicesDataPaymentMethod; - invoice_items?: InvoiceItems[]; -}; -/** @returns {Invoices} */ -declare function Invoices(): Invoices; -type Invoices = { - data?: InvoicesData[]; - start?: number; - end?: number; - limit?: number; - page?: number; - total?: number; -}; -/** @returns {Phone} */ -declare function Phone(): Phone; -type Phone = { - phone_number?: string; - phone_country_code?: string; -}; -/** @returns {SubscriptionBillingAddress} */ -declare function SubscriptionBillingAddress(): SubscriptionBillingAddress; -type SubscriptionBillingAddress = { - country?: string; - state?: string; - city?: string; - line1?: string; - line2?: string; - postal_code?: string; -}; -/** @returns {SubscriptionCustomer} */ -declare function SubscriptionCustomer(): SubscriptionCustomer; -type SubscriptionCustomer = { - phone?: Phone; - billing_address?: SubscriptionBillingAddress; - _id?: string; - unique_id?: string; - type?: string; - name?: string; - email?: string; - created_at?: string; - modified_at?: string; - data?: any; - documents?: any; - consent?: boolean; - comms?: boolean; - credit_balance?: number; - business_country_info?: BusinessCountryInfo; -}; -/** @returns {SubscriptionCustomerCreate} */ -declare function SubscriptionCustomerCreate(): SubscriptionCustomerCreate; -type SubscriptionCustomerCreate = { - phone?: Phone; - billing_address?: SubscriptionBillingAddress; - unique_id?: string; - type?: string; - name?: string; - email?: string; -}; -/** @returns {SubscriptionCurrentPeriod} */ -declare function SubscriptionCurrentPeriod(): SubscriptionCurrentPeriod; -type SubscriptionCurrentPeriod = { - start?: string; - end?: string; -}; -/** @returns {SubscriptionPauseCollection} */ -declare function SubscriptionPauseCollection(): SubscriptionPauseCollection; -type SubscriptionPauseCollection = { - behavior?: string; - resume_at?: string; -}; -/** @returns {SubscriptionTrial} */ -declare function SubscriptionTrial(): SubscriptionTrial; -type SubscriptionTrial = { - start?: string; - end?: string; -}; -/** @returns {SubscriptionInvoiceSettings} */ -declare function SubscriptionInvoiceSettings(): SubscriptionInvoiceSettings; -type SubscriptionInvoiceSettings = { - generation?: boolean; - charging?: boolean; +/** @returns {EntityChargeRecurring} */ +declare function EntityChargeRecurring(): EntityChargeRecurring; +type EntityChargeRecurring = { + /** + * - The interval of the subscription. + */ + interval: string; }; -/** @returns {Subscription} */ -declare function Subscription(): Subscription; -type Subscription = { - meta?: any; - current_period?: SubscriptionCurrentPeriod; - pause_collection?: SubscriptionPauseCollection; - trial?: SubscriptionTrial; - invoice_settings?: SubscriptionInvoiceSettings; - is_active?: boolean; - cancel_at_period_end?: boolean; +/** @returns {EntityChargeDetails} */ +declare function EntityChargeDetails(): EntityChargeDetails; +type EntityChargeDetails = { + /** + * - Unique identifier for the charge. + */ _id?: string; - subscriber_id?: string; - plan_id?: string; - product_suite_id?: string; - plan_data?: Plan; - current_status?: string; - collection_method?: string; - created_at?: string; - modified_at?: string; - latest_invoice?: string; - channel_type?: string; - freezed?: boolean; - cancel_at?: string; - canceled_at?: string; -}; -/** @returns {SubscriptionStatus} */ -declare function SubscriptionStatus(): SubscriptionStatus; -type SubscriptionStatus = { - is_enabled?: boolean; - subscription?: Subscription; - latest_invoice?: InvoicesData; - next_plan?: Plan; - current_subscriptions?: Subscription[]; - mandate_amount?: number; - message?: string; -}; -/** @returns {SubscriptionLimitApplication} */ -declare function SubscriptionLimitApplication(): SubscriptionLimitApplication; -type SubscriptionLimitApplication = { - enabled?: boolean; - hard_limit?: number; - soft_limit?: number; -}; -/** @returns {SubscriptionLimitMarketplace} */ -declare function SubscriptionLimitMarketplace(): SubscriptionLimitMarketplace; -type SubscriptionLimitMarketplace = { - enabled?: boolean; -}; -/** @returns {SubscriptionLimitOtherPlatform} */ -declare function SubscriptionLimitOtherPlatform(): SubscriptionLimitOtherPlatform; -type SubscriptionLimitOtherPlatform = { - enabled?: boolean; -}; -/** @returns {SubscriptionLimitTeam} */ -declare function SubscriptionLimitTeam(): SubscriptionLimitTeam; -type SubscriptionLimitTeam = { - limit?: number; -}; -/** @returns {SubscriptionLimitProducts} */ -declare function SubscriptionLimitProducts(): SubscriptionLimitProducts; -type SubscriptionLimitProducts = { - bulk?: boolean; - limit?: number; -}; -/** @returns {SubscriptionLimitExtensions} */ -declare function SubscriptionLimitExtensions(): SubscriptionLimitExtensions; -type SubscriptionLimitExtensions = { - enabled?: boolean; - limit?: number; -}; -/** @returns {SubscriptionLimitIntegrations} */ -declare function SubscriptionLimitIntegrations(): SubscriptionLimitIntegrations; -type SubscriptionLimitIntegrations = { - enabled?: boolean; - limit?: number; -}; -/** @returns {SubscriptionLimit} */ -declare function SubscriptionLimit(): SubscriptionLimit; -type SubscriptionLimit = { - application?: SubscriptionLimitApplication; - marketplace?: SubscriptionLimitMarketplace; - other_platform?: SubscriptionLimitOtherPlatform; - team?: SubscriptionLimitTeam; - products?: SubscriptionLimitProducts; - extensions?: SubscriptionLimitExtensions; - integrations?: SubscriptionLimitIntegrations; - is_trial_plan?: boolean; -}; -/** @returns {IntentReq} */ -declare function IntentReq(): IntentReq; -type IntentReq = { - unique_external_id?: string; - plan_id?: string; -}; -/** @returns {PutIntentReq} */ -declare function PutIntentReq(): PutIntentReq; -type PutIntentReq = { - unique_external_id?: string; - setup_intent_id?: string; - payment_method_id?: string; - set_default?: boolean; -}; -/** @returns {SubscriptionActivateReq} */ -declare function SubscriptionActivateReq(): SubscriptionActivateReq; -type SubscriptionActivateReq = { - unique_id?: string; - type?: string; - product_suite?: string; - plan_id?: string; - payment_method?: string; - subscription_id?: string; - coupon?: string; - meta?: any; -}; -/** @returns {SubscriptionActivateRes} */ -declare function SubscriptionActivateRes(): SubscriptionActivateRes; -type SubscriptionActivateRes = { - success?: boolean; - data?: Subscription; -}; -/** @returns {CancelSubscriptionReq} */ -declare function CancelSubscriptionReq(): CancelSubscriptionReq; -type CancelSubscriptionReq = { - unique_id?: string; - type?: string; - product_suite?: string; + /** + * - Unique identifier of the extension subscription. + */ subscription_id?: string; -}; -/** @returns {CancelSubscriptionRes} */ -declare function CancelSubscriptionRes(): CancelSubscriptionRes; -type CancelSubscriptionRes = { - success?: boolean; - data?: Subscription; -}; -/** @returns {PlanStatusUpdateReq} */ -declare function PlanStatusUpdateReq(): PlanStatusUpdateReq; -type PlanStatusUpdateReq = { - plan_id?: string; - reason?: string; - seller_status?: string; -}; -/** @returns {SunscribePlan} */ -declare function SunscribePlan(): SunscribePlan; -type SunscribePlan = { - entity_type?: string; - collection_type?: string; - plan_id?: string; - callback_url?: string; - meta?: Meta; -}; -/** @returns {Meta} */ -declare function Meta(): Meta; -type Meta = { - subscribe?: boolean; - is_custom_plan?: boolean; - is_plan_upgrade?: boolean; -}; -/** @returns {SubscribePlanRes} */ -declare function SubscribePlanRes(): SubscribePlanRes; -type SubscribePlanRes = { - redirect_url?: string; - transaction_id?: string; - current_status?: string; - meta?: Meta; -}; -/** @returns {EntityDetail} */ -declare function EntityDetail(): EntityDetail; -type EntityDetail = { - entity?: string; - item?: Subscription; -}; -/** @returns {PaymentOptions} */ -declare function PaymentOptions(): PaymentOptions; -type PaymentOptions = { - _id?: string; - name?: string; - description?: string; - logo?: string; - aggregator_id?: string; - aggregator?: string; - created_at?: string; - modified_at?: string; - __v?: number; -}; -/** @returns {VerifyPaymentReq} */ -declare function VerifyPaymentReq(): VerifyPaymentReq; -type VerifyPaymentReq = { - razorpay_payment_id?: string; - razorpay_order_id?: string; - razorpay_signature?: string; - status_code?: number; - provider_type?: string; -}; -/** @returns {Documents} */ -declare function Documents(): Documents; -type Documents = { - pan?: string; - gst?: string; -}; -/** @returns {BillingAddress} */ -declare function BillingAddress(): BillingAddress; -type BillingAddress = { - country?: string; - state?: string; - city?: string; - line1?: string; - line2?: string; - postal_code?: string; - country_code?: string; -}; -/** @returns {Currency} */ -declare function Currency(): Currency; -type Currency = { - code?: string; - symbol?: string; - name?: string; -}; -/** @returns {BusinessCountryInfo} */ -declare function BusinessCountryInfo(): BusinessCountryInfo; -type BusinessCountryInfo = { - country?: string; - country_code?: string; - currency?: Currency; - timezone?: string; -}; -/** @returns {SubscriberData} */ -declare function SubscriberData(): SubscriberData; -type SubscriberData = { - pg_user_exists?: boolean; - id?: any; - pg_customer_id?: string; - default_payment_method?: string; -}; -/** @returns {Subscriber} */ -declare function Subscriber(): Subscriber; -type Subscriber = { - documents?: Documents; - phone?: any; - billing_address?: BillingAddress; - consent?: boolean; - comms?: boolean; - _id?: string; - type?: string; - unique_id?: string; - name?: string; - email?: string; - business_country_info?: BusinessCountryInfo; - created_at?: string; - modified_at?: string; - credit_balance?: number; - data?: SubscriberData; -}; -/** @returns {Author} */ -declare function Author(): Author; -type Author = { - modified_by_details?: any; -}; -/** @returns {EndingBalance} */ -declare function EndingBalance(): EndingBalance; -type EndingBalance = { - amount?: number; - old_entry_ref?: string; -}; -/** @returns {PaymentData} */ -declare function PaymentData(): PaymentData; -type PaymentData = { - transaction_id?: string; - aggregator?: string; - aggregator_order_id?: string; -}; -/** @returns {CreditTransaction} */ -declare function CreditTransaction(): CreditTransaction; -type CreditTransaction = { - entity?: any; - author?: Author; - _id?: string; - amount?: number; - currency?: string; - subscriber_id?: string; - description?: string; - is_test?: any; - ending_balance?: EndingBalance; - payment?: PaymentData; - type?: string; - created_at?: string; - modified_at?: string; -}; -/** @returns {VerifyPaymentData} */ -declare function VerifyPaymentData(): VerifyPaymentData; -type VerifyPaymentData = { - success?: boolean; - subscriber?: Subscriber; - credit_transaction?: CreditTransaction; -}; -/** @returns {VerifyPaymentRes} */ -declare function VerifyPaymentRes(): VerifyPaymentRes; -type VerifyPaymentRes = { - status?: string; - data?: VerifyPaymentData; -}; -/** @returns {DefaultMerchants} */ -declare function DefaultMerchants(): DefaultMerchants; -type DefaultMerchants = { - stripe?: string; -}; -/** @returns {GlobalSettingsPayment} */ -declare function GlobalSettingsPayment(): GlobalSettingsPayment; -type GlobalSettingsPayment = { - default_merchants?: DefaultMerchants; -}; -/** @returns {GlobalSettingsData} */ -declare function GlobalSettingsData(): GlobalSettingsData; -type GlobalSettingsData = { - payment?: GlobalSettingsPayment; - freeze_panel?: boolean; - _id?: string; - created_at?: string; - modified_at?: string; -}; -/** @returns {GlobalSettings} */ -declare function GlobalSettings(): GlobalSettings; -type GlobalSettings = { - status?: string; - data?: GlobalSettingsData; -}; -/** @returns {MethodChecks} */ -declare function MethodChecks(): MethodChecks; -type MethodChecks = { - address_line1_check?: string; - address_postal_code_check?: string; - cvc_check?: string; -}; -/** @returns {MethodNetworks} */ -declare function MethodNetworks(): MethodNetworks; -type MethodNetworks = { - available?: string[]; - preferred?: string; -}; -/** @returns {MethodSecureUsage} */ -declare function MethodSecureUsage(): MethodSecureUsage; -type MethodSecureUsage = { - supported?: boolean; -}; -/** @returns {MethodDetails} */ -declare function MethodDetails(): MethodDetails; -type MethodDetails = { - id?: string; - type?: string; - mandate_available?: boolean; - mandate_amount?: number; - pg_payment_method_id?: string; - is_default?: boolean; - data?: SubscriptionMethodData; -}; -/** @returns {SubscriptionMethodData} */ -declare function SubscriptionMethodData(): SubscriptionMethodData; -type SubscriptionMethodData = { - brand?: string; - checks?: MethodChecks; - country?: string; - exp_month?: number; - exp_year?: number; - fingerprint?: string; - funding?: string; - generated_from?: string; - last4?: string; - networks?: MethodNetworks; - three_d_secure_usage?: MethodSecureUsage; - wallet?: string; - name?: string; - is_default?: boolean; -}; -/** @returns {SubscriptionMethods} */ -declare function SubscriptionMethods(): SubscriptionMethods; -type SubscriptionMethods = { - success?: boolean; - data?: MethodDetails[]; -}; -/** @returns {ConfigPublicKey} */ -declare function ConfigPublicKey(): ConfigPublicKey; -type ConfigPublicKey = { - public_key?: string; -}; -/** @returns {ConfigRes} */ -declare function ConfigRes(): ConfigRes; -type ConfigRes = { - success?: boolean; - aggregator?: string; - config?: ConfigPublicKey; -}; -/** @returns {PlanChangeData} */ -declare function PlanChangeData(): PlanChangeData; -type PlanChangeData = { - total?: number; - credit_note_amount?: number; - settlement?: number; - taxable_amount?: number; - gst_amount?: number; - gross_total?: number; - gst?: number; - discount?: number; -}; -/** @returns {PlanChangeDetails} */ -declare function PlanChangeDetails(): PlanChangeDetails; -type PlanChangeDetails = { - status?: string; - data?: PlanChangeData; -}; -/** @returns {TransactionMeta} */ -declare function TransactionMeta(): TransactionMeta; -type TransactionMeta = { - invoice_id?: string; -}; -/** @returns {PaymentTransactionDetails} */ -declare function PaymentTransactionDetails(): PaymentTransactionDetails; -type PaymentTransactionDetails = { - aggregator?: any; - currency?: string; - current_status?: string; - _id?: string; + /** + * - Unique identifier of the + * subscriber/company who installed extension subscription. + */ subscriber_id?: string; - amount?: number; - entity_type?: string; - collection_type?: string; - meta?: TransactionMeta; - created_at?: string; - modified_at?: string; -}; -/** @returns {PaymentItems} */ -declare function PaymentItems(): PaymentItems; -type PaymentItems = { - name?: string; - code?: string; - aggregator?: string; -}; -/** @returns {GetPaymentOptions} */ -declare function GetPaymentOptions(): GetPaymentOptions; -type GetPaymentOptions = { - payment_options?: PaymentItems[]; -}; -/** @returns {TopupReq} */ -declare function TopupReq(): TopupReq; -type TopupReq = { - amount?: number; - currency?: string; - provider_type?: string; -}; -/** @returns {SetupMandateReq} */ -declare function SetupMandateReq(): SetupMandateReq; -type SetupMandateReq = { - intent_id?: string; - payment_method_id?: string; -}; -/** @returns {SetupPaymentReq} */ -declare function SetupPaymentReq(): SetupPaymentReq; -type SetupPaymentReq = { - payment_method?: string; - payment_id?: string; - plan_id?: string; - invoice_id?: string; -}; -/** @returns {SubscriptionRenewReq} */ -declare function SubscriptionRenewReq(): SubscriptionRenewReq; -type SubscriptionRenewReq = { - invoice_id?: string; + /** + * - The type of entity associated with the + * charge (e.g., 'extension', 'subscription'). + */ entity_type?: string; - collection_type?: string; - callback_url?: string; - meta?: RenewMeta; -}; -/** @returns {RenewMeta} */ -declare function RenewMeta(): RenewMeta; -type RenewMeta = { - invoice_payment?: boolean; - renew?: boolean; -}; -/** @returns {SubscriptionMethodsReq} */ -declare function SubscriptionMethodsReq(): SubscriptionMethodsReq; -type SubscriptionMethodsReq = { - unique_external_id?: string; - setup_intent_id?: string; - pg_payment_method_id?: string; - set_default?: boolean; -}; -/** @returns {CreditTransactionResponse} */ -declare function CreditTransactionResponse(): CreditTransactionResponse; -type CreditTransactionResponse = { /** - * - Total number of transactions + * - Unique identifier for the entity associated + * with the charge. */ - total?: number; + entity_id?: string; /** - * - Maximum number of transactions per page + * - The name of the charge. */ - limit?: number; + name?: string; /** - * - Current page number + * - Description of the charge term. */ - page?: number; + term?: string; /** - * - Total number of pages + * - The type of charge (e.g., 'standalone', + * 'recurring'). */ - pages?: number; - items?: CreditTransaction[]; -}; -/** @returns {DowngradePlanReq} */ -declare function DowngradePlanReq(): DowngradePlanReq; -type DowngradePlanReq = { - unique_id?: string; - type?: string; - product_suite?: string; - plan_id?: string; - reason?: string; - platform?: string; -}; -/** @returns {Taxation} */ -declare function Taxation(): Taxation; -type Taxation = { + charge_type?: string; /** - * - GST percentage + * - The pricing model for the charge (e.g., + * 'one_time', 'recurring'). + */ + pricing_type?: string; + price?: EntityChargePrice; + recurring?: ChargeRecurring; + /** + * - Current status of the charge. */ - gst?: number; -}; -/** @returns {OneTimeFees} */ -declare function OneTimeFees(): OneTimeFees; -type OneTimeFees = { - developement?: number; - marketing?: number; -}; -/** @returns {CreditLine} */ -declare function CreditLine(): CreditLine; -type CreditLine = { - is_active?: boolean; -}; -/** @returns {StatusMessage} */ -declare function StatusMessage(): StatusMessage; -type StatusMessage = { - status?: string; - message?: string; - success?: boolean; - code?: string; -}; -/** @returns {PaymentCollectReq} */ -declare function PaymentCollectReq(): PaymentCollectReq; -type PaymentCollectReq = { - transaction_id?: string; - credit_balance?: boolean; - payment_mode?: string; - payment_method?: string; - invoice_id?: string; -}; -/** @returns {SubscriptionRenewResMeta} */ -declare function SubscriptionRenewResMeta(): SubscriptionRenewResMeta; -type SubscriptionRenewResMeta = { - invoice_payment?: boolean; - renew?: boolean; -}; -/** @returns {SubscriptionRenewRes} */ -declare function SubscriptionRenewRes(): SubscriptionRenewRes; -type SubscriptionRenewRes = { - redirect_url?: string; - transaction_id?: string; - current_status?: string; - meta?: SubscriptionRenewResMeta; -}; -/** @returns {SetupIntentRes} */ -declare function SetupIntentRes(): SetupIntentRes; -type SetupIntentRes = { - success?: boolean; - data?: SetupIntentData; -}; -/** @returns {SetupIntentData} */ -declare function SetupIntentData(): SetupIntentData; -type SetupIntentData = { - id?: string; - client_secret?: string; - customer?: any; - status?: string; -}; -/** @returns {SetupPayment} */ -declare function SetupPayment(): SetupPayment; -type SetupPayment = { - id?: string; - status?: string; - customer?: any; - client_secret?: string; - payment_method?: string; - mandate?: string; - payment_method_options?: PaymentMethodOptions; -}; -/** @returns {PaymentMethodOptions} */ -declare function PaymentMethodOptions(): PaymentMethodOptions; -type PaymentMethodOptions = { - card?: Card; -}; -/** @returns {Card} */ -declare function Card(): Card; -type Card = { - mandate_options?: MandateOptions; -}; -/** @returns {MandateOptions} */ -declare function MandateOptions(): MandateOptions; -type MandateOptions = { - amount?: number; -}; -/** @returns {Message} */ -declare function Message(): Message; -type Message = { - message?: string; -}; -/** @returns {TopupRes} */ -declare function TopupRes(): TopupRes; -type TopupRes = { status?: string; - aggregator_order_id?: string; - amount?: number; - currency?: string; - transaction_id?: string; -}; -/** @returns {CancelTopupReq} */ -declare function CancelTopupReq(): CancelTopupReq; -type CancelTopupReq = { - order_id?: string; -}; -/** @returns {CancelTopupRes} */ -declare function CancelTopupRes(): CancelTopupRes; -type CancelTopupRes = { - _id?: string; - subscriber_id?: string; - amount?: number; - currency?: string; - aggregator?: string; - aggregator_order_id?: string; - created_at?: string; + /** + * - Maximum amount that can be charged, if applicable. + */ + capped_amount?: number; + /** + * - Date and time when the charge was activated. + */ + activated_on?: string; + /** + * - Date and time when the charge was cancelled. + */ + cancelled_on?: string; + /** + * - Date and time when the charge was billed. + */ + billing_date?: string; + current_period?: SubscriptionTrialPeriod; + /** + * - Date and time when the charge details were + * last modified. + */ modified_at?: string; + /** + * - Date and time when the charge was created. + */ + created_at?: string; + /** + * - Indicates whether the charge is for testing purposes. + */ + is_test?: boolean; + /** + * - Company id. + */ + company_id?: string; + /** + * - Additional metadata associated with the charge. + */ + meta?: any; + /** + * - Internal version key for the charge record. + */ __v?: number; - aggregator_status?: string; - current_status?: string; -}; -/** @returns {DefaultReq} */ -declare function DefaultReq(): DefaultReq; -type DefaultReq = { - payment_method_id?: string; }; diff --git a/sdk/platform/Billing/BillingPlatformModel.js b/sdk/platform/Billing/BillingPlatformModel.js index a9375741c..825caad5c 100644 --- a/sdk/platform/Billing/BillingPlatformModel.js +++ b/sdk/platform/Billing/BillingPlatformModel.js @@ -1,155 +1,52 @@ const Joi = require("joi"); -/** - * @typedef CompanyInfo - * @property {string} [company_name] - * @property {string} [gstin] - * @property {string} [address] - * @property {AddressDetails} [address_details] - * @property {string} [pan] - * @property {string} [phone] - * @property {string} [email] - * @property {string} [cin] - */ - -/** - * @typedef AddressDetails - * @property {string} [address_line_1] - * @property {string} [address_line_2] - * @property {string} [city] - * @property {string} [pincode] - * @property {string} [state] - * @property {string} [country] - */ - -/** - * @typedef InvoiceData - * @property {InvoiceDetailsData} [invoice] - * @property {InvoiceItems[]} [invoice_items] - * @property {CompanyInfo} [shopsense_details] - */ - -/** - * @typedef InvoiceDetailsData - * @property {number} [attemp] - * @property {Object} [documents] - * @property {Object} [payment] - * @property {Period} [period] - * @property {Client} [client] - * @property {Object} [discount] - * @property {Object} [taxation] - * @property {string} [_id] - * @property {boolean} [auto_advance] - * @property {string} [collection_method] - * @property {string} [subscriber_id] - * @property {string} [currency] - * @property {string} [invoice_url] - * @property {string} [number] - * @property {boolean} [paid] - * @property {Object} [pg_data] - * @property {string} [receipt_number] - * @property {string} [statement_descriptor] - * @property {string} [current_status] - * @property {StatusTrail[]} [status_trail] - * @property {number} [subtotal] - * @property {number} [total] - * @property {number} [old_settlement] - * @property {number} [credit_balance] - * @property {string} [subscription] - * @property {number} [attempt] - * @property {string} [next_action_time] - * @property {number} [credit_note_amount] - * @property {string} [created_at] - * @property {string} [modified_at] - */ - -/** - * @typedef Client - * @property {string} [name] - * @property {string} [email] - * @property {string} [phone] - * @property {string[]} [address_lines] - */ - -/** - * @typedef Period - * @property {string} [start] - * @property {string} [end] - */ - -/** - * @typedef StatusTrail - * @property {string} [value] - * @property {string} [timestamp] - * @property {string} [_id] - */ - -/** - * @typedef PaymentCollectRes - * @property {string} [transaction_id] - * @property {string} [current_status] - */ - /** * @typedef SubscriptionChargeRes - * @property {string} [_id] - * @property {string} [product_suit_id] - * @property {string} [entity_id] - * @property {string} [entity_type] - * @property {string} [name] - * @property {string} [status] - * @property {number} [trial_days] - * @property {string} [activated_on] - * @property {string} [cancelled_on] - * @property {boolean} [is_test] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {string} [company_id] - * @property {Object[]} [line_items] - */ - -/** - * @typedef PostDowngradeRes - * @property {boolean} [success] - * @property {DowngradeRes} [data] - */ - -/** - * @typedef DowngradeRes - * @property {string} [_id] - * @property {string} [status] - * @property {string} [subscriber_id] - * @property {boolean} [activated] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {string} [plan_id] - * @property {string} [reason] - * @property {string} [request_user_id] - * @property {string} [subscription_id] + * @property {string} [_id] - Unique identifier for the subscription charge + * @property {string} [product_suit_id] - ID of the product suit associated with + * the charge + * @property {string} [entity_id] - Unique identifier for the entity + * @property {string} [entity_type] - Type of entity (e.g., subscription, extension) + * @property {string} [name] - Name of the subscription charge + * @property {string} [status] - Current status of the subscription charge + * @property {number} [trial_days] - Number of trial days provided + * @property {string} [activated_on] - Date when the charge was activated + * @property {string} [cancelled_on] - Date when the charge was cancelled + * @property {boolean} [is_test] - Indicates if the charge is for testing purposes + * @property {string} [created_at] - Timestamp when the charge was created + * @property {string} [modified_at] - Timestamp when the charge was last modified + * @property {string} [company_id] - Company id + * @property {Object[]} [line_items] - List of line items associated with the charge */ /** - * @typedef PaymentStatusData - * @property {string} [_id] - * @property {string} [journey] - * @property {Object[]} [webhook_response] - * @property {string} [aggregator_status] - * @property {string} [current_status] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {number} [__v] - * @property {string} [aggregator_order_id] - */ - -/** - * @typedef PaymentStatusResponse - * @property {string} [status] - * @property {PaymentStatusData} [data] - */ - -/** - * @typedef BadRequest - * @property {string} [message] - Failure message. + * @typedef ChargeDetails + * @property {string} [_id] - Unique identifier for the charge. + * @property {string} [entity_type] - The type of entity associated with the + * charge (e.g., 'extension', 'subscription'). + * @property {string} [entity_id] - Unique identifier for the entity associated + * with the charge. + * @property {string} [name] - The name of the charge. + * @property {string} [term] - Description of the charge term. + * @property {string} [charge_type] - The type of charge (e.g., 'standalone', + * 'recurring'). + * @property {string} [pricing_type] - The pricing model for the charge (e.g., + * 'one_time', 'recurring'). + * @property {EntityChargePrice} [price] + * @property {ChargeRecurring} [recurring] + * @property {string} [status] - Current status of the charge. + * @property {number} [capped_amount] - Maximum amount that can be charged, if applicable. + * @property {string} [activated_on] - Date and time when the charge was activated. + * @property {string} [cancelled_on] - Date and time when the charge was cancelled. + * @property {string} [billing_date] - Date and time when the charge was billed. + * @property {SubscriptionTrialPeriod} [current_period] + * @property {string} [modified_at] - Date and time when the charge details were + * last modified. + * @property {string} [created_at] - Date and time when the charge was created. + * @property {boolean} [is_test] - Indicates whether the charge is for testing purposes. + * @property {string} [company_id] - Company id. + * @property {Object} [meta] - Additional metadata associated with the charge. + * @property {number} [__v] - Internal version key for the charge record. */ /** @@ -159,2377 +56,428 @@ const Joi = require("joi"); * @property {Object} [success] */ -/** - * @typedef InternalServerError - * @property {string} [message] - Internal server Server error - * @property {string} [code] - Error code - */ - -/** - * @typedef CheckValidityResponse - * @property {boolean} [is_valid] - * @property {number} [discount_amount] - */ - -/** - * @typedef PlanRecurring - * @property {string} [interval] - * @property {number} [interval_count] - */ - -/** - * @typedef PlanMeta - * @property {string} [seller_status] - * @property {string} [company] - * @property {string} [plan_platform_display_name] - */ - -/** - * @typedef Plan - * @property {Object[]} [fee_components] - * @property {PlanRecurring} [recurring] - * @property {boolean} [is_trial_plan] - * @property {string} [plan_group] - * @property {string[]} [tag_lines] - * @property {string} [currency] - * @property {boolean} [is_active] - * @property {boolean} [is_visible] - * @property {number} [trial_period] - * @property {string[]} [addons] - * @property {string[]} [tags] - * @property {string} [type] - * @property {string} [country] - * @property {string} [_id] - * @property {string} [name] - * @property {string} [description] - * @property {number} [amount] - * @property {string} [product_suite_id] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {Taxation} [taxation] - * @property {OneTimeFees} [one_time_fees] - * @property {CreditLine} [credit_line] - * @property {string} [current_status] - * @property {string} [channel_type] - * @property {Object[]} [company_ids] - * @property {string} [platform] - * @property {string} [activated_on] - * @property {PlanMeta} [meta] - * @property {string} [created_by] - */ - -/** - * @typedef SubscriptionTrialPeriod - * @property {string} [start_date] - * @property {string} [end_date] - */ - -/** - * @typedef EntityChargePrice - * @property {number} [amount] - Amount for price. Minimum value 1 - * @property {string} [currency_code] - */ - -/** - * @typedef OneTimeChargeItem - * @property {string} [name] - * @property {string} [term] - * @property {string} [pricing_type] - * @property {EntityChargePrice} [price] - * @property {number} [capped_amount] - * @property {boolean} [is_test] - * @property {Object} [metadata] - */ - /** * @typedef CreateOneTimeCharge - * @property {string} [name] + * @property {string} [name] - The name of the one-time charge to be created. * @property {OneTimeChargeItem} [charge] - * @property {boolean} [is_test] - * @property {string} [return_url] - */ - -/** - * @typedef ChargeRecurring - * @property {string} [interval] - * @property {number} [interval_time] - */ - -/** - * @typedef ChargeDetails - * @property {string} [_id] - * @property {string} [entity_type] - * @property {string} [entity_id] - * @property {string} [name] - * @property {string} [term] - * @property {string} [charge_type] - * @property {string} [pricing_type] - * @property {EntityChargePrice} [price] - * @property {ChargeRecurring} [recurring] - * @property {string} [status] - * @property {number} [capped_amount] - * @property {string} [activated_on] - * @property {string} [cancelled_on] - * @property {string} [billing_date] - * @property {SubscriptionTrialPeriod} [current_period] - * @property {string} [modified_at] - * @property {string} [created_at] - * @property {boolean} [is_test] - * @property {string} [company_id] - * @property {Object} [meta] - * @property {number} [__v] - */ - -/** - * @typedef OneTimeChargeEntity - * @property {string} [term] - * @property {string} [charge_type] - * @property {number} [capped_amount] - * @property {string} [billing_date] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {number} [__v] - * @property {string} [_id] - * @property {string} [name] - * @property {string} [status] - * @property {string} [activated_on] - * @property {string} [cancelled_on] - * @property {Object} [metadata] - * @property {string} [return_url] - * @property {boolean} [is_test] - * @property {string} [pricing_type] - * @property {string} [subscriber_id] - * @property {string} [entity_type] - * @property {string} [entity_id] - * @property {Object} [meta] - * @property {EntityChargePrice} [price] + * @property {boolean} [is_test] - Indicates whether the charge creation is for + * testing purposes. + * @property {string} [return_url] - URL to which the user will be redirected + * after creating the charge. */ /** * @typedef CreateOneTimeChargeResponse * @property {Charge} [charge] - * @property {string} [confirm_url] - */ - -/** - * @typedef Charge - * @property {OneTimeChargeEntity} [final_charge] - */ - -/** - * @typedef InvoiceDetailsStatusTrail - * @property {string} [_id] - * @property {string} [value] - * @property {string} [timestamp] - */ - -/** - * @typedef InvoiceItemsPlanRecurring - * @property {string} [interval] - * @property {number} [interval_count] - */ - -/** - * @typedef InvoiceItemsPlan - * @property {InvoiceItemsPlanRecurring} [recurring] - * @property {boolean} [is_trial_plan] - * @property {string} [plan_group] - * @property {string[]} [tag_lines] - * @property {string} [currency] - * @property {boolean} [is_active] - * @property {boolean} [is_visible] - * @property {number} [trial_period] - * @property {string[]} [addons] - * @property {string[]} [tags] - * @property {string} [type] - * @property {string} [country] - * @property {string} [_id] - * @property {string} [name] - * @property {string} [description] - * @property {number} [amount] - * @property {string} [product_suite_id] - * @property {string} [created_at] - * @property {string} [modified_at] - */ - -/** - * @typedef InvoiceItemsPeriod - * @property {string} [start] - * @property {string} [end] - */ - -/** - * @typedef InvoiceItems - * @property {string} [_id] - * @property {string} [currency] - * @property {InvoiceItemsPlan} [plan] - * @property {string} [name] - * @property {number} [quantity] - * @property {string} [description] - * @property {InvoiceItemsPeriod} [period] - * @property {number} [unit_amount] - * @property {number} [amount] - * @property {string} [type] - * @property {string} [invoice_id] - * @property {string} [created_at] - * @property {string} [modified_at] - */ - -/** - * @typedef InvoicesDataClient - * @property {string} [name] - * @property {string} [email] - * @property {string} [phone] - * @property {string[]} [address_lines] - */ - -/** - * @typedef InvoicesDataPeriod - * @property {string} [start] - * @property {string} [end] - */ - -/** - * @typedef InvoicesDataPaymentMethod - * @property {string} [pg_payment_method_id] - */ - -/** - * @typedef InvoicesData - * @property {string} [_id] - * @property {Object} [documents] - * @property {Object} [payment] - * @property {number} [old_settlement] - * @property {number} [credit_balance] - * @property {Object} [discount] - * @property {Object} [taxation] - * @property {number} [credit_note_amount] - * @property {InvoicesDataClient} [client] - * @property {boolean} [auto_advance] - * @property {string} [currency] - * @property {boolean} [paid] - * @property {number} [attemp] - * @property {string} [collection_method] - * @property {string} [subscriber_id] - * @property {string} [invoice_url] - * @property {string} [number] - * @property {Object} [pg_data] - * @property {InvoicesDataPeriod} [period] - * @property {string} [receipt_number] - * @property {string} [statement_descriptor] - * @property {string} [current_status] - * @property {InvoiceDetailsStatusTrail[]} [status_trail] - * @property {number} [subtotal] - * @property {number} [total] - * @property {string} [subscription] - * @property {string} [next_action_time] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {string} [hash_identifier] - * @property {InvoicesDataPaymentMethod} [payment_method] - * @property {InvoiceItems[]} [invoice_items] - */ - -/** - * @typedef Invoices - * @property {InvoicesData[]} [data] - * @property {number} [start] - * @property {number} [end] - * @property {number} [limit] - * @property {number} [page] - * @property {number} [total] - */ - -/** - * @typedef Phone - * @property {string} [phone_number] - * @property {string} [phone_country_code] - */ - -/** - * @typedef SubscriptionBillingAddress - * @property {string} [country] - * @property {string} [state] - * @property {string} [city] - * @property {string} [line1] - * @property {string} [line2] - * @property {string} [postal_code] - */ - -/** - * @typedef SubscriptionCustomer - * @property {Phone} [phone] - * @property {SubscriptionBillingAddress} [billing_address] - * @property {string} [_id] - * @property {string} [unique_id] - * @property {string} [type] - * @property {string} [name] - * @property {string} [email] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {Object} [data] - * @property {Object} [documents] - * @property {boolean} [consent] - * @property {boolean} [comms] - * @property {number} [credit_balance] - * @property {BusinessCountryInfo} [business_country_info] - */ - -/** - * @typedef SubscriptionCustomerCreate - * @property {Phone} [phone] - * @property {SubscriptionBillingAddress} [billing_address] - * @property {string} [unique_id] - * @property {string} [type] - * @property {string} [name] - * @property {string} [email] - */ - -/** - * @typedef SubscriptionCurrentPeriod - * @property {string} [start] - * @property {string} [end] - */ - -/** - * @typedef SubscriptionPauseCollection - * @property {string} [behavior] - * @property {string} [resume_at] - */ - -/** - * @typedef SubscriptionTrial - * @property {string} [start] - * @property {string} [end] - */ - -/** - * @typedef SubscriptionInvoiceSettings - * @property {boolean} [generation] - * @property {boolean} [charging] - */ - -/** - * @typedef Subscription - * @property {Object} [meta] - * @property {SubscriptionCurrentPeriod} [current_period] - * @property {SubscriptionPauseCollection} [pause_collection] - * @property {SubscriptionTrial} [trial] - * @property {SubscriptionInvoiceSettings} [invoice_settings] - * @property {boolean} [is_active] - * @property {boolean} [cancel_at_period_end] - * @property {string} [_id] - * @property {string} [subscriber_id] - * @property {string} [plan_id] - * @property {string} [product_suite_id] - * @property {Plan} [plan_data] - * @property {string} [current_status] - * @property {string} [collection_method] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {string} [latest_invoice] - * @property {string} [channel_type] - * @property {boolean} [freezed] - * @property {string} [cancel_at] - * @property {string} [canceled_at] - */ - -/** - * @typedef SubscriptionStatus - * @property {boolean} [is_enabled] - * @property {Subscription} [subscription] - * @property {InvoicesData} [latest_invoice] - * @property {Plan} [next_plan] - * @property {Subscription[]} [current_subscriptions] - * @property {number} [mandate_amount] - * @property {string} [message] - */ - -/** - * @typedef SubscriptionLimitApplication - * @property {boolean} [enabled] - * @property {number} [hard_limit] - * @property {number} [soft_limit] - */ - -/** - * @typedef SubscriptionLimitMarketplace - * @property {boolean} [enabled] - */ - -/** - * @typedef SubscriptionLimitOtherPlatform - * @property {boolean} [enabled] - */ - -/** - * @typedef SubscriptionLimitTeam - * @property {number} [limit] - */ - -/** - * @typedef SubscriptionLimitProducts - * @property {boolean} [bulk] - * @property {number} [limit] - */ - -/** - * @typedef SubscriptionLimitExtensions - * @property {boolean} [enabled] - * @property {number} [limit] - */ - -/** - * @typedef SubscriptionLimitIntegrations - * @property {boolean} [enabled] - * @property {number} [limit] - */ - -/** - * @typedef SubscriptionLimit - * @property {SubscriptionLimitApplication} [application] - * @property {SubscriptionLimitMarketplace} [marketplace] - * @property {SubscriptionLimitOtherPlatform} [other_platform] - * @property {SubscriptionLimitTeam} [team] - * @property {SubscriptionLimitProducts} [products] - * @property {SubscriptionLimitExtensions} [extensions] - * @property {SubscriptionLimitIntegrations} [integrations] - * @property {boolean} [is_trial_plan] - */ - -/** - * @typedef IntentReq - * @property {string} [unique_external_id] - * @property {string} [plan_id] - */ - -/** - * @typedef PutIntentReq - * @property {string} [unique_external_id] - * @property {string} [setup_intent_id] - * @property {string} [payment_method_id] - * @property {boolean} [set_default] - */ - -/** - * @typedef SubscriptionActivateReq - * @property {string} [unique_id] - * @property {string} [type] - * @property {string} [product_suite] - * @property {string} [plan_id] - * @property {string} [payment_method] - * @property {string} [subscription_id] - * @property {string} [coupon] - * @property {Object} [meta] - */ - -/** - * @typedef SubscriptionActivateRes - * @property {boolean} [success] - * @property {Subscription} [data] - */ - -/** - * @typedef CancelSubscriptionReq - * @property {string} [unique_id] - * @property {string} [type] - * @property {string} [product_suite] - * @property {string} [subscription_id] - */ - -/** - * @typedef CancelSubscriptionRes - * @property {boolean} [success] - * @property {Subscription} [data] - */ - -/** - * @typedef PlanStatusUpdateReq - * @property {string} [plan_id] - * @property {string} [reason] - * @property {string} [seller_status] - */ - -/** - * @typedef SunscribePlan - * @property {string} [entity_type] - * @property {string} [collection_type] - * @property {string} [plan_id] - * @property {string} [callback_url] - * @property {Meta} [meta] - */ - -/** - * @typedef Meta - * @property {boolean} [subscribe] - * @property {boolean} [is_custom_plan] - * @property {boolean} [is_plan_upgrade] - */ - -/** - * @typedef SubscribePlanRes - * @property {string} [redirect_url] - * @property {string} [transaction_id] - * @property {string} [current_status] - * @property {Meta} [meta] - */ - -/** - * @typedef EntityDetail - * @property {string} [entity] - * @property {Subscription} [item] - */ - -/** - * @typedef PaymentOptions - * @property {string} [_id] - * @property {string} [name] - * @property {string} [description] - * @property {string} [logo] - * @property {string} [aggregator_id] - * @property {string} [aggregator] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {number} [__v] - */ - -/** - * @typedef VerifyPaymentReq - * @property {string} [razorpay_payment_id] - * @property {string} [razorpay_order_id] - * @property {string} [razorpay_signature] - * @property {number} [status_code] - * @property {string} [provider_type] - */ - -/** - * @typedef Documents - * @property {string} [pan] - * @property {string} [gst] - */ - -/** - * @typedef BillingAddress - * @property {string} [country] - * @property {string} [state] - * @property {string} [city] - * @property {string} [line1] - * @property {string} [line2] - * @property {string} [postal_code] - * @property {string} [country_code] - */ - -/** - * @typedef Currency - * @property {string} [code] - * @property {string} [symbol] - * @property {string} [name] - */ - -/** - * @typedef BusinessCountryInfo - * @property {string} [country] - * @property {string} [country_code] - * @property {Currency} [currency] - * @property {string} [timezone] - */ - -/** - * @typedef SubscriberData - * @property {boolean} [pg_user_exists] - * @property {Object} [id] - * @property {string} [pg_customer_id] - * @property {string} [default_payment_method] - */ - -/** - * @typedef Subscriber - * @property {Documents} [documents] - * @property {Object} [phone] - * @property {BillingAddress} [billing_address] - * @property {boolean} [consent] - * @property {boolean} [comms] - * @property {string} [_id] - * @property {string} [type] - * @property {string} [unique_id] - * @property {string} [name] - * @property {string} [email] - * @property {BusinessCountryInfo} [business_country_info] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {number} [credit_balance] - * @property {SubscriberData} [data] - */ - -/** - * @typedef Author - * @property {Object} [modified_by_details] + * @property {string} [confirm_url] - URL to which users are redirected to + * confirm or complete the payment or subscription process. */ /** - * @typedef EndingBalance - * @property {number} [amount] - * @property {string} [old_entry_ref] + * @typedef BadRequest + * @property {string} [message] - Failure message. */ /** - * @typedef PaymentData - * @property {string} [transaction_id] - * @property {string} [aggregator] - * @property {string} [aggregator_order_id] + * @typedef CreateSubscriptionCharge + * @property {string} name - The name of the charge. + * @property {number} [trial_days] + * @property {ChargeLineItem[]} line_items + * @property {boolean} [is_test] - Indicates whether the charge is for testing purposes. + * @property {string} return_url - The URL passed in request which extension + * expects in return. */ /** - * @typedef CreditTransaction - * @property {Object} [entity] - * @property {Author} [author] - * @property {string} [_id] - * @property {number} [amount] - * @property {string} [currency] - * @property {string} [subscriber_id] - * @property {string} [description] - * @property {Object} [is_test] - * @property {EndingBalance} [ending_balance] - * @property {PaymentData} [payment] - * @property {string} [type] - * @property {string} [created_at] - * @property {string} [modified_at] + * @typedef CreateSubscriptionResponse + * @property {EntitySubscription} [subscription] + * @property {string} [confirm_url] - URL to which users are redirected to + * confirm or complete the payment or subscription process. */ /** - * @typedef VerifyPaymentData - * @property {boolean} [success] - * @property {Subscriber} [subscriber] - * @property {CreditTransaction} [credit_transaction] + * @typedef EntityChargePrice + * @property {number} [amount] - The amount for the price. The minimum value is 1. + * @property {string} [currency_code] - The currency code for the price */ -/** - * @typedef VerifyPaymentRes - * @property {string} [status] - * @property {VerifyPaymentData} [data] - */ - -/** - * @typedef DefaultMerchants - * @property {string} [stripe] - */ - -/** - * @typedef GlobalSettingsPayment - * @property {DefaultMerchants} [default_merchants] - */ - -/** - * @typedef GlobalSettingsData - * @property {GlobalSettingsPayment} [payment] - * @property {boolean} [freeze_panel] - * @property {string} [_id] - * @property {string} [created_at] - * @property {string} [modified_at] - */ - -/** - * @typedef GlobalSettings - * @property {string} [status] - * @property {GlobalSettingsData} [data] - */ - -/** - * @typedef MethodChecks - * @property {string} [address_line1_check] - * @property {string} [address_postal_code_check] - * @property {string} [cvc_check] - */ - -/** - * @typedef MethodNetworks - * @property {string[]} [available] - * @property {string} [preferred] - */ - -/** - * @typedef MethodSecureUsage - * @property {boolean} [supported] - */ - -/** - * @typedef MethodDetails - * @property {string} [id] - * @property {string} [type] - * @property {boolean} [mandate_available] - * @property {number} [mandate_amount] - * @property {string} [pg_payment_method_id] - * @property {boolean} [is_default] - * @property {SubscriptionMethodData} [data] - */ - -/** - * @typedef SubscriptionMethodData - * @property {string} [brand] - * @property {MethodChecks} [checks] - * @property {string} [country] - * @property {number} [exp_month] - * @property {number} [exp_year] - * @property {string} [fingerprint] - * @property {string} [funding] - * @property {string} [generated_from] - * @property {string} [last4] - * @property {MethodNetworks} [networks] - * @property {MethodSecureUsage} [three_d_secure_usage] - * @property {string} [wallet] - * @property {string} [name] - * @property {boolean} [is_default] - */ - -/** - * @typedef SubscriptionMethods - * @property {boolean} [success] - * @property {MethodDetails[]} [data] - */ - -/** - * @typedef ConfigPublicKey - * @property {string} [public_key] - */ - -/** - * @typedef ConfigRes - * @property {boolean} [success] - * @property {string} [aggregator] - * @property {ConfigPublicKey} [config] - */ - -/** - * @typedef PlanChangeData - * @property {number} [total] - * @property {number} [credit_note_amount] - * @property {number} [settlement] - * @property {number} [taxable_amount] - * @property {number} [gst_amount] - * @property {number} [gross_total] - * @property {number} [gst] - * @property {number} [discount] - */ - -/** - * @typedef PlanChangeDetails - * @property {string} [status] - * @property {PlanChangeData} [data] - */ - -/** - * @typedef TransactionMeta - * @property {string} [invoice_id] - */ - -/** - * @typedef PaymentTransactionDetails - * @property {Object} [aggregator] - * @property {string} [currency] - * @property {string} [current_status] - * @property {string} [_id] - * @property {string} [subscriber_id] - * @property {number} [amount] - * @property {string} [entity_type] - * @property {string} [collection_type] - * @property {TransactionMeta} [meta] - * @property {string} [created_at] - * @property {string} [modified_at] - */ - -/** - * @typedef PaymentItems - * @property {string} [name] - * @property {string} [code] - * @property {string} [aggregator] - */ - -/** - * @typedef GetPaymentOptions - * @property {PaymentItems[]} [payment_options] - */ - -/** - * @typedef TopupReq - * @property {number} [amount] - * @property {string} [currency] - * @property {string} [provider_type] - */ - -/** - * @typedef SetupMandateReq - * @property {string} [intent_id] - * @property {string} [payment_method_id] - */ - -/** - * @typedef SetupPaymentReq - * @property {string} [payment_method] - * @property {string} [payment_id] - * @property {string} [plan_id] - * @property {string} [invoice_id] - */ - -/** - * @typedef SubscriptionRenewReq - * @property {string} [invoice_id] - * @property {string} [entity_type] - * @property {string} [collection_type] - * @property {string} [callback_url] - * @property {RenewMeta} [meta] - */ - -/** - * @typedef RenewMeta - * @property {boolean} [invoice_payment] - * @property {boolean} [renew] - */ - -/** - * @typedef SubscriptionMethodsReq - * @property {string} [unique_external_id] - * @property {string} [setup_intent_id] - * @property {string} [pg_payment_method_id] - * @property {boolean} [set_default] - */ - -/** - * @typedef CreditTransactionResponse - * @property {number} [total] - Total number of transactions - * @property {number} [limit] - Maximum number of transactions per page - * @property {number} [page] - Current page number - * @property {number} [pages] - Total number of pages - * @property {CreditTransaction[]} [items] - */ - -/** - * @typedef DowngradePlanReq - * @property {string} [unique_id] - * @property {string} [type] - * @property {string} [product_suite] - * @property {string} [plan_id] - * @property {string} [reason] - * @property {string} [platform] - */ - -/** - * @typedef Taxation - * @property {number} [gst] - GST percentage - */ - -/** - * @typedef OneTimeFees - * @property {number} [developement] - * @property {number} [marketing] - */ - -/** - * @typedef CreditLine - * @property {boolean} [is_active] - */ - -/** - * @typedef StatusMessage - * @property {string} [status] - * @property {string} [message] - * @property {boolean} [success] - * @property {string} [code] - */ - -/** - * @typedef PaymentCollectReq - * @property {string} [transaction_id] - * @property {boolean} [credit_balance] - * @property {string} [payment_mode] - * @property {string} [payment_method] - * @property {string} [invoice_id] - */ - -/** - * @typedef SubscriptionRenewResMeta - * @property {boolean} [invoice_payment] - * @property {boolean} [renew] - */ - -/** - * @typedef SubscriptionRenewRes - * @property {string} [redirect_url] - * @property {string} [transaction_id] - * @property {string} [current_status] - * @property {SubscriptionRenewResMeta} [meta] - */ - -/** - * @typedef SetupIntentRes - * @property {boolean} [success] - * @property {SetupIntentData} [data] - */ - -/** - * @typedef SetupIntentData - * @property {string} [id] - * @property {string} [client_secret] - * @property {Object} [customer] - * @property {string} [status] - */ - -/** - * @typedef SetupPayment - * @property {string} [id] - * @property {string} [status] - * @property {Object} [customer] - * @property {string} [client_secret] - * @property {string} [payment_method] - * @property {string} [mandate] - * @property {PaymentMethodOptions} [payment_method_options] - */ - -/** - * @typedef PaymentMethodOptions - * @property {Card} [card] - */ - -/** - * @typedef Card - * @property {MandateOptions} [mandate_options] - */ - -/** - * @typedef MandateOptions - * @property {number} [amount] - */ - -/** - * @typedef Message - * @property {string} [message] - */ - -/** - * @typedef TopupRes - * @property {string} [status] - * @property {string} [aggregator_order_id] - * @property {number} [amount] - * @property {string} [currency] - * @property {string} [transaction_id] - */ - -/** - * @typedef CancelTopupReq - * @property {string} [order_id] - */ - -/** - * @typedef CancelTopupRes - * @property {string} [_id] - * @property {string} [subscriber_id] - * @property {number} [amount] - * @property {string} [currency] - * @property {string} [aggregator] - * @property {string} [aggregator_order_id] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {number} [__v] - * @property {string} [aggregator_status] - * @property {string} [current_status] - */ - -/** - * @typedef DefaultReq - * @property {string} [payment_method_id] - */ - -class BillingPlatformModel { - /** @returns {CompanyInfo} */ - static CompanyInfo() { - return Joi.object({ - company_name: Joi.string().allow(""), - gstin: Joi.string().allow(""), - address: Joi.string().allow(""), - address_details: BillingPlatformModel.AddressDetails(), - pan: Joi.string().allow(""), - phone: Joi.string().allow(""), - email: Joi.string().allow(""), - cin: Joi.string().allow(""), - }); - } - - /** @returns {AddressDetails} */ - static AddressDetails() { - return Joi.object({ - address_line_1: Joi.string().allow(""), - address_line_2: Joi.string().allow(""), - city: Joi.string().allow(""), - pincode: Joi.string().allow(""), - state: Joi.string().allow(""), - country: Joi.string().allow(""), - }); - } - - /** @returns {InvoiceData} */ - static InvoiceData() { - return Joi.object({ - invoice: BillingPlatformModel.InvoiceDetailsData(), - invoice_items: Joi.array().items(BillingPlatformModel.InvoiceItems()), - shopsense_details: BillingPlatformModel.CompanyInfo(), - }); - } - - /** @returns {InvoiceDetailsData} */ - static InvoiceDetailsData() { - return Joi.object({ - attemp: Joi.number().allow(null), - documents: Joi.any(), - payment: Joi.any(), - period: BillingPlatformModel.Period(), - client: BillingPlatformModel.Client(), - discount: Joi.any(), - taxation: Joi.any(), - _id: Joi.string().allow(""), - auto_advance: Joi.boolean(), - collection_method: Joi.string().allow(""), - subscriber_id: Joi.string().allow(""), - currency: Joi.string().allow(""), - invoice_url: Joi.string().allow(""), - number: Joi.string().allow(""), - paid: Joi.boolean(), - pg_data: Joi.any(), - receipt_number: Joi.string().allow(""), - statement_descriptor: Joi.string().allow(""), - current_status: Joi.string().allow(""), - status_trail: Joi.array().items(BillingPlatformModel.StatusTrail()), - subtotal: Joi.number(), - total: Joi.number(), - old_settlement: Joi.number().allow(null), - credit_balance: Joi.number().allow(null), - subscription: Joi.string().allow(""), - attempt: Joi.number(), - next_action_time: Joi.string().allow(""), - credit_note_amount: Joi.number(), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - }); - } - - /** @returns {Client} */ - static Client() { - return Joi.object({ - name: Joi.string().allow(""), - email: Joi.string().allow(""), - phone: Joi.string().allow(""), - address_lines: Joi.array().items(Joi.string().allow("")), - }); - } - - /** @returns {Period} */ - static Period() { - return Joi.object({ - start: Joi.string().allow(""), - end: Joi.string().allow(""), - }); - } - - /** @returns {StatusTrail} */ - static StatusTrail() { - return Joi.object({ - value: Joi.string().allow(""), - timestamp: Joi.string().allow(""), - _id: Joi.string().allow(""), - }); - } - - /** @returns {PaymentCollectRes} */ - static PaymentCollectRes() { - return Joi.object({ - transaction_id: Joi.string().allow(""), - current_status: Joi.string().allow(""), - }); - } - - /** @returns {SubscriptionChargeRes} */ - static SubscriptionChargeRes() { - return Joi.object({ - _id: Joi.string().allow(""), - product_suit_id: Joi.string().allow(""), - entity_id: Joi.string().allow(""), - entity_type: Joi.string().allow(""), - name: Joi.string().allow(""), - status: Joi.string().allow(""), - trial_days: Joi.number(), - activated_on: Joi.string().allow(""), - cancelled_on: Joi.string().allow(""), - is_test: Joi.boolean(), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - company_id: Joi.string().allow(""), - line_items: Joi.array().items(Joi.any()), - }); - } - - /** @returns {PostDowngradeRes} */ - static PostDowngradeRes() { - return Joi.object({ - success: Joi.boolean(), - data: BillingPlatformModel.DowngradeRes(), - }); - } - - /** @returns {DowngradeRes} */ - static DowngradeRes() { - return Joi.object({ - _id: Joi.string().allow(""), - status: Joi.string().allow(""), - subscriber_id: Joi.string().allow(""), - activated: Joi.boolean(), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - plan_id: Joi.string().allow(""), - reason: Joi.string().allow(""), - request_user_id: Joi.string().allow(""), - subscription_id: Joi.string().allow(""), - }); - } - - /** @returns {PaymentStatusData} */ - static PaymentStatusData() { - return Joi.object({ - _id: Joi.string().allow(""), - journey: Joi.string().allow(""), - webhook_response: Joi.array().items(Joi.any()), - aggregator_status: Joi.string().allow(""), - current_status: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - __v: Joi.number(), - aggregator_order_id: Joi.string().allow(""), - }); - } - - /** @returns {PaymentStatusResponse} */ - static PaymentStatusResponse() { - return Joi.object({ - status: Joi.string().allow(""), - data: BillingPlatformModel.PaymentStatusData(), - }); - } - - /** @returns {BadRequest} */ - static BadRequest() { - return Joi.object({ - message: Joi.string().allow(""), - }); - } - - /** @returns {ResourceNotFound} */ - static ResourceNotFound() { - return Joi.object({ - message: Joi.string().allow(""), - code: Joi.any(), - success: Joi.any(), - }); - } - - /** @returns {InternalServerError} */ - static InternalServerError() { - return Joi.object({ - message: Joi.string().allow(""), - code: Joi.string().allow(""), - }); - } - - /** @returns {CheckValidityResponse} */ - static CheckValidityResponse() { - return Joi.object({ - is_valid: Joi.boolean(), - discount_amount: Joi.number(), - }); - } - - /** @returns {PlanRecurring} */ - static PlanRecurring() { - return Joi.object({ - interval: Joi.string().allow(""), - interval_count: Joi.number(), - }); - } - - /** @returns {PlanMeta} */ - static PlanMeta() { - return Joi.object({ - seller_status: Joi.string().allow(""), - company: Joi.string().allow(""), - plan_platform_display_name: Joi.string().allow("").allow(null), - }); - } - - /** @returns {Plan} */ - static Plan() { - return Joi.object({ - fee_components: Joi.array().items(Joi.any()), - recurring: BillingPlatformModel.PlanRecurring(), - is_trial_plan: Joi.boolean(), - plan_group: Joi.string().allow(""), - tag_lines: Joi.array().items(Joi.string().allow("")), - currency: Joi.string().allow(""), - is_active: Joi.boolean(), - is_visible: Joi.boolean(), - trial_period: Joi.number(), - addons: Joi.array().items(Joi.string().allow("")), - tags: Joi.array().items(Joi.string().allow("")), - type: Joi.string().allow(""), - country: Joi.string().allow(""), - _id: Joi.string().allow(""), - name: Joi.string().allow(""), - description: Joi.string().allow(""), - amount: Joi.number(), - product_suite_id: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - taxation: BillingPlatformModel.Taxation(), - one_time_fees: BillingPlatformModel.OneTimeFees(), - credit_line: BillingPlatformModel.CreditLine(), - current_status: Joi.string().allow(""), - channel_type: Joi.string().allow(""), - company_ids: Joi.array().items(Joi.any()), - platform: Joi.string().allow("").allow(null), - activated_on: Joi.string().allow(""), - meta: BillingPlatformModel.PlanMeta(), - created_by: Joi.string().allow(""), - }); - } - - /** @returns {SubscriptionTrialPeriod} */ - static SubscriptionTrialPeriod() { - return Joi.object({ - start_date: Joi.string().allow(""), - end_date: Joi.string().allow(""), - }); - } - - /** @returns {EntityChargePrice} */ - static EntityChargePrice() { - return Joi.object({ - amount: Joi.number(), - currency_code: Joi.string().allow(""), - }); - } - - /** @returns {OneTimeChargeItem} */ - static OneTimeChargeItem() { - return Joi.object({ - name: Joi.string().allow(""), - term: Joi.string().allow(""), - pricing_type: Joi.string().allow(""), - price: BillingPlatformModel.EntityChargePrice(), - capped_amount: Joi.number(), - is_test: Joi.boolean(), - metadata: Joi.any(), - }); - } - - /** @returns {CreateOneTimeCharge} */ - static CreateOneTimeCharge() { - return Joi.object({ - name: Joi.string().allow(""), - charge: BillingPlatformModel.OneTimeChargeItem(), - is_test: Joi.boolean(), - return_url: Joi.string().allow(""), - }); - } - - /** @returns {ChargeRecurring} */ - static ChargeRecurring() { - return Joi.object({ - interval: Joi.string().allow(""), - interval_time: Joi.number(), - }); - } - - /** @returns {ChargeDetails} */ - static ChargeDetails() { - return Joi.object({ - _id: Joi.string().allow(""), - entity_type: Joi.string().allow(""), - entity_id: Joi.string().allow(""), - name: Joi.string().allow(""), - term: Joi.string().allow(""), - charge_type: Joi.string().allow(""), - pricing_type: Joi.string().allow(""), - price: BillingPlatformModel.EntityChargePrice(), - recurring: BillingPlatformModel.ChargeRecurring(), - status: Joi.string().allow(""), - capped_amount: Joi.number(), - activated_on: Joi.string().allow(""), - cancelled_on: Joi.string().allow(""), - billing_date: Joi.string().allow(""), - current_period: BillingPlatformModel.SubscriptionTrialPeriod(), - modified_at: Joi.string().allow(""), - created_at: Joi.string().allow(""), - is_test: Joi.boolean(), - company_id: Joi.string().allow(""), - meta: Joi.any(), - __v: Joi.number(), - }); - } - - /** @returns {OneTimeChargeEntity} */ - static OneTimeChargeEntity() { - return Joi.object({ - term: Joi.string().allow(""), - charge_type: Joi.string().allow(""), - capped_amount: Joi.number(), - billing_date: Joi.string().allow("").allow(null), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - __v: Joi.number(), - _id: Joi.string().allow(""), - name: Joi.string().allow(""), - status: Joi.string().allow(""), - activated_on: Joi.string().allow("").allow(null), - cancelled_on: Joi.string().allow("").allow(null), - metadata: Joi.any(), - return_url: Joi.string().allow(""), - is_test: Joi.boolean(), - pricing_type: Joi.string().allow(""), - subscriber_id: Joi.string().allow(""), - entity_type: Joi.string().allow(""), - entity_id: Joi.string().allow(""), - meta: Joi.any(), - price: BillingPlatformModel.EntityChargePrice(), - }); - } - - /** @returns {CreateOneTimeChargeResponse} */ - static CreateOneTimeChargeResponse() { - return Joi.object({ - charge: BillingPlatformModel.Charge(), - confirm_url: Joi.string().allow(""), - }); - } - - /** @returns {Charge} */ - static Charge() { - return Joi.object({ - final_charge: BillingPlatformModel.OneTimeChargeEntity(), - }); - } - - /** @returns {InvoiceDetailsStatusTrail} */ - static InvoiceDetailsStatusTrail() { - return Joi.object({ - _id: Joi.string().allow(""), - value: Joi.string().allow(""), - timestamp: Joi.string().allow(""), - }); - } - - /** @returns {InvoiceItemsPlanRecurring} */ - static InvoiceItemsPlanRecurring() { - return Joi.object({ - interval: Joi.string().allow(""), - interval_count: Joi.number(), - }); - } - - /** @returns {InvoiceItemsPlan} */ - static InvoiceItemsPlan() { - return Joi.object({ - recurring: BillingPlatformModel.InvoiceItemsPlanRecurring(), - is_trial_plan: Joi.boolean(), - plan_group: Joi.string().allow(""), - tag_lines: Joi.array().items(Joi.string().allow("")), - currency: Joi.string().allow(""), - is_active: Joi.boolean(), - is_visible: Joi.boolean(), - trial_period: Joi.number(), - addons: Joi.array().items(Joi.string().allow("")), - tags: Joi.array().items(Joi.string().allow("")), - type: Joi.string().allow(""), - country: Joi.string().allow(""), - _id: Joi.string().allow(""), - name: Joi.string().allow(""), - description: Joi.string().allow(""), - amount: Joi.number(), - product_suite_id: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - }); - } - - /** @returns {InvoiceItemsPeriod} */ - static InvoiceItemsPeriod() { - return Joi.object({ - start: Joi.string().allow(""), - end: Joi.string().allow(""), - }); - } - - /** @returns {InvoiceItems} */ - static InvoiceItems() { - return Joi.object({ - _id: Joi.string().allow(""), - currency: Joi.string().allow(""), - plan: BillingPlatformModel.InvoiceItemsPlan(), - name: Joi.string().allow(""), - quantity: Joi.number(), - description: Joi.string().allow(""), - period: BillingPlatformModel.InvoiceItemsPeriod(), - unit_amount: Joi.number(), - amount: Joi.number(), - type: Joi.string().allow(""), - invoice_id: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - }); - } - - /** @returns {InvoicesDataClient} */ - static InvoicesDataClient() { - return Joi.object({ - name: Joi.string().allow(""), - email: Joi.string().allow(""), - phone: Joi.string().allow(""), - address_lines: Joi.array().items(Joi.string().allow("")), - }); - } - - /** @returns {InvoicesDataPeriod} */ - static InvoicesDataPeriod() { - return Joi.object({ - start: Joi.string().allow(""), - end: Joi.string().allow(""), - }); - } - - /** @returns {InvoicesDataPaymentMethod} */ - static InvoicesDataPaymentMethod() { - return Joi.object({ - pg_payment_method_id: Joi.string().allow(""), - }); - } - - /** @returns {InvoicesData} */ - static InvoicesData() { - return Joi.object({ - _id: Joi.string().allow(""), - documents: Joi.any(), - payment: Joi.any(), - old_settlement: Joi.number().allow(null), - credit_balance: Joi.number().allow(null), - discount: Joi.any(), - taxation: Joi.any(), - credit_note_amount: Joi.number(), - client: BillingPlatformModel.InvoicesDataClient(), - auto_advance: Joi.boolean(), - currency: Joi.string().allow(""), - paid: Joi.boolean(), - attemp: Joi.number(), - collection_method: Joi.string().allow(""), - subscriber_id: Joi.string().allow(""), - invoice_url: Joi.string().allow(""), - number: Joi.string().allow(""), - pg_data: Joi.any(), - period: BillingPlatformModel.InvoicesDataPeriod(), - receipt_number: Joi.string().allow(""), - statement_descriptor: Joi.string().allow(""), - current_status: Joi.string().allow(""), - status_trail: Joi.array().items( - BillingPlatformModel.InvoiceDetailsStatusTrail() - ), - subtotal: Joi.number(), - total: Joi.number(), - subscription: Joi.string().allow(""), - next_action_time: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - hash_identifier: Joi.string().allow(""), - payment_method: BillingPlatformModel.InvoicesDataPaymentMethod(), - invoice_items: Joi.array().items(BillingPlatformModel.InvoiceItems()), - }); - } - - /** @returns {Invoices} */ - static Invoices() { - return Joi.object({ - data: Joi.array().items(BillingPlatformModel.InvoicesData()), - start: Joi.number(), - end: Joi.number(), - limit: Joi.number(), - page: Joi.number(), - total: Joi.number(), - }); - } - - /** @returns {Phone} */ - static Phone() { - return Joi.object({ - phone_number: Joi.string().allow(""), - phone_country_code: Joi.string().allow(""), - }); - } - - /** @returns {SubscriptionBillingAddress} */ - static SubscriptionBillingAddress() { - return Joi.object({ - country: Joi.string().allow(""), - state: Joi.string().allow(""), - city: Joi.string().allow(""), - line1: Joi.string().allow(""), - line2: Joi.string().allow(""), - postal_code: Joi.string().allow(""), - }); - } - - /** @returns {SubscriptionCustomer} */ - static SubscriptionCustomer() { - return Joi.object({ - phone: BillingPlatformModel.Phone(), - billing_address: BillingPlatformModel.SubscriptionBillingAddress(), - _id: Joi.string().allow(""), - unique_id: Joi.string().allow(""), - type: Joi.string().allow(""), - name: Joi.string().allow(""), - email: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - data: Joi.any(), - documents: Joi.any(), - consent: Joi.boolean(), - comms: Joi.boolean(), - credit_balance: Joi.number().allow(null), - business_country_info: BillingPlatformModel.BusinessCountryInfo(), - }); - } - - /** @returns {SubscriptionCustomerCreate} */ - static SubscriptionCustomerCreate() { - return Joi.object({ - phone: BillingPlatformModel.Phone(), - billing_address: BillingPlatformModel.SubscriptionBillingAddress(), - unique_id: Joi.string().allow(""), - type: Joi.string().allow(""), - name: Joi.string().allow(""), - email: Joi.string().allow(""), - }); - } - - /** @returns {SubscriptionCurrentPeriod} */ - static SubscriptionCurrentPeriod() { - return Joi.object({ - start: Joi.string().allow(""), - end: Joi.string().allow(""), - }); - } - - /** @returns {SubscriptionPauseCollection} */ - static SubscriptionPauseCollection() { - return Joi.object({ - behavior: Joi.string().allow(""), - resume_at: Joi.string().allow(""), - }); - } - - /** @returns {SubscriptionTrial} */ - static SubscriptionTrial() { - return Joi.object({ - start: Joi.string().allow(""), - end: Joi.string().allow(""), - }); - } - - /** @returns {SubscriptionInvoiceSettings} */ - static SubscriptionInvoiceSettings() { - return Joi.object({ - generation: Joi.boolean(), - charging: Joi.boolean(), - }); - } - - /** @returns {Subscription} */ - static Subscription() { - return Joi.object({ - meta: Joi.any(), - current_period: BillingPlatformModel.SubscriptionCurrentPeriod(), - pause_collection: BillingPlatformModel.SubscriptionPauseCollection(), - trial: BillingPlatformModel.SubscriptionTrial(), - invoice_settings: BillingPlatformModel.SubscriptionInvoiceSettings(), - is_active: Joi.boolean(), - cancel_at_period_end: Joi.boolean(), - _id: Joi.string().allow(""), - subscriber_id: Joi.string().allow(""), - plan_id: Joi.string().allow(""), - product_suite_id: Joi.string().allow(""), - plan_data: BillingPlatformModel.Plan(), - current_status: Joi.string().allow(""), - collection_method: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - latest_invoice: Joi.string().allow(""), - channel_type: Joi.string().allow(""), - freezed: Joi.boolean(), - cancel_at: Joi.string().allow(""), - canceled_at: Joi.string().allow(""), - }); - } - - /** @returns {SubscriptionStatus} */ - static SubscriptionStatus() { - return Joi.object({ - is_enabled: Joi.boolean(), - subscription: BillingPlatformModel.Subscription(), - latest_invoice: BillingPlatformModel.InvoicesData(), - next_plan: BillingPlatformModel.Plan(), - current_subscriptions: Joi.array().items( - BillingPlatformModel.Subscription() - ), - mandate_amount: Joi.number(), - message: Joi.string().allow(""), - }); - } - - /** @returns {SubscriptionLimitApplication} */ - static SubscriptionLimitApplication() { - return Joi.object({ - enabled: Joi.boolean(), - hard_limit: Joi.number(), - soft_limit: Joi.number(), - }); - } - - /** @returns {SubscriptionLimitMarketplace} */ - static SubscriptionLimitMarketplace() { - return Joi.object({ - enabled: Joi.boolean(), - }); - } - - /** @returns {SubscriptionLimitOtherPlatform} */ - static SubscriptionLimitOtherPlatform() { - return Joi.object({ - enabled: Joi.boolean(), - }); - } - - /** @returns {SubscriptionLimitTeam} */ - static SubscriptionLimitTeam() { - return Joi.object({ - limit: Joi.number(), - }); - } - - /** @returns {SubscriptionLimitProducts} */ - static SubscriptionLimitProducts() { - return Joi.object({ - bulk: Joi.boolean(), - limit: Joi.number(), - }); - } - - /** @returns {SubscriptionLimitExtensions} */ - static SubscriptionLimitExtensions() { - return Joi.object({ - enabled: Joi.boolean(), - limit: Joi.number(), - }); - } - - /** @returns {SubscriptionLimitIntegrations} */ - static SubscriptionLimitIntegrations() { - return Joi.object({ - enabled: Joi.boolean(), - limit: Joi.number(), - }); - } - - /** @returns {SubscriptionLimit} */ - static SubscriptionLimit() { - return Joi.object({ - application: BillingPlatformModel.SubscriptionLimitApplication(), - marketplace: BillingPlatformModel.SubscriptionLimitMarketplace(), - other_platform: BillingPlatformModel.SubscriptionLimitOtherPlatform(), - team: BillingPlatformModel.SubscriptionLimitTeam(), - products: BillingPlatformModel.SubscriptionLimitProducts(), - extensions: BillingPlatformModel.SubscriptionLimitExtensions(), - integrations: BillingPlatformModel.SubscriptionLimitIntegrations(), - is_trial_plan: Joi.boolean(), - }); - } - - /** @returns {IntentReq} */ - static IntentReq() { - return Joi.object({ - unique_external_id: Joi.string().allow(""), - plan_id: Joi.string().allow(""), - }); - } - - /** @returns {PutIntentReq} */ - static PutIntentReq() { - return Joi.object({ - unique_external_id: Joi.string().allow(""), - setup_intent_id: Joi.string().allow(""), - payment_method_id: Joi.string().allow(""), - set_default: Joi.boolean(), - }); - } - - /** @returns {SubscriptionActivateReq} */ - static SubscriptionActivateReq() { - return Joi.object({ - unique_id: Joi.string().allow(""), - type: Joi.string().allow(""), - product_suite: Joi.string().allow(""), - plan_id: Joi.string().allow(""), - payment_method: Joi.string().allow(""), - subscription_id: Joi.string().allow(""), - coupon: Joi.string().allow(""), - meta: Joi.any(), - }); - } - - /** @returns {SubscriptionActivateRes} */ - static SubscriptionActivateRes() { - return Joi.object({ - success: Joi.boolean(), - data: BillingPlatformModel.Subscription(), - }); - } - - /** @returns {CancelSubscriptionReq} */ - static CancelSubscriptionReq() { - return Joi.object({ - unique_id: Joi.string().allow(""), - type: Joi.string().allow(""), - product_suite: Joi.string().allow(""), - subscription_id: Joi.string().allow(""), - }); - } - - /** @returns {CancelSubscriptionRes} */ - static CancelSubscriptionRes() { - return Joi.object({ - success: Joi.boolean(), - data: BillingPlatformModel.Subscription(), - }); - } - - /** @returns {PlanStatusUpdateReq} */ - static PlanStatusUpdateReq() { - return Joi.object({ - plan_id: Joi.string().allow(""), - reason: Joi.string().allow(""), - seller_status: Joi.string().allow(""), - }); - } - - /** @returns {SunscribePlan} */ - static SunscribePlan() { - return Joi.object({ - entity_type: Joi.string().allow(""), - collection_type: Joi.string().allow(""), - plan_id: Joi.string().allow(""), - callback_url: Joi.string().allow(""), - meta: BillingPlatformModel.Meta(), - }); - } - - /** @returns {Meta} */ - static Meta() { - return Joi.object({ - subscribe: Joi.boolean(), - is_custom_plan: Joi.boolean(), - is_plan_upgrade: Joi.boolean(), - }); - } - - /** @returns {SubscribePlanRes} */ - static SubscribePlanRes() { - return Joi.object({ - redirect_url: Joi.string().allow(""), - transaction_id: Joi.string().allow(""), - current_status: Joi.string().allow(""), - meta: BillingPlatformModel.Meta(), - }); - } - - /** @returns {EntityDetail} */ - static EntityDetail() { - return Joi.object({ - entity: Joi.string().allow(""), - item: BillingPlatformModel.Subscription(), - }); - } - - /** @returns {PaymentOptions} */ - static PaymentOptions() { - return Joi.object({ - _id: Joi.string().allow(""), - name: Joi.string().allow(""), - description: Joi.string().allow(""), - logo: Joi.string().allow(""), - aggregator_id: Joi.string().allow(""), - aggregator: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - __v: Joi.number(), - }); - } - - /** @returns {VerifyPaymentReq} */ - static VerifyPaymentReq() { - return Joi.object({ - razorpay_payment_id: Joi.string().allow(""), - razorpay_order_id: Joi.string().allow(""), - razorpay_signature: Joi.string().allow(""), - status_code: Joi.number(), - provider_type: Joi.string().allow(""), - }); - } - - /** @returns {Documents} */ - static Documents() { - return Joi.object({ - pan: Joi.string().allow(""), - gst: Joi.string().allow(""), - }); - } - - /** @returns {BillingAddress} */ - static BillingAddress() { - return Joi.object({ - country: Joi.string().allow(""), - state: Joi.string().allow(""), - city: Joi.string().allow(""), - line1: Joi.string().allow(""), - line2: Joi.string().allow(""), - postal_code: Joi.string().allow(""), - country_code: Joi.string().allow(""), - }); - } - - /** @returns {Currency} */ - static Currency() { - return Joi.object({ - code: Joi.string().allow(""), - symbol: Joi.string().allow(""), - name: Joi.string().allow(""), - }); - } - - /** @returns {BusinessCountryInfo} */ - static BusinessCountryInfo() { - return Joi.object({ - country: Joi.string().allow(""), - country_code: Joi.string().allow(""), - currency: BillingPlatformModel.Currency(), - timezone: Joi.string().allow(""), - }); - } - - /** @returns {SubscriberData} */ - static SubscriberData() { - return Joi.object({ - pg_user_exists: Joi.boolean(), - id: Joi.any(), - pg_customer_id: Joi.string().allow(""), - default_payment_method: Joi.string().allow(""), - }); - } - - /** @returns {Subscriber} */ - static Subscriber() { - return Joi.object({ - documents: BillingPlatformModel.Documents(), - phone: Joi.any(), - billing_address: BillingPlatformModel.BillingAddress(), - consent: Joi.boolean(), - comms: Joi.boolean(), - _id: Joi.string().allow(""), - type: Joi.string().allow(""), - unique_id: Joi.string().allow(""), - name: Joi.string().allow(""), - email: Joi.string().allow(""), - business_country_info: BillingPlatformModel.BusinessCountryInfo(), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - credit_balance: Joi.number().allow(null), - data: BillingPlatformModel.SubscriberData(), - }); - } - - /** @returns {Author} */ - static Author() { - return Joi.object({ - modified_by_details: Joi.any(), - }); - } - - /** @returns {EndingBalance} */ - static EndingBalance() { - return Joi.object({ - amount: Joi.number(), - old_entry_ref: Joi.string().allow(""), - }); - } - - /** @returns {PaymentData} */ - static PaymentData() { - return Joi.object({ - transaction_id: Joi.string().allow(""), - aggregator: Joi.string().allow(""), - aggregator_order_id: Joi.string().allow(""), - }); - } - - /** @returns {CreditTransaction} */ - static CreditTransaction() { - return Joi.object({ - entity: Joi.any(), - author: BillingPlatformModel.Author(), - _id: Joi.string().allow(""), - amount: Joi.number(), - currency: Joi.string().allow(""), - subscriber_id: Joi.string().allow(""), - description: Joi.string().allow(""), - is_test: Joi.any(), - ending_balance: BillingPlatformModel.EndingBalance(), - payment: BillingPlatformModel.PaymentData(), - type: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - }); - } - - /** @returns {VerifyPaymentData} */ - static VerifyPaymentData() { - return Joi.object({ - success: Joi.boolean(), - subscriber: BillingPlatformModel.Subscriber(), - credit_transaction: BillingPlatformModel.CreditTransaction(), - }); - } - - /** @returns {VerifyPaymentRes} */ - static VerifyPaymentRes() { - return Joi.object({ - status: Joi.string().allow(""), - data: BillingPlatformModel.VerifyPaymentData(), - }); - } - - /** @returns {DefaultMerchants} */ - static DefaultMerchants() { - return Joi.object({ - stripe: Joi.string().allow(""), - }); - } - - /** @returns {GlobalSettingsPayment} */ - static GlobalSettingsPayment() { - return Joi.object({ - default_merchants: BillingPlatformModel.DefaultMerchants(), - }); - } - - /** @returns {GlobalSettingsData} */ - static GlobalSettingsData() { - return Joi.object({ - payment: BillingPlatformModel.GlobalSettingsPayment(), - freeze_panel: Joi.boolean(), - _id: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - }); - } - - /** @returns {GlobalSettings} */ - static GlobalSettings() { - return Joi.object({ - status: Joi.string().allow(""), - data: BillingPlatformModel.GlobalSettingsData(), - }); - } - - /** @returns {MethodChecks} */ - static MethodChecks() { - return Joi.object({ - address_line1_check: Joi.string().allow(""), - address_postal_code_check: Joi.string().allow(""), - cvc_check: Joi.string().allow(""), - }); - } - - /** @returns {MethodNetworks} */ - static MethodNetworks() { - return Joi.object({ - available: Joi.array().items(Joi.string().allow("")), - preferred: Joi.string().allow("").allow(null), - }); - } - - /** @returns {MethodSecureUsage} */ - static MethodSecureUsage() { - return Joi.object({ - supported: Joi.boolean(), - }); - } +/** + * @typedef ChargeRecurring + * @property {string} [interval] + * @property {number} [interval_time] + */ - /** @returns {MethodDetails} */ - static MethodDetails() { - return Joi.object({ - id: Joi.string().allow(""), - type: Joi.string().allow(""), - mandate_available: Joi.boolean(), - mandate_amount: Joi.number(), - pg_payment_method_id: Joi.string().allow(""), - is_default: Joi.boolean(), - data: BillingPlatformModel.SubscriptionMethodData(), - }); - } +/** + * @typedef SubscriptionTrialPeriod + * @property {string} [start_date] - The start date and time of the trial period. + * @property {string} [end_date] - The end date and time of the trial period. + */ - /** @returns {SubscriptionMethodData} */ - static SubscriptionMethodData() { - return Joi.object({ - brand: Joi.string().allow(""), - checks: BillingPlatformModel.MethodChecks(), - country: Joi.string().allow(""), - exp_month: Joi.number(), - exp_year: Joi.number(), - fingerprint: Joi.string().allow(""), - funding: Joi.string().allow(""), - generated_from: Joi.string().allow("").allow(null), - last4: Joi.string().allow(""), - networks: BillingPlatformModel.MethodNetworks(), - three_d_secure_usage: BillingPlatformModel.MethodSecureUsage(), - wallet: Joi.string().allow("").allow(null), - name: Joi.string().allow(""), - is_default: Joi.boolean(), - }); - } +/** + * @typedef Charge + * @property {OneTimeChargeEntity} [final_charge] + */ - /** @returns {SubscriptionMethods} */ - static SubscriptionMethods() { - return Joi.object({ - success: Joi.boolean(), - data: Joi.array().items(BillingPlatformModel.MethodDetails()), - }); - } +/** + * @typedef OneTimeChargeItem + * @property {string} [name] - The name of the one-time charge item. + * @property {string} [term] - The term or description of the charge. + * @property {string} [pricing_type] - The type of pricing for the charge item. + * @property {EntityChargePrice} [price] + * @property {number} [capped_amount] - The maximum amount that can be charged + * for this item, if applicable. + * @property {boolean} [is_test] - Indicates whether the charge item is for + * testing purposes. + * @property {Object} [metadata] - Additional metadata associated with the charge item. + */ - /** @returns {ConfigPublicKey} */ - static ConfigPublicKey() { - return Joi.object({ - public_key: Joi.string().allow(""), - }); - } +/** + * @typedef ChargeLineItem + * @property {string} name - Its name of the extension plan. + * @property {string} term - It indicates how it will be charged. + * @property {string} pricing_type - It indicates the extension subscription + * will be auto renewed timely. + * @property {EntityChargePrice} price + * @property {EntityChargeRecurring} [recurring] + * @property {number} [capped_amount] + * @property {number} [trial_days] + * @property {boolean} [is_test] + * @property {Object} [metadata] + */ - /** @returns {ConfigRes} */ - static ConfigRes() { - return Joi.object({ - success: Joi.boolean(), - aggregator: Joi.string().allow(""), - config: BillingPlatformModel.ConfigPublicKey(), - }); - } +/** + * @typedef EntitySubscription + * @property {string} [_id] - Unique identifier for the subscription charge + * @property {string} [product_suit_id] - ID of the product suit associated with + * the charge + * @property {string} [entity_id] - Unique identifier for the entity + * @property {string} [entity_type] - Type of entity (e.g., subscription, extension) + * @property {string} [name] - Name of the subscription charge + * @property {string} [status] - Current status of the subscription charge + * @property {number} [trial_days] - Number of trial days provided + * @property {boolean} [is_test] - Indicates if the charge is for testing purposes + * @property {string} [created_at] - Timestamp when the charge was created + * @property {string} [modified_at] - Timestamp when the charge was last modified + * @property {string} [subscriber_id] - Unique Identifier of the company + * @property {EntityChargeDetails[]} [line_items] + * @property {string} [return_url] - The URL passed in request which extension + * expects in return. + */ - /** @returns {PlanChangeData} */ - static PlanChangeData() { - return Joi.object({ - total: Joi.number(), - credit_note_amount: Joi.number(), - settlement: Joi.number(), - taxable_amount: Joi.number(), - gst_amount: Joi.number(), - gross_total: Joi.number(), - gst: Joi.number(), - discount: Joi.number(), - }); - } +/** + * @typedef OneTimeChargeEntity + * @property {string} [term] - Description of the charge term or usage. + * @property {string} [charge_type] - Type of the charge (e.g., 'subscription', + * 'extension'). + * @property {number} [capped_amount] - Maximum amount that can be charged. If + * no cap, the value should be 0. + * @property {string} [billing_date] - Date when the charge was billed. Null if + * not yet billed. + * @property {string} [created_at] - Date and time when the charge entity was created. + * @property {string} [modified_at] - Date and time when the charge entity was + * last modified. + * @property {number} [__v] - Internal version key for the charge record. + * @property {string} [_id] - Unique identifier for the charge entity. + * @property {string} [name] - The name of the one-time charge. + * @property {string} [status] - Current status of the charge (e.g., 'pending', + * 'completed'). + * @property {string} [activated_on] - Date and time when the charge was + * activated. Null if not yet activated. + * @property {string} [cancelled_on] - Date and time when the charge was + * cancelled. Null if not cancelled. + * @property {Object} [metadata] - Additional metadata associated with the charge. + * @property {string} [return_url] - URL to redirect to after processing the charge. + * @property {boolean} [is_test] - Indicates whether the charge is for testing purposes. + * @property {string} [pricing_type] - Pricing model for the charge (e.g., 'one_time'). + * @property {string} [subscriber_id] - Unique identifier for the subscriber + * associated with the charge. + * @property {string} [entity_type] - Type of the entity related to the charge + * (e.g., 'subscription', 'user'). + * @property {string} [entity_id] - Unique identifier for the entity associated + * with the charge. + * @property {Object} [meta] - Additional metadata associated with the charge. + * @property {EntityChargePrice} [price] + */ - /** @returns {PlanChangeDetails} */ - static PlanChangeDetails() { - return Joi.object({ - status: Joi.string().allow(""), - data: BillingPlatformModel.PlanChangeData(), - }); - } +/** + * @typedef EntityChargeRecurring + * @property {string} interval - The interval of the subscription. + */ - /** @returns {TransactionMeta} */ - static TransactionMeta() { - return Joi.object({ - invoice_id: Joi.string().allow(""), - }); - } +/** + * @typedef EntityChargeDetails + * @property {string} [_id] - Unique identifier for the charge. + * @property {string} [subscription_id] - Unique identifier of the extension subscription. + * @property {string} [subscriber_id] - Unique identifier of the + * subscriber/company who installed extension subscription. + * @property {string} [entity_type] - The type of entity associated with the + * charge (e.g., 'extension', 'subscription'). + * @property {string} [entity_id] - Unique identifier for the entity associated + * with the charge. + * @property {string} [name] - The name of the charge. + * @property {string} [term] - Description of the charge term. + * @property {string} [charge_type] - The type of charge (e.g., 'standalone', + * 'recurring'). + * @property {string} [pricing_type] - The pricing model for the charge (e.g., + * 'one_time', 'recurring'). + * @property {EntityChargePrice} [price] + * @property {ChargeRecurring} [recurring] + * @property {string} [status] - Current status of the charge. + * @property {number} [capped_amount] - Maximum amount that can be charged, if applicable. + * @property {string} [activated_on] - Date and time when the charge was activated. + * @property {string} [cancelled_on] - Date and time when the charge was cancelled. + * @property {string} [billing_date] - Date and time when the charge was billed. + * @property {SubscriptionTrialPeriod} [current_period] + * @property {string} [modified_at] - Date and time when the charge details were + * last modified. + * @property {string} [created_at] - Date and time when the charge was created. + * @property {boolean} [is_test] - Indicates whether the charge is for testing purposes. + * @property {string} [company_id] - Company id. + * @property {Object} [meta] - Additional metadata associated with the charge. + * @property {number} [__v] - Internal version key for the charge record. + */ - /** @returns {PaymentTransactionDetails} */ - static PaymentTransactionDetails() { +class BillingPlatformModel { + /** @returns {SubscriptionChargeRes} */ + static SubscriptionChargeRes() { return Joi.object({ - aggregator: Joi.any(), - currency: Joi.string().allow(""), - current_status: Joi.string().allow(""), _id: Joi.string().allow(""), - subscriber_id: Joi.string().allow(""), - amount: Joi.number(), + product_suit_id: Joi.string().allow(""), + entity_id: Joi.string().allow(""), entity_type: Joi.string().allow(""), - collection_type: Joi.string().allow(""), - meta: BillingPlatformModel.TransactionMeta(), + name: Joi.string().allow(""), + status: Joi.string().allow(""), + trial_days: Joi.number(), + activated_on: Joi.string().allow(""), + cancelled_on: Joi.string().allow(""), + is_test: Joi.boolean(), created_at: Joi.string().allow(""), modified_at: Joi.string().allow(""), + company_id: Joi.string().allow(""), + line_items: Joi.array().items(Joi.any()), }); } - /** @returns {PaymentItems} */ - static PaymentItems() { - return Joi.object({ - name: Joi.string().allow(""), - code: Joi.string().allow(""), - aggregator: Joi.string().allow(""), - }); - } - - /** @returns {GetPaymentOptions} */ - static GetPaymentOptions() { - return Joi.object({ - payment_options: Joi.array().items(BillingPlatformModel.PaymentItems()), - }); - } - - /** @returns {TopupReq} */ - static TopupReq() { - return Joi.object({ - amount: Joi.number(), - currency: Joi.string().allow(""), - provider_type: Joi.string().allow(""), - }); - } - - /** @returns {SetupMandateReq} */ - static SetupMandateReq() { - return Joi.object({ - intent_id: Joi.string().allow(""), - payment_method_id: Joi.string().allow(""), - }); - } - - /** @returns {SetupPaymentReq} */ - static SetupPaymentReq() { - return Joi.object({ - payment_method: Joi.string().allow(""), - payment_id: Joi.string().allow(""), - plan_id: Joi.string().allow(""), - invoice_id: Joi.string().allow(""), - }); - } - - /** @returns {SubscriptionRenewReq} */ - static SubscriptionRenewReq() { + /** @returns {ChargeDetails} */ + static ChargeDetails() { return Joi.object({ - invoice_id: Joi.string().allow(""), + _id: Joi.string().allow(""), entity_type: Joi.string().allow(""), - collection_type: Joi.string().allow(""), - callback_url: Joi.string().allow(""), - meta: BillingPlatformModel.RenewMeta(), - }); - } - - /** @returns {RenewMeta} */ - static RenewMeta() { - return Joi.object({ - invoice_payment: Joi.boolean(), - renew: Joi.boolean(), - }); - } - - /** @returns {SubscriptionMethodsReq} */ - static SubscriptionMethodsReq() { - return Joi.object({ - unique_external_id: Joi.string().allow(""), - setup_intent_id: Joi.string().allow(""), - pg_payment_method_id: Joi.string().allow(""), - set_default: Joi.boolean(), - }); - } - - /** @returns {CreditTransactionResponse} */ - static CreditTransactionResponse() { - return Joi.object({ - total: Joi.number(), - limit: Joi.number(), - page: Joi.number(), - pages: Joi.number(), - items: Joi.array().items(BillingPlatformModel.CreditTransaction()), - }); - } - - /** @returns {DowngradePlanReq} */ - static DowngradePlanReq() { - return Joi.object({ - unique_id: Joi.string().allow(""), - type: Joi.string().allow(""), - product_suite: Joi.string().allow(""), - plan_id: Joi.string().allow(""), - reason: Joi.string().allow(""), - platform: Joi.string().allow("").allow(null), + entity_id: Joi.string().allow(""), + name: Joi.string().allow(""), + term: Joi.string().allow(""), + charge_type: Joi.string().allow(""), + pricing_type: Joi.string().allow(""), + price: BillingPlatformModel.EntityChargePrice(), + recurring: BillingPlatformModel.ChargeRecurring(), + status: Joi.string().allow(""), + capped_amount: Joi.number(), + activated_on: Joi.string().allow(""), + cancelled_on: Joi.string().allow(""), + billing_date: Joi.string().allow(""), + current_period: BillingPlatformModel.SubscriptionTrialPeriod(), + modified_at: Joi.string().allow(""), + created_at: Joi.string().allow(""), + is_test: Joi.boolean(), + company_id: Joi.string().allow(""), + meta: Joi.any(), + __v: Joi.number(), }); } - /** @returns {Taxation} */ - static Taxation() { + /** @returns {ResourceNotFound} */ + static ResourceNotFound() { return Joi.object({ - gst: Joi.number(), + message: Joi.string().allow(""), + code: Joi.any(), + success: Joi.any(), }); } - /** @returns {OneTimeFees} */ - static OneTimeFees() { + /** @returns {CreateOneTimeCharge} */ + static CreateOneTimeCharge() { return Joi.object({ - developement: Joi.number().allow(null), - marketing: Joi.number().allow(null), + name: Joi.string().allow(""), + charge: BillingPlatformModel.OneTimeChargeItem(), + is_test: Joi.boolean(), + return_url: Joi.string().allow(""), }); } - /** @returns {CreditLine} */ - static CreditLine() { + /** @returns {CreateOneTimeChargeResponse} */ + static CreateOneTimeChargeResponse() { return Joi.object({ - is_active: Joi.boolean(), + charge: BillingPlatformModel.Charge(), + confirm_url: Joi.string().allow(""), }); } - /** @returns {StatusMessage} */ - static StatusMessage() { + /** @returns {BadRequest} */ + static BadRequest() { return Joi.object({ - status: Joi.string().allow(""), message: Joi.string().allow(""), - success: Joi.boolean(), - code: Joi.string().allow(""), - }); - } - - /** @returns {PaymentCollectReq} */ - static PaymentCollectReq() { - return Joi.object({ - transaction_id: Joi.string().allow(""), - credit_balance: Joi.boolean().allow(null), - payment_mode: Joi.string().allow(""), - payment_method: Joi.string().allow(""), - invoice_id: Joi.string().allow(""), }); } - /** @returns {SubscriptionRenewResMeta} */ - static SubscriptionRenewResMeta() { + /** @returns {CreateSubscriptionCharge} */ + static CreateSubscriptionCharge() { return Joi.object({ - invoice_payment: Joi.boolean(), - renew: Joi.boolean(), + name: Joi.string().allow("").required(), + trial_days: Joi.number(), + line_items: Joi.array() + .items(BillingPlatformModel.ChargeLineItem()) + .required(), + is_test: Joi.boolean(), + return_url: Joi.string().allow("").required(), }); } - /** @returns {SubscriptionRenewRes} */ - static SubscriptionRenewRes() { + /** @returns {CreateSubscriptionResponse} */ + static CreateSubscriptionResponse() { return Joi.object({ - redirect_url: Joi.string().allow(""), - transaction_id: Joi.string().allow(""), - current_status: Joi.string().allow(""), - meta: BillingPlatformModel.SubscriptionRenewResMeta(), + subscription: BillingPlatformModel.EntitySubscription(), + confirm_url: Joi.string().allow(""), }); } - /** @returns {SetupIntentRes} */ - static SetupIntentRes() { + /** @returns {EntityChargePrice} */ + static EntityChargePrice() { return Joi.object({ - success: Joi.boolean(), - data: BillingPlatformModel.SetupIntentData(), + amount: Joi.number(), + currency_code: Joi.string().allow(""), }); } - /** @returns {SetupIntentData} */ - static SetupIntentData() { + /** @returns {ChargeRecurring} */ + static ChargeRecurring() { return Joi.object({ - id: Joi.string().allow(""), - client_secret: Joi.string().allow(""), - customer: Joi.any(), - status: Joi.string().allow(""), + interval: Joi.string().allow(""), + interval_time: Joi.number(), }); } - /** @returns {SetupPayment} */ - static SetupPayment() { + /** @returns {SubscriptionTrialPeriod} */ + static SubscriptionTrialPeriod() { return Joi.object({ - id: Joi.string().allow(""), - status: Joi.string().allow(""), - customer: Joi.any(), - client_secret: Joi.string().allow(""), - payment_method: Joi.string().allow(""), - mandate: Joi.string().allow(""), - payment_method_options: BillingPlatformModel.PaymentMethodOptions(), + start_date: Joi.string().allow(""), + end_date: Joi.string().allow(""), }); } - /** @returns {PaymentMethodOptions} */ - static PaymentMethodOptions() { + /** @returns {Charge} */ + static Charge() { return Joi.object({ - card: BillingPlatformModel.Card(), + final_charge: BillingPlatformModel.OneTimeChargeEntity(), }); } - /** @returns {Card} */ - static Card() { + /** @returns {OneTimeChargeItem} */ + static OneTimeChargeItem() { return Joi.object({ - mandate_options: BillingPlatformModel.MandateOptions(), + name: Joi.string().allow(""), + term: Joi.string().allow(""), + pricing_type: Joi.string().allow(""), + price: BillingPlatformModel.EntityChargePrice(), + capped_amount: Joi.number(), + is_test: Joi.boolean(), + metadata: Joi.any(), }); } - /** @returns {MandateOptions} */ - static MandateOptions() { + /** @returns {ChargeLineItem} */ + static ChargeLineItem() { return Joi.object({ - amount: Joi.number(), + name: Joi.string().allow("").required(), + term: Joi.string().allow("").required(), + pricing_type: Joi.string().allow("").required(), + price: BillingPlatformModel.EntityChargePrice().required(), + recurring: BillingPlatformModel.EntityChargeRecurring(), + capped_amount: Joi.number(), + trial_days: Joi.number(), + is_test: Joi.boolean(), + metadata: Joi.any(), }); } - /** @returns {Message} */ - static Message() { + /** @returns {EntitySubscription} */ + static EntitySubscription() { return Joi.object({ - message: Joi.string().allow(""), + _id: Joi.string().allow(""), + product_suit_id: Joi.string().allow(""), + entity_id: Joi.string().allow(""), + entity_type: Joi.string().allow(""), + name: Joi.string().allow(""), + status: Joi.string().allow(""), + trial_days: Joi.number(), + is_test: Joi.boolean(), + created_at: Joi.string().allow(""), + modified_at: Joi.string().allow(""), + subscriber_id: Joi.string().allow(""), + line_items: Joi.array().items(BillingPlatformModel.EntityChargeDetails()), + return_url: Joi.string().allow(""), }); } - /** @returns {TopupRes} */ - static TopupRes() { + /** @returns {OneTimeChargeEntity} */ + static OneTimeChargeEntity() { return Joi.object({ + term: Joi.string().allow(""), + charge_type: Joi.string().allow(""), + capped_amount: Joi.number(), + billing_date: Joi.string().allow("").allow(null), + created_at: Joi.string().allow(""), + modified_at: Joi.string().allow(""), + __v: Joi.number(), + _id: Joi.string().allow(""), + name: Joi.string().allow(""), status: Joi.string().allow(""), - aggregator_order_id: Joi.string().allow(""), - amount: Joi.number(), - currency: Joi.string().allow(""), - transaction_id: Joi.string().allow(""), + activated_on: Joi.string().allow("").allow(null), + cancelled_on: Joi.string().allow("").allow(null), + metadata: Joi.any(), + return_url: Joi.string().allow(""), + is_test: Joi.boolean(), + pricing_type: Joi.string().allow(""), + subscriber_id: Joi.string().allow(""), + entity_type: Joi.string().allow(""), + entity_id: Joi.string().allow(""), + meta: Joi.any(), + price: BillingPlatformModel.EntityChargePrice(), }); } - /** @returns {CancelTopupReq} */ - static CancelTopupReq() { + /** @returns {EntityChargeRecurring} */ + static EntityChargeRecurring() { return Joi.object({ - order_id: Joi.string().allow(""), + interval: Joi.string().allow("").required(), }); } - /** @returns {CancelTopupRes} */ - static CancelTopupRes() { + /** @returns {EntityChargeDetails} */ + static EntityChargeDetails() { return Joi.object({ _id: Joi.string().allow(""), + subscription_id: Joi.string().allow(""), subscriber_id: Joi.string().allow(""), - amount: Joi.number(), - currency: Joi.string().allow(""), - aggregator: Joi.string().allow(""), - aggregator_order_id: Joi.string().allow(""), - created_at: Joi.string().allow(""), + entity_type: Joi.string().allow(""), + entity_id: Joi.string().allow(""), + name: Joi.string().allow(""), + term: Joi.string().allow(""), + charge_type: Joi.string().allow(""), + pricing_type: Joi.string().allow(""), + price: BillingPlatformModel.EntityChargePrice(), + recurring: BillingPlatformModel.ChargeRecurring(), + status: Joi.string().allow(""), + capped_amount: Joi.number(), + activated_on: Joi.string().allow("").allow(null), + cancelled_on: Joi.string().allow("").allow(null), + billing_date: Joi.string().allow("").allow(null), + current_period: BillingPlatformModel.SubscriptionTrialPeriod(), modified_at: Joi.string().allow(""), + created_at: Joi.string().allow(""), + is_test: Joi.boolean(), + company_id: Joi.string().allow(""), + meta: Joi.any(), __v: Joi.number(), - aggregator_status: Joi.string().allow(""), - current_status: Joi.string().allow(""), - }); - } - - /** @returns {DefaultReq} */ - static DefaultReq() { - return Joi.object({ - payment_method_id: Joi.string().allow(""), }); } } diff --git a/sdk/platform/Billing/BillingPlatformValidator.d.ts b/sdk/platform/Billing/BillingPlatformValidator.d.ts index 78977c15a..6178afcfd 100644 --- a/sdk/platform/Billing/BillingPlatformValidator.d.ts +++ b/sdk/platform/Billing/BillingPlatformValidator.d.ts @@ -1,282 +1,45 @@ export = BillingPlatformValidator; -/** - * @typedef ActivateSubscriptionPlanParam - * @property {BillingPlatformModel.SubscriptionActivateReq} body - */ /** * @typedef CancelSubscriptionChargeParam * @property {string} extensionId - Extension _id * @property {string} subscriptionId - Subscription charge _id */ -/** - * @typedef CancelSubscriptionPlanParam - * @property {BillingPlatformModel.CancelSubscriptionReq} body - */ -/** - * @typedef ChangePlanParam - * @property {BillingPlatformModel.SubscriptionActivateReq} body - */ -/** - * @typedef CheckCouponValidityParam - * @property {string} plan - ID of the plan. - * @property {string} couponCode - Coupon code. - */ /** * @typedef CreateOneTimeChargeParam * @property {string} extensionId - Extension _id * @property {BillingPlatformModel.CreateOneTimeCharge} body */ /** - * @typedef CreditTransactionParam - * @property {number} uniqueId - Unique ID of the company - * @property {string} productSuite - Product suite - * @property {string} type - Type of the company - * @property {number} [pageSize] - Number of items per page - * @property {number} [pageNo] - Page number - * @property {string} [startDate] - Start date - * @property {string} [endDate] - End date - * @property {string} [searchType] - Search Type - * @property {string} [searchValue] - Search Value - */ -/** - * @typedef CurrentAppLimitParam - * @property {string} [productSuite] - * @property {string} [type] + * @typedef CreateSubscriptionChargeParam + * @property {string} extensionId - Extension Id for which we need to crete new + * subscription + * @property {BillingPlatformModel.CreateSubscriptionCharge} body */ -/** @typedef GetBankListParam */ /** * @typedef GetChargeDetailsParam * @property {string} extensionId - Extension _id * @property {string} chargeId - Standalone charge _id */ -/** @typedef GetCustomerDetailParam */ -/** @typedef GetEnterprisePlansParam */ -/** - * @typedef GetFeatureLimitConfigParam - * @property {string} [productSuite] - * @property {string} [type] - */ -/** - * @typedef GetInvoiceByIdParam - * @property {string} invoiceId - Invoice id - */ -/** @typedef GetInvoicesParam */ -/** - * @typedef GetPaymentOptionsParam - * @property {string} transactionId - ID of the payment transaction. - */ -/** - * @typedef GetPaymentTransactionParam - * @property {string} transactionId - Payment Transaction unique id. - */ -/** @typedef GetSubscriptionParam */ /** * @typedef GetSubscriptionChargeParam * @property {string} extensionId - Extension _id * @property {string} subscriptionId - Subscription charge _id */ -/** - * @typedef GetentityDetailParam - * @property {string} entityName - Entity name. - * @property {string} [entityId] - Entity unique id. - * @property {string} channel - Ordering channel. - * @property {string} [component] - The coponents the user would like to know. - * @property {string} [componentName] - The name of component the preferred to be fetched. - */ -/** - * @typedef GlobalSettingsParam - * @property {number} pageNo - Number of pages needed - * @property {number} pageSize - Number of items to be there in page - * @property {Object} query - Field which will be used in db query - */ -/** - * @typedef MethodDefaultParam - * @property {BillingPlatformModel.DefaultReq} body - */ -/** - * @typedef PaymentCollectParam - * @property {BillingPlatformModel.PaymentCollectReq} body - */ -/** - * @typedef PaymentInitiateParam - * @property {BillingPlatformModel.SunscribePlan} body - */ -/** - * @typedef PaymentOptionsParam - * @property {string} code - Payment options unique code. - */ -/** - * @typedef PaymentStatusParam - * @property {string} orderId - Unique ID of the company - */ -/** - * @typedef PlanDowngradeParam - * @property {BillingPlatformModel.DowngradePlanReq} body - */ -/** @typedef PlanDowngradeGetParam */ -/** - * @typedef PlanStatusUpdateParam - * @property {BillingPlatformModel.PlanStatusUpdateReq} body - */ -/** - * @typedef SetupIntentParam - * @property {BillingPlatformModel.IntentReq} body - */ -/** - * @typedef SetupMandateParam - * @property {BillingPlatformModel.SetupMandateReq} body - */ -/** - * @typedef SetupPaymentParam - * @property {BillingPlatformModel.SetupPaymentReq} body - */ -/** @typedef SubscriptionConfigsParam */ -/** - * @typedef SubscriptionMethodsParam - * @property {string} uniqueExternalId - Unique id for external company - */ -/** - * @typedef SubscriptionMethodsDeleteParam - * @property {string} uniqueExternalId - Unique id for external company - * @property {string} paymentMethodId - Payment method id - */ -/** - * @typedef SubscriptionPlanChangeParam - * @property {string} [productSuite] - * @property {string} [coupon] - * @property {number} [uniqueId] - * @property {string} [platform] - * @property {string} [planId] - */ -/** - * @typedef SubscriptionRenewParam - * @property {BillingPlatformModel.SubscriptionRenewReq} body - */ -/** - * @typedef TopupCancelCreditParam - * @property {BillingPlatformModel.CancelTopupReq} body - */ -/** - * @typedef TopupCreditParam - * @property {BillingPlatformModel.TopupReq} body - */ -/** - * @typedef UpdateConsentParam - * @property {string} subscriberId - Customer unique id. In case of company it - * will be company id. - */ -/** - * @typedef UpdateSetupIntentParam - * @property {BillingPlatformModel.PutIntentReq} body - */ -/** - * @typedef UpgradePlanParam - * @property {BillingPlatformModel.SubscriptionMethodsReq} body - */ -/** - * @typedef UpsertCustomerDetailParam - * @property {BillingPlatformModel.SubscriptionCustomerCreate} body - */ -/** - * @typedef VerifyPaymentParam - * @property {BillingPlatformModel.VerifyPaymentReq} body - */ declare class BillingPlatformValidator { - /** @returns {ActivateSubscriptionPlanParam} */ - static activateSubscriptionPlan(): ActivateSubscriptionPlanParam; /** @returns {CancelSubscriptionChargeParam} */ static cancelSubscriptionCharge(): CancelSubscriptionChargeParam; - /** @returns {CancelSubscriptionPlanParam} */ - static cancelSubscriptionPlan(): CancelSubscriptionPlanParam; - /** @returns {ChangePlanParam} */ - static changePlan(): ChangePlanParam; - /** @returns {CheckCouponValidityParam} */ - static checkCouponValidity(): CheckCouponValidityParam; /** @returns {CreateOneTimeChargeParam} */ static createOneTimeCharge(): CreateOneTimeChargeParam; - /** @returns {CreditTransactionParam} */ - static creditTransaction(): CreditTransactionParam; - /** @returns {CurrentAppLimitParam} */ - static currentAppLimit(): CurrentAppLimitParam; - /** @returns {GetBankListParam} */ - static getBankList(): any; + /** @returns {CreateSubscriptionChargeParam} */ + static createSubscriptionCharge(): CreateSubscriptionChargeParam; /** @returns {GetChargeDetailsParam} */ static getChargeDetails(): GetChargeDetailsParam; - /** @returns {GetCustomerDetailParam} */ - static getCustomerDetail(): any; - /** @returns {GetEnterprisePlansParam} */ - static getEnterprisePlans(): any; - /** @returns {GetFeatureLimitConfigParam} */ - static getFeatureLimitConfig(): GetFeatureLimitConfigParam; - /** @returns {GetInvoiceByIdParam} */ - static getInvoiceById(): GetInvoiceByIdParam; - /** @returns {GetInvoicesParam} */ - static getInvoices(): any; - /** @returns {GetPaymentOptionsParam} */ - static getPaymentOptions(): GetPaymentOptionsParam; - /** @returns {GetPaymentTransactionParam} */ - static getPaymentTransaction(): GetPaymentTransactionParam; - /** @returns {GetSubscriptionParam} */ - static getSubscription(): any; /** @returns {GetSubscriptionChargeParam} */ static getSubscriptionCharge(): GetSubscriptionChargeParam; - /** @returns {GetentityDetailParam} */ - static getentityDetail(): GetentityDetailParam; - /** @returns {GlobalSettingsParam} */ - static globalSettings(): GlobalSettingsParam; - /** @returns {MethodDefaultParam} */ - static methodDefault(): MethodDefaultParam; - /** @returns {PaymentCollectParam} */ - static paymentCollect(): PaymentCollectParam; - /** @returns {PaymentInitiateParam} */ - static paymentInitiate(): PaymentInitiateParam; - /** @returns {PaymentOptionsParam} */ - static paymentOptions(): PaymentOptionsParam; - /** @returns {PaymentStatusParam} */ - static paymentStatus(): PaymentStatusParam; - /** @returns {PlanDowngradeParam} */ - static planDowngrade(): PlanDowngradeParam; - /** @returns {PlanDowngradeGetParam} */ - static planDowngradeGet(): any; - /** @returns {PlanStatusUpdateParam} */ - static planStatusUpdate(): PlanStatusUpdateParam; - /** @returns {SetupIntentParam} */ - static setupIntent(): SetupIntentParam; - /** @returns {SetupMandateParam} */ - static setupMandate(): SetupMandateParam; - /** @returns {SetupPaymentParam} */ - static setupPayment(): SetupPaymentParam; - /** @returns {SubscriptionConfigsParam} */ - static subscriptionConfigs(): any; - /** @returns {SubscriptionMethodsParam} */ - static subscriptionMethods(): SubscriptionMethodsParam; - /** @returns {SubscriptionMethodsDeleteParam} */ - static subscriptionMethodsDelete(): SubscriptionMethodsDeleteParam; - /** @returns {SubscriptionPlanChangeParam} */ - static subscriptionPlanChange(): SubscriptionPlanChangeParam; - /** @returns {SubscriptionRenewParam} */ - static subscriptionRenew(): SubscriptionRenewParam; - /** @returns {TopupCancelCreditParam} */ - static topupCancelCredit(): TopupCancelCreditParam; - /** @returns {TopupCreditParam} */ - static topupCredit(): TopupCreditParam; - /** @returns {UpdateConsentParam} */ - static updateConsent(): UpdateConsentParam; - /** @returns {UpdateSetupIntentParam} */ - static updateSetupIntent(): UpdateSetupIntentParam; - /** @returns {UpgradePlanParam} */ - static upgradePlan(): UpgradePlanParam; - /** @returns {UpsertCustomerDetailParam} */ - static upsertCustomerDetail(): UpsertCustomerDetailParam; - /** @returns {VerifyPaymentParam} */ - static verifyPayment(): VerifyPaymentParam; } declare namespace BillingPlatformValidator { - export { ActivateSubscriptionPlanParam, CancelSubscriptionChargeParam, CancelSubscriptionPlanParam, ChangePlanParam, CheckCouponValidityParam, CreateOneTimeChargeParam, CreditTransactionParam, CurrentAppLimitParam, GetBankListParam, GetChargeDetailsParam, GetCustomerDetailParam, GetEnterprisePlansParam, GetFeatureLimitConfigParam, GetInvoiceByIdParam, GetInvoicesParam, GetPaymentOptionsParam, GetPaymentTransactionParam, GetSubscriptionParam, GetSubscriptionChargeParam, GetentityDetailParam, GlobalSettingsParam, MethodDefaultParam, PaymentCollectParam, PaymentInitiateParam, PaymentOptionsParam, PaymentStatusParam, PlanDowngradeParam, PlanDowngradeGetParam, PlanStatusUpdateParam, SetupIntentParam, SetupMandateParam, SetupPaymentParam, SubscriptionConfigsParam, SubscriptionMethodsParam, SubscriptionMethodsDeleteParam, SubscriptionPlanChangeParam, SubscriptionRenewParam, TopupCancelCreditParam, TopupCreditParam, UpdateConsentParam, UpdateSetupIntentParam, UpgradePlanParam, UpsertCustomerDetailParam, VerifyPaymentParam }; + export { CancelSubscriptionChargeParam, CreateOneTimeChargeParam, CreateSubscriptionChargeParam, GetChargeDetailsParam, GetSubscriptionChargeParam }; } -type ActivateSubscriptionPlanParam = { - body: BillingPlatformModel.SubscriptionActivateReq; -}; type CancelSubscriptionChargeParam = { /** * - Extension _id @@ -287,22 +50,6 @@ type CancelSubscriptionChargeParam = { */ subscriptionId: string; }; -type CancelSubscriptionPlanParam = { - body: BillingPlatformModel.CancelSubscriptionReq; -}; -type ChangePlanParam = { - body: BillingPlatformModel.SubscriptionActivateReq; -}; -type CheckCouponValidityParam = { - /** - * - ID of the plan. - */ - plan: string; - /** - * - Coupon code. - */ - couponCode: string; -}; type CreateOneTimeChargeParam = { /** * - Extension _id @@ -310,47 +57,13 @@ type CreateOneTimeChargeParam = { extensionId: string; body: BillingPlatformModel.CreateOneTimeCharge; }; -type CreditTransactionParam = { - /** - * - Unique ID of the company - */ - uniqueId: number; - /** - * - Product suite - */ - productSuite: string; +type CreateSubscriptionChargeParam = { /** - * - Type of the company + * - Extension Id for which we need to crete new + * subscription */ - type: string; - /** - * - Number of items per page - */ - pageSize?: number; - /** - * - Page number - */ - pageNo?: number; - /** - * - Start date - */ - startDate?: string; - /** - * - End date - */ - endDate?: string; - /** - * - Search Type - */ - searchType?: string; - /** - * - Search Value - */ - searchValue?: string; -}; -type CurrentAppLimitParam = { - productSuite?: string; - type?: string; + extensionId: string; + body: BillingPlatformModel.CreateSubscriptionCharge; }; type GetChargeDetailsParam = { /** @@ -362,28 +75,6 @@ type GetChargeDetailsParam = { */ chargeId: string; }; -type GetFeatureLimitConfigParam = { - productSuite?: string; - type?: string; -}; -type GetInvoiceByIdParam = { - /** - * - Invoice id - */ - invoiceId: string; -}; -type GetPaymentOptionsParam = { - /** - * - ID of the payment transaction. - */ - transactionId: string; -}; -type GetPaymentTransactionParam = { - /** - * - Payment Transaction unique id. - */ - transactionId: string; -}; type GetSubscriptionChargeParam = { /** * - Extension _id @@ -394,134 +85,4 @@ type GetSubscriptionChargeParam = { */ subscriptionId: string; }; -type GetentityDetailParam = { - /** - * - Entity name. - */ - entityName: string; - /** - * - Entity unique id. - */ - entityId?: string; - /** - * - Ordering channel. - */ - channel: string; - /** - * - The coponents the user would like to know. - */ - component?: string; - /** - * - The name of component the preferred to be fetched. - */ - componentName?: string; -}; -type GlobalSettingsParam = { - /** - * - Number of pages needed - */ - pageNo: number; - /** - * - Number of items to be there in page - */ - pageSize: number; - /** - * - Field which will be used in db query - */ - query: any; -}; -type MethodDefaultParam = { - body: BillingPlatformModel.DefaultReq; -}; -type PaymentCollectParam = { - body: BillingPlatformModel.PaymentCollectReq; -}; -type PaymentInitiateParam = { - body: BillingPlatformModel.SunscribePlan; -}; -type PaymentOptionsParam = { - /** - * - Payment options unique code. - */ - code: string; -}; -type PaymentStatusParam = { - /** - * - Unique ID of the company - */ - orderId: string; -}; -type PlanDowngradeParam = { - body: BillingPlatformModel.DowngradePlanReq; -}; -type PlanStatusUpdateParam = { - body: BillingPlatformModel.PlanStatusUpdateReq; -}; -type SetupIntentParam = { - body: BillingPlatformModel.IntentReq; -}; -type SetupMandateParam = { - body: BillingPlatformModel.SetupMandateReq; -}; -type SetupPaymentParam = { - body: BillingPlatformModel.SetupPaymentReq; -}; -type SubscriptionMethodsParam = { - /** - * - Unique id for external company - */ - uniqueExternalId: string; -}; -type SubscriptionMethodsDeleteParam = { - /** - * - Unique id for external company - */ - uniqueExternalId: string; - /** - * - Payment method id - */ - paymentMethodId: string; -}; -type SubscriptionPlanChangeParam = { - productSuite?: string; - coupon?: string; - uniqueId?: number; - platform?: string; - planId?: string; -}; -type SubscriptionRenewParam = { - body: BillingPlatformModel.SubscriptionRenewReq; -}; -type TopupCancelCreditParam = { - body: BillingPlatformModel.CancelTopupReq; -}; -type TopupCreditParam = { - body: BillingPlatformModel.TopupReq; -}; -type UpdateConsentParam = { - /** - * - Customer unique id. In case of company it - * will be company id. - */ - subscriberId: string; -}; -type UpdateSetupIntentParam = { - body: BillingPlatformModel.PutIntentReq; -}; -type UpgradePlanParam = { - body: BillingPlatformModel.SubscriptionMethodsReq; -}; -type UpsertCustomerDetailParam = { - body: BillingPlatformModel.SubscriptionCustomerCreate; -}; -type VerifyPaymentParam = { - body: BillingPlatformModel.VerifyPaymentReq; -}; -type GetBankListParam = any; -type GetCustomerDetailParam = any; -type GetEnterprisePlansParam = any; -type GetInvoicesParam = any; -type GetSubscriptionParam = any; -type PlanDowngradeGetParam = any; -type SubscriptionConfigsParam = any; import BillingPlatformModel = require("./BillingPlatformModel"); diff --git a/sdk/platform/Billing/BillingPlatformValidator.js b/sdk/platform/Billing/BillingPlatformValidator.js index 38d861027..c34a45a62 100644 --- a/sdk/platform/Billing/BillingPlatformValidator.js +++ b/sdk/platform/Billing/BillingPlatformValidator.js @@ -2,33 +2,12 @@ const Joi = require("joi"); const BillingPlatformModel = require("./BillingPlatformModel"); -/** - * @typedef ActivateSubscriptionPlanParam - * @property {BillingPlatformModel.SubscriptionActivateReq} body - */ - /** * @typedef CancelSubscriptionChargeParam * @property {string} extensionId - Extension _id * @property {string} subscriptionId - Subscription charge _id */ -/** - * @typedef CancelSubscriptionPlanParam - * @property {BillingPlatformModel.CancelSubscriptionReq} body - */ - -/** - * @typedef ChangePlanParam - * @property {BillingPlatformModel.SubscriptionActivateReq} body - */ - -/** - * @typedef CheckCouponValidityParam - * @property {string} plan - ID of the plan. - * @property {string} couponCode - Coupon code. - */ - /** * @typedef CreateOneTimeChargeParam * @property {string} extensionId - Extension _id @@ -36,206 +15,25 @@ const BillingPlatformModel = require("./BillingPlatformModel"); */ /** - * @typedef CreditTransactionParam - * @property {number} uniqueId - Unique ID of the company - * @property {string} productSuite - Product suite - * @property {string} type - Type of the company - * @property {number} [pageSize] - Number of items per page - * @property {number} [pageNo] - Page number - * @property {string} [startDate] - Start date - * @property {string} [endDate] - End date - * @property {string} [searchType] - Search Type - * @property {string} [searchValue] - Search Value + * @typedef CreateSubscriptionChargeParam + * @property {string} extensionId - Extension Id for which we need to crete new + * subscription + * @property {BillingPlatformModel.CreateSubscriptionCharge} body */ -/** - * @typedef CurrentAppLimitParam - * @property {string} [productSuite] - * @property {string} [type] - */ - -/** @typedef GetBankListParam */ - /** * @typedef GetChargeDetailsParam * @property {string} extensionId - Extension _id * @property {string} chargeId - Standalone charge _id */ -/** @typedef GetCustomerDetailParam */ - -/** @typedef GetEnterprisePlansParam */ - -/** - * @typedef GetFeatureLimitConfigParam - * @property {string} [productSuite] - * @property {string} [type] - */ - -/** - * @typedef GetInvoiceByIdParam - * @property {string} invoiceId - Invoice id - */ - -/** @typedef GetInvoicesParam */ - -/** - * @typedef GetPaymentOptionsParam - * @property {string} transactionId - ID of the payment transaction. - */ - -/** - * @typedef GetPaymentTransactionParam - * @property {string} transactionId - Payment Transaction unique id. - */ - -/** @typedef GetSubscriptionParam */ - /** * @typedef GetSubscriptionChargeParam * @property {string} extensionId - Extension _id * @property {string} subscriptionId - Subscription charge _id */ -/** - * @typedef GetentityDetailParam - * @property {string} entityName - Entity name. - * @property {string} [entityId] - Entity unique id. - * @property {string} channel - Ordering channel. - * @property {string} [component] - The coponents the user would like to know. - * @property {string} [componentName] - The name of component the preferred to be fetched. - */ - -/** - * @typedef GlobalSettingsParam - * @property {number} pageNo - Number of pages needed - * @property {number} pageSize - Number of items to be there in page - * @property {Object} query - Field which will be used in db query - */ - -/** - * @typedef MethodDefaultParam - * @property {BillingPlatformModel.DefaultReq} body - */ - -/** - * @typedef PaymentCollectParam - * @property {BillingPlatformModel.PaymentCollectReq} body - */ - -/** - * @typedef PaymentInitiateParam - * @property {BillingPlatformModel.SunscribePlan} body - */ - -/** - * @typedef PaymentOptionsParam - * @property {string} code - Payment options unique code. - */ - -/** - * @typedef PaymentStatusParam - * @property {string} orderId - Unique ID of the company - */ - -/** - * @typedef PlanDowngradeParam - * @property {BillingPlatformModel.DowngradePlanReq} body - */ - -/** @typedef PlanDowngradeGetParam */ - -/** - * @typedef PlanStatusUpdateParam - * @property {BillingPlatformModel.PlanStatusUpdateReq} body - */ - -/** - * @typedef SetupIntentParam - * @property {BillingPlatformModel.IntentReq} body - */ - -/** - * @typedef SetupMandateParam - * @property {BillingPlatformModel.SetupMandateReq} body - */ - -/** - * @typedef SetupPaymentParam - * @property {BillingPlatformModel.SetupPaymentReq} body - */ - -/** @typedef SubscriptionConfigsParam */ - -/** - * @typedef SubscriptionMethodsParam - * @property {string} uniqueExternalId - Unique id for external company - */ - -/** - * @typedef SubscriptionMethodsDeleteParam - * @property {string} uniqueExternalId - Unique id for external company - * @property {string} paymentMethodId - Payment method id - */ - -/** - * @typedef SubscriptionPlanChangeParam - * @property {string} [productSuite] - * @property {string} [coupon] - * @property {number} [uniqueId] - * @property {string} [platform] - * @property {string} [planId] - */ - -/** - * @typedef SubscriptionRenewParam - * @property {BillingPlatformModel.SubscriptionRenewReq} body - */ - -/** - * @typedef TopupCancelCreditParam - * @property {BillingPlatformModel.CancelTopupReq} body - */ - -/** - * @typedef TopupCreditParam - * @property {BillingPlatformModel.TopupReq} body - */ - -/** - * @typedef UpdateConsentParam - * @property {string} subscriberId - Customer unique id. In case of company it - * will be company id. - */ - -/** - * @typedef UpdateSetupIntentParam - * @property {BillingPlatformModel.PutIntentReq} body - */ - -/** - * @typedef UpgradePlanParam - * @property {BillingPlatformModel.SubscriptionMethodsReq} body - */ - -/** - * @typedef UpsertCustomerDetailParam - * @property {BillingPlatformModel.SubscriptionCustomerCreate} body - */ - -/** - * @typedef VerifyPaymentParam - * @property {BillingPlatformModel.VerifyPaymentReq} body - */ - class BillingPlatformValidator { - /** @returns {ActivateSubscriptionPlanParam} */ - static activateSubscriptionPlan() { - return Joi.object({ - body: BillingPlatformModel.SubscriptionActivateReq().required(), - }).required(); - } - /** @returns {CancelSubscriptionChargeParam} */ static cancelSubscriptionCharge() { return Joi.object({ @@ -244,28 +42,6 @@ class BillingPlatformValidator { }).required(); } - /** @returns {CancelSubscriptionPlanParam} */ - static cancelSubscriptionPlan() { - return Joi.object({ - body: BillingPlatformModel.CancelSubscriptionReq().required(), - }).required(); - } - - /** @returns {ChangePlanParam} */ - static changePlan() { - return Joi.object({ - body: BillingPlatformModel.SubscriptionActivateReq().required(), - }).required(); - } - - /** @returns {CheckCouponValidityParam} */ - static checkCouponValidity() { - return Joi.object({ - plan: Joi.string().allow("").required(), - couponCode: Joi.string().allow("").required(), - }).required(); - } - /** @returns {CreateOneTimeChargeParam} */ static createOneTimeCharge() { return Joi.object({ @@ -274,34 +50,14 @@ class BillingPlatformValidator { }).required(); } - /** @returns {CreditTransactionParam} */ - static creditTransaction() { - return Joi.object({ - uniqueId: Joi.number().required(), - productSuite: Joi.string().allow("").required(), - type: Joi.string().allow("").required(), - pageSize: Joi.number(), - pageNo: Joi.number(), - startDate: Joi.string().allow(""), - endDate: Joi.string().allow(""), - searchType: Joi.string().allow(""), - searchValue: Joi.string().allow(""), - }).required(); - } - - /** @returns {CurrentAppLimitParam} */ - static currentAppLimit() { + /** @returns {CreateSubscriptionChargeParam} */ + static createSubscriptionCharge() { return Joi.object({ - productSuite: Joi.string().allow(""), - type: Joi.string().allow(""), + extensionId: Joi.string().allow("").required(), + body: BillingPlatformModel.CreateSubscriptionCharge().required(), }).required(); } - /** @returns {GetBankListParam} */ - static getBankList() { - return Joi.object({}).required(); - } - /** @returns {GetChargeDetailsParam} */ static getChargeDetails() { return Joi.object({ @@ -310,55 +66,6 @@ class BillingPlatformValidator { }).required(); } - /** @returns {GetCustomerDetailParam} */ - static getCustomerDetail() { - return Joi.object({}).required(); - } - - /** @returns {GetEnterprisePlansParam} */ - static getEnterprisePlans() { - return Joi.object({}).required(); - } - - /** @returns {GetFeatureLimitConfigParam} */ - static getFeatureLimitConfig() { - return Joi.object({ - productSuite: Joi.string().allow(""), - type: Joi.string().allow(""), - }).required(); - } - - /** @returns {GetInvoiceByIdParam} */ - static getInvoiceById() { - return Joi.object({ - invoiceId: Joi.string().allow("").required(), - }).required(); - } - - /** @returns {GetInvoicesParam} */ - static getInvoices() { - return Joi.object({}).required(); - } - - /** @returns {GetPaymentOptionsParam} */ - static getPaymentOptions() { - return Joi.object({ - transactionId: Joi.string().allow("").required(), - }).required(); - } - - /** @returns {GetPaymentTransactionParam} */ - static getPaymentTransaction() { - return Joi.object({ - transactionId: Joi.string().allow("").required(), - }).required(); - } - - /** @returns {GetSubscriptionParam} */ - static getSubscription() { - return Joi.object({}).required(); - } - /** @returns {GetSubscriptionChargeParam} */ static getSubscriptionCharge() { return Joi.object({ @@ -366,188 +73,6 @@ class BillingPlatformValidator { subscriptionId: Joi.string().allow("").required(), }).required(); } - - /** @returns {GetentityDetailParam} */ - static getentityDetail() { - return Joi.object({ - entityName: Joi.string().allow("").required(), - entityId: Joi.string().allow(""), - channel: Joi.string().allow("").required(), - component: Joi.string().allow(""), - componentName: Joi.string().allow(""), - }).required(); - } - - /** @returns {GlobalSettingsParam} */ - static globalSettings() { - return Joi.object({ - pageNo: Joi.number().required(), - pageSize: Joi.number().required(), - query: Joi.any().required(), - }).required(); - } - - /** @returns {MethodDefaultParam} */ - static methodDefault() { - return Joi.object({ - body: BillingPlatformModel.DefaultReq().required(), - }).required(); - } - - /** @returns {PaymentCollectParam} */ - static paymentCollect() { - return Joi.object({ - body: BillingPlatformModel.PaymentCollectReq().required(), - }).required(); - } - - /** @returns {PaymentInitiateParam} */ - static paymentInitiate() { - return Joi.object({ - body: BillingPlatformModel.SunscribePlan().required(), - }).required(); - } - - /** @returns {PaymentOptionsParam} */ - static paymentOptions() { - return Joi.object({ - code: Joi.string().allow("").required(), - }).required(); - } - - /** @returns {PaymentStatusParam} */ - static paymentStatus() { - return Joi.object({ - orderId: Joi.string().allow("").required(), - }).required(); - } - - /** @returns {PlanDowngradeParam} */ - static planDowngrade() { - return Joi.object({ - body: BillingPlatformModel.DowngradePlanReq().required(), - }).required(); - } - - /** @returns {PlanDowngradeGetParam} */ - static planDowngradeGet() { - return Joi.object({}).required(); - } - - /** @returns {PlanStatusUpdateParam} */ - static planStatusUpdate() { - return Joi.object({ - body: BillingPlatformModel.PlanStatusUpdateReq().required(), - }).required(); - } - - /** @returns {SetupIntentParam} */ - static setupIntent() { - return Joi.object({ - body: BillingPlatformModel.IntentReq().required(), - }).required(); - } - - /** @returns {SetupMandateParam} */ - static setupMandate() { - return Joi.object({ - body: BillingPlatformModel.SetupMandateReq().required(), - }).required(); - } - - /** @returns {SetupPaymentParam} */ - static setupPayment() { - return Joi.object({ - body: BillingPlatformModel.SetupPaymentReq().required(), - }).required(); - } - - /** @returns {SubscriptionConfigsParam} */ - static subscriptionConfigs() { - return Joi.object({}).required(); - } - - /** @returns {SubscriptionMethodsParam} */ - static subscriptionMethods() { - return Joi.object({ - uniqueExternalId: Joi.string().allow("").required(), - }).required(); - } - - /** @returns {SubscriptionMethodsDeleteParam} */ - static subscriptionMethodsDelete() { - return Joi.object({ - uniqueExternalId: Joi.string().allow("").required(), - paymentMethodId: Joi.string().allow("").required(), - }).required(); - } - - /** @returns {SubscriptionPlanChangeParam} */ - static subscriptionPlanChange() { - return Joi.object({ - productSuite: Joi.string().allow(""), - coupon: Joi.string().allow(""), - uniqueId: Joi.number(), - platform: Joi.string().allow(""), - planId: Joi.string().allow(""), - }).required(); - } - - /** @returns {SubscriptionRenewParam} */ - static subscriptionRenew() { - return Joi.object({ - body: BillingPlatformModel.SubscriptionRenewReq().required(), - }).required(); - } - - /** @returns {TopupCancelCreditParam} */ - static topupCancelCredit() { - return Joi.object({ - body: BillingPlatformModel.CancelTopupReq().required(), - }).required(); - } - - /** @returns {TopupCreditParam} */ - static topupCredit() { - return Joi.object({ - body: BillingPlatformModel.TopupReq().required(), - }).required(); - } - - /** @returns {UpdateConsentParam} */ - static updateConsent() { - return Joi.object({ - subscriberId: Joi.string().allow("").required(), - }).required(); - } - - /** @returns {UpdateSetupIntentParam} */ - static updateSetupIntent() { - return Joi.object({ - body: BillingPlatformModel.PutIntentReq().required(), - }).required(); - } - - /** @returns {UpgradePlanParam} */ - static upgradePlan() { - return Joi.object({ - body: BillingPlatformModel.SubscriptionMethodsReq().required(), - }).required(); - } - - /** @returns {UpsertCustomerDetailParam} */ - static upsertCustomerDetail() { - return Joi.object({ - body: BillingPlatformModel.SubscriptionCustomerCreate().required(), - }).required(); - } - - /** @returns {VerifyPaymentParam} */ - static verifyPayment() { - return Joi.object({ - body: BillingPlatformModel.VerifyPaymentReq().required(), - }).required(); - } } module.exports = BillingPlatformValidator; diff --git a/sdk/platform/Cart/CartPlatformModel.d.ts b/sdk/platform/Cart/CartPlatformModel.d.ts index 960721e22..893844980 100644 --- a/sdk/platform/Cart/CartPlatformModel.d.ts +++ b/sdk/platform/Cart/CartPlatformModel.d.ts @@ -161,13 +161,13 @@ export = CartPlatformModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef CouponsResponse @@ -1982,12 +1982,33 @@ type CouponAdd = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {CouponsResponse} */ diff --git a/sdk/platform/Cart/CartPlatformModel.js b/sdk/platform/Cart/CartPlatformModel.js index 5b4074777..4aef9d05e 100644 --- a/sdk/platform/Cart/CartPlatformModel.js +++ b/sdk/platform/Cart/CartPlatformModel.js @@ -184,13 +184,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** @@ -2412,7 +2412,7 @@ class CartPlatformModel { /** @returns {Restrictions1} */ static Restrictions1() { return Joi.object({ - payments: Joi.any(), + payments: Joi.object().pattern(/\S/, CartPlatformModel.PaymentModes()), user_registered: CartPlatformModel.UserRegistered(), platforms: Joi.array().items(Joi.string().allow("")), post_order: CartPlatformModel.PostOrder1(), diff --git a/sdk/platform/Catalog/CatalogPlatformClient.d.ts b/sdk/platform/Catalog/CatalogPlatformClient.d.ts index 90a7764d5..1f7ab4cd7 100644 --- a/sdk/platform/Catalog/CatalogPlatformClient.d.ts +++ b/sdk/platform/Catalog/CatalogPlatformClient.d.ts @@ -681,7 +681,7 @@ declare class Catalog { * @summary: List products * @description: Retrieve a list of available products - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/catalog/getProducts/). */ - getProducts({ brandIds, categoryIds, itemIds, departmentIds, itemCode, q, tags, pageNo, pageSize, requestHeaders, }?: CatalogPlatformValidator.GetProductsParam, { responseHeaders }?: object): Promise; + getProducts({ brandIds, categoryIds, itemIds, departmentIds, itemCode, name, slug, allIdentifiers, q, tags, pageNo, pageSize, pageType, sortOn, pageId, requestHeaders, }?: CatalogPlatformValidator.GetProductsParam, { responseHeaders }?: object): Promise; /** * @param {Object} arg - Arg object. * @param {number[]} [arg.brandIds] - Get multiple products filtered by Brand Ids @@ -691,23 +691,33 @@ declare class Catalog { * @param {number[]} [arg.departmentIds] - Get multiple products filtered by * Department Ids * @param {string[]} [arg.itemCode] - Get multiple products filtered by Item Code + * @param {string} [arg.name] - Get multiple products filtered by Name (Pattern Match) + * @param {string} [arg.slug] - Get multiple products filtered by Slug + * @param {string[]} [arg.allIdentifiers] - Get multiple products filtered + * by All Identifiers * @param {string} [arg.q] - Get multiple products filtered by q string * @param {string[]} [arg.tags] - Get multiple products filtered by tags * @param {number} [arg.pageSize] - Number of items to retrieve in each * page. Default is 10. + * @param {string} [arg.sortOn] - Field which is to be used for sorting, + * default is latest. Value can be latest (modified_on) or created (record id) * @returns {Paginator} * @summary: List products * @description: Retrieve a list of available products */ - getProductsPaginator({ brandIds, categoryIds, itemIds, departmentIds, itemCode, q, tags, pageSize, }?: { + getProductsPaginator({ brandIds, categoryIds, itemIds, departmentIds, itemCode, name, slug, allIdentifiers, q, tags, pageSize, sortOn, }?: { brandIds?: number[]; categoryIds?: number[]; itemIds?: number[]; departmentIds?: number[]; itemCode?: string[]; + name?: string; + slug?: string; + allIdentifiers?: string[]; q?: string; tags?: string[]; pageSize?: number; + sortOn?: string; }): Paginator; /** * @param {CatalogPlatformValidator.GetSellerInsightsParam} arg - Arg object diff --git a/sdk/platform/Catalog/CatalogPlatformClient.js b/sdk/platform/Catalog/CatalogPlatformClient.js index 1ee414334..0a543752d 100644 --- a/sdk/platform/Catalog/CatalogPlatformClient.js +++ b/sdk/platform/Catalog/CatalogPlatformClient.js @@ -4617,10 +4617,16 @@ class Catalog { itemIds, departmentIds, itemCode, + name, + slug, + allIdentifiers, q, tags, pageNo, pageSize, + pageType, + sortOn, + pageId, requestHeaders, } = { requestHeaders: {} }, { responseHeaders } = { responseHeaders: false } @@ -4632,10 +4638,16 @@ class Catalog { itemIds, departmentIds, itemCode, + name, + slug, + allIdentifiers, q, tags, pageNo, pageSize, + pageType, + sortOn, + pageId, }, { abortEarly: false, allowUnknown: true } ); @@ -4651,10 +4663,16 @@ class Catalog { itemIds, departmentIds, itemCode, + name, + slug, + allIdentifiers, q, tags, pageNo, pageSize, + pageType, + sortOn, + pageId, }, { abortEarly: false, allowUnknown: false } ); @@ -4671,10 +4689,16 @@ class Catalog { query_params["item_ids"] = itemIds; query_params["department_ids"] = departmentIds; query_params["item_code"] = itemCode; + query_params["name"] = name; + query_params["slug"] = slug; + query_params["all_identifiers"] = allIdentifiers; query_params["q"] = q; query_params["tags"] = tags; query_params["page_no"] = pageNo; query_params["page_size"] = pageSize; + query_params["page_type"] = pageType; + query_params["sort_on"] = sortOn; + query_params["page_id"] = pageId; const xHeaders = {}; @@ -4723,10 +4747,16 @@ class Catalog { * @param {number[]} [arg.departmentIds] - Get multiple products filtered by * Department Ids * @param {string[]} [arg.itemCode] - Get multiple products filtered by Item Code + * @param {string} [arg.name] - Get multiple products filtered by Name (Pattern Match) + * @param {string} [arg.slug] - Get multiple products filtered by Slug + * @param {string[]} [arg.allIdentifiers] - Get multiple products filtered + * by All Identifiers * @param {string} [arg.q] - Get multiple products filtered by q string * @param {string[]} [arg.tags] - Get multiple products filtered by tags * @param {number} [arg.pageSize] - Number of items to retrieve in each * page. Default is 10. + * @param {string} [arg.sortOn] - Field which is to be used for sorting, + * default is latest. Value can be latest (modified_on) or created (record id) * @returns {Paginator} * @summary: List products * @description: Retrieve a list of available products @@ -4737,25 +4767,35 @@ class Catalog { itemIds, departmentIds, itemCode, + name, + slug, + allIdentifiers, q, tags, pageSize, + sortOn, } = {}) { const paginator = new Paginator(); const callback = async () => { const pageId = paginator.nextId; const pageNo = paginator.pageNo; - const pageType = "number"; + const pageType = "cursor"; const data = await this.getProducts({ brandIds: brandIds, categoryIds: categoryIds, itemIds: itemIds, departmentIds: departmentIds, itemCode: itemCode, + name: name, + slug: slug, + allIdentifiers: allIdentifiers, q: q, tags: tags, pageNo: pageNo, pageSize: pageSize, + pageType: pageType, + sortOn: sortOn, + pageId: pageId, }); paginator.setPaginator({ hasNext: data.page.has_next ? true : false, diff --git a/sdk/platform/Catalog/CatalogPlatformModel.d.ts b/sdk/platform/Catalog/CatalogPlatformModel.d.ts index de3bd01e6..f75315517 100644 --- a/sdk/platform/Catalog/CatalogPlatformModel.d.ts +++ b/sdk/platform/Catalog/CatalogPlatformModel.d.ts @@ -1,7 +1,7 @@ export = CatalogPlatformModel; /** * @typedef Action - * @property {string} [type] + * @property {string} [type] - Type of action to be taken e.g, page. * @property {ActionPage} [page] * @property {ActionPage} [popup] */ @@ -2171,13 +2171,13 @@ export = CatalogPlatformModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef PageResponse @@ -3285,9 +3285,9 @@ export = CatalogPlatformModel; */ /** * @typedef ActionPage - * @property {Object} [params] - * @property {Object} [query] - * @property {string} [url] + * @property {Object} [params] - Parameters that should be considered in path. + * @property {Object} [query] - Query parameter if any to be added to the action. + * @property {string} [url] - The URL for the action. * @property {PageType} type */ /** @@ -3302,6 +3302,7 @@ export = CatalogPlatformModel; * | "category" * | "collection" * | "collections" + * | "custom" * | "contact-us" * | "external" * | "faq" @@ -3346,6 +3347,9 @@ declare namespace CatalogPlatformModel { /** @returns {Action} */ declare function Action(): Action; type Action = { + /** + * - Type of action to be taken e.g, page. + */ type?: string; page?: ActionPage; popup?: ActionPage; @@ -6644,12 +6648,33 @@ type PTErrorResponse = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {PageResponse} */ @@ -8065,8 +8090,17 @@ type UpdateMarketplaceOptinResponse = { /** @returns {ActionPage} */ declare function ActionPage(): ActionPage; type ActionPage = { + /** + * - Parameters that should be considered in path. + */ params?: any; + /** + * - Query parameter if any to be added to the action. + */ query?: any; + /** + * - The URL for the action. + */ url?: string; type: PageType; }; @@ -8076,4 +8110,4 @@ type ActionPage = { * @returns {PageType} */ declare function PageType(): PageType; -type PageType = "about-us" | "addresses" | "blog" | "brands" | "cards" | "cart" | "categories" | "brand" | "category" | "collection" | "collections" | "contact-us" | "external" | "faq" | "freshchat" | "home" | "notification-settings" | "orders" | "page" | "policy" | "product" | "product-request" | "products" | "profile" | "profile-order-shipment" | "profile-basic" | "profile-company" | "profile-emails" | "profile-phones" | "rate-us" | "refer-earn" | "settings" | "shared-cart" | "tnc" | "track-order" | "wishlist" | "sections" | "form" | "cart-delivery" | "cart-payment" | "cart-review" | "login" | "register" | "shipping-policy" | "return-policy" | "order-status"; +type PageType = "about-us" | "addresses" | "blog" | "brands" | "cards" | "cart" | "categories" | "brand" | "category" | "collection" | "collections" | "custom" | "contact-us" | "external" | "faq" | "freshchat" | "home" | "notification-settings" | "orders" | "page" | "policy" | "product" | "product-request" | "products" | "profile" | "profile-order-shipment" | "profile-basic" | "profile-company" | "profile-emails" | "profile-phones" | "rate-us" | "refer-earn" | "settings" | "shared-cart" | "tnc" | "track-order" | "wishlist" | "sections" | "form" | "cart-delivery" | "cart-payment" | "cart-review" | "login" | "register" | "shipping-policy" | "return-policy" | "order-status"; diff --git a/sdk/platform/Catalog/CatalogPlatformModel.js b/sdk/platform/Catalog/CatalogPlatformModel.js index 0130dd033..5d9b8d185 100644 --- a/sdk/platform/Catalog/CatalogPlatformModel.js +++ b/sdk/platform/Catalog/CatalogPlatformModel.js @@ -2,7 +2,7 @@ const Joi = require("joi"); /** * @typedef Action - * @property {string} [type] + * @property {string} [type] - Type of action to be taken e.g, page. * @property {ActionPage} [page] * @property {ActionPage} [popup] */ @@ -2427,13 +2427,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** @@ -3659,9 +3659,9 @@ const Joi = require("joi"); /** * @typedef ActionPage - * @property {Object} [params] - * @property {Object} [query] - * @property {string} [url] + * @property {Object} [params] - Parameters that should be considered in path. + * @property {Object} [query] - Query parameter if any to be added to the action. + * @property {string} [url] - The URL for the action. * @property {PageType} type */ @@ -3677,6 +3677,7 @@ const Joi = require("joi"); * | "category" * | "collection" * | "collections" + * | "custom" * | "contact-us" * | "external" * | "faq" @@ -8150,6 +8151,8 @@ class CatalogPlatformModel { "collections", + "custom", + "contact-us", "external", diff --git a/sdk/platform/Catalog/CatalogPlatformValidator.d.ts b/sdk/platform/Catalog/CatalogPlatformValidator.d.ts index 8db03010d..6365b6345 100644 --- a/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +++ b/sdk/platform/Catalog/CatalogPlatformValidator.d.ts @@ -290,12 +290,23 @@ export = CatalogPlatformValidator; * @property {number[]} [itemIds] - Get multiple products filtered by Item Ids * @property {number[]} [departmentIds] - Get multiple products filtered by Department Ids * @property {string[]} [itemCode] - Get multiple products filtered by Item Code + * @property {string} [name] - Get multiple products filtered by Name (Pattern Match) + * @property {string} [slug] - Get multiple products filtered by Slug + * @property {string[]} [allIdentifiers] - Get multiple products filtered by All + * Identifiers * @property {string} [q] - Get multiple products filtered by q string * @property {string[]} [tags] - Get multiple products filtered by tags * @property {number} [pageNo] - The page number to navigate through the given * set of results * @property {number} [pageSize] - Number of items to retrieve in each page. * Default is 10. + * @property {string} [pageType] - For pagination type value can be cursor or + * number. Default is number. + * @property {string} [sortOn] - Field which is to be used for sorting, default + * is latest. Value can be latest (modified_on) or created (record id) + * @property {string} [pageId] - If page_type is cursor, each response will + * contain **next_id** param (datetime or id depending upon sort_on), which + * should be sent back as page_id to make cursor pagination work. */ /** * @typedef GetSellerInsightsParam @@ -1137,6 +1148,19 @@ type GetProductsParam = { * - Get multiple products filtered by Item Code */ itemCode?: string[]; + /** + * - Get multiple products filtered by Name (Pattern Match) + */ + name?: string; + /** + * - Get multiple products filtered by Slug + */ + slug?: string; + /** + * - Get multiple products filtered by All + * Identifiers + */ + allIdentifiers?: string[]; /** * - Get multiple products filtered by q string */ @@ -1155,6 +1179,22 @@ type GetProductsParam = { * Default is 10. */ pageSize?: number; + /** + * - For pagination type value can be cursor or + * number. Default is number. + */ + pageType?: string; + /** + * - Field which is to be used for sorting, default + * is latest. Value can be latest (modified_on) or created (record id) + */ + sortOn?: string; + /** + * - If page_type is cursor, each response will + * contain **next_id** param (datetime or id depending upon sort_on), which + * should be sent back as page_id to make cursor pagination work. + */ + pageId?: string; }; type GetSellerInsightsParam = { /** diff --git a/sdk/platform/Catalog/CatalogPlatformValidator.js b/sdk/platform/Catalog/CatalogPlatformValidator.js index 090e4b1b8..793294017 100644 --- a/sdk/platform/Catalog/CatalogPlatformValidator.js +++ b/sdk/platform/Catalog/CatalogPlatformValidator.js @@ -345,12 +345,23 @@ const CatalogPlatformModel = require("./CatalogPlatformModel"); * @property {number[]} [itemIds] - Get multiple products filtered by Item Ids * @property {number[]} [departmentIds] - Get multiple products filtered by Department Ids * @property {string[]} [itemCode] - Get multiple products filtered by Item Code + * @property {string} [name] - Get multiple products filtered by Name (Pattern Match) + * @property {string} [slug] - Get multiple products filtered by Slug + * @property {string[]} [allIdentifiers] - Get multiple products filtered by All + * Identifiers * @property {string} [q] - Get multiple products filtered by q string * @property {string[]} [tags] - Get multiple products filtered by tags * @property {number} [pageNo] - The page number to navigate through the given * set of results * @property {number} [pageSize] - Number of items to retrieve in each page. * Default is 10. + * @property {string} [pageType] - For pagination type value can be cursor or + * number. Default is number. + * @property {string} [sortOn] - Field which is to be used for sorting, default + * is latest. Value can be latest (modified_on) or created (record id) + * @property {string} [pageId] - If page_type is cursor, each response will + * contain **next_id** param (datetime or id depending upon sort_on), which + * should be sent back as page_id to make cursor pagination work. */ /** @@ -963,10 +974,16 @@ class CatalogPlatformValidator { itemIds: Joi.array().items(Joi.number()), departmentIds: Joi.array().items(Joi.number()), itemCode: Joi.array().items(Joi.string().allow("")), + name: Joi.string().allow(""), + slug: Joi.string().allow(""), + allIdentifiers: Joi.array().items(Joi.string().allow("")), q: Joi.string().allow(""), tags: Joi.array().items(Joi.string().allow("")), pageNo: Joi.number(), pageSize: Joi.number(), + pageType: Joi.string().allow(""), + sortOn: Joi.string().allow(""), + pageId: Joi.string().allow(""), }).required(); } diff --git a/sdk/platform/Communication/CommunicationPlatformModel.d.ts b/sdk/platform/Communication/CommunicationPlatformModel.d.ts index 800748345..35f664e19 100644 --- a/sdk/platform/Communication/CommunicationPlatformModel.d.ts +++ b/sdk/platform/Communication/CommunicationPlatformModel.d.ts @@ -804,13 +804,13 @@ export = CommunicationPlatformModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef GenericError @@ -1825,12 +1825,33 @@ type SystemNotifications = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {GenericError} */ diff --git a/sdk/platform/Communication/CommunicationPlatformModel.js b/sdk/platform/Communication/CommunicationPlatformModel.js index 827832379..bdb024cf4 100644 --- a/sdk/platform/Communication/CommunicationPlatformModel.js +++ b/sdk/platform/Communication/CommunicationPlatformModel.js @@ -912,13 +912,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** diff --git a/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts b/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts index 4a4e59d42..a9cbce049 100644 --- a/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +++ b/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts @@ -259,13 +259,13 @@ export = CompanyProfilePlatformModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef CompanyBrandListSerializer @@ -733,12 +733,33 @@ type CompanyBrandSerializer = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {CompanyBrandListSerializer} */ diff --git a/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js b/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js index 22aa23a81..7bdd5f29b 100644 --- a/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +++ b/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js @@ -286,13 +286,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** diff --git a/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts b/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts index 680607cc8..bb5dd5950 100644 --- a/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts +++ b/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts @@ -23,18 +23,6 @@ declare class Configuration { * @description: Retrieve a list of available sales channels. sales channels are sales channel websites which can be configured, personalized and customised. Use this API to fetch a list of sales channels created within a company. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getApplications/). */ getApplications({ pageNo, pageSize, q, requestHeaders }?: ConfigurationPlatformValidator.GetApplicationsParam, { responseHeaders }?: object): Promise; - /** - * @param {ConfigurationPlatformValidator.GetAvailableOptInsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - * - Success response - * - * @name getAvailableOptIns - * @summary: List available opt-ins - * @description: Retrieve a list of available opt-ins. Retrieve a list of all available integrations in a company. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getAvailableOptIns/). - */ - getAvailableOptIns({ pageNo, pageSize, requestHeaders }?: ConfigurationPlatformValidator.GetAvailableOptInsParam, { responseHeaders }?: object): Promise; /** * @param {ConfigurationPlatformValidator.GetBrandsByCompanyParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` @@ -80,55 +68,6 @@ declare class Configuration { * @description: Check the availability of a specific domain. Use this API to check the domain availability before linking it to sales channel. Also sends domain suggestions that are similar to the queried domain. Note - Custom domain search is currently powered by GoDaddy provider. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getDomainAvailibility/). */ getDomainAvailibility({ body, requestHeaders }?: ConfigurationPlatformValidator.GetDomainAvailibilityParam, { responseHeaders }?: object): Promise; - /** - * @param {ConfigurationPlatformValidator.GetIntegrationByIdParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getIntegrationById - * @summary: Get integration by Id - * @description: Retrieve detailed information about a specific integration. Retrieve the details of an integration (such as Ginesys, SAP, etc.) using its ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getIntegrationById/). - */ - getIntegrationById({ id, requestHeaders }?: ConfigurationPlatformValidator.GetIntegrationByIdParam, { responseHeaders }?: object): Promise; - /** - * @param {ConfigurationPlatformValidator.GetIntegrationByLevelIdParam} arg - * - Arg object - * - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getIntegrationByLevelId - * @summary: Get integration Id - * @description: Retrieve integration details for a specific level. Retrieve the configuration details of an integration such as token, permissions, level, opted value, uid, meta, location ID, etc. at a particular level (store/company). - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getIntegrationByLevelId/). - */ - getIntegrationByLevelId({ id, level, uid, requestHeaders }?: ConfigurationPlatformValidator.GetIntegrationByLevelIdParam, { responseHeaders }?: object): Promise; - /** - * @param {ConfigurationPlatformValidator.GetIntegrationLevelConfigParam} arg - * - Arg object - * - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - * - Success response - * - * @name getIntegrationLevelConfig - * @summary: Get level configuration - * @description: Retrieve configuration settings for integration levels. Retrieve the configuration details of an integration such as token, permissions, level, opted value, uid, meta, location ID, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getIntegrationLevelConfig/). - */ - getIntegrationLevelConfig({ id, level, opted, checkPermission, requestHeaders }?: ConfigurationPlatformValidator.GetIntegrationLevelConfigParam, { responseHeaders }?: object): Promise; - /** - * @param {ConfigurationPlatformValidator.GetLevelActiveIntegrationsParam} arg - * - Arg object - * - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - - * Success response - * @name getLevelActiveIntegrations - * @summary: Get active integrations - * @description: Check if a store is already opted-in for any integration - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getLevelActiveIntegrations/). - */ - getLevelActiveIntegrations({ id, level, uid, requestHeaders }?: ConfigurationPlatformValidator.GetLevelActiveIntegrationsParam, { responseHeaders }?: object): Promise; /** * @param {ConfigurationPlatformValidator.GetOtherSellerApplicationByIdParam} arg * - Arg object @@ -156,18 +95,6 @@ declare class Configuration { * @description: Retrieve sales channels of other sellers. Retrieve all other seller sales channels that were not created within the current company. but have opted for the current company's inventory. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getOtherSellerApplications/). */ getOtherSellerApplications({ pageNo, pageSize, requestHeaders }?: ConfigurationPlatformValidator.GetOtherSellerApplicationsParam, { responseHeaders }?: object): Promise; - /** - * @param {ConfigurationPlatformValidator.GetSelectedOptInsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - * - Success response - * - * @name getSelectedOptIns - * @summary: List selected opt-in - * @description: Retrieve a list of selected opt-ins. Retrieve the store-level/company-level integrations configured in a company - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getSelectedOptIns/). - */ - getSelectedOptIns({ level, uid, pageNo, pageSize, requestHeaders }?: ConfigurationPlatformValidator.GetSelectedOptInsParam, { responseHeaders }?: object): Promise; /** * @param {ConfigurationPlatformValidator.GetStoreByBrandsParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` @@ -190,30 +117,6 @@ declare class Configuration { * @description: This API allows businesses to opt out of sharing their inventory with external seller sales channels. By using this API, companies or stores can prevent specific seller sales channels from fetching their inventory data. This feature is useful for businesses that want to control who can access their product listings and other inventory information. It helps maintain privacy and control over data distribution, ensuring that sensitive information is only shared with authorized partners. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/optOutFromApplication/). */ optOutFromApplication({ id, body, requestHeaders }?: ConfigurationPlatformValidator.OptOutFromApplicationParam, { responseHeaders }?: object): Promise; - /** - * @param {ConfigurationPlatformValidator.UpdateLevelIntegrationParam} arg - * - Arg object - * - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name updateLevelIntegration - * @summary: Update level integration - * @description: Modify level integration. Update the configuration details of an integration such as token, permissions, level, opted value, uid, meta, location ID, etc. at a particular level (store/company). - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/updateLevelIntegration/). - */ - updateLevelIntegration({ id, level, body, requestHeaders }?: ConfigurationPlatformValidator.UpdateLevelIntegrationParam, { responseHeaders }?: object): Promise; - /** - * @param {ConfigurationPlatformValidator.UpdateLevelUidIntegrationParam} arg - * - Arg object - * - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name updateLevelUidIntegration - * @summary: Update level UID integration - * @description: Modify UID-based integration. Update the level of integration by store UID - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/updateLevelUidIntegration/). - */ - updateLevelUidIntegration({ id, level, uid, body, requestHeaders }?: ConfigurationPlatformValidator.UpdateLevelUidIntegrationParam, { responseHeaders }?: object): Promise; } import ConfigurationPlatformValidator = require("./ConfigurationPlatformValidator"); import ConfigurationPlatformModel = require("./ConfigurationPlatformModel"); diff --git a/sdk/platform/Configuration/ConfigurationPlatformClient.js b/sdk/platform/Configuration/ConfigurationPlatformClient.js index c588011dc..4bfbd2e83 100644 --- a/sdk/platform/Configuration/ConfigurationPlatformClient.js +++ b/sdk/platform/Configuration/ConfigurationPlatformClient.js @@ -182,93 +182,6 @@ class Configuration { return response; } - /** - * @param {ConfigurationPlatformValidator.GetAvailableOptInsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - * - Success response - * - * @name getAvailableOptIns - * @summary: List available opt-ins - * @description: Retrieve a list of available opt-ins. Retrieve a list of all available integrations in a company. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getAvailableOptIns/). - */ - async getAvailableOptIns( - { pageNo, pageSize, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { - error, - } = ConfigurationPlatformValidator.getAvailableOptIns().validate( - { - pageNo, - pageSize, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = ConfigurationPlatformValidator.getAvailableOptIns().validate( - { - pageNo, - pageSize, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Configuration > getAvailableOptIns \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["page_no"] = pageNo; - query_params["page_size"] = pageSize; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/configuration/v1.0/company/${this.config.companyId}/integration-opt-in/available`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = ConfigurationPlatformModel.GetIntegrationsOptInsResponse().validate( - responseData, - { abortEarly: false, allowUnknown: true } - ); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Configuration > getAvailableOptIns \n ${res_error}`, - }); - } - } - - return response; - } - /** * @param {ConfigurationPlatformValidator.GetBrandsByCompanyParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` @@ -600,21 +513,25 @@ class Configuration { } /** - * @param {ConfigurationPlatformValidator.GetIntegrationByIdParam} arg - Arg object + * @param {ConfigurationPlatformValidator.GetOtherSellerApplicationByIdParam} arg + * - Arg object + * * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getIntegrationById - * @summary: Get integration by Id - * @description: Retrieve detailed information about a specific integration. Retrieve the details of an integration (such as Ginesys, SAP, etc.) using its ID. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getIntegrationById/). + * @returns {Promise} + * - Success response + * + * @name getOtherSellerApplicationById + * @summary: Get others sales. channel + * @description: Retrieve details of a seller sales channel that was not created within the current company but has opted for the current company's inventory and searched via the sales channel ID of another sales channel - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getOtherSellerApplicationById/). */ - async getIntegrationById( + async getOtherSellerApplicationById( { id, requestHeaders } = { requestHeaders: {} }, { responseHeaders } = { responseHeaders: false } ) { const { error, - } = ConfigurationPlatformValidator.getIntegrationById().validate( + } = ConfigurationPlatformValidator.getOtherSellerApplicationById().validate( { id, }, @@ -627,7 +544,7 @@ class Configuration { // Showing warrnings if extra unknown parameters are found const { error: warrning, - } = ConfigurationPlatformValidator.getIntegrationById().validate( + } = ConfigurationPlatformValidator.getOtherSellerApplicationById().validate( { id, }, @@ -636,7 +553,7 @@ class Configuration { if (warrning) { Logger({ level: "WARN", - message: `Parameter Validation warrnings for platform > Configuration > getIntegrationById \n ${warrning}`, + message: `Parameter Validation warrnings for platform > Configuration > getOtherSellerApplicationById \n ${warrning}`, }); } @@ -647,7 +564,7 @@ class Configuration { const response = await PlatformAPIClient.execute( this.config, "get", - `/service/platform/configuration/v1.0/company/${this.config.companyId}/integration/${id}`, + `/service/platform/configuration/v1.0/company/${this.config.companyId}/other-seller-applications/${id}`, query_params, undefined, { ...xHeaders, ...requestHeaders }, @@ -661,97 +578,10 @@ class Configuration { const { error: res_error, - } = ConfigurationPlatformModel.Integration().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Configuration > getIntegrationById \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {ConfigurationPlatformValidator.GetIntegrationByLevelIdParam} arg - * - Arg object - * - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getIntegrationByLevelId - * @summary: Get integration Id - * @description: Retrieve integration details for a specific level. Retrieve the configuration details of an integration such as token, permissions, level, opted value, uid, meta, location ID, etc. at a particular level (store/company). - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getIntegrationByLevelId/). - */ - async getIntegrationByLevelId( - { id, level, uid, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { - error, - } = ConfigurationPlatformValidator.getIntegrationByLevelId().validate( - { - id, - level, - uid, - }, + } = ConfigurationPlatformModel.OptedApplicationResponse().validate( + responseData, { abortEarly: false, allowUnknown: true } ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = ConfigurationPlatformValidator.getIntegrationByLevelId().validate( - { - id, - level, - uid, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Configuration > getIntegrationByLevelId \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/configuration/v1.0/company/${this.config.companyId}/integration-opt-in/configuration/${id}/${level}/${uid}`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = ConfigurationPlatformModel.IntegrationLevel().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); if (res_error) { if (this.config.options.strictResponseCheck === true) { @@ -759,7 +589,7 @@ class Configuration { } else { Logger({ level: "WARN", - message: `Response Validation Warnings for platform > Configuration > getIntegrationByLevelId \n ${res_error}`, + message: `Response Validation Warnings for platform > Configuration > getOtherSellerApplicationById \n ${res_error}`, }); } } @@ -768,32 +598,27 @@ class Configuration { } /** - * @param {ConfigurationPlatformValidator.GetIntegrationLevelConfigParam} arg + * @param {ConfigurationPlatformValidator.GetOtherSellerApplicationsParam} arg * - Arg object * * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - * - Success response - * - * @name getIntegrationLevelConfig - * @summary: Get level configuration - * @description: Retrieve configuration settings for integration levels. Retrieve the configuration details of an integration such as token, permissions, level, opted value, uid, meta, location ID, etc. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getIntegrationLevelConfig/). + * @returns {Promise} - + * Success response + * @name getOtherSellerApplications + * @summary: Get other sales channel + * @description: Retrieve sales channels of other sellers. Retrieve all other seller sales channels that were not created within the current company. but have opted for the current company's inventory. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getOtherSellerApplications/). */ - async getIntegrationLevelConfig( - { id, level, opted, checkPermission, requestHeaders } = { - requestHeaders: {}, - }, + async getOtherSellerApplications( + { pageNo, pageSize, requestHeaders } = { requestHeaders: {} }, { responseHeaders } = { responseHeaders: false } ) { const { error, - } = ConfigurationPlatformValidator.getIntegrationLevelConfig().validate( + } = ConfigurationPlatformValidator.getOtherSellerApplications().validate( { - id, - level, - opted, - checkPermission, + pageNo, + pageSize, }, { abortEarly: false, allowUnknown: true } ); @@ -804,32 +629,30 @@ class Configuration { // Showing warrnings if extra unknown parameters are found const { error: warrning, - } = ConfigurationPlatformValidator.getIntegrationLevelConfig().validate( + } = ConfigurationPlatformValidator.getOtherSellerApplications().validate( { - id, - level, - opted, - checkPermission, + pageNo, + pageSize, }, { abortEarly: false, allowUnknown: false } ); if (warrning) { Logger({ level: "WARN", - message: `Parameter Validation warrnings for platform > Configuration > getIntegrationLevelConfig \n ${warrning}`, + message: `Parameter Validation warrnings for platform > Configuration > getOtherSellerApplications \n ${warrning}`, }); } const query_params = {}; - query_params["opted"] = opted; - query_params["check_permission"] = checkPermission; + query_params["page_no"] = pageNo; + query_params["page_size"] = pageSize; const xHeaders = {}; const response = await PlatformAPIClient.execute( this.config, "get", - `/service/platform/configuration/v1.0/company/${this.config.companyId}/integration-opt-in/configuration/${id}/${level}`, + `/service/platform/configuration/v1.0/company/${this.config.companyId}/other-seller-applications`, query_params, undefined, { ...xHeaders, ...requestHeaders }, @@ -843,7 +666,7 @@ class Configuration { const { error: res_error, - } = ConfigurationPlatformModel.IntegrationConfigResponse().validate( + } = ConfigurationPlatformModel.OtherSellerApplications().validate( responseData, { abortEarly: false, allowUnknown: true } ); @@ -854,7 +677,7 @@ class Configuration { } else { Logger({ level: "WARN", - message: `Response Validation Warnings for platform > Configuration > getIntegrationLevelConfig \n ${res_error}`, + message: `Response Validation Warnings for platform > Configuration > getOtherSellerApplications \n ${res_error}`, }); } } @@ -863,28 +686,26 @@ class Configuration { } /** - * @param {ConfigurationPlatformValidator.GetLevelActiveIntegrationsParam} arg - * - Arg object - * + * @param {ConfigurationPlatformValidator.GetStoreByBrandsParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - + * @returns {Promise} - * Success response - * @name getLevelActiveIntegrations - * @summary: Get active integrations - * @description: Check if a store is already opted-in for any integration - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getLevelActiveIntegrations/). + * @name getStoreByBrands + * @summary: Get store by brands + * @description: Retrieve stores associated with specific brands. Retrieve a list of selling locations (stores) by the brands they deal. Store has information about store name, store type, store code, store address, and company detail. filtering can be done on brand id and brand names - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getStoreByBrands/). */ - async getLevelActiveIntegrations( - { id, level, uid, requestHeaders } = { requestHeaders: {} }, + async getStoreByBrands( + { body, pageNo, pageSize, requestHeaders } = { requestHeaders: {} }, { responseHeaders } = { responseHeaders: false } ) { const { error, - } = ConfigurationPlatformValidator.getLevelActiveIntegrations().validate( + } = ConfigurationPlatformValidator.getStoreByBrands().validate( { - id, - level, - uid, + body, + pageNo, + pageSize, }, { abortEarly: false, allowUnknown: true } ); @@ -895,31 +716,33 @@ class Configuration { // Showing warrnings if extra unknown parameters are found const { error: warrning, - } = ConfigurationPlatformValidator.getLevelActiveIntegrations().validate( + } = ConfigurationPlatformValidator.getStoreByBrands().validate( { - id, - level, - uid, + body, + pageNo, + pageSize, }, { abortEarly: false, allowUnknown: false } ); if (warrning) { Logger({ level: "WARN", - message: `Parameter Validation warrnings for platform > Configuration > getLevelActiveIntegrations \n ${warrning}`, + message: `Parameter Validation warrnings for platform > Configuration > getStoreByBrands \n ${warrning}`, }); } const query_params = {}; + query_params["page_no"] = pageNo; + query_params["page_size"] = pageSize; const xHeaders = {}; const response = await PlatformAPIClient.execute( this.config, - "get", - `/service/platform/configuration/v1.0/company/${this.config.companyId}/integration-opt-in/check/configuration/${id}/${level}/${uid}`, + "post", + `/service/platform/configuration/v1.0/company/${this.config.companyId}/inventory/stores-by-brands`, query_params, - undefined, + body, { ...xHeaders, ...requestHeaders }, { responseHeaders } ); @@ -931,7 +754,7 @@ class Configuration { const { error: res_error, - } = ConfigurationPlatformModel.OptedStoreIntegration().validate( + } = ConfigurationPlatformModel.StoreByBrandsResponse().validate( responseData, { abortEarly: false, allowUnknown: true } ); @@ -942,7 +765,7 @@ class Configuration { } else { Logger({ level: "WARN", - message: `Response Validation Warnings for platform > Configuration > getLevelActiveIntegrations \n ${res_error}`, + message: `Response Validation Warnings for platform > Configuration > getStoreByBrands \n ${res_error}`, }); } } @@ -951,27 +774,25 @@ class Configuration { } /** - * @param {ConfigurationPlatformValidator.GetOtherSellerApplicationByIdParam} arg - * - Arg object - * + * @param {ConfigurationPlatformValidator.OptOutFromApplicationParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - * - Success response - * - * @name getOtherSellerApplicationById - * @summary: Get others sales. channel - * @description: Retrieve details of a seller sales channel that was not created within the current company but has opted for the current company's inventory and searched via the sales channel ID of another sales channel - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getOtherSellerApplicationById/). + * @returns {Promise} - + * Success response + * @name optOutFromApplication + * @summary: opt out of marketplaces + * @description: This API allows businesses to opt out of sharing their inventory with external seller sales channels. By using this API, companies or stores can prevent specific seller sales channels from fetching their inventory data. This feature is useful for businesses that want to control who can access their product listings and other inventory information. It helps maintain privacy and control over data distribution, ensuring that sensitive information is only shared with authorized partners. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/optOutFromApplication/). */ - async getOtherSellerApplicationById( - { id, requestHeaders } = { requestHeaders: {} }, + async optOutFromApplication( + { id, body, requestHeaders } = { requestHeaders: {} }, { responseHeaders } = { responseHeaders: false } ) { const { error, - } = ConfigurationPlatformValidator.getOtherSellerApplicationById().validate( + } = ConfigurationPlatformValidator.optOutFromApplication().validate( { id, + body, }, { abortEarly: false, allowUnknown: true } ); @@ -982,16 +803,17 @@ class Configuration { // Showing warrnings if extra unknown parameters are found const { error: warrning, - } = ConfigurationPlatformValidator.getOtherSellerApplicationById().validate( + } = ConfigurationPlatformValidator.optOutFromApplication().validate( { id, + body, }, { abortEarly: false, allowUnknown: false } ); if (warrning) { Logger({ level: "WARN", - message: `Parameter Validation warrnings for platform > Configuration > getOtherSellerApplicationById \n ${warrning}`, + message: `Parameter Validation warrnings for platform > Configuration > optOutFromApplication \n ${warrning}`, }); } @@ -1001,10 +823,10 @@ class Configuration { const response = await PlatformAPIClient.execute( this.config, - "get", - `/service/platform/configuration/v1.0/company/${this.config.companyId}/other-seller-applications/${id}`, + "put", + `/service/platform/configuration/v1.0/company/${this.config.companyId}/other-seller-applications/${id}/opt_out`, query_params, - undefined, + body, { ...xHeaders, ...requestHeaders }, { responseHeaders } ); @@ -1016,358 +838,7 @@ class Configuration { const { error: res_error, - } = ConfigurationPlatformModel.OptedApplicationResponse().validate( - responseData, - { abortEarly: false, allowUnknown: true } - ); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Configuration > getOtherSellerApplicationById \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {ConfigurationPlatformValidator.GetOtherSellerApplicationsParam} arg - * - Arg object - * - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - - * Success response - * @name getOtherSellerApplications - * @summary: Get other sales channel - * @description: Retrieve sales channels of other sellers. Retrieve all other seller sales channels that were not created within the current company. but have opted for the current company's inventory. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getOtherSellerApplications/). - */ - async getOtherSellerApplications( - { pageNo, pageSize, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { - error, - } = ConfigurationPlatformValidator.getOtherSellerApplications().validate( - { - pageNo, - pageSize, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = ConfigurationPlatformValidator.getOtherSellerApplications().validate( - { - pageNo, - pageSize, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Configuration > getOtherSellerApplications \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["page_no"] = pageNo; - query_params["page_size"] = pageSize; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/configuration/v1.0/company/${this.config.companyId}/other-seller-applications`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = ConfigurationPlatformModel.OtherSellerApplications().validate( - responseData, - { abortEarly: false, allowUnknown: true } - ); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Configuration > getOtherSellerApplications \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {ConfigurationPlatformValidator.GetSelectedOptInsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - * - Success response - * - * @name getSelectedOptIns - * @summary: List selected opt-in - * @description: Retrieve a list of selected opt-ins. Retrieve the store-level/company-level integrations configured in a company - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getSelectedOptIns/). - */ - async getSelectedOptIns( - { level, uid, pageNo, pageSize, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { - error, - } = ConfigurationPlatformValidator.getSelectedOptIns().validate( - { - level, - uid, - pageNo, - pageSize, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = ConfigurationPlatformValidator.getSelectedOptIns().validate( - { - level, - uid, - pageNo, - pageSize, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Configuration > getSelectedOptIns \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["page_no"] = pageNo; - query_params["page_size"] = pageSize; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/configuration/v1.0/company/${this.config.companyId}/integration-opt-in/selected/${level}/${uid}`, - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = ConfigurationPlatformModel.GetIntegrationsOptInsResponse().validate( - responseData, - { abortEarly: false, allowUnknown: true } - ); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Configuration > getSelectedOptIns \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {ConfigurationPlatformValidator.GetStoreByBrandsParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - - * Success response - * @name getStoreByBrands - * @summary: Get store by brands - * @description: Retrieve stores associated with specific brands. Retrieve a list of selling locations (stores) by the brands they deal. Store has information about store name, store type, store code, store address, and company detail. filtering can be done on brand id and brand names - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/getStoreByBrands/). - */ - async getStoreByBrands( - { body, pageNo, pageSize, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { - error, - } = ConfigurationPlatformValidator.getStoreByBrands().validate( - { - body, - pageNo, - pageSize, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = ConfigurationPlatformValidator.getStoreByBrands().validate( - { - body, - pageNo, - pageSize, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Configuration > getStoreByBrands \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["page_no"] = pageNo; - query_params["page_size"] = pageSize; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "post", - `/service/platform/configuration/v1.0/company/${this.config.companyId}/inventory/stores-by-brands`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = ConfigurationPlatformModel.StoreByBrandsResponse().validate( - responseData, - { abortEarly: false, allowUnknown: true } - ); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Configuration > getStoreByBrands \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {ConfigurationPlatformValidator.OptOutFromApplicationParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - - * Success response - * @name optOutFromApplication - * @summary: opt out of marketplaces - * @description: This API allows businesses to opt out of sharing their inventory with external seller sales channels. By using this API, companies or stores can prevent specific seller sales channels from fetching their inventory data. This feature is useful for businesses that want to control who can access their product listings and other inventory information. It helps maintain privacy and control over data distribution, ensuring that sensitive information is only shared with authorized partners. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/optOutFromApplication/). - */ - async optOutFromApplication( - { id, body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { - error, - } = ConfigurationPlatformValidator.optOutFromApplication().validate( - { - id, - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = ConfigurationPlatformValidator.optOutFromApplication().validate( - { - id, - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Configuration > optOutFromApplication \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "put", - `/service/platform/configuration/v1.0/company/${this.config.companyId}/other-seller-applications/${id}/opt_out`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = ConfigurationPlatformModel.SuccessMessageResponse().validate( + } = ConfigurationPlatformModel.SuccessMessageResponse().validate( responseData, { abortEarly: false, allowUnknown: true } ); @@ -1385,182 +856,6 @@ class Configuration { return response; } - - /** - * @param {ConfigurationPlatformValidator.UpdateLevelIntegrationParam} arg - * - Arg object - * - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name updateLevelIntegration - * @summary: Update level integration - * @description: Modify level integration. Update the configuration details of an integration such as token, permissions, level, opted value, uid, meta, location ID, etc. at a particular level (store/company). - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/updateLevelIntegration/). - */ - async updateLevelIntegration( - { id, level, body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { - error, - } = ConfigurationPlatformValidator.updateLevelIntegration().validate( - { - id, - level, - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = ConfigurationPlatformValidator.updateLevelIntegration().validate( - { - id, - level, - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Configuration > updateLevelIntegration \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "put", - `/service/platform/configuration/v1.0/company/${this.config.companyId}/integration-opt-in/configuration/${id}/${level}`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = ConfigurationPlatformModel.IntegrationLevel().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Configuration > updateLevelIntegration \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {ConfigurationPlatformValidator.UpdateLevelUidIntegrationParam} arg - * - Arg object - * - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name updateLevelUidIntegration - * @summary: Update level UID integration - * @description: Modify UID-based integration. Update the level of integration by store UID - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/configuration/updateLevelUidIntegration/). - */ - async updateLevelUidIntegration( - { id, level, uid, body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { - error, - } = ConfigurationPlatformValidator.updateLevelUidIntegration().validate( - { - id, - level, - uid, - body, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = ConfigurationPlatformValidator.updateLevelUidIntegration().validate( - { - id, - level, - uid, - body, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Configuration > updateLevelUidIntegration \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "put", - `/service/platform/configuration/v1.0/company/${this.config.companyId}/integration-opt-in/configuration/${id}/${level}/${uid}`, - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = ConfigurationPlatformModel.IntegrationLevel().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Configuration > updateLevelUidIntegration \n ${res_error}`, - }); - } - } - - return response; - } } module.exports = Configuration; diff --git a/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts b/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts index 2c64ee2b3..0cae619c9 100644 --- a/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +++ b/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts @@ -495,178 +495,6 @@ export = ConfigurationPlatformModel; * @property {boolean} [success] - Shows whether domain was deleted successfully * @property {string} [message] - Success message shown to the user (in a string format) */ -/** - * @typedef GetIntegrationsOptInsResponse - * @property {IntegrationOptIn[]} [items] - * @property {Page} [page] - */ -/** - * @typedef IntegrationOptIn - * @property {Validators} [validators] - * @property {string} [description] - Basic description about the opted integration - * @property {string} [description_html] - Basic HTML description about the - * opted integration - * @property {string} [constants] - * @property {string[]} [companies] - * @property {string[]} [support] - * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the opted integration - * @property {string} [name] - Nmae of the opted integration, e.g. SAP RBL Integration - * @property {string} [slug] - Slug of the opted integration, e.g. ginesys - * @property {boolean} [hidden] - * @property {IntegrationMeta[]} [meta] - * @property {string} [icon] - Hosted URL of the icon image - * @property {string} [owner] - The unique identifier (24-digit Mongo Object ID) - * of the user who created the integration - * @property {string} [created_at] - ISO 8601 timestamp of integration creation - * @property {string} [modified_at] - ISO 8601 timestamp of integration updation - * @property {string} [token] - Randomly generated fixed-length string for opted - * integration. It is auto-generated. It would never change once it is generated. - * @property {string} [secret] - Randomly generated fixed-length string for - * opted integration. It is auto-generated. It would never change once it is generated. - * @property {number} [__v] - Version key for tracking revisions. Default value is zero. - */ -/** - * @typedef Validators - * @property {CompanyValidator} [company] - * @property {StoreValidator} [store] - * @property {InventoryValidator} [inventory] - * @property {OrderValidator} [order] - */ -/** - * @typedef CompanyValidator - * @property {JsonSchema[]} [json_schema] - * @property {string} [browser_script] - Browser script for the company validator - */ -/** - * @typedef JsonSchema - * @property {string} [display] - Display text of the validator JSON schema. It - * will show in the UI. - * @property {string} [key] - Key related to the display text of the validator JSON schema - * @property {string} [type] - Indicates the type of form field, e.g. Text, Dropdown. - * @property {string} [tooltip] - Tooltip text for the UI of the validator JSON - * schema. It will show in the UI. - */ -/** - * @typedef StoreValidator - * @property {JsonSchema[]} [json_schema] - * @property {string} [browser_script] - Browser script for the store validator - */ -/** - * @typedef InventoryValidator - * @property {JsonSchema[]} [json_schema] - * @property {string} [browser_script] - Browser script for the inventory validator - */ -/** - * @typedef OrderValidator - * @property {JsonSchema[]} [json_schema] - * @property {string} [browser_script] - Browser script for the order validator - */ -/** - * @typedef IntegrationMeta - * @property {boolean} [is_public] - * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the integration meta - * @property {string} [name] - Nmae of integration meta, e.g. price_level - * @property {string} [value] - Value related to integration meta name, e.g. store - */ -/** - * @typedef Integration - * @property {Validators} [validators] - * @property {string} [description] - Basic description about the integration - * @property {string} [description_html] - Basic HTML description about the integration - * @property {Object} [constants] - * @property {string[]} [companies] - * @property {string[]} [support] - * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the integration - * @property {string} [name] - Name of the integration, e.g. SAP RBL Integration - * @property {string} [slug] - Name of the integration, e.g. SAP RBL Integration - * @property {IntegrationMeta[]} [meta] - * @property {string} [icon] - Hosted URL of the icon image - * @property {boolean} [hidden] - * @property {string} [owner] - The unique identifier (24-digit Mongo Object ID) - * of the user who created the integration - * @property {string} [created_at] - ISO 8601 timestamp of integration creation - * @property {string} [modified_at] - ISO 8601 timestamp of integration updation - * @property {string} [token] - Randomly generated fixed-length string for opted - * integration. It is auto-generated. It would never change once it is generated. - * @property {string} [secret] - Randomly generated fixed-length string for - * opted integration. It is auto-generated. It would never change once it is generated. - * @property {number} [__v] - Version key for tracking revisions. Default value is zero. - */ -/** - * @typedef IntegrationConfigResponse - * @property {IntegrationLevel[]} [items] - */ -/** - * @typedef IntegrationLevel - * @property {boolean} [opted] - Shows this integration is opted or not opted - * for the current company - * @property {Object[]} [permissions] - * @property {LastPatch[]} [last_patch] - * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the integration config - * @property {string} [integration] - Integration id. Shows which integration - * you are enabling. - * @property {string} [level] - Shows for what level the integration is set up. - * It can be company level or store level. - * @property {number} [uid] - It can be store uid or company uid. Depends on the - * level of integration. - * @property {number} [company_id] - Unique id of company. - * @property {IntegrationMeta[]} [meta] - * @property {string} [token] - Randomly generated fixed-length string for opted - * integration. It is auto-generated. It would never change once it is generated. - * @property {string} [created_at] - ISO 8601 timestamp of integration config creation - * @property {string} [modified_at] - ISO 8601 timestamp of integration config updation - * @property {number} [__v] - Version key for tracking revisions. Default value is zero. - * @property {Object} [data] - Schema data of the integration stored in key-value pairs - * @property {boolean} [success] - * @property {string} [message] - */ -/** - * @typedef UpdateIntegrationLevelRequest - * @property {IntegrationLevel[]} [items] - */ -/** - * @typedef OptedStoreIntegration - * @property {boolean} [other_opted] - Allow user to opt same store in other integration - * @property {IntegrationOptIn} [other_integration] - * @property {OtherEntity} [other_entity] - */ -/** - * @typedef OtherEntity - * @property {boolean} [opted] - Allow other entity opted in integration - * @property {string[]} [permissions] - * @property {LastPatch[]} [last_patch] - * @property {string} [_id] - The unique identifier of the other entity for - * opted store integration - * @property {string} [integration] - Integration ID. Shows which integration - * you are enabling. - * @property {string} [level] - Indicates integration level. It can be company - * level or store level. - * @property {number} [uid] - It can be store uid or company uid. Depends on the - * level of integration. - * @property {OtherEntityData} [data] - * @property {Object[]} [meta] - * @property {string} [token] - Randomly generated fixed-length string for opted - * integration. It is auto-generated. It would never change once it is generated. - * @property {string} [created_at] - ISO 8601 timestamp of other entity creation - * for opted store integration - * @property {string} [modified_at] - ISO 8601 timestamp of other entity - * updation for opted store integration - * @property {number} [__v] - Version key for tracking revisions. Default value is zero. - */ -/** - * @typedef LastPatch - * @property {string} [op] - * @property {string} [path] - * @property {string} [value] - It can be inventory level or order level - */ -/** - * @typedef OtherEntityData - * @property {string} [article_identifier] - */ /** * @typedef App * @property {string} [company_id] - Numeric ID allotted to a business account @@ -677,24 +505,6 @@ export = ConfigurationPlatformModel; * @property {string} [name] - User-friendly name for sales channel, e.g. Zenz Fashion * @property {string} [desc] - Detailed description about the sales channel */ -/** - * @typedef InventoryConfig - * @property {InventoryBrandRule} [brand] - * @property {InventoryStoreRule} [store] - * @property {string[]} [image] - * @property {boolean} [franchise_enabled] - Allow other businesses (companies) - * to consume the current sales channel's inventory and sell products - * @property {boolean} [out_of_stock] - Indicates whether out of stock products - * are allowed to show up on the website. - * @property {boolean} [only_verified_products] - Show only verified products - * (the ones whose data have been verified by the admin) - */ -/** - * @typedef AppInventory - * @property {InventoryConfig} [inventory] - * @property {InventoryPaymentConfig} [payment] - * @property {InventoryArticleAssignment} [article_assignment] - */ /** * @typedef AppDomain * @property {string} [name] - Domain URL of current sales channel, e.g. zenz.com @@ -964,6 +774,7 @@ export = ConfigurationPlatformModel; */ /** * @typedef GoogleMap + * @property {boolean} [enabled] - Shows whether Google map integration is enabled or not. * @property {GoogleMapCredentials} [credentials] */ /** @@ -1296,56 +1107,15 @@ export = ConfigurationPlatformModel; * @property {string} [message] - Error message when request body payload is improper * @property {boolean} [success] - Flag for required not successfull. */ -/** - * @typedef InventoryBrandRule - * @property {string} [criteria] - Whether all brands are enabled, or explicitly - * few brands in the inventory - * @property {number[]} [brands] - */ -/** - * @typedef StoreCriteriaRule - * @property {number[]} [companies] - List of company UID - * @property {number[]} [brands] - List of brand UID - */ -/** - * @typedef InventoryStoreRule - * @property {string} [criteria] - Whether all stores are enabled, or explicitly - * few stores in the inventory, or use brands and company filter. - * @property {StoreCriteriaRule[]} [rules] - List of rules with company and - * brands uids. Used when critera is `filter`. - * @property {number[]} [stores] - List of store uids. Used when critera is `explicit`. - */ -/** - * @typedef InventoryPaymentConfig - * @property {string} [mode_of_payment] - Mode of payment for the inventory of - * sales channel. It is required and default value is null. - * @property {string} [source] - Source of the payment mode for the inventory - * payment of sales channel. Default value is FYND. - */ -/** - * @typedef StorePriorityRule - * @property {boolean} [enabled] - Shows store priority is enabled or not - * enabled for the article assignment. - * @property {string[]} [storetype_order] - */ -/** - * @typedef ArticleAssignmentRule - * @property {StorePriorityRule} [store_priority] - */ -/** - * @typedef InventoryArticleAssignment - * @property {boolean} [post_order_reassignment] - Allow post order reassigment of article - * @property {ArticleAssignmentRule} [rules] - */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef ApplicationInformation @@ -1571,7 +1341,7 @@ export = ConfigurationPlatformModel; declare class ConfigurationPlatformModel { } declare namespace ConfigurationPlatformModel { - export { ApplicationInventory, PiiMasking, AppInventoryConfig, InventoryBrand, InventoryStore, AppStoreRules, InventoryCategory, InventoryPrice, InventoryDiscount, AuthenticationConfig, ArticleAssignmentConfig, ArticleAssignmentRules, StorePriority, AppCartConfig, InternationalDeliveryCharges, DeliveryCharges, Charges, AppPaymentConfig, CallbackUrl, Methods, PaymentModeConfig, PaymentSelectionLock, AppOrderConfig, AppLogisticsConfig, LoyaltyPointsConfig, AppInventoryPartialUpdate, BrandCompanyInfo, CompanyByBrandsRequest, CompanyByBrandsResponse, StoreByBrandsRequest, StoreByBrandsResponse, BrandStoreInfo, CompanyBrandInfo, BrandsByCompanyResponse, ValidationFailedResponse, NotFound, CommunicationConfig, CommsConfig, PanCardConfig, CreateApplicationRequest, CreateAppResponse, ApplicationsResponse, MobileAppConfiguration, LandingImage, SplashImage, MobileAppConfigRequest, BuildVersionHistory, BuildVersion, AppSupportedCurrency, DefaultCurrency, DomainAdd, DomainAddRequest, Domain, DomainsResponse, UpdateDomain, UpdateDomainTypeRequest, DomainStatusRequest, DomainStatus, DomainStatusResponse, DomainSuggestionsRequest, DomainSuggestion, DomainSuggestionsResponse, SuccessMessageResponse, GetIntegrationsOptInsResponse, IntegrationOptIn, Validators, CompanyValidator, JsonSchema, StoreValidator, InventoryValidator, OrderValidator, IntegrationMeta, Integration, IntegrationConfigResponse, IntegrationLevel, UpdateIntegrationLevelRequest, OptedStoreIntegration, OtherEntity, LastPatch, OtherEntityData, App, InventoryConfig, AppInventory, AppDomain, CompaniesResponse, AppInventoryCompanies, StoresResponse, AppInventoryStores, FilterOrderingStoreRequest, DeploymentMeta, OrderingStoreConfig, OrderingStoreSelectRequest, OrderingStoreSelect, OtherSellerCompany, OtherSellerApplication, OtherSellerApplications, OptedApplicationResponse, OptedCompany, OptedInventory, OptType, OptedStore, OptOutInventory, TokenResponse, Tokens, Firebase, Credentials, Ios, Android, Moengage, MoengageCredentials, Segment, SegmentCredentials, Gtm, GtmCredentials, Freshchat, FreshchatCredentials, Safetynet, SafetynetCredentials, FyndRewards, FyndRewardsCredentials, GoogleMap, GoogleMapCredentials, RewardPointsConfig, Credit, Debit, ProductDetailFeature, LaunchPage, LandingPageFeature, ListingPageFeature, RegistrationPageFeature, AppFeature, HomePageFeature, CommonFeature, InternationalShipping, CommunicationOptinDialogFeature, DeploymentStoreSelectionFeature, ListingPriceFeature, CurrencyFeature, RevenueEngineFeature, FeedbackFeature, CompareProductsFeature, CartFeature, QrFeature, PcrFeature, OrderFeature, AppFeatureRequest, AppFeatureResponse, Currency, ApplicationWebsite, ApplicationCors, ApplicationAuth, ApplicationRedirections, ApplicationMeta, SecureUrl, Application, ApplicationById, TokenSchemaID, TokenSchema, InvalidPayloadRequest, InventoryBrandRule, StoreCriteriaRule, InventoryStoreRule, InventoryPaymentConfig, StorePriorityRule, ArticleAssignmentRule, InventoryArticleAssignment, Page, ApplicationInformation, InformationAddress, InformationPhone, InformationLoc, InformationSupport, InformationSupportPhone, InformationSupportEmail, SocialLinks, FacebookLink, InstagramLink, TwitterLink, PinterestLink, GooglePlusLink, YoutubeLink, LinkedInLink, VimeoLink, BlogLink, Links, BusinessHighlights, ApplicationDetail, CurrenciesResponse, AppCurrencyResponse, StoreLatLong, OptedStoreAddress, OrderingStore, OrderingStores, OrderingStoresResponse }; + export { ApplicationInventory, PiiMasking, AppInventoryConfig, InventoryBrand, InventoryStore, AppStoreRules, InventoryCategory, InventoryPrice, InventoryDiscount, AuthenticationConfig, ArticleAssignmentConfig, ArticleAssignmentRules, StorePriority, AppCartConfig, InternationalDeliveryCharges, DeliveryCharges, Charges, AppPaymentConfig, CallbackUrl, Methods, PaymentModeConfig, PaymentSelectionLock, AppOrderConfig, AppLogisticsConfig, LoyaltyPointsConfig, AppInventoryPartialUpdate, BrandCompanyInfo, CompanyByBrandsRequest, CompanyByBrandsResponse, StoreByBrandsRequest, StoreByBrandsResponse, BrandStoreInfo, CompanyBrandInfo, BrandsByCompanyResponse, ValidationFailedResponse, NotFound, CommunicationConfig, CommsConfig, PanCardConfig, CreateApplicationRequest, CreateAppResponse, ApplicationsResponse, MobileAppConfiguration, LandingImage, SplashImage, MobileAppConfigRequest, BuildVersionHistory, BuildVersion, AppSupportedCurrency, DefaultCurrency, DomainAdd, DomainAddRequest, Domain, DomainsResponse, UpdateDomain, UpdateDomainTypeRequest, DomainStatusRequest, DomainStatus, DomainStatusResponse, DomainSuggestionsRequest, DomainSuggestion, DomainSuggestionsResponse, SuccessMessageResponse, App, AppDomain, CompaniesResponse, AppInventoryCompanies, StoresResponse, AppInventoryStores, FilterOrderingStoreRequest, DeploymentMeta, OrderingStoreConfig, OrderingStoreSelectRequest, OrderingStoreSelect, OtherSellerCompany, OtherSellerApplication, OtherSellerApplications, OptedApplicationResponse, OptedCompany, OptedInventory, OptType, OptedStore, OptOutInventory, TokenResponse, Tokens, Firebase, Credentials, Ios, Android, Moengage, MoengageCredentials, Segment, SegmentCredentials, Gtm, GtmCredentials, Freshchat, FreshchatCredentials, Safetynet, SafetynetCredentials, FyndRewards, FyndRewardsCredentials, GoogleMap, GoogleMapCredentials, RewardPointsConfig, Credit, Debit, ProductDetailFeature, LaunchPage, LandingPageFeature, ListingPageFeature, RegistrationPageFeature, AppFeature, HomePageFeature, CommonFeature, InternationalShipping, CommunicationOptinDialogFeature, DeploymentStoreSelectionFeature, ListingPriceFeature, CurrencyFeature, RevenueEngineFeature, FeedbackFeature, CompareProductsFeature, CartFeature, QrFeature, PcrFeature, OrderFeature, AppFeatureRequest, AppFeatureResponse, Currency, ApplicationWebsite, ApplicationCors, ApplicationAuth, ApplicationRedirections, ApplicationMeta, SecureUrl, Application, ApplicationById, TokenSchemaID, TokenSchema, InvalidPayloadRequest, Page, ApplicationInformation, InformationAddress, InformationPhone, InformationLoc, InformationSupport, InformationSupportPhone, InformationSupportEmail, SocialLinks, FacebookLink, InstagramLink, TwitterLink, PinterestLink, GooglePlusLink, YoutubeLink, LinkedInLink, VimeoLink, BlogLink, Links, BusinessHighlights, ApplicationDetail, CurrenciesResponse, AppCurrencyResponse, StoreLatLong, OptedStoreAddress, OrderingStore, OrderingStores, OrderingStoresResponse }; } /** @returns {ApplicationInventory} */ declare function ApplicationInventory(): ApplicationInventory; @@ -2561,366 +2331,6 @@ type SuccessMessageResponse = { */ message?: string; }; -/** @returns {GetIntegrationsOptInsResponse} */ -declare function GetIntegrationsOptInsResponse(): GetIntegrationsOptInsResponse; -type GetIntegrationsOptInsResponse = { - items?: IntegrationOptIn[]; - page?: Page; -}; -/** @returns {IntegrationOptIn} */ -declare function IntegrationOptIn(): IntegrationOptIn; -type IntegrationOptIn = { - validators?: Validators; - /** - * - Basic description about the opted integration - */ - description?: string; - /** - * - Basic HTML description about the - * opted integration - */ - description_html?: string; - constants?: string; - companies?: string[]; - support?: string[]; - /** - * - The unique identifier (24-digit Mongo Object ID) - * of the opted integration - */ - _id?: string; - /** - * - Nmae of the opted integration, e.g. SAP RBL Integration - */ - name?: string; - /** - * - Slug of the opted integration, e.g. ginesys - */ - slug?: string; - hidden?: boolean; - meta?: IntegrationMeta[]; - /** - * - Hosted URL of the icon image - */ - icon?: string; - /** - * - The unique identifier (24-digit Mongo Object ID) - * of the user who created the integration - */ - owner?: string; - /** - * - ISO 8601 timestamp of integration creation - */ - created_at?: string; - /** - * - ISO 8601 timestamp of integration updation - */ - modified_at?: string; - /** - * - Randomly generated fixed-length string for opted - * integration. It is auto-generated. It would never change once it is generated. - */ - token?: string; - /** - * - Randomly generated fixed-length string for - * opted integration. It is auto-generated. It would never change once it is generated. - */ - secret?: string; - /** - * - Version key for tracking revisions. Default value is zero. - */ - __v?: number; -}; -/** @returns {Validators} */ -declare function Validators(): Validators; -type Validators = { - company?: CompanyValidator; - store?: StoreValidator; - inventory?: InventoryValidator; - order?: OrderValidator; -}; -/** @returns {CompanyValidator} */ -declare function CompanyValidator(): CompanyValidator; -type CompanyValidator = { - json_schema?: JsonSchema[]; - /** - * - Browser script for the company validator - */ - browser_script?: string; -}; -/** @returns {JsonSchema} */ -declare function JsonSchema(): JsonSchema; -type JsonSchema = { - /** - * - Display text of the validator JSON schema. It - * will show in the UI. - */ - display?: string; - /** - * - Key related to the display text of the validator JSON schema - */ - key?: string; - /** - * - Indicates the type of form field, e.g. Text, Dropdown. - */ - type?: string; - /** - * - Tooltip text for the UI of the validator JSON - * schema. It will show in the UI. - */ - tooltip?: string; -}; -/** @returns {StoreValidator} */ -declare function StoreValidator(): StoreValidator; -type StoreValidator = { - json_schema?: JsonSchema[]; - /** - * - Browser script for the store validator - */ - browser_script?: string; -}; -/** @returns {InventoryValidator} */ -declare function InventoryValidator(): InventoryValidator; -type InventoryValidator = { - json_schema?: JsonSchema[]; - /** - * - Browser script for the inventory validator - */ - browser_script?: string; -}; -/** @returns {OrderValidator} */ -declare function OrderValidator(): OrderValidator; -type OrderValidator = { - json_schema?: JsonSchema[]; - /** - * - Browser script for the order validator - */ - browser_script?: string; -}; -/** @returns {IntegrationMeta} */ -declare function IntegrationMeta(): IntegrationMeta; -type IntegrationMeta = { - is_public?: boolean; - /** - * - The unique identifier (24-digit Mongo Object ID) - * of the integration meta - */ - _id?: string; - /** - * - Nmae of integration meta, e.g. price_level - */ - name?: string; - /** - * - Value related to integration meta name, e.g. store - */ - value?: string; -}; -/** @returns {Integration} */ -declare function Integration(): Integration; -type Integration = { - validators?: Validators; - /** - * - Basic description about the integration - */ - description?: string; - /** - * - Basic HTML description about the integration - */ - description_html?: string; - constants?: any; - companies?: string[]; - support?: string[]; - /** - * - The unique identifier (24-digit Mongo Object ID) - * of the integration - */ - _id?: string; - /** - * - Name of the integration, e.g. SAP RBL Integration - */ - name?: string; - /** - * - Name of the integration, e.g. SAP RBL Integration - */ - slug?: string; - meta?: IntegrationMeta[]; - /** - * - Hosted URL of the icon image - */ - icon?: string; - hidden?: boolean; - /** - * - The unique identifier (24-digit Mongo Object ID) - * of the user who created the integration - */ - owner?: string; - /** - * - ISO 8601 timestamp of integration creation - */ - created_at?: string; - /** - * - ISO 8601 timestamp of integration updation - */ - modified_at?: string; - /** - * - Randomly generated fixed-length string for opted - * integration. It is auto-generated. It would never change once it is generated. - */ - token?: string; - /** - * - Randomly generated fixed-length string for - * opted integration. It is auto-generated. It would never change once it is generated. - */ - secret?: string; - /** - * - Version key for tracking revisions. Default value is zero. - */ - __v?: number; -}; -/** @returns {IntegrationConfigResponse} */ -declare function IntegrationConfigResponse(): IntegrationConfigResponse; -type IntegrationConfigResponse = { - items?: IntegrationLevel[]; -}; -/** @returns {IntegrationLevel} */ -declare function IntegrationLevel(): IntegrationLevel; -type IntegrationLevel = { - /** - * - Shows this integration is opted or not opted - * for the current company - */ - opted?: boolean; - permissions?: any[]; - last_patch?: LastPatch[]; - /** - * - The unique identifier (24-digit Mongo Object ID) - * of the integration config - */ - _id?: string; - /** - * - Integration id. Shows which integration - * you are enabling. - */ - integration?: string; - /** - * - Shows for what level the integration is set up. - * It can be company level or store level. - */ - level?: string; - /** - * - It can be store uid or company uid. Depends on the - * level of integration. - */ - uid?: number; - /** - * - Unique id of company. - */ - company_id?: number; - meta?: IntegrationMeta[]; - /** - * - Randomly generated fixed-length string for opted - * integration. It is auto-generated. It would never change once it is generated. - */ - token?: string; - /** - * - ISO 8601 timestamp of integration config creation - */ - created_at?: string; - /** - * - ISO 8601 timestamp of integration config updation - */ - modified_at?: string; - /** - * - Version key for tracking revisions. Default value is zero. - */ - __v?: number; - /** - * - Schema data of the integration stored in key-value pairs - */ - data?: any; - success?: boolean; - message?: string; -}; -/** @returns {UpdateIntegrationLevelRequest} */ -declare function UpdateIntegrationLevelRequest(): UpdateIntegrationLevelRequest; -type UpdateIntegrationLevelRequest = { - items?: IntegrationLevel[]; -}; -/** @returns {OptedStoreIntegration} */ -declare function OptedStoreIntegration(): OptedStoreIntegration; -type OptedStoreIntegration = { - /** - * - Allow user to opt same store in other integration - */ - other_opted?: boolean; - other_integration?: IntegrationOptIn; - other_entity?: OtherEntity; -}; -/** @returns {OtherEntity} */ -declare function OtherEntity(): OtherEntity; -type OtherEntity = { - /** - * - Allow other entity opted in integration - */ - opted?: boolean; - permissions?: string[]; - last_patch?: LastPatch[]; - /** - * - The unique identifier of the other entity for - * opted store integration - */ - _id?: string; - /** - * - Integration ID. Shows which integration - * you are enabling. - */ - integration?: string; - /** - * - Indicates integration level. It can be company - * level or store level. - */ - level?: string; - /** - * - It can be store uid or company uid. Depends on the - * level of integration. - */ - uid?: number; - data?: OtherEntityData; - meta?: any[]; - /** - * - Randomly generated fixed-length string for opted - * integration. It is auto-generated. It would never change once it is generated. - */ - token?: string; - /** - * - ISO 8601 timestamp of other entity creation - * for opted store integration - */ - created_at?: string; - /** - * - ISO 8601 timestamp of other entity - * updation for opted store integration - */ - modified_at?: string; - /** - * - Version key for tracking revisions. Default value is zero. - */ - __v?: number; -}; -/** @returns {LastPatch} */ -declare function LastPatch(): LastPatch; -type LastPatch = { - op?: string; - path?: string; - /** - * - It can be inventory level or order level - */ - value?: string; -}; -/** @returns {OtherEntityData} */ -declare function OtherEntityData(): OtherEntityData; -type OtherEntityData = { - article_identifier?: string; -}; /** @returns {App} */ declare function App(): App; type App = { @@ -2944,35 +2354,6 @@ type App = { */ desc?: string; }; -/** @returns {InventoryConfig} */ -declare function InventoryConfig(): InventoryConfig; -type InventoryConfig = { - brand?: InventoryBrandRule; - store?: InventoryStoreRule; - image?: string[]; - /** - * - Allow other businesses (companies) - * to consume the current sales channel's inventory and sell products - */ - franchise_enabled?: boolean; - /** - * - Indicates whether out of stock products - * are allowed to show up on the website. - */ - out_of_stock?: boolean; - /** - * - Show only verified products - * (the ones whose data have been verified by the admin) - */ - only_verified_products?: boolean; -}; -/** @returns {AppInventory} */ -declare function AppInventory(): AppInventory; -type AppInventory = { - inventory?: InventoryConfig; - payment?: InventoryPaymentConfig; - article_assignment?: InventoryArticleAssignment; -}; /** @returns {AppDomain} */ declare function AppDomain(): AppDomain; type AppDomain = { @@ -3502,6 +2883,10 @@ type FyndRewardsCredentials = { /** @returns {GoogleMap} */ declare function GoogleMap(): GoogleMap; type GoogleMap = { + /** + * - Shows whether Google map integration is enabled or not. + */ + enabled?: boolean; credentials?: GoogleMapCredentials; }; /** @returns {GoogleMapCredentials} */ @@ -4154,93 +3539,36 @@ type InvalidPayloadRequest = { */ success?: boolean; }; -/** @returns {InventoryBrandRule} */ -declare function InventoryBrandRule(): InventoryBrandRule; -type InventoryBrandRule = { - /** - * - Whether all brands are enabled, or explicitly - * few brands in the inventory - */ - criteria?: string; - brands?: number[]; -}; -/** @returns {StoreCriteriaRule} */ -declare function StoreCriteriaRule(): StoreCriteriaRule; -type StoreCriteriaRule = { - /** - * - List of company UID - */ - companies?: number[]; - /** - * - List of brand UID - */ - brands?: number[]; -}; -/** @returns {InventoryStoreRule} */ -declare function InventoryStoreRule(): InventoryStoreRule; -type InventoryStoreRule = { +/** @returns {Page} */ +declare function Page(): Page; +type Page = { /** - * - Whether all stores are enabled, or explicitly - * few stores in the inventory, or use brands and company filter. + * - The total number of items on the page. */ - criteria?: string; + item_total?: number; /** - * - List of rules with company and - * brands uids. Used when critera is `filter`. + * - The identifier for the next page. */ - rules?: StoreCriteriaRule[]; + next_id?: string; /** - * - List of store uids. Used when critera is `explicit`. + * - Indicates whether there is a previous page. */ - stores?: number[]; -}; -/** @returns {InventoryPaymentConfig} */ -declare function InventoryPaymentConfig(): InventoryPaymentConfig; -type InventoryPaymentConfig = { + has_previous?: boolean; /** - * - Mode of payment for the inventory of - * sales channel. It is required and default value is null. + * - Indicates whether there is a next page. */ - mode_of_payment?: string; + has_next?: boolean; /** - * - Source of the payment mode for the inventory - * payment of sales channel. Default value is FYND. + * - The current page number. */ - source?: string; -}; -/** @returns {StorePriorityRule} */ -declare function StorePriorityRule(): StorePriorityRule; -type StorePriorityRule = { + current?: number; /** - * - Shows store priority is enabled or not - * enabled for the article assignment. + * - The type of the page, such as 'PageType'. */ - enabled?: boolean; - storetype_order?: string[]; -}; -/** @returns {ArticleAssignmentRule} */ -declare function ArticleAssignmentRule(): ArticleAssignmentRule; -type ArticleAssignmentRule = { - store_priority?: StorePriorityRule; -}; -/** @returns {InventoryArticleAssignment} */ -declare function InventoryArticleAssignment(): InventoryArticleAssignment; -type InventoryArticleAssignment = { + type: string; /** - * - Allow post order reassigment of article + * - The number of items per page. */ - post_order_reassignment?: boolean; - rules?: ArticleAssignmentRule; -}; -/** @returns {Page} */ -declare function Page(): Page; -type Page = { - item_total?: number; - next_id?: string; - has_previous?: boolean; - has_next?: boolean; - current?: number; - type: string; size?: number; }; /** @returns {ApplicationInformation} */ diff --git a/sdk/platform/Configuration/ConfigurationPlatformModel.js b/sdk/platform/Configuration/ConfigurationPlatformModel.js index 63b1d6f3d..6f2c44b16 100644 --- a/sdk/platform/Configuration/ConfigurationPlatformModel.js +++ b/sdk/platform/Configuration/ConfigurationPlatformModel.js @@ -559,195 +559,6 @@ const Joi = require("joi"); * @property {string} [message] - Success message shown to the user (in a string format) */ -/** - * @typedef GetIntegrationsOptInsResponse - * @property {IntegrationOptIn[]} [items] - * @property {Page} [page] - */ - -/** - * @typedef IntegrationOptIn - * @property {Validators} [validators] - * @property {string} [description] - Basic description about the opted integration - * @property {string} [description_html] - Basic HTML description about the - * opted integration - * @property {string} [constants] - * @property {string[]} [companies] - * @property {string[]} [support] - * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the opted integration - * @property {string} [name] - Nmae of the opted integration, e.g. SAP RBL Integration - * @property {string} [slug] - Slug of the opted integration, e.g. ginesys - * @property {boolean} [hidden] - * @property {IntegrationMeta[]} [meta] - * @property {string} [icon] - Hosted URL of the icon image - * @property {string} [owner] - The unique identifier (24-digit Mongo Object ID) - * of the user who created the integration - * @property {string} [created_at] - ISO 8601 timestamp of integration creation - * @property {string} [modified_at] - ISO 8601 timestamp of integration updation - * @property {string} [token] - Randomly generated fixed-length string for opted - * integration. It is auto-generated. It would never change once it is generated. - * @property {string} [secret] - Randomly generated fixed-length string for - * opted integration. It is auto-generated. It would never change once it is generated. - * @property {number} [__v] - Version key for tracking revisions. Default value is zero. - */ - -/** - * @typedef Validators - * @property {CompanyValidator} [company] - * @property {StoreValidator} [store] - * @property {InventoryValidator} [inventory] - * @property {OrderValidator} [order] - */ - -/** - * @typedef CompanyValidator - * @property {JsonSchema[]} [json_schema] - * @property {string} [browser_script] - Browser script for the company validator - */ - -/** - * @typedef JsonSchema - * @property {string} [display] - Display text of the validator JSON schema. It - * will show in the UI. - * @property {string} [key] - Key related to the display text of the validator JSON schema - * @property {string} [type] - Indicates the type of form field, e.g. Text, Dropdown. - * @property {string} [tooltip] - Tooltip text for the UI of the validator JSON - * schema. It will show in the UI. - */ - -/** - * @typedef StoreValidator - * @property {JsonSchema[]} [json_schema] - * @property {string} [browser_script] - Browser script for the store validator - */ - -/** - * @typedef InventoryValidator - * @property {JsonSchema[]} [json_schema] - * @property {string} [browser_script] - Browser script for the inventory validator - */ - -/** - * @typedef OrderValidator - * @property {JsonSchema[]} [json_schema] - * @property {string} [browser_script] - Browser script for the order validator - */ - -/** - * @typedef IntegrationMeta - * @property {boolean} [is_public] - * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the integration meta - * @property {string} [name] - Nmae of integration meta, e.g. price_level - * @property {string} [value] - Value related to integration meta name, e.g. store - */ - -/** - * @typedef Integration - * @property {Validators} [validators] - * @property {string} [description] - Basic description about the integration - * @property {string} [description_html] - Basic HTML description about the integration - * @property {Object} [constants] - * @property {string[]} [companies] - * @property {string[]} [support] - * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the integration - * @property {string} [name] - Name of the integration, e.g. SAP RBL Integration - * @property {string} [slug] - Name of the integration, e.g. SAP RBL Integration - * @property {IntegrationMeta[]} [meta] - * @property {string} [icon] - Hosted URL of the icon image - * @property {boolean} [hidden] - * @property {string} [owner] - The unique identifier (24-digit Mongo Object ID) - * of the user who created the integration - * @property {string} [created_at] - ISO 8601 timestamp of integration creation - * @property {string} [modified_at] - ISO 8601 timestamp of integration updation - * @property {string} [token] - Randomly generated fixed-length string for opted - * integration. It is auto-generated. It would never change once it is generated. - * @property {string} [secret] - Randomly generated fixed-length string for - * opted integration. It is auto-generated. It would never change once it is generated. - * @property {number} [__v] - Version key for tracking revisions. Default value is zero. - */ - -/** - * @typedef IntegrationConfigResponse - * @property {IntegrationLevel[]} [items] - */ - -/** - * @typedef IntegrationLevel - * @property {boolean} [opted] - Shows this integration is opted or not opted - * for the current company - * @property {Object[]} [permissions] - * @property {LastPatch[]} [last_patch] - * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID) - * of the integration config - * @property {string} [integration] - Integration id. Shows which integration - * you are enabling. - * @property {string} [level] - Shows for what level the integration is set up. - * It can be company level or store level. - * @property {number} [uid] - It can be store uid or company uid. Depends on the - * level of integration. - * @property {number} [company_id] - Unique id of company. - * @property {IntegrationMeta[]} [meta] - * @property {string} [token] - Randomly generated fixed-length string for opted - * integration. It is auto-generated. It would never change once it is generated. - * @property {string} [created_at] - ISO 8601 timestamp of integration config creation - * @property {string} [modified_at] - ISO 8601 timestamp of integration config updation - * @property {number} [__v] - Version key for tracking revisions. Default value is zero. - * @property {Object} [data] - Schema data of the integration stored in key-value pairs - * @property {boolean} [success] - * @property {string} [message] - */ - -/** - * @typedef UpdateIntegrationLevelRequest - * @property {IntegrationLevel[]} [items] - */ - -/** - * @typedef OptedStoreIntegration - * @property {boolean} [other_opted] - Allow user to opt same store in other integration - * @property {IntegrationOptIn} [other_integration] - * @property {OtherEntity} [other_entity] - */ - -/** - * @typedef OtherEntity - * @property {boolean} [opted] - Allow other entity opted in integration - * @property {string[]} [permissions] - * @property {LastPatch[]} [last_patch] - * @property {string} [_id] - The unique identifier of the other entity for - * opted store integration - * @property {string} [integration] - Integration ID. Shows which integration - * you are enabling. - * @property {string} [level] - Indicates integration level. It can be company - * level or store level. - * @property {number} [uid] - It can be store uid or company uid. Depends on the - * level of integration. - * @property {OtherEntityData} [data] - * @property {Object[]} [meta] - * @property {string} [token] - Randomly generated fixed-length string for opted - * integration. It is auto-generated. It would never change once it is generated. - * @property {string} [created_at] - ISO 8601 timestamp of other entity creation - * for opted store integration - * @property {string} [modified_at] - ISO 8601 timestamp of other entity - * updation for opted store integration - * @property {number} [__v] - Version key for tracking revisions. Default value is zero. - */ - -/** - * @typedef LastPatch - * @property {string} [op] - * @property {string} [path] - * @property {string} [value] - It can be inventory level or order level - */ - -/** - * @typedef OtherEntityData - * @property {string} [article_identifier] - */ - /** * @typedef App * @property {string} [company_id] - Numeric ID allotted to a business account @@ -759,26 +570,6 @@ const Joi = require("joi"); * @property {string} [desc] - Detailed description about the sales channel */ -/** - * @typedef InventoryConfig - * @property {InventoryBrandRule} [brand] - * @property {InventoryStoreRule} [store] - * @property {string[]} [image] - * @property {boolean} [franchise_enabled] - Allow other businesses (companies) - * to consume the current sales channel's inventory and sell products - * @property {boolean} [out_of_stock] - Indicates whether out of stock products - * are allowed to show up on the website. - * @property {boolean} [only_verified_products] - Show only verified products - * (the ones whose data have been verified by the admin) - */ - -/** - * @typedef AppInventory - * @property {InventoryConfig} [inventory] - * @property {InventoryPaymentConfig} [payment] - * @property {InventoryArticleAssignment} [article_assignment] - */ - /** * @typedef AppDomain * @property {string} [name] - Domain URL of current sales channel, e.g. zenz.com @@ -1085,6 +876,7 @@ const Joi = require("joi"); /** * @typedef GoogleMap + * @property {boolean} [enabled] - Shows whether Google map integration is enabled or not. * @property {GoogleMapCredentials} [credentials] */ @@ -1456,63 +1248,15 @@ const Joi = require("joi"); * @property {boolean} [success] - Flag for required not successfull. */ -/** - * @typedef InventoryBrandRule - * @property {string} [criteria] - Whether all brands are enabled, or explicitly - * few brands in the inventory - * @property {number[]} [brands] - */ - -/** - * @typedef StoreCriteriaRule - * @property {number[]} [companies] - List of company UID - * @property {number[]} [brands] - List of brand UID - */ - -/** - * @typedef InventoryStoreRule - * @property {string} [criteria] - Whether all stores are enabled, or explicitly - * few stores in the inventory, or use brands and company filter. - * @property {StoreCriteriaRule[]} [rules] - List of rules with company and - * brands uids. Used when critera is `filter`. - * @property {number[]} [stores] - List of store uids. Used when critera is `explicit`. - */ - -/** - * @typedef InventoryPaymentConfig - * @property {string} [mode_of_payment] - Mode of payment for the inventory of - * sales channel. It is required and default value is null. - * @property {string} [source] - Source of the payment mode for the inventory - * payment of sales channel. Default value is FYND. - */ - -/** - * @typedef StorePriorityRule - * @property {boolean} [enabled] - Shows store priority is enabled or not - * enabled for the article assignment. - * @property {string[]} [storetype_order] - */ - -/** - * @typedef ArticleAssignmentRule - * @property {StorePriorityRule} [store_priority] - */ - -/** - * @typedef InventoryArticleAssignment - * @property {boolean} [post_order_reassignment] - Allow post order reassigment of article - * @property {ArticleAssignmentRule} [rules] - */ - /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** @@ -2378,204 +2122,6 @@ class ConfigurationPlatformModel { }); } - /** @returns {GetIntegrationsOptInsResponse} */ - static GetIntegrationsOptInsResponse() { - return Joi.object({ - items: Joi.array().items(ConfigurationPlatformModel.IntegrationOptIn()), - page: ConfigurationPlatformModel.Page(), - }); - } - - /** @returns {IntegrationOptIn} */ - static IntegrationOptIn() { - return Joi.object({ - validators: ConfigurationPlatformModel.Validators(), - description: Joi.string().allow(""), - description_html: Joi.string().allow(""), - constants: Joi.string().allow(""), - companies: Joi.array().items(Joi.string().allow("")), - support: Joi.array().items(Joi.string().allow("")), - _id: Joi.string().allow(""), - name: Joi.string().allow(""), - slug: Joi.string().allow(""), - hidden: Joi.boolean(), - meta: Joi.array().items(ConfigurationPlatformModel.IntegrationMeta()), - icon: Joi.string().allow(""), - owner: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - token: Joi.string().allow(""), - secret: Joi.string().allow(""), - __v: Joi.number(), - }); - } - - /** @returns {Validators} */ - static Validators() { - return Joi.object({ - company: ConfigurationPlatformModel.CompanyValidator(), - store: ConfigurationPlatformModel.StoreValidator(), - inventory: ConfigurationPlatformModel.InventoryValidator(), - order: ConfigurationPlatformModel.OrderValidator(), - }); - } - - /** @returns {CompanyValidator} */ - static CompanyValidator() { - return Joi.object({ - json_schema: Joi.array().items(ConfigurationPlatformModel.JsonSchema()), - browser_script: Joi.string().allow(""), - }); - } - - /** @returns {JsonSchema} */ - static JsonSchema() { - return Joi.object({ - display: Joi.string().allow(""), - key: Joi.string().allow(""), - type: Joi.string().allow(""), - tooltip: Joi.string().allow(""), - }); - } - - /** @returns {StoreValidator} */ - static StoreValidator() { - return Joi.object({ - json_schema: Joi.array().items(ConfigurationPlatformModel.JsonSchema()), - browser_script: Joi.string().allow(""), - }); - } - - /** @returns {InventoryValidator} */ - static InventoryValidator() { - return Joi.object({ - json_schema: Joi.array().items(ConfigurationPlatformModel.JsonSchema()), - browser_script: Joi.string().allow(""), - }); - } - - /** @returns {OrderValidator} */ - static OrderValidator() { - return Joi.object({ - json_schema: Joi.array().items(ConfigurationPlatformModel.JsonSchema()), - browser_script: Joi.string().allow(""), - }); - } - - /** @returns {IntegrationMeta} */ - static IntegrationMeta() { - return Joi.object({ - is_public: Joi.boolean(), - _id: Joi.string().allow(""), - name: Joi.string().allow(""), - value: Joi.string().allow(""), - }); - } - - /** @returns {Integration} */ - static Integration() { - return Joi.object({ - validators: ConfigurationPlatformModel.Validators(), - description: Joi.string().allow(""), - description_html: Joi.string().allow(""), - constants: Joi.any(), - companies: Joi.array().items(Joi.string().allow("")), - support: Joi.array().items(Joi.string().allow("")), - _id: Joi.string().allow(""), - name: Joi.string().allow(""), - slug: Joi.string().allow(""), - meta: Joi.array().items(ConfigurationPlatformModel.IntegrationMeta()), - icon: Joi.string().allow(""), - hidden: Joi.boolean(), - owner: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - token: Joi.string().allow(""), - secret: Joi.string().allow(""), - __v: Joi.number(), - }); - } - - /** @returns {IntegrationConfigResponse} */ - static IntegrationConfigResponse() { - return Joi.object({ - items: Joi.array().items(ConfigurationPlatformModel.IntegrationLevel()), - }); - } - - /** @returns {IntegrationLevel} */ - static IntegrationLevel() { - return Joi.object({ - opted: Joi.boolean(), - permissions: Joi.array().items(Joi.any()), - last_patch: Joi.array().items(ConfigurationPlatformModel.LastPatch()), - _id: Joi.string().allow(""), - integration: Joi.string().allow(""), - level: Joi.string().allow(""), - uid: Joi.number(), - company_id: Joi.number(), - meta: Joi.array().items(ConfigurationPlatformModel.IntegrationMeta()), - token: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - __v: Joi.number(), - data: Joi.any(), - success: Joi.boolean(), - message: Joi.string().allow(""), - }); - } - - /** @returns {UpdateIntegrationLevelRequest} */ - static UpdateIntegrationLevelRequest() { - return Joi.object({ - items: Joi.array().items(ConfigurationPlatformModel.IntegrationLevel()), - }); - } - - /** @returns {OptedStoreIntegration} */ - static OptedStoreIntegration() { - return Joi.object({ - other_opted: Joi.boolean(), - other_integration: ConfigurationPlatformModel.IntegrationOptIn(), - other_entity: ConfigurationPlatformModel.OtherEntity(), - }); - } - - /** @returns {OtherEntity} */ - static OtherEntity() { - return Joi.object({ - opted: Joi.boolean(), - permissions: Joi.array().items(Joi.string().allow("")), - last_patch: Joi.array().items(ConfigurationPlatformModel.LastPatch()), - _id: Joi.string().allow(""), - integration: Joi.string().allow(""), - level: Joi.string().allow(""), - uid: Joi.number(), - data: ConfigurationPlatformModel.OtherEntityData(), - meta: Joi.array().items(Joi.any()), - token: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - __v: Joi.number(), - }); - } - - /** @returns {LastPatch} */ - static LastPatch() { - return Joi.object({ - op: Joi.string().allow(""), - path: Joi.string().allow(""), - value: Joi.string().allow(""), - }); - } - - /** @returns {OtherEntityData} */ - static OtherEntityData() { - return Joi.object({ - article_identifier: Joi.string().allow(""), - }); - } - /** @returns {App} */ static App() { return Joi.object({ @@ -2587,27 +2133,6 @@ class ConfigurationPlatformModel { }); } - /** @returns {InventoryConfig} */ - static InventoryConfig() { - return Joi.object({ - brand: ConfigurationPlatformModel.InventoryBrandRule(), - store: ConfigurationPlatformModel.InventoryStoreRule(), - image: Joi.array().items(Joi.string().allow("")), - franchise_enabled: Joi.boolean(), - out_of_stock: Joi.boolean(), - only_verified_products: Joi.boolean(), - }); - } - - /** @returns {AppInventory} */ - static AppInventory() { - return Joi.object({ - inventory: ConfigurationPlatformModel.InventoryConfig(), - payment: ConfigurationPlatformModel.InventoryPaymentConfig(), - article_assignment: ConfigurationPlatformModel.InventoryArticleAssignment(), - }); - } - /** @returns {AppDomain} */ static AppDomain() { return Joi.object({ @@ -2949,6 +2474,7 @@ class ConfigurationPlatformModel { /** @returns {GoogleMap} */ static GoogleMap() { return Joi.object({ + enabled: Joi.boolean(), credentials: ConfigurationPlatformModel.GoogleMapCredentials(), }); } @@ -3343,62 +2869,6 @@ class ConfigurationPlatformModel { }); } - /** @returns {InventoryBrandRule} */ - static InventoryBrandRule() { - return Joi.object({ - criteria: Joi.string().allow(""), - brands: Joi.array().items(Joi.number()), - }); - } - - /** @returns {StoreCriteriaRule} */ - static StoreCriteriaRule() { - return Joi.object({ - companies: Joi.array().items(Joi.number()), - brands: Joi.array().items(Joi.number()), - }); - } - - /** @returns {InventoryStoreRule} */ - static InventoryStoreRule() { - return Joi.object({ - criteria: Joi.string().allow(""), - rules: Joi.array().items(ConfigurationPlatformModel.StoreCriteriaRule()), - stores: Joi.array().items(Joi.number()), - }); - } - - /** @returns {InventoryPaymentConfig} */ - static InventoryPaymentConfig() { - return Joi.object({ - mode_of_payment: Joi.string().allow(""), - source: Joi.string().allow(""), - }); - } - - /** @returns {StorePriorityRule} */ - static StorePriorityRule() { - return Joi.object({ - enabled: Joi.boolean(), - storetype_order: Joi.array().items(Joi.string().allow("")), - }); - } - - /** @returns {ArticleAssignmentRule} */ - static ArticleAssignmentRule() { - return Joi.object({ - store_priority: ConfigurationPlatformModel.StorePriorityRule(), - }); - } - - /** @returns {InventoryArticleAssignment} */ - static InventoryArticleAssignment() { - return Joi.object({ - post_order_reassignment: Joi.boolean(), - rules: ConfigurationPlatformModel.ArticleAssignmentRule(), - }); - } - /** @returns {Page} */ static Page() { return Joi.object({ diff --git a/sdk/platform/Configuration/ConfigurationPlatformValidator.d.ts b/sdk/platform/Configuration/ConfigurationPlatformValidator.d.ts index 57f676124..12e102f65 100644 --- a/sdk/platform/Configuration/ConfigurationPlatformValidator.d.ts +++ b/sdk/platform/Configuration/ConfigurationPlatformValidator.d.ts @@ -9,13 +9,6 @@ export = ConfigurationPlatformValidator; * @property {number} [pageSize] * @property {string} [q] - Search param by name or domain */ -/** - * @typedef GetAvailableOptInsParam - * @property {number} [pageNo] - The page number to navigate through the given - * set of results. Default value is 1. - * @property {number} [pageSize] - The number of items to retrieve in each page. - * Default value is 10. - */ /** * @typedef GetBrandsByCompanyParam * @property {string} [q] - Search text for brand name @@ -33,31 +26,6 @@ export = ConfigurationPlatformValidator; * @typedef GetDomainAvailibilityParam * @property {ConfigurationPlatformModel.DomainSuggestionsRequest} body */ -/** - * @typedef GetIntegrationByIdParam - * @property {string} id - Integration id - */ -/** - * @typedef GetIntegrationByLevelIdParam - * @property {string} id - Integration ID (24-digit Mongo Object ID) - * @property {string} level - Integration level, `store` or `company` - * @property {number} uid - Unique identifier of integration level (store/company) - */ -/** - * @typedef GetIntegrationLevelConfigParam - * @property {string} id - Integration ID (24-digit Mongo Object ID) - * @property {string} level - Store or company - * @property {boolean} [opted] - True means get the opted stores. False means - * get the stores that aren't opted. - * @property {boolean} [checkPermission] - Filter on if permissions (for - * inventory/order) are present - */ -/** - * @typedef GetLevelActiveIntegrationsParam - * @property {string} id - Integration ID (24-digit Mongo Object ID) - * @property {string} level - Integration level, `store` or `company` - * @property {number} uid - Unique identifier of integration level (store/company) - */ /** * @typedef GetOtherSellerApplicationByIdParam * @property {string} id - Application Id @@ -69,15 +37,6 @@ export = ConfigurationPlatformValidator; * @property {number} [pageSize] - The number of items to retrieve in each page. * Default value is 10. */ -/** - * @typedef GetSelectedOptInsParam - * @property {string} level - Store or company - * @property {number} uid - Unique identifier of the selected integration level. - * @property {number} [pageNo] - The page number to navigate through the given - * set of results. Default value is 1. - * @property {number} [pageSize] - The number of items to retrieve in each page. - * Default value is 10. - */ /** * @typedef GetStoreByBrandsParam * @property {number} [pageNo] - The page number to navigate through the given @@ -92,26 +51,11 @@ export = ConfigurationPlatformValidator; * channel website) created within a business account. * @property {ConfigurationPlatformModel.OptOutInventory} body */ -/** - * @typedef UpdateLevelIntegrationParam - * @property {string} id - Integration ID (24-digit Mongo Object ID) - * @property {string} level - Integration level, `store` or `company` - * @property {ConfigurationPlatformModel.UpdateIntegrationLevelRequest} body - */ -/** - * @typedef UpdateLevelUidIntegrationParam - * @property {string} id - Integration ID (24-digit Mongo Object ID) - * @property {string} level - Integration level, `store` or `company` - * @property {number} uid - Unique identifier of integration level (store/company) - * @property {ConfigurationPlatformModel.IntegrationLevel} body - */ declare class ConfigurationPlatformValidator { /** @returns {CreateApplicationParam} */ static createApplication(): CreateApplicationParam; /** @returns {GetApplicationsParam} */ static getApplications(): GetApplicationsParam; - /** @returns {GetAvailableOptInsParam} */ - static getAvailableOptIns(): GetAvailableOptInsParam; /** @returns {GetBrandsByCompanyParam} */ static getBrandsByCompany(): GetBrandsByCompanyParam; /** @returns {GetCompanyByBrandsParam} */ @@ -120,31 +64,17 @@ declare class ConfigurationPlatformValidator { static getCurrencies(): any; /** @returns {GetDomainAvailibilityParam} */ static getDomainAvailibility(): GetDomainAvailibilityParam; - /** @returns {GetIntegrationByIdParam} */ - static getIntegrationById(): GetIntegrationByIdParam; - /** @returns {GetIntegrationByLevelIdParam} */ - static getIntegrationByLevelId(): GetIntegrationByLevelIdParam; - /** @returns {GetIntegrationLevelConfigParam} */ - static getIntegrationLevelConfig(): GetIntegrationLevelConfigParam; - /** @returns {GetLevelActiveIntegrationsParam} */ - static getLevelActiveIntegrations(): GetLevelActiveIntegrationsParam; /** @returns {GetOtherSellerApplicationByIdParam} */ static getOtherSellerApplicationById(): GetOtherSellerApplicationByIdParam; /** @returns {GetOtherSellerApplicationsParam} */ static getOtherSellerApplications(): GetOtherSellerApplicationsParam; - /** @returns {GetSelectedOptInsParam} */ - static getSelectedOptIns(): GetSelectedOptInsParam; /** @returns {GetStoreByBrandsParam} */ static getStoreByBrands(): GetStoreByBrandsParam; /** @returns {OptOutFromApplicationParam} */ static optOutFromApplication(): OptOutFromApplicationParam; - /** @returns {UpdateLevelIntegrationParam} */ - static updateLevelIntegration(): UpdateLevelIntegrationParam; - /** @returns {UpdateLevelUidIntegrationParam} */ - static updateLevelUidIntegration(): UpdateLevelUidIntegrationParam; } declare namespace ConfigurationPlatformValidator { - export { CreateApplicationParam, GetApplicationsParam, GetAvailableOptInsParam, GetBrandsByCompanyParam, GetCompanyByBrandsParam, GetCurrenciesParam, GetDomainAvailibilityParam, GetIntegrationByIdParam, GetIntegrationByLevelIdParam, GetIntegrationLevelConfigParam, GetLevelActiveIntegrationsParam, GetOtherSellerApplicationByIdParam, GetOtherSellerApplicationsParam, GetSelectedOptInsParam, GetStoreByBrandsParam, OptOutFromApplicationParam, UpdateLevelIntegrationParam, UpdateLevelUidIntegrationParam }; + export { CreateApplicationParam, GetApplicationsParam, GetBrandsByCompanyParam, GetCompanyByBrandsParam, GetCurrenciesParam, GetDomainAvailibilityParam, GetOtherSellerApplicationByIdParam, GetOtherSellerApplicationsParam, GetStoreByBrandsParam, OptOutFromApplicationParam }; } type CreateApplicationParam = { body: ConfigurationPlatformModel.CreateApplicationRequest; @@ -157,18 +87,6 @@ type GetApplicationsParam = { */ q?: string; }; -type GetAvailableOptInsParam = { - /** - * - The page number to navigate through the given - * set of results. Default value is 1. - */ - pageNo?: number; - /** - * - The number of items to retrieve in each page. - * Default value is 10. - */ - pageSize?: number; -}; type GetBrandsByCompanyParam = { /** * - Search text for brand name @@ -191,60 +109,6 @@ type GetCompanyByBrandsParam = { type GetDomainAvailibilityParam = { body: ConfigurationPlatformModel.DomainSuggestionsRequest; }; -type GetIntegrationByIdParam = { - /** - * - Integration id - */ - id: string; -}; -type GetIntegrationByLevelIdParam = { - /** - * - Integration ID (24-digit Mongo Object ID) - */ - id: string; - /** - * - Integration level, `store` or `company` - */ - level: string; - /** - * - Unique identifier of integration level (store/company) - */ - uid: number; -}; -type GetIntegrationLevelConfigParam = { - /** - * - Integration ID (24-digit Mongo Object ID) - */ - id: string; - /** - * - Store or company - */ - level: string; - /** - * - True means get the opted stores. False means - * get the stores that aren't opted. - */ - opted?: boolean; - /** - * - Filter on if permissions (for - * inventory/order) are present - */ - checkPermission?: boolean; -}; -type GetLevelActiveIntegrationsParam = { - /** - * - Integration ID (24-digit Mongo Object ID) - */ - id: string; - /** - * - Integration level, `store` or `company` - */ - level: string; - /** - * - Unique identifier of integration level (store/company) - */ - uid: number; -}; type GetOtherSellerApplicationByIdParam = { /** * - Application Id @@ -263,26 +127,6 @@ type GetOtherSellerApplicationsParam = { */ pageSize?: number; }; -type GetSelectedOptInsParam = { - /** - * - Store or company - */ - level: string; - /** - * - Unique identifier of the selected integration level. - */ - uid: number; - /** - * - The page number to navigate through the given - * set of results. Default value is 1. - */ - pageNo?: number; - /** - * - The number of items to retrieve in each page. - * Default value is 10. - */ - pageSize?: number; -}; type GetStoreByBrandsParam = { /** * - The page number to navigate through the given @@ -304,31 +148,5 @@ type OptOutFromApplicationParam = { id: string; body: ConfigurationPlatformModel.OptOutInventory; }; -type UpdateLevelIntegrationParam = { - /** - * - Integration ID (24-digit Mongo Object ID) - */ - id: string; - /** - * - Integration level, `store` or `company` - */ - level: string; - body: ConfigurationPlatformModel.UpdateIntegrationLevelRequest; -}; -type UpdateLevelUidIntegrationParam = { - /** - * - Integration ID (24-digit Mongo Object ID) - */ - id: string; - /** - * - Integration level, `store` or `company` - */ - level: string; - /** - * - Unique identifier of integration level (store/company) - */ - uid: number; - body: ConfigurationPlatformModel.IntegrationLevel; -}; type GetCurrenciesParam = any; import ConfigurationPlatformModel = require("./ConfigurationPlatformModel"); diff --git a/sdk/platform/Configuration/ConfigurationPlatformValidator.js b/sdk/platform/Configuration/ConfigurationPlatformValidator.js index 1b1c9cd0f..5fc579287 100644 --- a/sdk/platform/Configuration/ConfigurationPlatformValidator.js +++ b/sdk/platform/Configuration/ConfigurationPlatformValidator.js @@ -14,14 +14,6 @@ const ConfigurationPlatformModel = require("./ConfigurationPlatformModel"); * @property {string} [q] - Search param by name or domain */ -/** - * @typedef GetAvailableOptInsParam - * @property {number} [pageNo] - The page number to navigate through the given - * set of results. Default value is 1. - * @property {number} [pageSize] - The number of items to retrieve in each page. - * Default value is 10. - */ - /** * @typedef GetBrandsByCompanyParam * @property {string} [q] - Search text for brand name @@ -43,35 +35,6 @@ const ConfigurationPlatformModel = require("./ConfigurationPlatformModel"); * @property {ConfigurationPlatformModel.DomainSuggestionsRequest} body */ -/** - * @typedef GetIntegrationByIdParam - * @property {string} id - Integration id - */ - -/** - * @typedef GetIntegrationByLevelIdParam - * @property {string} id - Integration ID (24-digit Mongo Object ID) - * @property {string} level - Integration level, `store` or `company` - * @property {number} uid - Unique identifier of integration level (store/company) - */ - -/** - * @typedef GetIntegrationLevelConfigParam - * @property {string} id - Integration ID (24-digit Mongo Object ID) - * @property {string} level - Store or company - * @property {boolean} [opted] - True means get the opted stores. False means - * get the stores that aren't opted. - * @property {boolean} [checkPermission] - Filter on if permissions (for - * inventory/order) are present - */ - -/** - * @typedef GetLevelActiveIntegrationsParam - * @property {string} id - Integration ID (24-digit Mongo Object ID) - * @property {string} level - Integration level, `store` or `company` - * @property {number} uid - Unique identifier of integration level (store/company) - */ - /** * @typedef GetOtherSellerApplicationByIdParam * @property {string} id - Application Id @@ -85,16 +48,6 @@ const ConfigurationPlatformModel = require("./ConfigurationPlatformModel"); * Default value is 10. */ -/** - * @typedef GetSelectedOptInsParam - * @property {string} level - Store or company - * @property {number} uid - Unique identifier of the selected integration level. - * @property {number} [pageNo] - The page number to navigate through the given - * set of results. Default value is 1. - * @property {number} [pageSize] - The number of items to retrieve in each page. - * Default value is 10. - */ - /** * @typedef GetStoreByBrandsParam * @property {number} [pageNo] - The page number to navigate through the given @@ -111,21 +64,6 @@ const ConfigurationPlatformModel = require("./ConfigurationPlatformModel"); * @property {ConfigurationPlatformModel.OptOutInventory} body */ -/** - * @typedef UpdateLevelIntegrationParam - * @property {string} id - Integration ID (24-digit Mongo Object ID) - * @property {string} level - Integration level, `store` or `company` - * @property {ConfigurationPlatformModel.UpdateIntegrationLevelRequest} body - */ - -/** - * @typedef UpdateLevelUidIntegrationParam - * @property {string} id - Integration ID (24-digit Mongo Object ID) - * @property {string} level - Integration level, `store` or `company` - * @property {number} uid - Unique identifier of integration level (store/company) - * @property {ConfigurationPlatformModel.IntegrationLevel} body - */ - class ConfigurationPlatformValidator { /** @returns {CreateApplicationParam} */ static createApplication() { @@ -143,14 +81,6 @@ class ConfigurationPlatformValidator { }).required(); } - /** @returns {GetAvailableOptInsParam} */ - static getAvailableOptIns() { - return Joi.object({ - pageNo: Joi.number(), - pageSize: Joi.number(), - }).required(); - } - /** @returns {GetBrandsByCompanyParam} */ static getBrandsByCompany() { return Joi.object({ @@ -179,41 +109,6 @@ class ConfigurationPlatformValidator { }).required(); } - /** @returns {GetIntegrationByIdParam} */ - static getIntegrationById() { - return Joi.object({ - id: Joi.string().allow("").required(), - }).required(); - } - - /** @returns {GetIntegrationByLevelIdParam} */ - static getIntegrationByLevelId() { - return Joi.object({ - id: Joi.string().allow("").required(), - level: Joi.string().allow("").required(), - uid: Joi.number().required(), - }).required(); - } - - /** @returns {GetIntegrationLevelConfigParam} */ - static getIntegrationLevelConfig() { - return Joi.object({ - id: Joi.string().allow("").required(), - level: Joi.string().allow("").required(), - opted: Joi.boolean(), - checkPermission: Joi.boolean(), - }).required(); - } - - /** @returns {GetLevelActiveIntegrationsParam} */ - static getLevelActiveIntegrations() { - return Joi.object({ - id: Joi.string().allow("").required(), - level: Joi.string().allow("").required(), - uid: Joi.number().required(), - }).required(); - } - /** @returns {GetOtherSellerApplicationByIdParam} */ static getOtherSellerApplicationById() { return Joi.object({ @@ -229,16 +124,6 @@ class ConfigurationPlatformValidator { }).required(); } - /** @returns {GetSelectedOptInsParam} */ - static getSelectedOptIns() { - return Joi.object({ - level: Joi.string().allow("").required(), - uid: Joi.number().required(), - pageNo: Joi.number(), - pageSize: Joi.number(), - }).required(); - } - /** @returns {GetStoreByBrandsParam} */ static getStoreByBrands() { return Joi.object({ @@ -255,25 +140,6 @@ class ConfigurationPlatformValidator { body: ConfigurationPlatformModel.OptOutInventory().required(), }).required(); } - - /** @returns {UpdateLevelIntegrationParam} */ - static updateLevelIntegration() { - return Joi.object({ - id: Joi.string().allow("").required(), - level: Joi.string().allow("").required(), - body: ConfigurationPlatformModel.UpdateIntegrationLevelRequest().required(), - }).required(); - } - - /** @returns {UpdateLevelUidIntegrationParam} */ - static updateLevelUidIntegration() { - return Joi.object({ - id: Joi.string().allow("").required(), - level: Joi.string().allow("").required(), - uid: Joi.number().required(), - body: ConfigurationPlatformModel.IntegrationLevel().required(), - }).required(); - } } module.exports = ConfigurationPlatformValidator; diff --git a/sdk/platform/Content/ContentPlatformApplicationClient.d.ts b/sdk/platform/Content/ContentPlatformApplicationClient.d.ts index d04f4bb4f..f9e6378de 100644 --- a/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +++ b/sdk/platform/Content/ContentPlatformApplicationClient.d.ts @@ -600,16 +600,6 @@ declare class Content { * @description: List all blogs - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/content/getBlogs/). */ getBlogs({ pageNo, pageSize, tags, q, slug, title, status, requestHeaders }?: ContentPlatformApplicationValidator.GetBlogsParam, { responseHeaders }?: object): Promise; - /** - * @param {ContentPlatformApplicationValidator.GetComponentByIdParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getComponentById - * @summary: Get component - * @description: Retrieve detailed information about a specific component. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/content/getComponentById/). - */ - getComponentById({ slug, requestHeaders }?: ContentPlatformApplicationValidator.GetComponentByIdParam, { responseHeaders }?: object): Promise; /** * @param {ContentPlatformApplicationValidator.GetDataLoadersParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` diff --git a/sdk/platform/Content/ContentPlatformApplicationClient.js b/sdk/platform/Content/ContentPlatformApplicationClient.js index 102210cd2..eb8960f74 100644 --- a/sdk/platform/Content/ContentPlatformApplicationClient.js +++ b/sdk/platform/Content/ContentPlatformApplicationClient.js @@ -4184,85 +4184,6 @@ class Content { return response; } - /** - * @param {ContentPlatformApplicationValidator.GetComponentByIdParam} arg - Arg object - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getComponentById - * @summary: Get component - * @description: Retrieve detailed information about a specific component. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/content/getComponentById/). - */ - async getComponentById( - { slug, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { - error, - } = ContentPlatformApplicationValidator.getComponentById().validate( - { - slug, - }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = ContentPlatformApplicationValidator.getComponentById().validate( - { - slug, - }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for platform > Content > getComponentById \n ${warrning}`, - }); - } - - const query_params = {}; - - const response = await PlatformAPIClient.execute( - this.config, - "get", - `/service/platform/content/v1.0/company/${this.config.companyId}/application/${this.applicationId}/blogs/${slug}`, - query_params, - undefined, - requestHeaders, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = ContentPlatformModel.BlogSchema().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this.config.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for platform > Content > getComponentById \n ${res_error}`, - }); - } - } - - return response; - } - /** * @param {ContentPlatformApplicationValidator.GetDataLoadersParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` diff --git a/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts b/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts index 812f4c10f..c11575380 100644 --- a/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +++ b/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts @@ -232,11 +232,6 @@ export = ContentPlatformApplicationValidator; * @property {string} [title] - Blogs retrieve based on the title passed. * @property {string} [status] - Blogs retrieve based on the status passed. */ -/** - * @typedef GetComponentByIdParam - * @property {string} slug - A short, human-readable, URL-friendly identifier of - * a blog page. You can get slug value of a blog from `getBlogs` API. - */ /** @typedef GetDataLoadersParam */ /** * @typedef GetDataLoadersByServiceParam @@ -565,8 +560,6 @@ declare class ContentPlatformApplicationValidator { static getBlogBySlug(): GetBlogBySlugParam; /** @returns {GetBlogsParam} */ static getBlogs(): GetBlogsParam; - /** @returns {GetComponentByIdParam} */ - static getComponentById(): GetComponentByIdParam; /** @returns {GetDataLoadersParam} */ static getDataLoaders(): any; /** @returns {GetDataLoadersByServiceParam} */ @@ -665,7 +658,7 @@ declare class ContentPlatformApplicationValidator { static updateSupportInformation(): UpdateSupportInformationParam; } declare namespace ContentPlatformApplicationValidator { - export { AddDataLoaderParam, AddFaqParam, AddInjectableTagParam, AddPathRedirectionRulesParam, CreateAnnouncementParam, CreateAppCustomFieldByResourceIdParam, CreateAppCustomFieldDefinitionParam, CreateAppCustomObjectParam, CreateAppCustomObjectDefinitionParam, CreateBlogParam, CreateFaqCategoryParam, CreateLandingPageParam, CreateNavigationParam, CreatePageParam, CreatePagePreviewParam, CreateSEOMarkupSchemaParam, CreateSlideshowParam, DeleteAnnouncementParam, DeleteAppCustomFieldDefinitionParam, DeleteAppCustomObjectParam, DeleteAppCustomObjectDefinitionParam, DeleteBlogParam, DeleteDataLoaderParam, DeleteFaqParam, DeleteFaqCategoryParam, DeleteLandingPageParam, DeleteNavigationParam, DeletePageParam, DeletePathRedirectionRulesParam, DeleteSEOMarkupSchemaParam, DeleteSlideshowParam, EditDataLoaderParam, EditInjectableTagParam, EditSEOMarkupSchemaParam, ExportAppCustomObjectEntriesParam, GenerateSEOTitleParam, GetAnnouncementByIdParam, GetAnnouncementsListParam, GetAppCustomFieldDefinitionParam, GetAppCustomFieldDefinitionsParam, GetAppCustomFieldTypesParam, GetAppCustomFieldsParam, GetAppCustomFieldsByResourceIdParam, GetAppCustomObjectParam, GetAppCustomObjectDefinitionParam, GetAppCustomObjectDefinitionsParam, GetAppCustomObjectsParam, GetAppJobsParam, GetAppResourcesParam, GetBlogBySlugParam, GetBlogsParam, GetComponentByIdParam, GetDataLoadersParam, GetDataLoadersByServiceParam, GetDefaultNavigationsParam, GetDefaultSEOMarkupSchemaParam, GetFaqByIdOrSlugParam, GetFaqCategoriesParam, GetFaqCategoryBySlugOrIdParam, GetFaqsByCategoryIdOrSlugParam, GetInjectableTagsParam, GetLandingPagesParam, GetLegalInformationParam, GetNavigationBySlugParam, GetNavigationsParam, GetPageBySlugParam, GetPageMetaParam, GetPageSpecParam, GetPagesParam, GetPathRedirectionRuleParam, GetPathRedirectionRulesParam, GetSEOConfigurationParam, GetSEOMarkupSchemaParam, GetSEOMarkupSchemasParam, GetSlideshowBySlugParam, GetSlideshowsParam, GetSupportInformationParam, ImportAppCustomObjectEntriesParam, RemoveInjectableTagParam, ResetDataLoaderParam, SampleAppCustomObjectBulkEntryParam, SelectDataLoaderParam, UpdateAnnouncementParam, UpdateAnnouncementScheduleParam, UpdateAppCustomFieldDefinitionParam, UpdateAppCustomObjectParam, UpdateAppCustomObjectDefinitionParam, UpdateBlogParam, UpdateFaqParam, UpdateFaqCategoryParam, UpdateInjectableTagParam, UpdateLandingPageParam, UpdateLegalInformationParam, UpdateNavigationParam, UpdatePageParam, UpdatePagePreviewParam, UpdatePathRedirectionRulesParam, UpdateSEOConfigurationParam, UpdateSlideshowParam, UpdateSupportInformationParam }; + export { AddDataLoaderParam, AddFaqParam, AddInjectableTagParam, AddPathRedirectionRulesParam, CreateAnnouncementParam, CreateAppCustomFieldByResourceIdParam, CreateAppCustomFieldDefinitionParam, CreateAppCustomObjectParam, CreateAppCustomObjectDefinitionParam, CreateBlogParam, CreateFaqCategoryParam, CreateLandingPageParam, CreateNavigationParam, CreatePageParam, CreatePagePreviewParam, CreateSEOMarkupSchemaParam, CreateSlideshowParam, DeleteAnnouncementParam, DeleteAppCustomFieldDefinitionParam, DeleteAppCustomObjectParam, DeleteAppCustomObjectDefinitionParam, DeleteBlogParam, DeleteDataLoaderParam, DeleteFaqParam, DeleteFaqCategoryParam, DeleteLandingPageParam, DeleteNavigationParam, DeletePageParam, DeletePathRedirectionRulesParam, DeleteSEOMarkupSchemaParam, DeleteSlideshowParam, EditDataLoaderParam, EditInjectableTagParam, EditSEOMarkupSchemaParam, ExportAppCustomObjectEntriesParam, GenerateSEOTitleParam, GetAnnouncementByIdParam, GetAnnouncementsListParam, GetAppCustomFieldDefinitionParam, GetAppCustomFieldDefinitionsParam, GetAppCustomFieldTypesParam, GetAppCustomFieldsParam, GetAppCustomFieldsByResourceIdParam, GetAppCustomObjectParam, GetAppCustomObjectDefinitionParam, GetAppCustomObjectDefinitionsParam, GetAppCustomObjectsParam, GetAppJobsParam, GetAppResourcesParam, GetBlogBySlugParam, GetBlogsParam, GetDataLoadersParam, GetDataLoadersByServiceParam, GetDefaultNavigationsParam, GetDefaultSEOMarkupSchemaParam, GetFaqByIdOrSlugParam, GetFaqCategoriesParam, GetFaqCategoryBySlugOrIdParam, GetFaqsByCategoryIdOrSlugParam, GetInjectableTagsParam, GetLandingPagesParam, GetLegalInformationParam, GetNavigationBySlugParam, GetNavigationsParam, GetPageBySlugParam, GetPageMetaParam, GetPageSpecParam, GetPagesParam, GetPathRedirectionRuleParam, GetPathRedirectionRulesParam, GetSEOConfigurationParam, GetSEOMarkupSchemaParam, GetSEOMarkupSchemasParam, GetSlideshowBySlugParam, GetSlideshowsParam, GetSupportInformationParam, ImportAppCustomObjectEntriesParam, RemoveInjectableTagParam, ResetDataLoaderParam, SampleAppCustomObjectBulkEntryParam, SelectDataLoaderParam, UpdateAnnouncementParam, UpdateAnnouncementScheduleParam, UpdateAppCustomFieldDefinitionParam, UpdateAppCustomObjectParam, UpdateAppCustomObjectDefinitionParam, UpdateBlogParam, UpdateFaqParam, UpdateFaqCategoryParam, UpdateInjectableTagParam, UpdateLandingPageParam, UpdateLegalInformationParam, UpdateNavigationParam, UpdatePageParam, UpdatePagePreviewParam, UpdatePathRedirectionRulesParam, UpdateSEOConfigurationParam, UpdateSlideshowParam, UpdateSupportInformationParam }; } type AddDataLoaderParam = { body: ContentPlatformModel.DataLoaderSchema; @@ -933,13 +926,6 @@ type GetBlogsParam = { */ status?: string; }; -type GetComponentByIdParam = { - /** - * - A short, human-readable, URL-friendly identifier of - * a blog page. You can get slug value of a blog from `getBlogs` API. - */ - slug: string; -}; type GetDataLoadersByServiceParam = { /** * - Service name of the data loader.. diff --git a/sdk/platform/Content/ContentPlatformApplicationValidator.js b/sdk/platform/Content/ContentPlatformApplicationValidator.js index 763323639..3faca8643 100644 --- a/sdk/platform/Content/ContentPlatformApplicationValidator.js +++ b/sdk/platform/Content/ContentPlatformApplicationValidator.js @@ -286,12 +286,6 @@ const ContentPlatformModel = require("./ContentPlatformModel"); * @property {string} [status] - Blogs retrieve based on the status passed. */ -/** - * @typedef GetComponentByIdParam - * @property {string} slug - A short, human-readable, URL-friendly identifier of - * a blog page. You can get slug value of a blog from `getBlogs` API. - */ - /** @typedef GetDataLoadersParam */ /** @@ -945,13 +939,6 @@ class ContentPlatformApplicationValidator { }).required(); } - /** @returns {GetComponentByIdParam} */ - static getComponentById() { - return Joi.object({ - slug: Joi.string().allow("").required(), - }).required(); - } - /** @returns {GetDataLoadersParam} */ static getDataLoaders() { return Joi.object({}).required(); diff --git a/sdk/platform/Content/ContentPlatformModel.d.ts b/sdk/platform/Content/ContentPlatformModel.d.ts index 3c152e810..08a069cc2 100644 --- a/sdk/platform/Content/ContentPlatformModel.d.ts +++ b/sdk/platform/Content/ContentPlatformModel.d.ts @@ -159,7 +159,11 @@ export = ContentPlatformModel; * @typedef BlogGetResponse * @property {BlogSchema[]} [items] * @property {Page} [page] - * @property {string[]} [filters] + * @property {BlogFilters} [filters] + */ +/** + * @typedef BlogFilters + * @property {string[]} [tags] */ /** * @typedef ResourceContent @@ -290,7 +294,7 @@ export = ContentPlatformModel; */ /** * @typedef Action - * @property {string} [type] + * @property {string} [type] - Type of action to be taken e.g, page. * @property {ActionPage} [page] * @property {ActionPage} [popup] */ @@ -490,13 +494,13 @@ export = ContentPlatformModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef LandingPageGetResponse @@ -665,7 +669,6 @@ export = ContentPlatformModel; * @typedef Support * @property {boolean} [created] * @property {string} [_id] - * @property {string} [config_type] * @property {string} [application] * @property {string} [created_at] * @property {string} [updated_at] @@ -1174,9 +1177,9 @@ export = ContentPlatformModel; */ /** * @typedef ActionPage - * @property {Object} [params] - * @property {Object} [query] - * @property {string} [url] + * @property {Object} [params] - Parameters that should be considered in path. + * @property {Object} [query] - Query parameter if any to be added to the action. + * @property {string} [url] - The URL for the action. * @property {PageType} type */ /** @typedef {"title" | "description"} GenerationEntityType */ @@ -1192,6 +1195,7 @@ export = ContentPlatformModel; * | "category" * | "collection" * | "collections" + * | "custom" * | "contact-us" * | "external" * | "faq" @@ -1231,7 +1235,7 @@ export = ContentPlatformModel; declare class ContentPlatformModel { } declare namespace ContentPlatformModel { - export { GenerateSEOContent, GeneratedSEOContent, ApplicationLegal, ApplicationLegalFAQ, PathMappingSchema, PathSourceSchema, SeoComponent, SeoSchema, CustomMetaTag, Detail, SeoSchemaComponent, SEOSchemaMarkupTemplate, SEOSchemaMarkupTemplateRequestBody, AnnouncementPageSchema, EditorMeta, AnnouncementAuthorSchema, AdminAnnouncementSchema, DefaultSchemaComponent, DefaultSEOSchemaMarkupTemplate, ScheduleSchema, NextSchedule, BlogGetResponse, ResourceContent, Asset, Author, BlogSchema, SEO, SEOImage, SEOMetaItem, SEOMetaItems, SEOSitemap, SEObreadcrumb, DateMeta, BlogRequest, GetAnnouncementListSchema, CreateAnnouncementSchema, DataLoaderResponseSchema, DataLoaderResetResponseSchema, LocaleLanguage, Language, Action, NavigationReference, CronBasedScheduleSchema, ConfigurationSchema, SlideshowMedia, UpdateHandpickedSchema, HandpickedTagSchema, RemoveHandpickedSchema, CreateTagSchema, CreateTagRequestSchema, DataLoaderSchema, DataLoaderSourceSchema, DataLoadersSchema, TagDeleteSuccessResponse, ContentAPIError, CommonError, CategorySchema, ChildrenSchema, CategoryRequestSchema, FAQCategorySchema, FaqSchema, FAQ, CreateFaqResponseSchema, CreateFaqSchema, GetFaqSchema, UpdateFaqCategoryRequestSchema, CreateFaqCategoryRequestSchema, CreateFaqCategorySchema, GetFaqCategoriesSchema, GetFaqCategoryBySlugSchema, Page, LandingPageGetResponse, LandingPageSchema, DefaultNavigationResponse, NavigationGetResponse, Orientation, NavigationSchema, NavigationRequest, PageGetResponse, PageSpec, PageSpecParam, PageSpecItem, PageSchema, CreatedBySchema, PageRequest, CronSchedule, PagePublishRequest, PageMetaSchema, SlideshowGetResponse, SlideshowSchema, SlideshowRequest, Support, PhoneProperties, PhoneSchema, EmailProperties, EmailSchema, ContactSchema, TagsSchema, TagSchema, TagSourceSchema, ResourcesSchema, ResourceSchema, FieldValidations, FieldDefinitionSchema, CustomFieldDefinitionsSchema, CustomFieldDefinitionRequestSchema, CustomObjectCustomFieldDefinitions, CustomObjectDefinitionUpdateRequestSchema, CustomFieldDefinitionDetailResSchema, CustomDataDeleteSchema, CustomFieldValue, CustomFieldSchema, CustomFieldsResponseSchema, CustomFieldsResponseByResourceIdSchema, CustomField, CustomFieldRequestSchema, CustomObjectSchema, CustomObjectDefinitionRequestSchema, CustomObjectCustomFieldDefinitionResSchema, CustomObjectDefinitionSchema, CustomObjectDefinitionDeleteResponseSchema, CustomObjectEntryBulkUploadResponse, CustomObjectListItemDefinationSchema, CustomObjectListItemSchema, CustomObjectsSchema, CustomObjectFieldSchema, CustomObjectByIdSchema, CustomObjectBulkEntryInitiateDownload, CustomObjectMetaSchema, CustomObjectJobSchema, CustomObjectBulkEntry, CustomFieldTypeSchema, SupportedValidationsMetaExampleSchema, SupportedValidationsMetaSchema, SupportedValidationsSchema, StringSingleLine, StringMultiLine, Dropdown, Integer, FloatType, BooleanType, Date, Datetime, Json, File, Url, Metaobject, Product, CustomObjectEntry, CustomObjectDefinitionsSchema, CustomObjectEntryFieldSchema, CustomObjectRequestSchema, CustomObjectBulkSchema, ActionPage, GenerationEntityType, PageType }; + export { GenerateSEOContent, GeneratedSEOContent, ApplicationLegal, ApplicationLegalFAQ, PathMappingSchema, PathSourceSchema, SeoComponent, SeoSchema, CustomMetaTag, Detail, SeoSchemaComponent, SEOSchemaMarkupTemplate, SEOSchemaMarkupTemplateRequestBody, AnnouncementPageSchema, EditorMeta, AnnouncementAuthorSchema, AdminAnnouncementSchema, DefaultSchemaComponent, DefaultSEOSchemaMarkupTemplate, ScheduleSchema, NextSchedule, BlogGetResponse, BlogFilters, ResourceContent, Asset, Author, BlogSchema, SEO, SEOImage, SEOMetaItem, SEOMetaItems, SEOSitemap, SEObreadcrumb, DateMeta, BlogRequest, GetAnnouncementListSchema, CreateAnnouncementSchema, DataLoaderResponseSchema, DataLoaderResetResponseSchema, LocaleLanguage, Language, Action, NavigationReference, CronBasedScheduleSchema, ConfigurationSchema, SlideshowMedia, UpdateHandpickedSchema, HandpickedTagSchema, RemoveHandpickedSchema, CreateTagSchema, CreateTagRequestSchema, DataLoaderSchema, DataLoaderSourceSchema, DataLoadersSchema, TagDeleteSuccessResponse, ContentAPIError, CommonError, CategorySchema, ChildrenSchema, CategoryRequestSchema, FAQCategorySchema, FaqSchema, FAQ, CreateFaqResponseSchema, CreateFaqSchema, GetFaqSchema, UpdateFaqCategoryRequestSchema, CreateFaqCategoryRequestSchema, CreateFaqCategorySchema, GetFaqCategoriesSchema, GetFaqCategoryBySlugSchema, Page, LandingPageGetResponse, LandingPageSchema, DefaultNavigationResponse, NavigationGetResponse, Orientation, NavigationSchema, NavigationRequest, PageGetResponse, PageSpec, PageSpecParam, PageSpecItem, PageSchema, CreatedBySchema, PageRequest, CronSchedule, PagePublishRequest, PageMetaSchema, SlideshowGetResponse, SlideshowSchema, SlideshowRequest, Support, PhoneProperties, PhoneSchema, EmailProperties, EmailSchema, ContactSchema, TagsSchema, TagSchema, TagSourceSchema, ResourcesSchema, ResourceSchema, FieldValidations, FieldDefinitionSchema, CustomFieldDefinitionsSchema, CustomFieldDefinitionRequestSchema, CustomObjectCustomFieldDefinitions, CustomObjectDefinitionUpdateRequestSchema, CustomFieldDefinitionDetailResSchema, CustomDataDeleteSchema, CustomFieldValue, CustomFieldSchema, CustomFieldsResponseSchema, CustomFieldsResponseByResourceIdSchema, CustomField, CustomFieldRequestSchema, CustomObjectSchema, CustomObjectDefinitionRequestSchema, CustomObjectCustomFieldDefinitionResSchema, CustomObjectDefinitionSchema, CustomObjectDefinitionDeleteResponseSchema, CustomObjectEntryBulkUploadResponse, CustomObjectListItemDefinationSchema, CustomObjectListItemSchema, CustomObjectsSchema, CustomObjectFieldSchema, CustomObjectByIdSchema, CustomObjectBulkEntryInitiateDownload, CustomObjectMetaSchema, CustomObjectJobSchema, CustomObjectBulkEntry, CustomFieldTypeSchema, SupportedValidationsMetaExampleSchema, SupportedValidationsMetaSchema, SupportedValidationsSchema, StringSingleLine, StringMultiLine, Dropdown, Integer, FloatType, BooleanType, Date, Datetime, Json, File, Url, Metaobject, Product, CustomObjectEntry, CustomObjectDefinitionsSchema, CustomObjectEntryFieldSchema, CustomObjectRequestSchema, CustomObjectBulkSchema, ActionPage, GenerationEntityType, PageType }; } /** @returns {GenerateSEOContent} */ declare function GenerateSEOContent(): GenerateSEOContent; @@ -1415,7 +1419,12 @@ declare function BlogGetResponse(): BlogGetResponse; type BlogGetResponse = { items?: BlogSchema[]; page?: Page; - filters?: string[]; + filters?: BlogFilters; +}; +/** @returns {BlogFilters} */ +declare function BlogFilters(): BlogFilters; +type BlogFilters = { + tags?: string[]; }; /** @returns {ResourceContent} */ declare function ResourceContent(): ResourceContent; @@ -1565,6 +1574,9 @@ type Language = { /** @returns {Action} */ declare function Action(): Action; type Action = { + /** + * - Type of action to be taken e.g, page. + */ type?: string; page?: ActionPage; popup?: ActionPage; @@ -1795,12 +1807,33 @@ type GetFaqCategoryBySlugSchema = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {LandingPageGetResponse} */ @@ -1994,7 +2027,6 @@ declare function Support(): Support; type Support = { created?: boolean; _id?: string; - config_type?: string; application?: string; created_at?: string; updated_at?: string; @@ -2574,8 +2606,17 @@ type CustomObjectBulkSchema = { /** @returns {ActionPage} */ declare function ActionPage(): ActionPage; type ActionPage = { + /** + * - Parameters that should be considered in path. + */ params?: any; + /** + * - Query parameter if any to be added to the action. + */ query?: any; + /** + * - The URL for the action. + */ url?: string; type: PageType; }; @@ -2592,4 +2633,4 @@ type GenerationEntityType = "title" | "description"; * @returns {PageType} */ declare function PageType(): PageType; -type PageType = "about-us" | "addresses" | "blog" | "brands" | "cards" | "cart" | "categories" | "brand" | "category" | "collection" | "collections" | "contact-us" | "external" | "faq" | "freshchat" | "home" | "notification-settings" | "orders" | "page" | "policy" | "product" | "product-request" | "products" | "profile" | "profile-order-shipment" | "profile-basic" | "profile-company" | "profile-emails" | "profile-phones" | "rate-us" | "refer-earn" | "settings" | "shared-cart" | "tnc" | "track-order" | "wishlist" | "sections" | "form" | "cart-delivery" | "cart-payment" | "cart-review" | "login" | "register" | "shipping-policy" | "return-policy" | "order-status"; +type PageType = "about-us" | "addresses" | "blog" | "brands" | "cards" | "cart" | "categories" | "brand" | "category" | "collection" | "collections" | "custom" | "contact-us" | "external" | "faq" | "freshchat" | "home" | "notification-settings" | "orders" | "page" | "policy" | "product" | "product-request" | "products" | "profile" | "profile-order-shipment" | "profile-basic" | "profile-company" | "profile-emails" | "profile-phones" | "rate-us" | "refer-earn" | "settings" | "shared-cart" | "tnc" | "track-order" | "wishlist" | "sections" | "form" | "cart-delivery" | "cart-payment" | "cart-review" | "login" | "register" | "shipping-policy" | "return-policy" | "order-status"; diff --git a/sdk/platform/Content/ContentPlatformModel.js b/sdk/platform/Content/ContentPlatformModel.js index 03f8aa3ef..928379913 100644 --- a/sdk/platform/Content/ContentPlatformModel.js +++ b/sdk/platform/Content/ContentPlatformModel.js @@ -181,7 +181,12 @@ const Joi = require("joi"); * @typedef BlogGetResponse * @property {BlogSchema[]} [items] * @property {Page} [page] - * @property {string[]} [filters] + * @property {BlogFilters} [filters] + */ + +/** + * @typedef BlogFilters + * @property {string[]} [tags] */ /** @@ -331,7 +336,7 @@ const Joi = require("joi"); /** * @typedef Action - * @property {string} [type] + * @property {string} [type] - Type of action to be taken e.g, page. * @property {ActionPage} [page] * @property {ActionPage} [popup] */ @@ -561,13 +566,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** @@ -757,7 +762,6 @@ const Joi = require("joi"); * @typedef Support * @property {boolean} [created] * @property {string} [_id] - * @property {string} [config_type] * @property {string} [application] * @property {string} [created_at] * @property {string} [updated_at] @@ -1328,9 +1332,9 @@ const Joi = require("joi"); /** * @typedef ActionPage - * @property {Object} [params] - * @property {Object} [query] - * @property {string} [url] + * @property {Object} [params] - Parameters that should be considered in path. + * @property {Object} [query] - Query parameter if any to be added to the action. + * @property {string} [url] - The URL for the action. * @property {PageType} type */ @@ -1348,6 +1352,7 @@ const Joi = require("joi"); * | "category" * | "collection" * | "collections" + * | "custom" * | "contact-us" * | "external" * | "faq" @@ -1612,7 +1617,14 @@ class ContentPlatformModel { return Joi.object({ items: Joi.array().items(ContentPlatformModel.BlogSchema()), page: ContentPlatformModel.Page(), - filters: Joi.array().items(Joi.string().allow("")), + filters: ContentPlatformModel.BlogFilters(), + }); + } + + /** @returns {BlogFilters} */ + static BlogFilters() { + return Joi.object({ + tags: Joi.array().items(Joi.string().allow("")), }); } @@ -2327,7 +2339,6 @@ class ContentPlatformModel { return Joi.object({ created: Joi.boolean(), _id: Joi.string().allow(""), - config_type: Joi.string().allow(""), application: Joi.string().allow(""), created_at: Joi.string().allow(""), updated_at: Joi.string().allow(""), @@ -3115,6 +3126,8 @@ class ContentPlatformModel { "collections", + "custom", + "contact-us", "external", diff --git a/sdk/platform/Discount/DiscountPlatformModel.d.ts b/sdk/platform/Discount/DiscountPlatformModel.d.ts index ffa5dd997..51357be6e 100644 --- a/sdk/platform/Discount/DiscountPlatformModel.d.ts +++ b/sdk/platform/Discount/DiscountPlatformModel.d.ts @@ -140,13 +140,13 @@ export = DiscountPlatformModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef UserDetails @@ -338,12 +338,33 @@ type CancelJobResponse = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {UserDetails} */ diff --git a/sdk/platform/Discount/DiscountPlatformModel.js b/sdk/platform/Discount/DiscountPlatformModel.js index f047b202a..d63d660ce 100644 --- a/sdk/platform/Discount/DiscountPlatformModel.js +++ b/sdk/platform/Discount/DiscountPlatformModel.js @@ -153,13 +153,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** diff --git a/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts b/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts index 263955686..06e1dba5d 100644 --- a/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +++ b/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts @@ -152,27 +152,33 @@ export = FileStoragePlatformModel; */ /** * @typedef CompanyDetail - * @property {string} [name] - * @property {string} [address] - * @property {string} [city] - * @property {string} [state] - * @property {string} [country] - * @property {number} [zip_code] - * @property {string} [state_code] - * @property {string} [country_code] - * @property {string} [gstin] - * @property {string} [pan] - * @property {string} [phone_no] - * @property {string} [cin] - * @property {string} [website_url] - * @property {string} [email] - * @property {string} [display_address] - * @property {string} [sector] - * @property {Object} [phone] - * @property {string} [trn] - * @property {string} [vat] - * @property {string} [business_country_timezone] - * @property {Object} [business_country_currency] + * @property {string} [name] - The official name of the company. + * @property {string} [address] - The physical street address of the company. + * @property {string} [city] - The city where the company is located. + * @property {string} [state] - The state or province where the company is located. + * @property {string} [country] - The country where the company is based. + * @property {number} [zip_code] - The postal code for the company's location. + * @property {string} [state_code] - A code representing the state, often used + * in official documents and forms. + * @property {string} [country_code] - The code of the country. + * @property {string} [gstin] - The Goods and Services Tax Identification + * Number, unique to each business in India. + * @property {string} [pan] - The Permanent Account Number, unique to each + * taxpayer in India. + * @property {string} [phone_no] - The primary contact phone number for the company. + * @property {string} [cin] - The Corporate Identification Number, unique to + * each company registered in India. + * @property {string} [website_url] - The URL to the company's official website. + * @property {string} [email] - The company's official email address. + * @property {string} [display_address] - The display address of the company. + * @property {string} [sector] - The sector in which company is located. + * @property {Object} [phone] - The provided phone no of country. + * @property {string} [trn] - The trn no of the company. + * @property {string} [vat] - The vat no of the company. + * @property {string} [business_country_timezone] - The bussiness country timezone. + * @property {Object} [business_country_currency] - This object represents the + * bussiness country currency. + * @property {Object} [meta] - This object represents the meta fields for company. */ /** * @typedef StoreDetail @@ -412,6 +418,8 @@ export = FileStoragePlatformModel; * @property {boolean} [is_self_ship] * @property {string} [mode] * @property {boolean} [is_self_pickup] + * @property {Object} [shipment_meta] - This field represents the shipment meta details + * @property {Object} [order_meta] - This field represents the order meta details * @property {string} [platform_name] * @property {number} [amount_to_be_collected] * @property {number} [amount_paid] @@ -427,11 +435,12 @@ export = FileStoragePlatformModel; */ /** * @typedef DummyTemplateData - * @property {string} [_id] - * @property {number} [pdf_type_id] + * @property {string} [_id] - This field contains the unique identifier for the + * PDF payload. + * @property {number} [pdf_type_id] - This is invoice unique id * @property {DummyTemplateDataPayload} payload - * @property {string} [country_code] - * @property {number} [__v] + * @property {string} [country_code] - This field represents the country code. + * @property {number} [__v] - This field holds the version number. */ /** * @typedef DummyTemplateDataItems @@ -741,27 +750,99 @@ type InvoiceDetail = { /** @returns {CompanyDetail} */ declare function CompanyDetail(): CompanyDetail; type CompanyDetail = { + /** + * - The official name of the company. + */ name?: string; + /** + * - The physical street address of the company. + */ address?: string; + /** + * - The city where the company is located. + */ city?: string; + /** + * - The state or province where the company is located. + */ state?: string; + /** + * - The country where the company is based. + */ country?: string; + /** + * - The postal code for the company's location. + */ zip_code?: number; + /** + * - A code representing the state, often used + * in official documents and forms. + */ state_code?: string; + /** + * - The code of the country. + */ country_code?: string; + /** + * - The Goods and Services Tax Identification + * Number, unique to each business in India. + */ gstin?: string; + /** + * - The Permanent Account Number, unique to each + * taxpayer in India. + */ pan?: string; + /** + * - The primary contact phone number for the company. + */ phone_no?: string; + /** + * - The Corporate Identification Number, unique to + * each company registered in India. + */ cin?: string; + /** + * - The URL to the company's official website. + */ website_url?: string; + /** + * - The company's official email address. + */ email?: string; + /** + * - The display address of the company. + */ display_address?: string; + /** + * - The sector in which company is located. + */ sector?: string; + /** + * - The provided phone no of country. + */ phone?: any; + /** + * - The trn no of the company. + */ trn?: string; + /** + * - The vat no of the company. + */ vat?: string; + /** + * - The bussiness country timezone. + */ business_country_timezone?: string; + /** + * - This object represents the + * bussiness country currency. + */ business_country_currency?: any; + /** + * - This object represents the meta fields for company. + */ + meta?: any; }; /** @returns {StoreDetail} */ declare function StoreDetail(): StoreDetail; @@ -1027,6 +1108,14 @@ type DummyTemplateDataPayload = { is_self_ship?: boolean; mode?: string; is_self_pickup?: boolean; + /** + * - This field represents the shipment meta details + */ + shipment_meta?: any; + /** + * - This field represents the order meta details + */ + order_meta?: any; platform_name?: string; amount_to_be_collected?: number; amount_paid?: number; @@ -1043,10 +1132,23 @@ type DummyTemplateDataPayload = { /** @returns {DummyTemplateData} */ declare function DummyTemplateData(): DummyTemplateData; type DummyTemplateData = { + /** + * - This field contains the unique identifier for the + * PDF payload. + */ _id?: string; + /** + * - This is invoice unique id + */ pdf_type_id?: number; payload: DummyTemplateDataPayload; + /** + * - This field represents the country code. + */ country_code?: string; + /** + * - This field holds the version number. + */ __v?: number; }; /** @returns {DummyTemplateDataItems} */ diff --git a/sdk/platform/FileStorage/FileStoragePlatformModel.js b/sdk/platform/FileStorage/FileStoragePlatformModel.js index 943ba7fdf..2cf706567 100644 --- a/sdk/platform/FileStorage/FileStoragePlatformModel.js +++ b/sdk/platform/FileStorage/FileStoragePlatformModel.js @@ -174,27 +174,33 @@ const Joi = require("joi"); /** * @typedef CompanyDetail - * @property {string} [name] - * @property {string} [address] - * @property {string} [city] - * @property {string} [state] - * @property {string} [country] - * @property {number} [zip_code] - * @property {string} [state_code] - * @property {string} [country_code] - * @property {string} [gstin] - * @property {string} [pan] - * @property {string} [phone_no] - * @property {string} [cin] - * @property {string} [website_url] - * @property {string} [email] - * @property {string} [display_address] - * @property {string} [sector] - * @property {Object} [phone] - * @property {string} [trn] - * @property {string} [vat] - * @property {string} [business_country_timezone] - * @property {Object} [business_country_currency] + * @property {string} [name] - The official name of the company. + * @property {string} [address] - The physical street address of the company. + * @property {string} [city] - The city where the company is located. + * @property {string} [state] - The state or province where the company is located. + * @property {string} [country] - The country where the company is based. + * @property {number} [zip_code] - The postal code for the company's location. + * @property {string} [state_code] - A code representing the state, often used + * in official documents and forms. + * @property {string} [country_code] - The code of the country. + * @property {string} [gstin] - The Goods and Services Tax Identification + * Number, unique to each business in India. + * @property {string} [pan] - The Permanent Account Number, unique to each + * taxpayer in India. + * @property {string} [phone_no] - The primary contact phone number for the company. + * @property {string} [cin] - The Corporate Identification Number, unique to + * each company registered in India. + * @property {string} [website_url] - The URL to the company's official website. + * @property {string} [email] - The company's official email address. + * @property {string} [display_address] - The display address of the company. + * @property {string} [sector] - The sector in which company is located. + * @property {Object} [phone] - The provided phone no of country. + * @property {string} [trn] - The trn no of the company. + * @property {string} [vat] - The vat no of the company. + * @property {string} [business_country_timezone] - The bussiness country timezone. + * @property {Object} [business_country_currency] - This object represents the + * bussiness country currency. + * @property {Object} [meta] - This object represents the meta fields for company. */ /** @@ -460,6 +466,8 @@ const Joi = require("joi"); * @property {boolean} [is_self_ship] * @property {string} [mode] * @property {boolean} [is_self_pickup] + * @property {Object} [shipment_meta] - This field represents the shipment meta details + * @property {Object} [order_meta] - This field represents the order meta details * @property {string} [platform_name] * @property {number} [amount_to_be_collected] * @property {number} [amount_paid] @@ -476,11 +484,12 @@ const Joi = require("joi"); /** * @typedef DummyTemplateData - * @property {string} [_id] - * @property {number} [pdf_type_id] + * @property {string} [_id] - This field contains the unique identifier for the + * PDF payload. + * @property {number} [pdf_type_id] - This is invoice unique id * @property {DummyTemplateDataPayload} payload - * @property {string} [country_code] - * @property {number} [__v] + * @property {string} [country_code] - This field represents the country code. + * @property {number} [__v] - This field holds the version number. */ /** @@ -867,6 +876,7 @@ class FileStoragePlatformModel { vat: Joi.string().allow(""), business_country_timezone: Joi.string().allow(""), business_country_currency: Joi.object().pattern(/\S/, Joi.any()), + meta: Joi.object().pattern(/\S/, Joi.any()), }); } @@ -1184,6 +1194,8 @@ class FileStoragePlatformModel { is_self_ship: Joi.boolean(), mode: Joi.string().allow(""), is_self_pickup: Joi.boolean(), + shipment_meta: Joi.object().pattern(/\S/, Joi.any()), + order_meta: Joi.object().pattern(/\S/, Joi.any()), platform_name: Joi.string().allow(""), amount_to_be_collected: Joi.number(), amount_paid: Joi.number(), diff --git a/sdk/platform/Finance/FinancePlatformClient.d.ts b/sdk/platform/Finance/FinancePlatformClient.d.ts index 7e04970b7..d61e3de81 100644 --- a/sdk/platform/Finance/FinancePlatformClient.d.ts +++ b/sdk/platform/Finance/FinancePlatformClient.d.ts @@ -9,7 +9,7 @@ declare class Finance { * @returns {Promise} - * Success response * @name channelDisplayName - * @summary: Get channel display name. + * @summary: Get channel display name * @description: Retrieve the display name for a channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/channelDisplayName/). */ channelDisplayName({ filterKey, requestHeaders }?: FinancePlatformValidator.ChannelDisplayNameParam, { responseHeaders }?: object): Promise; @@ -23,7 +23,7 @@ declare class Finance { * - Success response * * @name createSellerCreditNoteConfig - * @summary: Create seller credit note config. + * @summary: Create seller credit note config * @description: Set up configuration for seller credit notes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/createSellerCreditNoteConfig/). */ createSellerCreditNoteConfig({ body, requestHeaders }?: FinancePlatformValidator.CreateSellerCreditNoteConfigParam, { responseHeaders }?: object): Promise; @@ -34,7 +34,7 @@ declare class Finance { * @returns {Promise} - * Success response * @name creditNoteDetails - * @summary: Get credit note details. + * @summary: Get credit note details * @description: Retrieve detailed information about a credit note. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/creditNoteDetails/). */ creditNoteDetails({ body, requestHeaders }?: FinancePlatformValidator.CreditNoteDetailsParam, { responseHeaders }?: object): Promise; @@ -46,7 +46,7 @@ declare class Finance { * - Success response * * @name creditlineDataplatform - * @summary: Access credit line data platform. + * @summary: Access credit line data platform * @description: Connect to the credit line data platform. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/creditlineDataplatform/). */ creditlineDataplatform({ body, requestHeaders }?: FinancePlatformValidator.CreditlineDataplatformParam, { responseHeaders }?: object): Promise; @@ -56,7 +56,7 @@ declare class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name deleteConfig - * @summary: Deletes credit note config. + * @summary: Deletes credit note config * @description: Deletes credit note config. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/deleteConfig/). */ deleteConfig({ body, requestHeaders }?: FinancePlatformValidator.DeleteConfigParam, { responseHeaders }?: object): Promise; @@ -68,7 +68,7 @@ declare class Finance { * - Success response * * @name downloadCreditDebitNote - * @summary: Download credit/debit note. + * @summary: Download credit/debit note * @description: Retrieve and save credit/debit notes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/downloadCreditDebitNote/). */ downloadCreditDebitNote({ body, requestHeaders }?: FinancePlatformValidator.DownloadCreditDebitNoteParam, { responseHeaders }?: object): Promise; @@ -78,7 +78,7 @@ declare class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name downloadReport - * @summary: Download financial report. + * @summary: Download financial report * @description: Retrieve and save a financial report. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/downloadReport/). */ downloadReport({ body, requestHeaders }?: FinancePlatformValidator.DownloadReportParam, { responseHeaders }?: object): Promise; @@ -90,7 +90,7 @@ declare class Finance { * - Success response * * @name downloadReportCustomerCn - * @summary: Download customer credit note report. + * @summary: Download customer credit note report * @description: Retrieve and save a report for customer credit notes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/downloadReportCustomerCn/). */ downloadReportCustomerCn({ body, requestHeaders }?: FinancePlatformValidator.DownloadReportCustomerCnParam, { responseHeaders }?: object): Promise; @@ -100,7 +100,7 @@ declare class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name generateReport - * @summary: Generate financial report. + * @summary: Generate financial report * @description: Create a financial report with relevant data. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/generateReport/). */ generateReport({ body, requestHeaders }?: FinancePlatformValidator.GenerateReportParam, { responseHeaders }?: object): Promise; @@ -112,7 +112,7 @@ declare class Finance { * - Success response * * @name generateReportCustomerCn - * @summary: Generate customer credit note report. + * @summary: Generate customer credit note report * @description: Create a report specifically for customer credit notes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/generateReportCustomerCn/). */ generateReportCustomerCn({ body, requestHeaders }?: FinancePlatformValidator.GenerateReportCustomerCnParam, { responseHeaders }?: object): Promise; @@ -122,7 +122,7 @@ declare class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name getAffiliate - * @summary: Get affiliate details. + * @summary: Get affiliate details * @description: Retrieve information about an affiliate. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getAffiliate/). */ getAffiliate({ body, requestHeaders }?: FinancePlatformValidator.GetAffiliateParam, { responseHeaders }?: object): Promise; @@ -132,7 +132,7 @@ declare class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name getCnConfig - * @summary: Get credit note configuration. + * @summary: Get credit note configuration * @description: Retrieve configuration settings for credit notes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getCnConfig/). */ getCnConfig({ body, requestHeaders }?: FinancePlatformValidator.GetCnConfigParam, { responseHeaders }?: object): Promise; @@ -144,7 +144,7 @@ declare class Finance { * - Success response * * @name getCustomerCreditBalance - * @summary: Get customer credit balance. + * @summary: Get customer credit balance * @description: Retrieve the credit balance of a customer. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getCustomerCreditBalance/). */ getCustomerCreditBalance({ body, requestHeaders }?: FinancePlatformValidator.GetCustomerCreditBalanceParam, { responseHeaders }?: object): Promise; @@ -154,7 +154,7 @@ declare class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name getData - * @summary: Get financial data. + * @summary: Get financial data * @description: Retrieve financial data for analysis. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getData/). */ getData({ body, requestHeaders }?: FinancePlatformValidator.GetDataParam, { responseHeaders }?: object): Promise; @@ -164,7 +164,7 @@ declare class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name getPdfUrlView - * @summary: Get PDF URL view. + * @summary: Get PDF URL view * @description: Retrieve a URL to view a PDF document. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getPdfUrlView/). */ getPdfUrlView({ body, requestHeaders }?: FinancePlatformValidator.GetPdfUrlViewParam, { responseHeaders }?: object): Promise; @@ -174,7 +174,7 @@ declare class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name getReason - * @summary: Get transaction reason. + * @summary: Get transaction reason * @description: Retrieve the reason behind a transaction. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getReason/). */ getReason({ body, requestHeaders }?: FinancePlatformValidator.GetReasonParam, { responseHeaders }?: object): Promise; @@ -184,7 +184,7 @@ declare class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name getReportList - * @summary: Get report list. + * @summary: Get report list * @description: Retrieve a list of available financial reports. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getReportList/). */ getReportList({ body, requestHeaders }?: FinancePlatformValidator.GetReportListParam, { responseHeaders }?: object): Promise; @@ -195,7 +195,7 @@ declare class Finance { * @returns {Promise} - * Success response * @name getReportingFilters - * @summary: Get reporting filters. + * @summary: Get reporting filters * @description: Retrieve available filters for financial reporting. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getReportingFilters/). */ getReportingFilters({ filterKey, affiliateId, requestHeaders }?: FinancePlatformValidator.GetReportingFiltersParam, { responseHeaders }?: object): Promise; @@ -206,7 +206,7 @@ declare class Finance { * @returns {Promise} - * Success response * @name invoiceActivityLogs - * @summary: Display activity log details of an invoice. + * @summary: Display activity log details of an invoice * @description: Display activity log details of invoice. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/invoiceActivityLogs/). */ invoiceActivityLogs({ invoiceNumber, requestHeaders }?: FinancePlatformValidator.InvoiceActivityLogsParam, { responseHeaders }?: object): Promise; @@ -216,8 +216,8 @@ declare class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name invoiceListing - * @summary: Gives list of invoices. - * @description: Gives list of invoices. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/invoiceListing/). + * @summary: List invoices + * @description: Provides list of invoices generated for a company. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/invoiceListing/). */ invoiceListing({ body, requestHeaders }?: FinancePlatformValidator.InvoiceListingParam, { responseHeaders }?: object): Promise; /** @@ -226,7 +226,7 @@ declare class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name invoicePDF - * @summary: Get invoice PDF. + * @summary: Get invoice PDF * @description: Retrieve the PDF version of an invoice. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/invoicePDF/). */ invoicePDF({ body, requestHeaders }?: FinancePlatformValidator.InvoicePDFParam, { responseHeaders }?: object): Promise; @@ -237,7 +237,7 @@ declare class Finance { * @returns {Promise} - * Success response * @name invoicePaymentDetails - * @summary: Display payment details of an invoice. + * @summary: Display payment details of an invoice * @description: Display payment details of invoice. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/invoicePaymentDetails/). */ invoicePaymentDetails({ invoiceNumber, requestHeaders }?: FinancePlatformValidator.InvoicePaymentDetailsParam, { responseHeaders }?: object): Promise; @@ -258,7 +258,7 @@ declare class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name invoiceType - * @summary: Get invoice types. + * @summary: Get invoice types * @description: Retrieve a list of available invoice types. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/invoiceType/). */ invoiceType({ body, requestHeaders }?: FinancePlatformValidator.InvoiceTypeParam, { responseHeaders }?: object): Promise; @@ -269,7 +269,7 @@ declare class Finance { * @returns {Promise} - * Success response * @name isCnRefundMethod - * @summary: Check CN refund method. + * @summary: Check refund method * @description: Verify the refund method for credit notes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/isCnRefundMethod/). */ isCnRefundMethod({ body, requestHeaders }?: FinancePlatformValidator.IsCnRefundMethodParam, { responseHeaders }?: object): Promise; @@ -280,7 +280,7 @@ declare class Finance { * @returns {Promise} - * Success response * @name isCreditlinePlatform - * @summary: Check credit line platform status. + * @summary: Check credit line platform status * @description: Determine if the credit line platform is operational. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/isCreditlinePlatform/). */ isCreditlinePlatform({ body, requestHeaders }?: FinancePlatformValidator.IsCreditlinePlatformParam, { responseHeaders }?: object): Promise; @@ -300,7 +300,7 @@ declare class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name paymentProcess - * @summary: Process payments. + * @summary: Process payments * @description: Initiate and manage payment processes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/paymentProcess/). */ paymentProcess({ body, requestHeaders }?: FinancePlatformValidator.PaymentProcessParam, { responseHeaders }?: object): Promise; @@ -311,7 +311,7 @@ declare class Finance { * @returns {Promise} - * Success response * @name unlockCreditNote - * @summary: Unlocks credit notes. + * @summary: Unlock credit notes * @description: Used to unlock all request credit notes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/unlockCreditNote/). */ unlockCreditNote({ body, requestHeaders }?: FinancePlatformValidator.UnlockCreditNoteParam, { responseHeaders }?: object): Promise; diff --git a/sdk/platform/Finance/FinancePlatformClient.js b/sdk/platform/Finance/FinancePlatformClient.js index 1f576d6a8..87e82453d 100644 --- a/sdk/platform/Finance/FinancePlatformClient.js +++ b/sdk/platform/Finance/FinancePlatformClient.js @@ -21,7 +21,7 @@ class Finance { * @returns {Promise} - * Success response * @name channelDisplayName - * @summary: Get channel display name. + * @summary: Get channel display name * @description: Retrieve the display name for a channel. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/channelDisplayName/). */ async channelDisplayName( @@ -105,7 +105,7 @@ class Finance { * - Success response * * @name createSellerCreditNoteConfig - * @summary: Create seller credit note config. + * @summary: Create seller credit note config * @description: Set up configuration for seller credit notes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/createSellerCreditNoteConfig/). */ async createSellerCreditNoteConfig( @@ -187,7 +187,7 @@ class Finance { * @returns {Promise} - * Success response * @name creditNoteDetails - * @summary: Get credit note details. + * @summary: Get credit note details * @description: Retrieve detailed information about a credit note. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/creditNoteDetails/). */ async creditNoteDetails( @@ -268,7 +268,7 @@ class Finance { * - Success response * * @name creditlineDataplatform - * @summary: Access credit line data platform. + * @summary: Access credit line data platform * @description: Connect to the credit line data platform. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/creditlineDataplatform/). */ async creditlineDataplatform( @@ -349,7 +349,7 @@ class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name deleteConfig - * @summary: Deletes credit note config. + * @summary: Deletes credit note config * @description: Deletes credit note config. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/deleteConfig/). */ async deleteConfig( @@ -430,7 +430,7 @@ class Finance { * - Success response * * @name downloadCreditDebitNote - * @summary: Download credit/debit note. + * @summary: Download credit/debit note * @description: Retrieve and save credit/debit notes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/downloadCreditDebitNote/). */ async downloadCreditDebitNote( @@ -511,7 +511,7 @@ class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name downloadReport - * @summary: Download financial report. + * @summary: Download financial report * @description: Retrieve and save a financial report. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/downloadReport/). */ async downloadReport( @@ -592,7 +592,7 @@ class Finance { * - Success response * * @name downloadReportCustomerCn - * @summary: Download customer credit note report. + * @summary: Download customer credit note report * @description: Retrieve and save a report for customer credit notes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/downloadReportCustomerCn/). */ async downloadReportCustomerCn( @@ -673,7 +673,7 @@ class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name generateReport - * @summary: Generate financial report. + * @summary: Generate financial report * @description: Create a financial report with relevant data. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/generateReport/). */ async generateReport( @@ -754,7 +754,7 @@ class Finance { * - Success response * * @name generateReportCustomerCn - * @summary: Generate customer credit note report. + * @summary: Generate customer credit note report * @description: Create a report specifically for customer credit notes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/generateReportCustomerCn/). */ async generateReportCustomerCn( @@ -835,7 +835,7 @@ class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name getAffiliate - * @summary: Get affiliate details. + * @summary: Get affiliate details * @description: Retrieve information about an affiliate. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getAffiliate/). */ async getAffiliate( @@ -914,7 +914,7 @@ class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name getCnConfig - * @summary: Get credit note configuration. + * @summary: Get credit note configuration * @description: Retrieve configuration settings for credit notes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getCnConfig/). */ async getCnConfig( @@ -993,7 +993,7 @@ class Finance { * - Success response * * @name getCustomerCreditBalance - * @summary: Get customer credit balance. + * @summary: Get customer credit balance * @description: Retrieve the credit balance of a customer. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getCustomerCreditBalance/). */ async getCustomerCreditBalance( @@ -1074,7 +1074,7 @@ class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name getData - * @summary: Get financial data. + * @summary: Get financial data * @description: Retrieve financial data for analysis. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getData/). */ async getData( @@ -1151,7 +1151,7 @@ class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name getPdfUrlView - * @summary: Get PDF URL view. + * @summary: Get PDF URL view * @description: Retrieve a URL to view a PDF document. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getPdfUrlView/). */ async getPdfUrlView( @@ -1230,7 +1230,7 @@ class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name getReason - * @summary: Get transaction reason. + * @summary: Get transaction reason * @description: Retrieve the reason behind a transaction. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getReason/). */ async getReason( @@ -1307,7 +1307,7 @@ class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name getReportList - * @summary: Get report list. + * @summary: Get report list * @description: Retrieve a list of available financial reports. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getReportList/). */ async getReportList( @@ -1387,7 +1387,7 @@ class Finance { * @returns {Promise} - * Success response * @name getReportingFilters - * @summary: Get reporting filters. + * @summary: Get reporting filters * @description: Retrieve available filters for financial reporting. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/getReportingFilters/). */ async getReportingFilters( @@ -1471,7 +1471,7 @@ class Finance { * @returns {Promise} - * Success response * @name invoiceActivityLogs - * @summary: Display activity log details of an invoice. + * @summary: Display activity log details of an invoice * @description: Display activity log details of invoice. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/invoiceActivityLogs/). */ async invoiceActivityLogs( @@ -1550,8 +1550,8 @@ class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name invoiceListing - * @summary: Gives list of invoices. - * @description: Gives list of invoices. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/invoiceListing/). + * @summary: List invoices + * @description: Provides list of invoices generated for a company. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/invoiceListing/). */ async invoiceListing( { body, requestHeaders } = { requestHeaders: {} }, @@ -1629,7 +1629,7 @@ class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name invoicePDF - * @summary: Get invoice PDF. + * @summary: Get invoice PDF * @description: Retrieve the PDF version of an invoice. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/invoicePDF/). */ async invoicePDF( @@ -1707,7 +1707,7 @@ class Finance { * @returns {Promise} - * Success response * @name invoicePaymentDetails - * @summary: Display payment details of an invoice. + * @summary: Display payment details of an invoice * @description: Display payment details of invoice. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/invoicePaymentDetails/). */ async invoicePaymentDetails( @@ -1866,7 +1866,7 @@ class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name invoiceType - * @summary: Get invoice types. + * @summary: Get invoice types * @description: Retrieve a list of available invoice types. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/invoiceType/). */ async invoiceType( @@ -1944,7 +1944,7 @@ class Finance { * @returns {Promise} - * Success response * @name isCnRefundMethod - * @summary: Check CN refund method. + * @summary: Check refund method * @description: Verify the refund method for credit notes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/isCnRefundMethod/). */ async isCnRefundMethod( @@ -2024,7 +2024,7 @@ class Finance { * @returns {Promise} - * Success response * @name isCreditlinePlatform - * @summary: Check credit line platform status. + * @summary: Check credit line platform status * @description: Determine if the credit line platform is operational. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/isCreditlinePlatform/). */ async isCreditlinePlatform( @@ -2176,7 +2176,7 @@ class Finance { * @param {import("../PlatformAPIClient").Options} - Options * @returns {Promise} - Success response * @name paymentProcess - * @summary: Process payments. + * @summary: Process payments * @description: Initiate and manage payment processes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/paymentProcess/). */ async paymentProcess( @@ -2256,7 +2256,7 @@ class Finance { * @returns {Promise} - * Success response * @name unlockCreditNote - * @summary: Unlocks credit notes. + * @summary: Unlock credit notes * @description: Used to unlock all request credit notes. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/finance/unlockCreditNote/). */ async unlockCreditNote( diff --git a/sdk/platform/Finance/FinancePlatformModel.d.ts b/sdk/platform/Finance/FinancePlatformModel.d.ts index 7dabe55e7..ea5cd8712 100644 --- a/sdk/platform/Finance/FinancePlatformModel.d.ts +++ b/sdk/platform/Finance/FinancePlatformModel.d.ts @@ -1,28 +1,34 @@ export = FinancePlatformModel; /** * @typedef OrederFreezeResponse - * @property {boolean} [success] - * @property {boolean} [oms_freeze] - * @property {string} [source] + * @property {boolean} [success] - Indicates whether the operation was successful or not. + * @property {boolean} [oms_freeze] - Flag indicating if the system is frozen + * for order management. + * @property {string} [source] - Optional field indicating the data source of + * the information. */ /** * @typedef GenerateReportMeta - * @property {string} [brand] - * @property {string} [company] - * @property {string} [channel] + * @property {string} [brand] - The brand name associated with the report meta + * information. + * @property {string} [company] - The company name associated with the report + * meta information. + * @property {string} [channel] - The sale channel name associated with seller. */ /** * @typedef GenerateReportFilters - * @property {string[]} [brand] - * @property {string[]} [company] - * @property {string[]} [channel] + * @property {string[]} [brand] - An array of brand names to filter the report data. + * @property {string[]} [company] - An array of company id to filter the report data. + * @property {string[]} [channel] - An array of sale channel names associated + * with seller to filter the report data. */ /** * @typedef GenerateReportPlatform - * @property {string} [start_date] - * @property {string} [end_date] + * @property {string} [start_date] - The start date to generate report specific preiod. + * @property {string} [end_date] - The end date to generate report specific preiod. * @property {GenerateReportMeta} [meta] - * @property {string} [report_id] + * @property {string} [report_id] - The unique identifier of the generate report + * where different report configure. * @property {GenerateReportFilters} [filters] */ /** @@ -31,29 +37,30 @@ export = FinancePlatformModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef Currency - * @property {string} [code] - * @property {string} [symbol] - * @property {string} [name] + * @property {string} [code] - The unique currency code. + * @property {string} [symbol] - The unique currency symbol. + * @property {string} [name] - The unique currency name. */ /** * @typedef GenerateReportJson * @property {Object} [data] - * @property {number} [item_count] + * @property {number} [item_count] - Total number of items in the report. * @property {Page} [page] - * @property {string} [end_date] - * @property {string} [start_date] - * @property {string[][]} [items] - * @property {string[]} [headers] + * @property {string} [end_date] - The end date to generate report specific preiod. + * @property {string} [start_date] - The start date to generate report specific preiod. + * @property {string[][]} [items] - Nested array structure representing report + * items or data. + * @property {string[]} [headers] - Headers describing each item in the report data. */ /** * @typedef Error @@ -83,43 +90,46 @@ export = FinancePlatformModel; */ /** * @typedef DownloadReportData - * @property {number} [page] - * @property {number} [page_size] - * @property {string} [start_date] - * @property {string} [end_date] + * @property {number} [page] - The current page number of the report. + * @property {number} [page_size] - The number of items displayed per page. + * @property {string} [start_date] - The start date for fetching the report + * history for download. + * @property {string} [end_date] - The end date for fetching the report history + * for download. */ /** * @typedef DownloadReportItems - * @property {string} [start_date] - * @property {string} [end_date] + * @property {string} [start_date] - The start date for the report item. + * @property {string} [end_date] - The end date for the report item. * @property {GenerateReportMeta} [meta] - * @property {string} [report_id] + * @property {string} [report_id] - The unique identifier of the report item. * @property {GenerateReportFilters} [filters] - * @property {string} [type_of_request] */ /** * @typedef DownloadReportList - * @property {DownloadReportItems[]} [items] + * @property {DownloadReportItems[]} [items] - A list of report items available + * for download. * @property {Page} [page] - * @property {number} [item_count] + * @property {number} [item_count] - The total number of items in the report list. */ /** * @typedef GetEngineFilters - * @property {string} [config_field] - * @property {string} [status] - * @property {boolean} [is_active] - * @property {string} [seller_id] + * @property {string} [config_field] - The configuration field used for filtering. + * @property {string} [status] - The status used for filtering. + * @property {boolean} [is_active] - Flag indicating if the filter is active. + * @property {string} [seller_id] - The seller ID used for filtering. */ /** * @typedef GetEngineData - * @property {string} [status] + * @property {string} [status] - Status of the request. * @property {GetEngineFilters} [filters] - * @property {string[]} [project] - * @property {string} [table_name] - * @property {Object} [search] - * @property {number} [page] - * @property {number} [page_size] - * @property {string} [order_by] + * @property {string[]} [project] - A list of fields to get data from tables. + * @property {string} [table_name] - The name of the table from which to retrieve data. + * @property {Object} [search] - Search criteria for querying on given table + * specific fields. + * @property {number} [page] - The current page number for pagination. + * @property {number} [page_size] - The number of items displayed per page. + * @property {string} [order_by] - The field by which to order the results. */ /** * @typedef GetEngineReq @@ -127,14 +137,14 @@ export = FinancePlatformModel; */ /** * @typedef GetEngineResponse - * @property {boolean} [success] - * @property {Object[]} [items] + * @property {boolean} [success] - Indicates whether the request was successful. + * @property {Object[]} [items] - A list of items returned by the request. * @property {Page} [page] - * @property {number} [item_count] + * @property {number} [item_count] - The total number of items returned by the request. */ /** * @typedef GetReason - * @property {string} [reason_type] + * @property {string} [reason_type] - The type of reason associated with the request. */ /** * @typedef GetReasonReq @@ -142,56 +152,60 @@ export = FinancePlatformModel; */ /** * @typedef ReasonItem - * @property {string} [id] - * @property {string} [name] - * @property {string} [display_name] + * @property {string} [id] - Id of the reason for reason_type. + * @property {string} [name] - Code of the reason for reason_type. + * @property {string} [display_name] - Display name of the reason for reason_type. */ /** * @typedef GetReasonResponse - * @property {boolean} [success] - * @property {ReasonItem[]} [item_list] - * @property {number} [item_count] + * @property {boolean} [success] - Indicates whether the request was successfull. + * @property {ReasonItem[]} [item_list] - The list of items returned in the response. + * @property {number} [item_count] - The number of items in the response. * @property {Page} [page] */ /** * @typedef GetReportListData - * @property {string} [role_name] - * @property {boolean} [listing_enabled] + * @property {string} [role_name] - The name of the role requesting the report list. + * @property {boolean} [listing_enabled] - Indicates whether listing is enabled + * for the role. */ /** * @typedef GetReportListReq * @property {GetReportListData} [data] */ -/** - * @typedef GetAffiliate - * @property {number} [company_id] - */ /** * @typedef GetReportListResponse - * @property {boolean} [success] - * @property {ReportItem[]} [items] + * @property {boolean} [success] - Indicates whether the request was successful. + * @property {ReportItem[]} [items] - The list of report items. * @property {Page} [page] - * @property {number} [total_count] + * @property {number} [total_count] - The total number of items in the report list. */ /** * @typedef ReportItem - * @property {string} [id] - * @property {string} [name] - * @property {string} [description] - * @property {string[]} [allowed_filters] - * @property {Object} [config_meta] - * @property {string} [report_type] - * @property {string} [display_date] + * @property {string} [id] - The unique identifier for the report item. + * @property {string} [name] - The name of the report item. + * @property {string} [description] - A brief description of the report item. + * @property {string[]} [allowed_filters] - The filters that can be applied to + * the report item. + * @property {Object} [config_meta] - Metadata related to the report item configuration. + * @property {string} [report_type] - The type of the report item. + * @property {string} [display_date] - The display date of the report item, if applicable. + */ +/** + * @typedef GetAffiliate + * @property {number} [company_id] - The unique identifier of the company + * associated with the affiliate. */ /** * @typedef GetAffiliateResponse - * @property {string} [reason] - * @property {boolean} [success] - * @property {Object[]} [docs] + * @property {string} [reason] - The reason for the response, if applicable. + * @property {boolean} [success] - Indicates whether the request was successful. + * @property {Object[]} [docs] - List of items or data related to the affiliate. */ /** * @typedef DownloadCreditDebitNote - * @property {string[]} [note_id] + * @property {string[]} [note_id] - List of unique identifiers for the + * credit/debit notes to be download. */ /** * @typedef DownloadCreditDebitNoteReq @@ -199,30 +213,35 @@ export = FinancePlatformModel; */ /** * @typedef DownloadCreditDebitNoteResponseData - * @property {string} [id] - * @property {string} [pdf_s3_url] + * @property {string} [id] - The unique identifier of the download credit/debit note. + * @property {string} [pdf_s3_url] - The URL where the PDF of the credit/debit + * note is stored. */ /** * @typedef DownloadCreditDebitNoteResponse - * @property {boolean} [success] - * @property {DownloadCreditDebitNoteResponseData[]} [data] + * @property {boolean} [success] - Indicates whether the request to download the + * credit/debit notes was successful. + * @property {DownloadCreditDebitNoteResponseData[]} [data] - List of + * credit/debit notes download data. */ /** * @typedef InvoiceBillingItem - * @property {string} [invoice_number] - * @property {number} [amount] + * @property {string} [invoice_number] - The number of the invoice associated + * with the billing item. + * @property {number} [amount] - The amount of the billing item. */ /** * @typedef PaymentProcessPayload - * @property {string} [platform] - * @property {number} [amount] - * @property {string} [transaction_type] - * @property {string} [source_reference] - * @property {number} [total_amount] - * @property {Object} [meta] - * @property {string} [currency] - * @property {string} [seller_id] - * @property {string} [mode_of_payment] + * @property {string} [platform] - The platform through which the payment is processed. + * @property {number} [amount] - The total amount to be processed in the payment. + * @property {string} [transaction_type] - The type of transaction (e.g., seller_online). + * @property {string} [source_reference] - The reference for the source of the payment. + * @property {number} [total_amount] - The total amount to be processed in the payment. + * @property {Object} [meta] - Additional metadata related to the payment. + * @property {string} [currency] - The currency in which the payment is made. + * @property {string} [seller_id] - The unique identifier for the seller + * receiving the payment. + * @property {string} [mode_of_payment] - The mode of payment (e.g., online). * @property {InvoiceBillingItem[]} [invoice_billing_items] */ /** @@ -231,19 +250,23 @@ export = FinancePlatformModel; */ /** * @typedef PaymentProcessResponse - * @property {number} [code] - * @property {string} [message] - * @property {Object} [meta] - * @property {string} [transaction_id] - * @property {string} [redirect_url] + * @property {number} [code] - Response code indicating the status of the payment process. + * @property {string} [message] - A message providing additional information + * about the payment process response. + * @property {Object} [meta] - Additional metadata related to the payment + * process response. + * @property {string} [transaction_id] - The unique identifier for the payment + * transaction. + * @property {string} [redirect_url] - URL to redirect the user to complete the + * payment process, if applicable. */ /** * @typedef CreditlineDataPlatformPayload - * @property {number} [page] - * @property {string} [seller_id] - * @property {string} [end_date] - * @property {string} [start_date] - * @property {number} [page_size] + * @property {number} [page] - The page number for pagination. + * @property {string} [seller_id] - The unique identifier for the seller. + * @property {string} [end_date] - The end date for the query. + * @property {string} [start_date] - The start date for the query. + * @property {number} [page_size] - The number of items per page. */ /** * @typedef CreditlineDataPlatformReq @@ -251,17 +274,19 @@ export = FinancePlatformModel; */ /** * @typedef CreditlineDataPlatformResponse - * @property {Object[]} [items] - * @property {number} [code] - * @property {boolean} [show_mr] + * @property {Object[]} [items] - The list of items in the response. + * @property {number} [code] - The response status code. + * @property {boolean} [show_mr] - A flag indicating whether to show MR (some + * specific field). * @property {Page} [page] - * @property {string} [message] - * @property {string[]} [headers] - * @property {number} [item_count] + * @property {string} [message] - The response message. + * @property {string[]} [headers] - The list of response headers. + * @property {number} [item_count] - The total number of items. */ /** * @typedef IsCreditlinePayload - * @property {string} [seller_id] + * @property {string} [seller_id] - The unique identifier for the seller to + * check for credit line eligibility. */ /** * @typedef IsCreditlinePlatformReq @@ -269,12 +294,14 @@ export = FinancePlatformModel; */ /** * @typedef IsCreditlinePlatformResponse - * @property {boolean} [is_creditline_opted] - * @property {number} [code] + * @property {boolean} [is_creditline_opted] - Indicates whether the seller has + * opted for a credit line. + * @property {number} [code] - Response code indicating the status of the credit + * line check. */ /** * @typedef InvoiceTypePayloadData - * @property {boolean} [is_active] + * @property {boolean} [is_active] - Indicates if the invoice type is active. */ /** * @typedef InvoiceTypeReq @@ -282,28 +309,30 @@ export = FinancePlatformModel; */ /** * @typedef InvoiceTypeResponseItems - * @property {string} [text] - * @property {string} [value] + * @property {string} [text] - The text description of the invoice type. + * @property {string} [value] - The value or code representing the invoice type. */ /** * @typedef InvoiceTypeResponse - * @property {boolean} [success] - * @property {InvoiceTypeResponseItems[]} [invoice_type_list] - * @property {InvoiceTypeResponseItems[]} [payment_status_list] + * @property {boolean} [success] - Indicates whether the request was successful. + * @property {InvoiceTypeResponseItems[]} [invoice_type_list] - List of invoice + * types available. + * @property {InvoiceTypeResponseItems[]} [payment_status_list] - List of + * payment statuses available. */ /** * @typedef InoviceListingPayloadDataFilters - * @property {string[]} [payment_status] - * @property {string[]} [invoice_type] - * @property {string[]} [company_id] + * @property {string[]} [payment_status] - List of payment statuses to filter by. + * @property {string[]} [invoice_type] - List of invoice types to filter by. + * @property {string[]} [company_id] - List of company IDs to filter by. */ /** * @typedef InvoiceListingPayloadData - * @property {number} [page_size] - * @property {number} [page] - * @property {string} [start_date] - * @property {string} [end_date] - * @property {string} [search] + * @property {number} [page_size] - The number of items per page for pagination. + * @property {number} [page] - The page number for pagination. + * @property {string} [start_date] - The start date for the invoice listing filter. + * @property {string} [end_date] - The end date for the invoice listing filter. + * @property {string} [search] - Search term for filtering invoices. * @property {InoviceListingPayloadDataFilters} [filters] */ /** @@ -312,36 +341,40 @@ export = FinancePlatformModel; */ /** * @typedef UnpaidInvoiceDataItems - * @property {number} [total_unpaid_invoice_count] - * @property {string} [currency] - * @property {number} [total_unpaid_amount] + * @property {number} [total_unpaid_invoice_count] - The total count of unpaid invoices. + * @property {string} [currency] - The currency used for unpaid invoices. + * @property {number} [total_unpaid_amount] - The total amount of unpaid invoices. */ /** * @typedef InvoiceListingResponseItems - * @property {number} [amount] - * @property {string} [company] - * @property {string} [status] - * @property {string} [due_date] - * @property {string} [invoice_date] - * @property {string} [invoice_type] - * @property {string} [period] - * @property {string} [invoice_number] - * @property {boolean} [is_downloadable] - * @property {string} [invoice_id] + * @property {number} [amount] - The amount of the invoice. + * @property {string} [company] - The name of the company associated with the invoice. + * @property {string} [status] - The current status of the invoice (e.g., + * 'paid', 'unpaid'). + * @property {string} [due_date] - The due date of the invoice. + * @property {string} [invoice_date] - The date when the invoice was issued. + * @property {string} [invoice_type] - The type of invoice. + * @property {string} [period] - The period covered by the invoice. + * @property {string} [invoice_number] - The invoice number. + * @property {boolean} [is_downloadable] - Indicates if the invoice is available + * for download. + * @property {string} [invoice_id] - The unique identifier of the invoice. * @property {Currency} [currency] */ /** * @typedef InvoiceListingResponse - * @property {boolean} [success] - * @property {string[]} [headers] + * @property {boolean} [success] - Indicates whether the request was successful. + * @property {string[]} [headers] - Headers related to the invoice listing response. * @property {UnpaidInvoiceDataItems} [unpaid_invoice_data] - * @property {InvoiceListingResponseItems[]} [items] + * @property {InvoiceListingResponseItems[]} [items] - List of invoice items in + * the response. * @property {Page} [page] - * @property {number} [item_count] + * @property {number} [item_count] - The total number of invoice items in the response. */ /** * @typedef InvoicePdfPayloadData - * @property {string[]} [invoice_number] + * @property {string[]} [invoice_number] - List of invoice numbers for which + * PDFs are requested. */ /** * @typedef InvoicePdfReq @@ -349,15 +382,18 @@ export = FinancePlatformModel; */ /** * @typedef InvoicePdfResponse - * @property {boolean} [success] - * @property {string[]} [data] - * @property {string[]} [error] + * @property {boolean} [success] - Indicates whether the PDF generation request + * was successful. + * @property {string[]} [data] - List of URLs or paths to the generated PDF files. + * @property {string[]} [error] - List of errors encountered while generating the PDFs. */ /** * @typedef IsCnRefundMethodData - * @property {string} [affiliate_id] - * @property {boolean} [toggle_edit_required] - * @property {number} [seller_id] + * @property {string} [affiliate_id] - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + * @property {boolean} [toggle_edit_required] - Indicates whether editing the + * refund method is required. + * @property {number} [seller_id] - Unique identifier for the seller. */ /** * @typedef IsCnRefundMethodReq @@ -365,29 +401,37 @@ export = FinancePlatformModel; */ /** * @typedef IsCnRefundMethodResponseData - * @property {boolean} [is_first_time_user] + * @property {boolean} [is_first_time_user] - Indicates whether the seller for + * specific sale channel is using the refund method for the first time. */ /** * @typedef IsCnRefundMethodResponse - * @property {boolean} [success] + * @property {boolean} [success] - Indicates whether the request to determine + * the refund method was successful. * @property {IsCnRefundMethodResponseData} [data] */ /** * @typedef CreditNoteConfigNotificationEvents - * @property {number} [expiration_reminder_to_customer] + * @property {number} [expiration_reminder_to_customer] - Number of days before + * the expiration date to send a reminder notification to the customer. */ /** * @typedef CreateSellerCreditNoteConfig - * @property {boolean} [is_cn_as_refund_method] - * @property {string} [affiliate_id] - * @property {string[]} [source_channel] - * @property {number} [seller_id] + * @property {boolean} [is_cn_as_refund_method] - Indicates if the credit note + * is used as a refund method. + * @property {string} [affiliate_id] - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + * @property {string[]} [source_channel] - List of source channels associated + * with the credit note configuration. + * @property {number} [seller_id] - Unique identifier for the seller. * @property {CreditNoteConfigNotificationEvents} [notification_events] - * @property {string} [sales_channel_name] - * @property {string[]} [ordering_channel] - * @property {number} [validity] - * @property {string} [currency_type] - * @property {string[]} [slug_values] + * @property {string} [sales_channel_name] - Name of the sales channel. + * @property {string[]} [ordering_channel] - List of ordering channels + * associated with the credit note configuration. + * @property {number} [validity] - Validity period of the credit note in days. + * @property {string} [currency_type] - Type of currency used for the credit note. + * @property {string[]} [slug_values] - List of slug values associated with the + * credit note configuration. */ /** * @typedef CreateSellerCreditNoteConfigReq @@ -395,14 +439,18 @@ export = FinancePlatformModel; */ /** * @typedef CreateSellerCreditNoteConfigResponse - * @property {boolean} [success] - * @property {string} [message] + * @property {boolean} [success] - Indicates if the credit note configuration + * creation was successful. + * @property {string} [message] - Additional information or message about the + * credit note configuration creation process. */ /** * @typedef DeleteConfig - * @property {string} [affiliate_id] - * @property {string[]} [slug_values] - * @property {number} [seller_id] + * @property {string} [affiliate_id] - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + * @property {string[]} [slug_values] - List of slug values associated with the + * credit note configuration. + * @property {number} [seller_id] - Unique identifier for the seller. */ /** * @typedef DeleteConfigReq @@ -410,22 +458,26 @@ export = FinancePlatformModel; */ /** * @typedef DeleteConfigResponse - * @property {boolean} [success] - * @property {string} [message] + * @property {boolean} [success] - Indicates if the configuration deletion was successful. + * @property {string} [message] - Additional information or message about the + * configuration deletion process. */ /** * @typedef ChannelDisplayNameItems - * @property {string} [key] - * @property {string} [value] + * @property {string} [key] - The unique key identifying the channel. + * @property {string} [value] - The display name of the channel associated with the key. */ /** * @typedef ChannelDisplayNameResponse - * @property {boolean} [success] - * @property {ChannelDisplayNameItems[]} [items] + * @property {boolean} [success] - Indicates if the retrieval of channel display + * names was successful. + * @property {ChannelDisplayNameItems[]} [items] - List of items containing + * key-value pairs for channel display names. */ /** * @typedef CnReferenceNumber - * @property {string} [cn_reference_number] + * @property {string} [cn_reference_number] - The unique reference number of the + * credit note. */ /** * @typedef GetPdfUrlViewReq @@ -433,12 +485,15 @@ export = FinancePlatformModel; */ /** * @typedef GetPdfUrlViewResponseData - * @property {string} [s3_pdf_link] - * @property {string} [cn_reference_number] + * @property {string} [s3_pdf_link] - The URL link where credit nore pdf stored + * to view and download. + * @property {string} [cn_reference_number] - The unique reference number of the + * credit note. */ /** * @typedef GetPdfUrlViewResponse - * @property {boolean} [success] + * @property {boolean} [success] - Indicates if the retrieval of the pdf URL was + * successful. * @property {GetPdfUrlViewResponseData} [data] */ /** @@ -447,51 +502,61 @@ export = FinancePlatformModel; */ /** * @typedef CnDetails - * @property {string} [staff_id] - * @property {string} [expiry_date] - * @property {string} [channel_of_issuance] - * @property {string} [order_id] - * @property {string} [date_issued] - * @property {string} [ordering_channel] - * @property {string} [shipment_id] - * @property {string} [store_id] - * @property {string} [invoice_number] + * @property {string} [staff_id] - ID of the staff member associated with the credit note. + * @property {string} [expiry_date] - Expiry date of the credit note. + * @property {string} [channel_of_issuance] - Channel through which the credit + * note was issued. + * @property {string} [order_id] - Order ID of order for which credit note created. + * @property {string} [date_issued] - Date when the credit note was issued. + * @property {string} [ordering_channel] - Ordering channel associated with the + * credit note. + * @property {string} [shipment_id] - Shipment Id associated with the credit note. + * @property {string} [store_id] - Store Id associated with the credit note. + * @property {string} [invoice_number] - Invoice number associated with the credit note. */ /** * @typedef RedemptionDetails - * @property {Object} [meta] - * @property {string} [staff_id] - * @property {string} [created_at] - * @property {string} [order_id] - * @property {string} [store_id] - * @property {string} [shipment_id] - * @property {string} [ordering_channel] - * @property {number} [amount_debited] - * @property {string} [invoice_number] + * @property {Object} [meta] - Additional metadata related to the redemption details. + * @property {string} [staff_id] - ID of the staff member who processed the redemption. + * @property {string} [created_at] - Date and time when the redemption was processed. + * @property {string} [order_id] - Order Id of the order associated with the redemption. + * @property {string} [store_id] - Store Id of the order associated with the redemption. + * @property {string} [shipment_id] - Shipment Id of the order associated with + * the redemption. + * @property {string} [ordering_channel] - Ordering channel associated with the + * redemption. + * @property {number} [amount_debited] - Amount debited from the credit note + * during redemption. + * @property {string} [invoice_number] - Invoice number associated with the redemption. */ /** * @typedef CreditNoteDetails - * @property {string} [currency] - * @property {number} [current_amount_used] - * @property {string} [cn_status] - * @property {string} [customer_mobile_number] - * @property {string} [cn_reference_number] + * @property {string} [currency] - Currency in which the credit note is issued. + * @property {number} [current_amount_used] - Current amount used from the credit note. + * @property {string} [cn_status] - Status of the credit note. + * @property {string} [customer_mobile_number] - Mobile number of the customer + * associated with the credit note. + * @property {string} [cn_reference_number] - Unique Credit number of the credit note. * @property {CnDetails} [cn_details] - * @property {RedemptionDetails[]} [redemption_details] - * @property {number} [remaining_cn_amount] - * @property {number} [available_cn_balance] - * @property {number} [cn_amount] + * @property {RedemptionDetails[]} [redemption_details] - List of redemption + * details associated with the credit note. + * @property {number} [remaining_cn_amount] - Remaining amount left in the credit note. + * @property {number} [available_cn_balance] - Available balance in the credit note. + * @property {number} [cn_amount] - Total amount of the credit note. */ /** * @typedef CreditNoteDetailsResponse - * @property {boolean} [success] + * @property {boolean} [success] - Indicates if the retrieval of credit note + * details was successful. * @property {CreditNoteDetails} [data] */ /** * @typedef GetCustomerCreditBalance - * @property {string} [affiliate_id] - * @property {number} [seller_id] - * @property {string} [customer_mobile_number] + * @property {string} [affiliate_id] - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + * @property {number} [seller_id] - Unique identifier for the seller. + * @property {string} [customer_mobile_number] - Mobile number of the customer + * for whom the credit balance is requested. */ /** * @typedef GetCustomerCreditBalanceReq @@ -499,12 +564,14 @@ export = FinancePlatformModel; */ /** * @typedef GetCustomerCreditBalanceResponseData - * @property {string} [customer_mobile_number] - * @property {number} [total_credited_balance] + * @property {string} [customer_mobile_number] - Mobile number of the customer. + * @property {number} [total_credited_balance] - Total credited balance + * available for the customer. */ /** * @typedef GetCustomerCreditBalanceResponse - * @property {boolean} [success] + * @property {boolean} [success] - Indicates if the retrieval of customer credit + * balance was successful. * @property {GetCustomerCreditBalanceResponseData} [data] */ /** @@ -513,47 +580,60 @@ export = FinancePlatformModel; */ /** * @typedef GetCnConfigResponseMeta - * @property {string} [reason] - * @property {string[]} [source_channel] + * @property {string} [reason] - Reason associated with the configuration response. + * @property {string[]} [source_channel] - List of source channels associated + * with the credit note configuration. */ /** * @typedef GetCnConfigResponseData - * @property {boolean} [is_cn_as_refund_method] - * @property {string} [affiliate_id] + * @property {boolean} [is_cn_as_refund_method] - Indicates if the credit note + * is configured as a refund method. + * @property {string} [affiliate_id] - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. * @property {Object} [meta] - * @property {number} [seller_id] + * @property {number} [seller_id] - Unique identifier for the seller. * @property {CreditNoteConfigNotificationEvents} [notification_events] - * @property {number} [validity] - * @property {string[]} [redemption_ordering_channel] - * @property {string} [currency_type] + * @property {number} [validity] - Validity period of the credit note + * configuration in days. + * @property {string[]} [redemption_ordering_channel] - List of ordering + * channels associated with credit note redemption. + * @property {string} [currency_type] - Type of currency used for the credit note. */ /** * @typedef GetCnConfigResponse - * @property {boolean} [success] + * @property {boolean} [success] - Indicates if the retrieval of credit note + * configuration was successful. * @property {GetCnConfigResponseData} [data] */ /** * @typedef CnGenerateReportFilters - * @property {string[]} [staff_id] - * @property {string[]} [channel_of_issuance] - * @property {string[]} [utilisation] - * @property {string[]} [ordering_channel] - * @property {number[]} [store_id] - * @property {string[]} [type_of_transaction] - * @property {string[]} [issuance_channel] + * @property {string[]} [staff_id] - Array of staff IDs for filtering credit note reports. + * @property {string[]} [channel_of_issuance] - Array of channels through which + * credit notes were issued. + * @property {string[]} [utilisation] - Array of utilisation types for filtering + * credit note reports. + * @property {string[]} [ordering_channel] - Array of ordering channels + * associated with credit note reports. + * @property {number[]} [store_id] - Array of store IDs for filtering credit note reports. + * @property {string[]} [type_of_transaction] - Array of transaction types for + * filtering credit note reports. + * @property {string[]} [issuance_channel] - Array of issuance channels for + * filtering credit note reports. */ /** * @typedef CnGenerateReport - * @property {number} [page] - * @property {string} [end_date] - * @property {number} [page_size] + * @property {number} [page] - Page number of the credit note report. + * @property {string} [end_date] - End date for filtering credit note data. + * @property {number} [page_size] - Number of items per page in the credit note report. * @property {CnGenerateReportFilters} [filters] - * @property {string} [affiliate_id] + * @property {string} [affiliate_id] - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. * @property {GenerateReportFilters} [meta] - * @property {string} [search] - * @property {string} [report_id] - * @property {string} [search_type] - * @property {string} [start_date] + * @property {string} [search] - Search query to filter credit note data by keyword. + * @property {string} [report_id] - Unique identifier for the credit note report. + * @property {string} [search_type] - Type of search criteria used for filtering + * credit note data. + * @property {string} [start_date] - Start date for filtering credit note data. */ /** * @typedef GenerateReportCustomerCnReq @@ -561,28 +641,35 @@ export = FinancePlatformModel; */ /** * @typedef CnGenerateReportItems - * @property {string} [expiry_date] - * @property {string} [status] - * @property {number} [total_amount] - * @property {string} [order_id] - * @property {string} [date_issued] - * @property {string} [shipment_id] - * @property {string} [invoice_number] - * @property {string} [credit_note_number] + * @property {string} [expiry_date] - Expiry date of the credit note item. + * @property {string} [status] - Status of the credit note item. + * @property {number} [total_amount] - Total amount of the credit note item. + * @property {string} [order_id] - Order ID of the order associated with the + * credit note item. + * @property {string} [date_issued] - Date when the credit note item was issued. + * @property {string} [shipment_id] - Shipment ID of the order associated with + * the credit note item. + * @property {string} [invoice_number] - Invoice number associated with the + * credit note item. + * @property {string} [credit_note_number] - Unique number of the credit note item. */ /** * @typedef GenerateReportCustomerCnResponseData - * @property {boolean} [success] - * @property {string} [message] - * @property {CnGenerateReportItems[]} [items] - * @property {Object} [row_header_display_order] - * @property {string} [end_date] + * @property {boolean} [success] - Indicates if the credit note report + * generation was successful. + * @property {string} [message] - Additional message or information related to + * the credit note report. + * @property {CnGenerateReportItems[]} [items] - List of credit note items in the report. + * @property {Object} [row_header_display_order] - Display order for row headers + * in the report. + * @property {string} [end_date] - End date used in the credit note report. * @property {Page} [page] - * @property {string[]} [headers] - * @property {string[]} [primary_headers] - * @property {string[]} [allowed_filters] - * @property {string} [start_date] - * @property {number} [item_count] + * @property {string[]} [headers] - Headers included in the credit note report. + * @property {string[]} [primary_headers] - Primary headers used in the credit + * note report. + * @property {string[]} [allowed_filters] - Allowed filters for the credit note report. + * @property {string} [start_date] - Start date used in the credit note report. + * @property {number} [item_count] - Total count of credit note items in the report. */ /** * @typedef GenerateReportCustomerCnResponse @@ -590,14 +677,17 @@ export = FinancePlatformModel; */ /** * @typedef CnDownloadReport - * @property {number} [page] - * @property {string} [start_date] - * @property {string} [end_date] - * @property {string} [affiliate_id] - * @property {string} [search] - * @property {string} [status] - * @property {string} [search_type] - * @property {number} [page_size] + * @property {number} [page] - Page number of the download report. + * @property {string} [start_date] - Start date for filtering credit note data + * in the report. + * @property {string} [end_date] - End date for filtering credit note data in the report. + * @property {string} [affiliate_id] - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + * @property {string} [search] - Search query to filter credit note data by keyword. + * @property {string} [status] - Status of the credit note data in the report. + * @property {string} [search_type] - Type of search criteria used for filtering + * credit note data. + * @property {number} [page_size] - Number of items per page in the download report. */ /** * @typedef DownloadReportCustomerCnReq @@ -605,67 +695,70 @@ export = FinancePlatformModel; */ /** * @typedef DownloadReportResponseData - * @property {string} [report_config_id] - * @property {string} [full_name] - * @property {string} [requested_by] - * @property {string} [start_date] - * @property {string} [end_date] - * @property {Object} [request_dict] - * @property {string} [download_link] - * @property {string} [created_at] - * @property {Object} [meta] - * @property {string} [msg] - * @property {string} [report_name] - * @property {string} [status] - * @property {string} [display_name] - * @property {Object} [filters] + * @property {string} [report_config_id] - Unique identifier for the report configuration. + * @property {string} [full_name] - Full name associated with the report request. + * @property {string} [requested_by] - User who requested the report. + * @property {string} [start_date] - Start date used in the report. + * @property {string} [end_date] - End date used in the report. + * @property {Object} [request_dict] - Dictionary containing request parameters + * for the report. + * @property {string} [download_link] - Download link for accessing the generated report. + * @property {string} [created_at] - Date and time when the report was created. + * @property {Object} [meta] - Additional metadata associated with the report. + * @property {string} [msg] - Message related to the report status or generation. + * @property {string} [report_name] - Name of the generated report. + * @property {string} [status] - Status of the report. + * @property {string} [display_name] - Display name of the report. + * @property {Object} [filters] - Filters applied to generate the report. */ /** * @typedef DownloadReportCustomerCnResponse - * @property {DownloadReportResponseData[]} [items] - * @property {DownloadReportResponseData[]} [data] - * @property {number} [item_count] + * @property {DownloadReportResponseData[]} [items] - List of download report data items. + * @property {number} [item_count] - Total count of items in the download report. * @property {Page} [page] */ /** * @typedef GetReportingFilters - * @property {string} [text] - * @property {string} [type] - * @property {Object[]} [options] - * @property {string} [value] + * @property {string} [text] - Display text for the filter. + * @property {string} [type] - Type of the fields like seach, filter(e.g., + * single, multi select). + * @property {Object[]} [options] - Options available for the filter. + * @property {string} [value] - Value to be pass in response select from options. */ /** * @typedef GetReportingNestedFilters - * @property {string} [text] - * @property {Object[]} [options] - * @property {boolean} [required] - * @property {string} [placeholder_text] - * @property {string} [type] - * @property {string} [value] + * @property {string} [text] - Display text for the nested filter. + * @property {Object[]} [options] - Options available for the nested filter. + * @property {boolean} [required] - Indicates if the nested filter is required. + * @property {string} [placeholder_text] - Placeholder text for the nested filter. + * @property {string} [type] - Type of the nested filter (e.g., single, multi select). + * @property {string} [value] - Value to be pass in response select from options. */ /** * @typedef GetReportingFiltersReasonOptions - * @property {string} [text] - * @property {string} [value] - * @property {string} [placeholder_text] + * @property {string} [text] - Display text for the reason option. + * @property {string} [value] - Value of the reason option. + * @property {string} [placeholder_text] - Placeholder text for the reason option. */ /** * @typedef GetReportingFiltersReason - * @property {string} [text] - * @property {string} [type] - * @property {string} [value] - * @property {GetReportingFiltersReasonOptions[]} [options] + * @property {string} [text] - Display text for the reason. + * @property {string} [type] - Type of the reason. + * @property {string} [value] - Value to be pass in response. + * @property {GetReportingFiltersReasonOptions[]} [options] - Options available + * for the reasons select from options. */ /** * @typedef GetReportingFiltersResponse * @property {GetReportingFiltersReason} [reason] * @property {GetReportingFilters} [search] - * @property {GetReportingNestedFilters[]} [filters] + * @property {GetReportingNestedFilters[]} [filters] - Array of nested filter objects. * @property {GetReportingFilters} [status] */ /** * @typedef InvoicePaymentOptionsPayloadData - * @property {string[]} [invoice_numbers] + * @property {string[]} [invoice_numbers] - List of invoice numbers for which + * payment options are being requested. */ /** * @typedef InvoicePaymentOptionsReq @@ -673,82 +766,104 @@ export = FinancePlatformModel; */ /** * @typedef InvoicePaymentOptionsResponsePayableAmounts - * @property {number} [amount] - * @property {string} [amount_key] - * @property {string} [header] + * @property {number} [amount] - Amount that is payable for the invoice. + * @property {string} [amount_key] - Key associated with the payable amount for + * identification. + * @property {string} [header] - Header describing the payable amount. */ /** * @typedef InvoicePaymentOptionsResponseDeductedAmounts - * @property {number} [amount] - * @property {string} [header] - * @property {string} [amount_key] - * @property {boolean} [is_payable] - * @property {string} [symbol] + * @property {number} [amount] - Amount deducted from the invoice. + * @property {string} [header] - Header describing the deducted amount. + * @property {string} [amount_key] - Key associated with the deducted amount for + * identification. + * @property {boolean} [is_payable] - Indicates whether the deducted amount is payable. + * @property {string} [symbol] - Currency symbol associated with the deducted amount. */ /** * @typedef InvoicePaymentOptionsResponseData - * @property {string} [invoice_number] - * @property {string} [invoice_type] + * @property {string} [invoice_number] - Invoice number for which payment + * options are provided. + * @property {string} [invoice_type] - Type of the invoice (e.g., 'Seller Fynd', + * 'Platform Subscription'). * @property {InvoicePaymentOptionsResponsePayableAmounts[]} [display_amounts] - * @property {Object} [total_amount] - * @property {Object} [deducted_amounts] + * - List of amounts that are payable for the invoice. + * + * @property {Object} [total_amount] - Total amount for the invoice. + * @property {Object} [deducted_amounts] - Amounts deducted from the total, + * including any associated details. * @property {InvoicePaymentOptionsResponsePayableAmounts[]} [payable_amounts] + * - Amounts that are payable for the invoice. + * * @property {Currency} [currency] */ /** * @typedef InvoicePaymentOptionsResponse - * @property {string} [reason] - * @property {InvoicePaymentOptionsResponseData[]} [data] - * @property {number} [total_payable_amount] - * @property {number} [invoice_count] - * @property {boolean} [success] + * @property {string} [reason] - Reason for the response or any errors encountered. + * @property {InvoicePaymentOptionsResponseData[]} [data] - List of data objects + * containing details about invoice payment options. + * @property {number} [total_payable_amount] - Total amount payable for the invoices. + * @property {number} [invoice_count] - Number of invoices included in the response. + * @property {boolean} [success] - Indicates whether the request to retrieve + * invoice payment options was successful. */ /** * @typedef PaymentDetail - * @property {string} [display_name] - * @property {string} [value] + * @property {string} [display_name] - Name or label displayed for the payment detail. + * @property {string} [value] - Value associated with the payment detail (e.g., + * amount, transaction ID). */ /** * @typedef PaidInvoicePaymentDetail - * @property {PaymentDetail[]} [payment_details] - * @property {string} [date_of_payment] - * @property {number} [amount] + * @property {PaymentDetail[]} [payment_details] - List of payment details for + * the invoice. + * @property {string} [date_of_payment] - Date when the payment was made. + * @property {number} [amount] - Amount paid towards the invoice. */ /** * @typedef InvoicePaymentDetailsResponseData - * @property {PaidInvoicePaymentDetail[]} [paid_invoice_payment_details] - * @property {Object[]} [failed_attempts_details] + * @property {PaidInvoicePaymentDetail[]} [paid_invoice_payment_details] - List + * of details for paid invoices. + * @property {Object[]} [failed_attempts_details] - Details of any failed + * payment attempts for the invoices. */ /** * @typedef InvoicePaymentDetailsResponse - * @property {string} [reason] + * @property {string} [reason] - Reason for the response or any errors encountered. * @property {InvoicePaymentDetailsResponseData} [data] - * @property {boolean} [success] - * @property {boolean} [payment_details_visible] + * @property {boolean} [success] - Indicates whether the request to retrieve + * invoice payment details was successful. + * @property {boolean} [payment_details_visible] - Indicates whether payment + * details are visible or hidden in the response. */ /** * @typedef InvoiceActivityLogsResponseData - * @property {string} [performed_by] - * @property {string} [status] - * @property {string} [reason] - * @property {boolean} [is_resolved] - * @property {number} [retry_attempts] - * @property {number} [max_retry_attempts] + * @property {string} [performed_by] - Identifier of the user or system that + * performed the activity. + * @property {string} [status] - Status of the activity (e.g., 'Completed', 'Pending'). + * @property {string} [reason] - Reason for the activity status or any related notes. + * @property {boolean} [is_resolved] - Indicates whether the activity issue is resolved. + * @property {number} [retry_attempts] - Number of retry attempts made for the activity. + * @property {number} [max_retry_attempts] - Maximum number of retry attempts + * allowed for the activity. */ /** * @typedef InvoiceActivityLogsResponse - * @property {InvoiceActivityLogsResponseData[]} [data] + * @property {InvoiceActivityLogsResponseData[]} [data] - List of activity logs + * related to invoices. */ /** * @typedef InvoiceActivityLogError - * @property {string} [reason] + * @property {string} [reason] - Reason for the error or issue encountered with + * the invoice activity logs. */ /** * @typedef UnlockCreditNoteRequestData - * @property {string} [seller_id] - * @property {string[]} [locked_credit_notes] - * @property {string} [unlock_reason] - * @property {string} [description] + * @property {string} [seller_id] - The unique identifier for the seller. + * @property {string[]} [locked_credit_notes] - A list of credit notes that are locked. + * @property {string} [unlock_reason] - The reason for unlocking the credit notes. + * @property {string} [description] - Additional details or comments about the + * unlock request. */ /** * @typedef UnlockCreditNoteReq @@ -756,46 +871,89 @@ export = FinancePlatformModel; */ /** * @typedef UnlockCreditNoteResponseData - * @property {boolean} [is_cn_unlocked] - * @property {string} [status] + * @property {boolean} [is_cn_unlocked] - Indicates whether the credit note is unlocked. + * @property {string} [status] - The current status of the each credit notes. */ /** * @typedef UnlockCreditNoteResponse - * @property {boolean} [success] + * @property {boolean} [success] - Indicates whether the credit note unlock + * request was successful. * @property {UnlockCreditNoteResponseData} [data] */ declare class FinancePlatformModel { } declare namespace FinancePlatformModel { - export { OrederFreezeResponse, GenerateReportMeta, GenerateReportFilters, GenerateReportPlatform, GenerateReportReq, Page, Currency, GenerateReportJson, Error, ErrorMeta, ErrorMetaItems, DownloadReport, DownloadReportData, DownloadReportItems, DownloadReportList, GetEngineFilters, GetEngineData, GetEngineReq, GetEngineResponse, GetReason, GetReasonReq, ReasonItem, GetReasonResponse, GetReportListData, GetReportListReq, GetAffiliate, GetReportListResponse, ReportItem, GetAffiliateResponse, DownloadCreditDebitNote, DownloadCreditDebitNoteReq, DownloadCreditDebitNoteResponseData, DownloadCreditDebitNoteResponse, InvoiceBillingItem, PaymentProcessPayload, PaymentProcessReq, PaymentProcessResponse, CreditlineDataPlatformPayload, CreditlineDataPlatformReq, CreditlineDataPlatformResponse, IsCreditlinePayload, IsCreditlinePlatformReq, IsCreditlinePlatformResponse, InvoiceTypePayloadData, InvoiceTypeReq, InvoiceTypeResponseItems, InvoiceTypeResponse, InoviceListingPayloadDataFilters, InvoiceListingPayloadData, InvoiceListingReq, UnpaidInvoiceDataItems, InvoiceListingResponseItems, InvoiceListingResponse, InvoicePdfPayloadData, InvoicePdfReq, InvoicePdfResponse, IsCnRefundMethodData, IsCnRefundMethodReq, IsCnRefundMethodResponseData, IsCnRefundMethodResponse, CreditNoteConfigNotificationEvents, CreateSellerCreditNoteConfig, CreateSellerCreditNoteConfigReq, CreateSellerCreditNoteConfigResponse, DeleteConfig, DeleteConfigReq, DeleteConfigResponse, ChannelDisplayNameItems, ChannelDisplayNameResponse, CnReferenceNumber, GetPdfUrlViewReq, GetPdfUrlViewResponseData, GetPdfUrlViewResponse, CreditNoteDetailsReq, CnDetails, RedemptionDetails, CreditNoteDetails, CreditNoteDetailsResponse, GetCustomerCreditBalance, GetCustomerCreditBalanceReq, GetCustomerCreditBalanceResponseData, GetCustomerCreditBalanceResponse, GetCnConfigReq, GetCnConfigResponseMeta, GetCnConfigResponseData, GetCnConfigResponse, CnGenerateReportFilters, CnGenerateReport, GenerateReportCustomerCnReq, CnGenerateReportItems, GenerateReportCustomerCnResponseData, GenerateReportCustomerCnResponse, CnDownloadReport, DownloadReportCustomerCnReq, DownloadReportResponseData, DownloadReportCustomerCnResponse, GetReportingFilters, GetReportingNestedFilters, GetReportingFiltersReasonOptions, GetReportingFiltersReason, GetReportingFiltersResponse, InvoicePaymentOptionsPayloadData, InvoicePaymentOptionsReq, InvoicePaymentOptionsResponsePayableAmounts, InvoicePaymentOptionsResponseDeductedAmounts, InvoicePaymentOptionsResponseData, InvoicePaymentOptionsResponse, PaymentDetail, PaidInvoicePaymentDetail, InvoicePaymentDetailsResponseData, InvoicePaymentDetailsResponse, InvoiceActivityLogsResponseData, InvoiceActivityLogsResponse, InvoiceActivityLogError, UnlockCreditNoteRequestData, UnlockCreditNoteReq, UnlockCreditNoteResponseData, UnlockCreditNoteResponse }; + export { OrederFreezeResponse, GenerateReportMeta, GenerateReportFilters, GenerateReportPlatform, GenerateReportReq, Page, Currency, GenerateReportJson, Error, ErrorMeta, ErrorMetaItems, DownloadReport, DownloadReportData, DownloadReportItems, DownloadReportList, GetEngineFilters, GetEngineData, GetEngineReq, GetEngineResponse, GetReason, GetReasonReq, ReasonItem, GetReasonResponse, GetReportListData, GetReportListReq, GetReportListResponse, ReportItem, GetAffiliate, GetAffiliateResponse, DownloadCreditDebitNote, DownloadCreditDebitNoteReq, DownloadCreditDebitNoteResponseData, DownloadCreditDebitNoteResponse, InvoiceBillingItem, PaymentProcessPayload, PaymentProcessReq, PaymentProcessResponse, CreditlineDataPlatformPayload, CreditlineDataPlatformReq, CreditlineDataPlatformResponse, IsCreditlinePayload, IsCreditlinePlatformReq, IsCreditlinePlatformResponse, InvoiceTypePayloadData, InvoiceTypeReq, InvoiceTypeResponseItems, InvoiceTypeResponse, InoviceListingPayloadDataFilters, InvoiceListingPayloadData, InvoiceListingReq, UnpaidInvoiceDataItems, InvoiceListingResponseItems, InvoiceListingResponse, InvoicePdfPayloadData, InvoicePdfReq, InvoicePdfResponse, IsCnRefundMethodData, IsCnRefundMethodReq, IsCnRefundMethodResponseData, IsCnRefundMethodResponse, CreditNoteConfigNotificationEvents, CreateSellerCreditNoteConfig, CreateSellerCreditNoteConfigReq, CreateSellerCreditNoteConfigResponse, DeleteConfig, DeleteConfigReq, DeleteConfigResponse, ChannelDisplayNameItems, ChannelDisplayNameResponse, CnReferenceNumber, GetPdfUrlViewReq, GetPdfUrlViewResponseData, GetPdfUrlViewResponse, CreditNoteDetailsReq, CnDetails, RedemptionDetails, CreditNoteDetails, CreditNoteDetailsResponse, GetCustomerCreditBalance, GetCustomerCreditBalanceReq, GetCustomerCreditBalanceResponseData, GetCustomerCreditBalanceResponse, GetCnConfigReq, GetCnConfigResponseMeta, GetCnConfigResponseData, GetCnConfigResponse, CnGenerateReportFilters, CnGenerateReport, GenerateReportCustomerCnReq, CnGenerateReportItems, GenerateReportCustomerCnResponseData, GenerateReportCustomerCnResponse, CnDownloadReport, DownloadReportCustomerCnReq, DownloadReportResponseData, DownloadReportCustomerCnResponse, GetReportingFilters, GetReportingNestedFilters, GetReportingFiltersReasonOptions, GetReportingFiltersReason, GetReportingFiltersResponse, InvoicePaymentOptionsPayloadData, InvoicePaymentOptionsReq, InvoicePaymentOptionsResponsePayableAmounts, InvoicePaymentOptionsResponseDeductedAmounts, InvoicePaymentOptionsResponseData, InvoicePaymentOptionsResponse, PaymentDetail, PaidInvoicePaymentDetail, InvoicePaymentDetailsResponseData, InvoicePaymentDetailsResponse, InvoiceActivityLogsResponseData, InvoiceActivityLogsResponse, InvoiceActivityLogError, UnlockCreditNoteRequestData, UnlockCreditNoteReq, UnlockCreditNoteResponseData, UnlockCreditNoteResponse }; } /** @returns {OrederFreezeResponse} */ declare function OrederFreezeResponse(): OrederFreezeResponse; type OrederFreezeResponse = { + /** + * - Indicates whether the operation was successful or not. + */ success?: boolean; + /** + * - Flag indicating if the system is frozen + * for order management. + */ oms_freeze?: boolean; + /** + * - Optional field indicating the data source of + * the information. + */ source?: string; }; /** @returns {GenerateReportMeta} */ declare function GenerateReportMeta(): GenerateReportMeta; type GenerateReportMeta = { + /** + * - The brand name associated with the report meta + * information. + */ brand?: string; + /** + * - The company name associated with the report + * meta information. + */ company?: string; + /** + * - The sale channel name associated with seller. + */ channel?: string; }; /** @returns {GenerateReportFilters} */ declare function GenerateReportFilters(): GenerateReportFilters; type GenerateReportFilters = { + /** + * - An array of brand names to filter the report data. + */ brand?: string[]; + /** + * - An array of company id to filter the report data. + */ company?: string[]; + /** + * - An array of sale channel names associated + * with seller to filter the report data. + */ channel?: string[]; }; /** @returns {GenerateReportPlatform} */ declare function GenerateReportPlatform(): GenerateReportPlatform; type GenerateReportPlatform = { + /** + * - The start date to generate report specific preiod. + */ start_date?: string; + /** + * - The end date to generate report specific preiod. + */ end_date?: string; meta?: GenerateReportMeta; + /** + * - The unique identifier of the generate report + * where different report configure. + */ report_id?: string; filters?: GenerateReportFilters; }; @@ -807,30 +965,76 @@ type GenerateReportReq = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {Currency} */ declare function Currency(): Currency; type Currency = { + /** + * - The unique currency code. + */ code?: string; + /** + * - The unique currency symbol. + */ symbol?: string; + /** + * - The unique currency name. + */ name?: string; }; /** @returns {GenerateReportJson} */ declare function GenerateReportJson(): GenerateReportJson; type GenerateReportJson = { data?: any; + /** + * - Total number of items in the report. + */ item_count?: number; page?: Page; + /** + * - The end date to generate report specific preiod. + */ end_date?: string; + /** + * - The start date to generate report specific preiod. + */ start_date?: string; + /** + * - Nested array structure representing report + * items or data. + */ items?: string[][]; + /** + * - Headers describing each item in the report data. + */ headers?: string[]; }; /** @returns {Error} */ @@ -866,46 +1070,109 @@ type DownloadReport = { /** @returns {DownloadReportData} */ declare function DownloadReportData(): DownloadReportData; type DownloadReportData = { + /** + * - The current page number of the report. + */ page?: number; + /** + * - The number of items displayed per page. + */ page_size?: number; + /** + * - The start date for fetching the report + * history for download. + */ start_date?: string; + /** + * - The end date for fetching the report history + * for download. + */ end_date?: string; }; /** @returns {DownloadReportItems} */ declare function DownloadReportItems(): DownloadReportItems; type DownloadReportItems = { + /** + * - The start date for the report item. + */ start_date?: string; + /** + * - The end date for the report item. + */ end_date?: string; meta?: GenerateReportMeta; + /** + * - The unique identifier of the report item. + */ report_id?: string; filters?: GenerateReportFilters; - type_of_request?: string; }; /** @returns {DownloadReportList} */ declare function DownloadReportList(): DownloadReportList; type DownloadReportList = { + /** + * - A list of report items available + * for download. + */ items?: DownloadReportItems[]; page?: Page; + /** + * - The total number of items in the report list. + */ item_count?: number; }; /** @returns {GetEngineFilters} */ declare function GetEngineFilters(): GetEngineFilters; type GetEngineFilters = { + /** + * - The configuration field used for filtering. + */ config_field?: string; + /** + * - The status used for filtering. + */ status?: string; + /** + * - Flag indicating if the filter is active. + */ is_active?: boolean; + /** + * - The seller ID used for filtering. + */ seller_id?: string; }; /** @returns {GetEngineData} */ declare function GetEngineData(): GetEngineData; type GetEngineData = { + /** + * - Status of the request. + */ status?: string; filters?: GetEngineFilters; + /** + * - A list of fields to get data from tables. + */ project?: string[]; + /** + * - The name of the table from which to retrieve data. + */ table_name?: string; + /** + * - Search criteria for querying on given table + * specific fields. + */ search?: any; + /** + * - The current page number for pagination. + */ page?: number; + /** + * - The number of items displayed per page. + */ page_size?: number; + /** + * - The field by which to order the results. + */ order_by?: string; }; /** @returns {GetEngineReq} */ @@ -916,14 +1183,26 @@ type GetEngineReq = { /** @returns {GetEngineResponse} */ declare function GetEngineResponse(): GetEngineResponse; type GetEngineResponse = { + /** + * - Indicates whether the request was successful. + */ success?: boolean; + /** + * - A list of items returned by the request. + */ items?: any[]; page?: Page; + /** + * - The total number of items returned by the request. + */ item_count?: number; }; /** @returns {GetReason} */ declare function GetReason(): GetReason; type GetReason = { + /** + * - The type of reason associated with the request. + */ reason_type?: string; }; /** @returns {GetReasonReq} */ @@ -934,22 +1213,47 @@ type GetReasonReq = { /** @returns {ReasonItem} */ declare function ReasonItem(): ReasonItem; type ReasonItem = { + /** + * - Id of the reason for reason_type. + */ id?: string; + /** + * - Code of the reason for reason_type. + */ name?: string; + /** + * - Display name of the reason for reason_type. + */ display_name?: string; }; /** @returns {GetReasonResponse} */ declare function GetReasonResponse(): GetReasonResponse; type GetReasonResponse = { + /** + * - Indicates whether the request was successfull. + */ success?: boolean; + /** + * - The list of items returned in the response. + */ item_list?: ReasonItem[]; + /** + * - The number of items in the response. + */ item_count?: number; page?: Page; }; /** @returns {GetReportListData} */ declare function GetReportListData(): GetReportListData; type GetReportListData = { + /** + * - The name of the role requesting the report list. + */ role_name?: string; + /** + * - Indicates whether listing is enabled + * for the role. + */ listing_enabled?: boolean; }; /** @returns {GetReportListReq} */ @@ -957,40 +1261,88 @@ declare function GetReportListReq(): GetReportListReq; type GetReportListReq = { data?: GetReportListData; }; -/** @returns {GetAffiliate} */ -declare function GetAffiliate(): GetAffiliate; -type GetAffiliate = { - company_id?: number; -}; /** @returns {GetReportListResponse} */ declare function GetReportListResponse(): GetReportListResponse; type GetReportListResponse = { + /** + * - Indicates whether the request was successful. + */ success?: boolean; + /** + * - The list of report items. + */ items?: ReportItem[]; page?: Page; + /** + * - The total number of items in the report list. + */ total_count?: number; }; /** @returns {ReportItem} */ declare function ReportItem(): ReportItem; type ReportItem = { + /** + * - The unique identifier for the report item. + */ id?: string; + /** + * - The name of the report item. + */ name?: string; + /** + * - A brief description of the report item. + */ description?: string; + /** + * - The filters that can be applied to + * the report item. + */ allowed_filters?: string[]; + /** + * - Metadata related to the report item configuration. + */ config_meta?: any; + /** + * - The type of the report item. + */ report_type?: string; + /** + * - The display date of the report item, if applicable. + */ display_date?: string; }; +/** @returns {GetAffiliate} */ +declare function GetAffiliate(): GetAffiliate; +type GetAffiliate = { + /** + * - The unique identifier of the company + * associated with the affiliate. + */ + company_id?: number; +}; /** @returns {GetAffiliateResponse} */ declare function GetAffiliateResponse(): GetAffiliateResponse; type GetAffiliateResponse = { + /** + * - The reason for the response, if applicable. + */ reason?: string; + /** + * - Indicates whether the request was successful. + */ success?: boolean; + /** + * - List of items or data related to the affiliate. + */ docs?: any[]; }; /** @returns {DownloadCreditDebitNote} */ declare function DownloadCreditDebitNote(): DownloadCreditDebitNote; type DownloadCreditDebitNote = { + /** + * - List of unique identifiers for the + * credit/debit notes to be download. + */ note_id?: string[]; }; /** @returns {DownloadCreditDebitNoteReq} */ @@ -1001,32 +1353,82 @@ type DownloadCreditDebitNoteReq = { /** @returns {DownloadCreditDebitNoteResponseData} */ declare function DownloadCreditDebitNoteResponseData(): DownloadCreditDebitNoteResponseData; type DownloadCreditDebitNoteResponseData = { + /** + * - The unique identifier of the download credit/debit note. + */ id?: string; + /** + * - The URL where the PDF of the credit/debit + * note is stored. + */ pdf_s3_url?: string; }; /** @returns {DownloadCreditDebitNoteResponse} */ declare function DownloadCreditDebitNoteResponse(): DownloadCreditDebitNoteResponse; type DownloadCreditDebitNoteResponse = { + /** + * - Indicates whether the request to download the + * credit/debit notes was successful. + */ success?: boolean; + /** + * - List of + * credit/debit notes download data. + */ data?: DownloadCreditDebitNoteResponseData[]; }; /** @returns {InvoiceBillingItem} */ declare function InvoiceBillingItem(): InvoiceBillingItem; type InvoiceBillingItem = { + /** + * - The number of the invoice associated + * with the billing item. + */ invoice_number?: string; + /** + * - The amount of the billing item. + */ amount?: number; }; /** @returns {PaymentProcessPayload} */ declare function PaymentProcessPayload(): PaymentProcessPayload; type PaymentProcessPayload = { + /** + * - The platform through which the payment is processed. + */ platform?: string; + /** + * - The total amount to be processed in the payment. + */ amount?: number; + /** + * - The type of transaction (e.g., seller_online). + */ transaction_type?: string; + /** + * - The reference for the source of the payment. + */ source_reference?: string; + /** + * - The total amount to be processed in the payment. + */ total_amount?: number; + /** + * - Additional metadata related to the payment. + */ meta?: any; + /** + * - The currency in which the payment is made. + */ currency?: string; + /** + * - The unique identifier for the seller + * receiving the payment. + */ seller_id?: string; + /** + * - The mode of payment (e.g., online). + */ mode_of_payment?: string; invoice_billing_items?: InvoiceBillingItem[]; }; @@ -1038,19 +1440,53 @@ type PaymentProcessReq = { /** @returns {PaymentProcessResponse} */ declare function PaymentProcessResponse(): PaymentProcessResponse; type PaymentProcessResponse = { + /** + * - Response code indicating the status of the payment process. + */ code?: number; + /** + * - A message providing additional information + * about the payment process response. + */ message?: string; + /** + * - Additional metadata related to the payment + * process response. + */ meta?: any; + /** + * - The unique identifier for the payment + * transaction. + */ transaction_id?: string; + /** + * - URL to redirect the user to complete the + * payment process, if applicable. + */ redirect_url?: string; }; /** @returns {CreditlineDataPlatformPayload} */ declare function CreditlineDataPlatformPayload(): CreditlineDataPlatformPayload; type CreditlineDataPlatformPayload = { + /** + * - The page number for pagination. + */ page?: number; + /** + * - The unique identifier for the seller. + */ seller_id?: string; + /** + * - The end date for the query. + */ end_date?: string; + /** + * - The start date for the query. + */ start_date?: string; + /** + * - The number of items per page. + */ page_size?: number; }; /** @returns {CreditlineDataPlatformReq} */ @@ -1061,17 +1497,40 @@ type CreditlineDataPlatformReq = { /** @returns {CreditlineDataPlatformResponse} */ declare function CreditlineDataPlatformResponse(): CreditlineDataPlatformResponse; type CreditlineDataPlatformResponse = { + /** + * - The list of items in the response. + */ items?: any[]; + /** + * - The response status code. + */ code?: number; + /** + * - A flag indicating whether to show MR (some + * specific field). + */ show_mr?: boolean; page?: Page; + /** + * - The response message. + */ message?: string; + /** + * - The list of response headers. + */ headers?: string[]; + /** + * - The total number of items. + */ item_count?: number; }; /** @returns {IsCreditlinePayload} */ declare function IsCreditlinePayload(): IsCreditlinePayload; type IsCreditlinePayload = { + /** + * - The unique identifier for the seller to + * check for credit line eligibility. + */ seller_id?: string; }; /** @returns {IsCreditlinePlatformReq} */ @@ -1082,12 +1541,23 @@ type IsCreditlinePlatformReq = { /** @returns {IsCreditlinePlatformResponse} */ declare function IsCreditlinePlatformResponse(): IsCreditlinePlatformResponse; type IsCreditlinePlatformResponse = { + /** + * - Indicates whether the seller has + * opted for a credit line. + */ is_creditline_opted?: boolean; + /** + * - Response code indicating the status of the credit + * line check. + */ code?: number; }; /** @returns {InvoiceTypePayloadData} */ declare function InvoiceTypePayloadData(): InvoiceTypePayloadData; type InvoiceTypePayloadData = { + /** + * - Indicates if the invoice type is active. + */ is_active?: boolean; }; /** @returns {InvoiceTypeReq} */ @@ -1098,30 +1568,71 @@ type InvoiceTypeReq = { /** @returns {InvoiceTypeResponseItems} */ declare function InvoiceTypeResponseItems(): InvoiceTypeResponseItems; type InvoiceTypeResponseItems = { + /** + * - The text description of the invoice type. + */ text?: string; + /** + * - The value or code representing the invoice type. + */ value?: string; }; /** @returns {InvoiceTypeResponse} */ declare function InvoiceTypeResponse(): InvoiceTypeResponse; type InvoiceTypeResponse = { + /** + * - Indicates whether the request was successful. + */ success?: boolean; + /** + * - List of invoice + * types available. + */ invoice_type_list?: InvoiceTypeResponseItems[]; + /** + * - List of + * payment statuses available. + */ payment_status_list?: InvoiceTypeResponseItems[]; }; /** @returns {InoviceListingPayloadDataFilters} */ declare function InoviceListingPayloadDataFilters(): InoviceListingPayloadDataFilters; type InoviceListingPayloadDataFilters = { + /** + * - List of payment statuses to filter by. + */ payment_status?: string[]; + /** + * - List of invoice types to filter by. + */ invoice_type?: string[]; + /** + * - List of company IDs to filter by. + */ company_id?: string[]; }; /** @returns {InvoiceListingPayloadData} */ declare function InvoiceListingPayloadData(): InvoiceListingPayloadData; type InvoiceListingPayloadData = { + /** + * - The number of items per page for pagination. + */ page_size?: number; + /** + * - The page number for pagination. + */ page?: number; + /** + * - The start date for the invoice listing filter. + */ start_date?: string; + /** + * - The end date for the invoice listing filter. + */ end_date?: string; + /** + * - Search term for filtering invoices. + */ search?: string; filters?: InoviceListingPayloadDataFilters; }; @@ -1133,38 +1644,96 @@ type InvoiceListingReq = { /** @returns {UnpaidInvoiceDataItems} */ declare function UnpaidInvoiceDataItems(): UnpaidInvoiceDataItems; type UnpaidInvoiceDataItems = { + /** + * - The total count of unpaid invoices. + */ total_unpaid_invoice_count?: number; + /** + * - The currency used for unpaid invoices. + */ currency?: string; + /** + * - The total amount of unpaid invoices. + */ total_unpaid_amount?: number; }; /** @returns {InvoiceListingResponseItems} */ declare function InvoiceListingResponseItems(): InvoiceListingResponseItems; type InvoiceListingResponseItems = { + /** + * - The amount of the invoice. + */ amount?: number; + /** + * - The name of the company associated with the invoice. + */ company?: string; + /** + * - The current status of the invoice (e.g., + * 'paid', 'unpaid'). + */ status?: string; + /** + * - The due date of the invoice. + */ due_date?: string; + /** + * - The date when the invoice was issued. + */ invoice_date?: string; + /** + * - The type of invoice. + */ invoice_type?: string; + /** + * - The period covered by the invoice. + */ period?: string; + /** + * - The invoice number. + */ invoice_number?: string; + /** + * - Indicates if the invoice is available + * for download. + */ is_downloadable?: boolean; + /** + * - The unique identifier of the invoice. + */ invoice_id?: string; currency?: Currency; }; /** @returns {InvoiceListingResponse} */ declare function InvoiceListingResponse(): InvoiceListingResponse; type InvoiceListingResponse = { + /** + * - Indicates whether the request was successful. + */ success?: boolean; + /** + * - Headers related to the invoice listing response. + */ headers?: string[]; unpaid_invoice_data?: UnpaidInvoiceDataItems; + /** + * - List of invoice items in + * the response. + */ items?: InvoiceListingResponseItems[]; page?: Page; + /** + * - The total number of invoice items in the response. + */ item_count?: number; }; /** @returns {InvoicePdfPayloadData} */ declare function InvoicePdfPayloadData(): InvoicePdfPayloadData; type InvoicePdfPayloadData = { + /** + * - List of invoice numbers for which + * PDFs are requested. + */ invoice_number?: string[]; }; /** @returns {InvoicePdfReq} */ @@ -1175,15 +1744,36 @@ type InvoicePdfReq = { /** @returns {InvoicePdfResponse} */ declare function InvoicePdfResponse(): InvoicePdfResponse; type InvoicePdfResponse = { + /** + * - Indicates whether the PDF generation request + * was successful. + */ success?: boolean; + /** + * - List of URLs or paths to the generated PDF files. + */ data?: string[]; + /** + * - List of errors encountered while generating the PDFs. + */ error?: string[]; }; /** @returns {IsCnRefundMethodData} */ declare function IsCnRefundMethodData(): IsCnRefundMethodData; type IsCnRefundMethodData = { + /** + * - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + */ affiliate_id?: string; + /** + * - Indicates whether editing the + * refund method is required. + */ toggle_edit_required?: boolean; + /** + * - Unique identifier for the seller. + */ seller_id?: number; }; /** @returns {IsCnRefundMethodReq} */ @@ -1194,31 +1784,75 @@ type IsCnRefundMethodReq = { /** @returns {IsCnRefundMethodResponseData} */ declare function IsCnRefundMethodResponseData(): IsCnRefundMethodResponseData; type IsCnRefundMethodResponseData = { + /** + * - Indicates whether the seller for + * specific sale channel is using the refund method for the first time. + */ is_first_time_user?: boolean; }; /** @returns {IsCnRefundMethodResponse} */ declare function IsCnRefundMethodResponse(): IsCnRefundMethodResponse; type IsCnRefundMethodResponse = { + /** + * - Indicates whether the request to determine + * the refund method was successful. + */ success?: boolean; data?: IsCnRefundMethodResponseData; }; /** @returns {CreditNoteConfigNotificationEvents} */ declare function CreditNoteConfigNotificationEvents(): CreditNoteConfigNotificationEvents; type CreditNoteConfigNotificationEvents = { + /** + * - Number of days before + * the expiration date to send a reminder notification to the customer. + */ expiration_reminder_to_customer?: number; }; /** @returns {CreateSellerCreditNoteConfig} */ declare function CreateSellerCreditNoteConfig(): CreateSellerCreditNoteConfig; type CreateSellerCreditNoteConfig = { + /** + * - Indicates if the credit note + * is used as a refund method. + */ is_cn_as_refund_method?: boolean; + /** + * - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + */ affiliate_id?: string; + /** + * - List of source channels associated + * with the credit note configuration. + */ source_channel?: string[]; + /** + * - Unique identifier for the seller. + */ seller_id?: number; notification_events?: CreditNoteConfigNotificationEvents; + /** + * - Name of the sales channel. + */ sales_channel_name?: string; + /** + * - List of ordering channels + * associated with the credit note configuration. + */ ordering_channel?: string[]; + /** + * - Validity period of the credit note in days. + */ validity?: number; + /** + * - Type of currency used for the credit note. + */ currency_type?: string; + /** + * - List of slug values associated with the + * credit note configuration. + */ slug_values?: string[]; }; /** @returns {CreateSellerCreditNoteConfigReq} */ @@ -1229,14 +1863,33 @@ type CreateSellerCreditNoteConfigReq = { /** @returns {CreateSellerCreditNoteConfigResponse} */ declare function CreateSellerCreditNoteConfigResponse(): CreateSellerCreditNoteConfigResponse; type CreateSellerCreditNoteConfigResponse = { + /** + * - Indicates if the credit note configuration + * creation was successful. + */ success?: boolean; + /** + * - Additional information or message about the + * credit note configuration creation process. + */ message?: string; }; /** @returns {DeleteConfig} */ declare function DeleteConfig(): DeleteConfig; type DeleteConfig = { + /** + * - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + */ affiliate_id?: string; + /** + * - List of slug values associated with the + * credit note configuration. + */ slug_values?: string[]; + /** + * - Unique identifier for the seller. + */ seller_id?: number; }; /** @returns {DeleteConfigReq} */ @@ -1247,24 +1900,49 @@ type DeleteConfigReq = { /** @returns {DeleteConfigResponse} */ declare function DeleteConfigResponse(): DeleteConfigResponse; type DeleteConfigResponse = { + /** + * - Indicates if the configuration deletion was successful. + */ success?: boolean; + /** + * - Additional information or message about the + * configuration deletion process. + */ message?: string; }; /** @returns {ChannelDisplayNameItems} */ declare function ChannelDisplayNameItems(): ChannelDisplayNameItems; type ChannelDisplayNameItems = { + /** + * - The unique key identifying the channel. + */ key?: string; + /** + * - The display name of the channel associated with the key. + */ value?: string; }; /** @returns {ChannelDisplayNameResponse} */ declare function ChannelDisplayNameResponse(): ChannelDisplayNameResponse; type ChannelDisplayNameResponse = { + /** + * - Indicates if the retrieval of channel display + * names was successful. + */ success?: boolean; + /** + * - List of items containing + * key-value pairs for channel display names. + */ items?: ChannelDisplayNameItems[]; }; /** @returns {CnReferenceNumber} */ declare function CnReferenceNumber(): CnReferenceNumber; type CnReferenceNumber = { + /** + * - The unique reference number of the + * credit note. + */ cn_reference_number?: string; }; /** @returns {GetPdfUrlViewReq} */ @@ -1275,12 +1953,24 @@ type GetPdfUrlViewReq = { /** @returns {GetPdfUrlViewResponseData} */ declare function GetPdfUrlViewResponseData(): GetPdfUrlViewResponseData; type GetPdfUrlViewResponseData = { + /** + * - The URL link where credit nore pdf stored + * to view and download. + */ s3_pdf_link?: string; + /** + * - The unique reference number of the + * credit note. + */ cn_reference_number?: string; }; /** @returns {GetPdfUrlViewResponse} */ declare function GetPdfUrlViewResponse(): GetPdfUrlViewResponse; type GetPdfUrlViewResponse = { + /** + * - Indicates if the retrieval of the pdf URL was + * successful. + */ success?: boolean; data?: GetPdfUrlViewResponseData; }; @@ -1292,54 +1982,157 @@ type CreditNoteDetailsReq = { /** @returns {CnDetails} */ declare function CnDetails(): CnDetails; type CnDetails = { + /** + * - ID of the staff member associated with the credit note. + */ staff_id?: string; + /** + * - Expiry date of the credit note. + */ expiry_date?: string; + /** + * - Channel through which the credit + * note was issued. + */ channel_of_issuance?: string; + /** + * - Order ID of order for which credit note created. + */ order_id?: string; + /** + * - Date when the credit note was issued. + */ date_issued?: string; + /** + * - Ordering channel associated with the + * credit note. + */ ordering_channel?: string; + /** + * - Shipment Id associated with the credit note. + */ shipment_id?: string; + /** + * - Store Id associated with the credit note. + */ store_id?: string; + /** + * - Invoice number associated with the credit note. + */ invoice_number?: string; }; /** @returns {RedemptionDetails} */ declare function RedemptionDetails(): RedemptionDetails; type RedemptionDetails = { + /** + * - Additional metadata related to the redemption details. + */ meta?: any; + /** + * - ID of the staff member who processed the redemption. + */ staff_id?: string; + /** + * - Date and time when the redemption was processed. + */ created_at?: string; + /** + * - Order Id of the order associated with the redemption. + */ order_id?: string; + /** + * - Store Id of the order associated with the redemption. + */ store_id?: string; + /** + * - Shipment Id of the order associated with + * the redemption. + */ shipment_id?: string; + /** + * - Ordering channel associated with the + * redemption. + */ ordering_channel?: string; + /** + * - Amount debited from the credit note + * during redemption. + */ amount_debited?: number; + /** + * - Invoice number associated with the redemption. + */ invoice_number?: string; }; /** @returns {CreditNoteDetails} */ declare function CreditNoteDetails(): CreditNoteDetails; type CreditNoteDetails = { + /** + * - Currency in which the credit note is issued. + */ currency?: string; + /** + * - Current amount used from the credit note. + */ current_amount_used?: number; + /** + * - Status of the credit note. + */ cn_status?: string; + /** + * - Mobile number of the customer + * associated with the credit note. + */ customer_mobile_number?: string; + /** + * - Unique Credit number of the credit note. + */ cn_reference_number?: string; cn_details?: CnDetails; + /** + * - List of redemption + * details associated with the credit note. + */ redemption_details?: RedemptionDetails[]; + /** + * - Remaining amount left in the credit note. + */ remaining_cn_amount?: number; + /** + * - Available balance in the credit note. + */ available_cn_balance?: number; + /** + * - Total amount of the credit note. + */ cn_amount?: number; }; /** @returns {CreditNoteDetailsResponse} */ declare function CreditNoteDetailsResponse(): CreditNoteDetailsResponse; type CreditNoteDetailsResponse = { + /** + * - Indicates if the retrieval of credit note + * details was successful. + */ success?: boolean; data?: CreditNoteDetails; }; /** @returns {GetCustomerCreditBalance} */ declare function GetCustomerCreditBalance(): GetCustomerCreditBalance; type GetCustomerCreditBalance = { + /** + * - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + */ affiliate_id?: string; + /** + * - Unique identifier for the seller. + */ seller_id?: number; + /** + * - Mobile number of the customer + * for whom the credit balance is requested. + */ customer_mobile_number?: string; }; /** @returns {GetCustomerCreditBalanceReq} */ @@ -1350,12 +2143,23 @@ type GetCustomerCreditBalanceReq = { /** @returns {GetCustomerCreditBalanceResponseData} */ declare function GetCustomerCreditBalanceResponseData(): GetCustomerCreditBalanceResponseData; type GetCustomerCreditBalanceResponseData = { + /** + * - Mobile number of the customer. + */ customer_mobile_number?: string; + /** + * - Total credited balance + * available for the customer. + */ total_credited_balance?: number; }; /** @returns {GetCustomerCreditBalanceResponse} */ declare function GetCustomerCreditBalanceResponse(): GetCustomerCreditBalanceResponse; type GetCustomerCreditBalanceResponse = { + /** + * - Indicates if the retrieval of customer credit + * balance was successful. + */ success?: boolean; data?: GetCustomerCreditBalanceResponseData; }; @@ -1367,50 +2171,135 @@ type GetCnConfigReq = { /** @returns {GetCnConfigResponseMeta} */ declare function GetCnConfigResponseMeta(): GetCnConfigResponseMeta; type GetCnConfigResponseMeta = { + /** + * - Reason associated with the configuration response. + */ reason?: string; + /** + * - List of source channels associated + * with the credit note configuration. + */ source_channel?: string[]; }; /** @returns {GetCnConfigResponseData} */ declare function GetCnConfigResponseData(): GetCnConfigResponseData; type GetCnConfigResponseData = { + /** + * - Indicates if the credit note + * is configured as a refund method. + */ is_cn_as_refund_method?: boolean; + /** + * - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + */ affiliate_id?: string; meta?: any; + /** + * - Unique identifier for the seller. + */ seller_id?: number; notification_events?: CreditNoteConfigNotificationEvents; + /** + * - Validity period of the credit note + * configuration in days. + */ validity?: number; + /** + * - List of ordering + * channels associated with credit note redemption. + */ redemption_ordering_channel?: string[]; + /** + * - Type of currency used for the credit note. + */ currency_type?: string; }; /** @returns {GetCnConfigResponse} */ declare function GetCnConfigResponse(): GetCnConfigResponse; type GetCnConfigResponse = { + /** + * - Indicates if the retrieval of credit note + * configuration was successful. + */ success?: boolean; data?: GetCnConfigResponseData; }; /** @returns {CnGenerateReportFilters} */ declare function CnGenerateReportFilters(): CnGenerateReportFilters; type CnGenerateReportFilters = { + /** + * - Array of staff IDs for filtering credit note reports. + */ staff_id?: string[]; + /** + * - Array of channels through which + * credit notes were issued. + */ channel_of_issuance?: string[]; + /** + * - Array of utilisation types for filtering + * credit note reports. + */ utilisation?: string[]; + /** + * - Array of ordering channels + * associated with credit note reports. + */ ordering_channel?: string[]; + /** + * - Array of store IDs for filtering credit note reports. + */ store_id?: number[]; + /** + * - Array of transaction types for + * filtering credit note reports. + */ type_of_transaction?: string[]; + /** + * - Array of issuance channels for + * filtering credit note reports. + */ issuance_channel?: string[]; }; /** @returns {CnGenerateReport} */ declare function CnGenerateReport(): CnGenerateReport; type CnGenerateReport = { + /** + * - Page number of the credit note report. + */ page?: number; + /** + * - End date for filtering credit note data. + */ end_date?: string; + /** + * - Number of items per page in the credit note report. + */ page_size?: number; filters?: CnGenerateReportFilters; + /** + * - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + */ affiliate_id?: string; meta?: GenerateReportFilters; + /** + * - Search query to filter credit note data by keyword. + */ search?: string; + /** + * - Unique identifier for the credit note report. + */ report_id?: string; + /** + * - Type of search criteria used for filtering + * credit note data. + */ search_type?: string; + /** + * - Start date for filtering credit note data. + */ start_date?: string; }; /** @returns {GenerateReportCustomerCnReq} */ @@ -1421,28 +2310,89 @@ type GenerateReportCustomerCnReq = { /** @returns {CnGenerateReportItems} */ declare function CnGenerateReportItems(): CnGenerateReportItems; type CnGenerateReportItems = { + /** + * - Expiry date of the credit note item. + */ expiry_date?: string; + /** + * - Status of the credit note item. + */ status?: string; + /** + * - Total amount of the credit note item. + */ total_amount?: number; + /** + * - Order ID of the order associated with the + * credit note item. + */ order_id?: string; + /** + * - Date when the credit note item was issued. + */ date_issued?: string; + /** + * - Shipment ID of the order associated with + * the credit note item. + */ shipment_id?: string; + /** + * - Invoice number associated with the + * credit note item. + */ invoice_number?: string; + /** + * - Unique number of the credit note item. + */ credit_note_number?: string; }; /** @returns {GenerateReportCustomerCnResponseData} */ declare function GenerateReportCustomerCnResponseData(): GenerateReportCustomerCnResponseData; type GenerateReportCustomerCnResponseData = { + /** + * - Indicates if the credit note report + * generation was successful. + */ success?: boolean; + /** + * - Additional message or information related to + * the credit note report. + */ message?: string; + /** + * - List of credit note items in the report. + */ items?: CnGenerateReportItems[]; + /** + * - Display order for row headers + * in the report. + */ row_header_display_order?: any; + /** + * - End date used in the credit note report. + */ end_date?: string; page?: Page; + /** + * - Headers included in the credit note report. + */ headers?: string[]; + /** + * - Primary headers used in the credit + * note report. + */ primary_headers?: string[]; + /** + * - Allowed filters for the credit note report. + */ allowed_filters?: string[]; + /** + * - Start date used in the credit note report. + */ start_date?: string; + /** + * - Total count of credit note items in the report. + */ item_count?: number; }; /** @returns {GenerateReportCustomerCnResponse} */ @@ -1453,13 +2403,40 @@ type GenerateReportCustomerCnResponse = { /** @returns {CnDownloadReport} */ declare function CnDownloadReport(): CnDownloadReport; type CnDownloadReport = { + /** + * - Page number of the download report. + */ page?: number; + /** + * - Start date for filtering credit note data + * in the report. + */ start_date?: string; + /** + * - End date for filtering credit note data in the report. + */ end_date?: string; + /** + * - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + */ affiliate_id?: string; + /** + * - Search query to filter credit note data by keyword. + */ search?: string; + /** + * - Status of the credit note data in the report. + */ status?: string; + /** + * - Type of search criteria used for filtering + * credit note data. + */ search_type?: string; + /** + * - Number of items per page in the download report. + */ page_size?: number; }; /** @returns {DownloadReportCustomerCnReq} */ @@ -1470,60 +2447,161 @@ type DownloadReportCustomerCnReq = { /** @returns {DownloadReportResponseData} */ declare function DownloadReportResponseData(): DownloadReportResponseData; type DownloadReportResponseData = { + /** + * - Unique identifier for the report configuration. + */ report_config_id?: string; + /** + * - Full name associated with the report request. + */ full_name?: string; + /** + * - User who requested the report. + */ requested_by?: string; + /** + * - Start date used in the report. + */ start_date?: string; + /** + * - End date used in the report. + */ end_date?: string; + /** + * - Dictionary containing request parameters + * for the report. + */ request_dict?: any; + /** + * - Download link for accessing the generated report. + */ download_link?: string; + /** + * - Date and time when the report was created. + */ created_at?: string; + /** + * - Additional metadata associated with the report. + */ meta?: any; + /** + * - Message related to the report status or generation. + */ msg?: string; + /** + * - Name of the generated report. + */ report_name?: string; + /** + * - Status of the report. + */ status?: string; + /** + * - Display name of the report. + */ display_name?: string; + /** + * - Filters applied to generate the report. + */ filters?: any; }; /** @returns {DownloadReportCustomerCnResponse} */ declare function DownloadReportCustomerCnResponse(): DownloadReportCustomerCnResponse; type DownloadReportCustomerCnResponse = { + /** + * - List of download report data items. + */ items?: DownloadReportResponseData[]; - data?: DownloadReportResponseData[]; + /** + * - Total count of items in the download report. + */ item_count?: number; page?: Page; }; /** @returns {GetReportingFilters} */ declare function GetReportingFilters(): GetReportingFilters; type GetReportingFilters = { + /** + * - Display text for the filter. + */ text?: string; + /** + * - Type of the fields like seach, filter(e.g., + * single, multi select). + */ type?: string; + /** + * - Options available for the filter. + */ options?: any[]; + /** + * - Value to be pass in response select from options. + */ value?: string; }; /** @returns {GetReportingNestedFilters} */ declare function GetReportingNestedFilters(): GetReportingNestedFilters; type GetReportingNestedFilters = { + /** + * - Display text for the nested filter. + */ text?: string; + /** + * - Options available for the nested filter. + */ options?: any[]; + /** + * - Indicates if the nested filter is required. + */ required?: boolean; + /** + * - Placeholder text for the nested filter. + */ placeholder_text?: string; + /** + * - Type of the nested filter (e.g., single, multi select). + */ type?: string; + /** + * - Value to be pass in response select from options. + */ value?: string; }; /** @returns {GetReportingFiltersReasonOptions} */ declare function GetReportingFiltersReasonOptions(): GetReportingFiltersReasonOptions; type GetReportingFiltersReasonOptions = { + /** + * - Display text for the reason option. + */ text?: string; + /** + * - Value of the reason option. + */ value?: string; + /** + * - Placeholder text for the reason option. + */ placeholder_text?: string; }; /** @returns {GetReportingFiltersReason} */ declare function GetReportingFiltersReason(): GetReportingFiltersReason; type GetReportingFiltersReason = { + /** + * - Display text for the reason. + */ text?: string; + /** + * - Type of the reason. + */ type?: string; + /** + * - Value to be pass in response. + */ value?: string; + /** + * - Options available + * for the reasons select from options. + */ options?: GetReportingFiltersReasonOptions[]; }; /** @returns {GetReportingFiltersResponse} */ @@ -1531,12 +2609,19 @@ declare function GetReportingFiltersResponse(): GetReportingFiltersResponse; type GetReportingFiltersResponse = { reason?: GetReportingFiltersReason; search?: GetReportingFilters; + /** + * - Array of nested filter objects. + */ filters?: GetReportingNestedFilters[]; status?: GetReportingFilters; }; /** @returns {InvoicePaymentOptionsPayloadData} */ declare function InvoicePaymentOptionsPayloadData(): InvoicePaymentOptionsPayloadData; type InvoicePaymentOptionsPayloadData = { + /** + * - List of invoice numbers for which + * payment options are being requested. + */ invoice_numbers?: string[]; }; /** @returns {InvoicePaymentOptionsReq} */ @@ -1547,92 +2632,233 @@ type InvoicePaymentOptionsReq = { /** @returns {InvoicePaymentOptionsResponsePayableAmounts} */ declare function InvoicePaymentOptionsResponsePayableAmounts(): InvoicePaymentOptionsResponsePayableAmounts; type InvoicePaymentOptionsResponsePayableAmounts = { + /** + * - Amount that is payable for the invoice. + */ amount?: number; + /** + * - Key associated with the payable amount for + * identification. + */ amount_key?: string; + /** + * - Header describing the payable amount. + */ header?: string; }; /** @returns {InvoicePaymentOptionsResponseDeductedAmounts} */ declare function InvoicePaymentOptionsResponseDeductedAmounts(): InvoicePaymentOptionsResponseDeductedAmounts; type InvoicePaymentOptionsResponseDeductedAmounts = { + /** + * - Amount deducted from the invoice. + */ amount?: number; + /** + * - Header describing the deducted amount. + */ header?: string; + /** + * - Key associated with the deducted amount for + * identification. + */ amount_key?: string; + /** + * - Indicates whether the deducted amount is payable. + */ is_payable?: boolean; + /** + * - Currency symbol associated with the deducted amount. + */ symbol?: string; }; /** @returns {InvoicePaymentOptionsResponseData} */ declare function InvoicePaymentOptionsResponseData(): InvoicePaymentOptionsResponseData; type InvoicePaymentOptionsResponseData = { + /** + * - Invoice number for which payment + * options are provided. + */ invoice_number?: string; + /** + * - Type of the invoice (e.g., 'Seller Fynd', + * 'Platform Subscription'). + */ invoice_type?: string; + /** + * - List of amounts that are payable for the invoice. + */ display_amounts?: InvoicePaymentOptionsResponsePayableAmounts[]; + /** + * - Total amount for the invoice. + */ total_amount?: any; + /** + * - Amounts deducted from the total, + * including any associated details. + */ deducted_amounts?: any; + /** + * - Amounts that are payable for the invoice. + */ payable_amounts?: InvoicePaymentOptionsResponsePayableAmounts[]; currency?: Currency; }; /** @returns {InvoicePaymentOptionsResponse} */ declare function InvoicePaymentOptionsResponse(): InvoicePaymentOptionsResponse; type InvoicePaymentOptionsResponse = { + /** + * - Reason for the response or any errors encountered. + */ reason?: string; + /** + * - List of data objects + * containing details about invoice payment options. + */ data?: InvoicePaymentOptionsResponseData[]; + /** + * - Total amount payable for the invoices. + */ total_payable_amount?: number; + /** + * - Number of invoices included in the response. + */ invoice_count?: number; + /** + * - Indicates whether the request to retrieve + * invoice payment options was successful. + */ success?: boolean; }; /** @returns {PaymentDetail} */ declare function PaymentDetail(): PaymentDetail; type PaymentDetail = { + /** + * - Name or label displayed for the payment detail. + */ display_name?: string; + /** + * - Value associated with the payment detail (e.g., + * amount, transaction ID). + */ value?: string; }; /** @returns {PaidInvoicePaymentDetail} */ declare function PaidInvoicePaymentDetail(): PaidInvoicePaymentDetail; type PaidInvoicePaymentDetail = { + /** + * - List of payment details for + * the invoice. + */ payment_details?: PaymentDetail[]; + /** + * - Date when the payment was made. + */ date_of_payment?: string; + /** + * - Amount paid towards the invoice. + */ amount?: number; }; /** @returns {InvoicePaymentDetailsResponseData} */ declare function InvoicePaymentDetailsResponseData(): InvoicePaymentDetailsResponseData; type InvoicePaymentDetailsResponseData = { + /** + * - List + * of details for paid invoices. + */ paid_invoice_payment_details?: PaidInvoicePaymentDetail[]; + /** + * - Details of any failed + * payment attempts for the invoices. + */ failed_attempts_details?: any[]; }; /** @returns {InvoicePaymentDetailsResponse} */ declare function InvoicePaymentDetailsResponse(): InvoicePaymentDetailsResponse; type InvoicePaymentDetailsResponse = { + /** + * - Reason for the response or any errors encountered. + */ reason?: string; data?: InvoicePaymentDetailsResponseData; + /** + * - Indicates whether the request to retrieve + * invoice payment details was successful. + */ success?: boolean; + /** + * - Indicates whether payment + * details are visible or hidden in the response. + */ payment_details_visible?: boolean; }; /** @returns {InvoiceActivityLogsResponseData} */ declare function InvoiceActivityLogsResponseData(): InvoiceActivityLogsResponseData; type InvoiceActivityLogsResponseData = { + /** + * - Identifier of the user or system that + * performed the activity. + */ performed_by?: string; + /** + * - Status of the activity (e.g., 'Completed', 'Pending'). + */ status?: string; + /** + * - Reason for the activity status or any related notes. + */ reason?: string; + /** + * - Indicates whether the activity issue is resolved. + */ is_resolved?: boolean; + /** + * - Number of retry attempts made for the activity. + */ retry_attempts?: number; + /** + * - Maximum number of retry attempts + * allowed for the activity. + */ max_retry_attempts?: number; }; /** @returns {InvoiceActivityLogsResponse} */ declare function InvoiceActivityLogsResponse(): InvoiceActivityLogsResponse; type InvoiceActivityLogsResponse = { + /** + * - List of activity logs + * related to invoices. + */ data?: InvoiceActivityLogsResponseData[]; }; /** @returns {InvoiceActivityLogError} */ declare function InvoiceActivityLogError(): InvoiceActivityLogError; type InvoiceActivityLogError = { + /** + * - Reason for the error or issue encountered with + * the invoice activity logs. + */ reason?: string; }; /** @returns {UnlockCreditNoteRequestData} */ declare function UnlockCreditNoteRequestData(): UnlockCreditNoteRequestData; type UnlockCreditNoteRequestData = { + /** + * - The unique identifier for the seller. + */ seller_id?: string; + /** + * - A list of credit notes that are locked. + */ locked_credit_notes?: string[]; + /** + * - The reason for unlocking the credit notes. + */ unlock_reason?: string; + /** + * - Additional details or comments about the + * unlock request. + */ description?: string; }; /** @returns {UnlockCreditNoteReq} */ @@ -1643,12 +2869,22 @@ type UnlockCreditNoteReq = { /** @returns {UnlockCreditNoteResponseData} */ declare function UnlockCreditNoteResponseData(): UnlockCreditNoteResponseData; type UnlockCreditNoteResponseData = { + /** + * - Indicates whether the credit note is unlocked. + */ is_cn_unlocked?: boolean; + /** + * - The current status of the each credit notes. + */ status?: string; }; /** @returns {UnlockCreditNoteResponse} */ declare function UnlockCreditNoteResponse(): UnlockCreditNoteResponse; type UnlockCreditNoteResponse = { + /** + * - Indicates whether the credit note unlock + * request was successful. + */ success?: boolean; data?: UnlockCreditNoteResponseData; }; diff --git a/sdk/platform/Finance/FinancePlatformModel.js b/sdk/platform/Finance/FinancePlatformModel.js index 8cd3bfaa2..4aa65896f 100644 --- a/sdk/platform/Finance/FinancePlatformModel.js +++ b/sdk/platform/Finance/FinancePlatformModel.js @@ -2,31 +2,37 @@ const Joi = require("joi"); /** * @typedef OrederFreezeResponse - * @property {boolean} [success] - * @property {boolean} [oms_freeze] - * @property {string} [source] + * @property {boolean} [success] - Indicates whether the operation was successful or not. + * @property {boolean} [oms_freeze] - Flag indicating if the system is frozen + * for order management. + * @property {string} [source] - Optional field indicating the data source of + * the information. */ /** * @typedef GenerateReportMeta - * @property {string} [brand] - * @property {string} [company] - * @property {string} [channel] + * @property {string} [brand] - The brand name associated with the report meta + * information. + * @property {string} [company] - The company name associated with the report + * meta information. + * @property {string} [channel] - The sale channel name associated with seller. */ /** * @typedef GenerateReportFilters - * @property {string[]} [brand] - * @property {string[]} [company] - * @property {string[]} [channel] + * @property {string[]} [brand] - An array of brand names to filter the report data. + * @property {string[]} [company] - An array of company id to filter the report data. + * @property {string[]} [channel] - An array of sale channel names associated + * with seller to filter the report data. */ /** * @typedef GenerateReportPlatform - * @property {string} [start_date] - * @property {string} [end_date] + * @property {string} [start_date] - The start date to generate report specific preiod. + * @property {string} [end_date] - The end date to generate report specific preiod. * @property {GenerateReportMeta} [meta] - * @property {string} [report_id] + * @property {string} [report_id] - The unique identifier of the generate report + * where different report configure. * @property {GenerateReportFilters} [filters] */ @@ -37,31 +43,32 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef Currency - * @property {string} [code] - * @property {string} [symbol] - * @property {string} [name] + * @property {string} [code] - The unique currency code. + * @property {string} [symbol] - The unique currency symbol. + * @property {string} [name] - The unique currency name. */ /** * @typedef GenerateReportJson * @property {Object} [data] - * @property {number} [item_count] + * @property {number} [item_count] - Total number of items in the report. * @property {Page} [page] - * @property {string} [end_date] - * @property {string} [start_date] - * @property {string[][]} [items] - * @property {string[]} [headers] + * @property {string} [end_date] - The end date to generate report specific preiod. + * @property {string} [start_date] - The start date to generate report specific preiod. + * @property {string[][]} [items] - Nested array structure representing report + * items or data. + * @property {string[]} [headers] - Headers describing each item in the report data. */ /** @@ -96,47 +103,50 @@ const Joi = require("joi"); /** * @typedef DownloadReportData - * @property {number} [page] - * @property {number} [page_size] - * @property {string} [start_date] - * @property {string} [end_date] + * @property {number} [page] - The current page number of the report. + * @property {number} [page_size] - The number of items displayed per page. + * @property {string} [start_date] - The start date for fetching the report + * history for download. + * @property {string} [end_date] - The end date for fetching the report history + * for download. */ /** * @typedef DownloadReportItems - * @property {string} [start_date] - * @property {string} [end_date] + * @property {string} [start_date] - The start date for the report item. + * @property {string} [end_date] - The end date for the report item. * @property {GenerateReportMeta} [meta] - * @property {string} [report_id] + * @property {string} [report_id] - The unique identifier of the report item. * @property {GenerateReportFilters} [filters] - * @property {string} [type_of_request] */ /** * @typedef DownloadReportList - * @property {DownloadReportItems[]} [items] + * @property {DownloadReportItems[]} [items] - A list of report items available + * for download. * @property {Page} [page] - * @property {number} [item_count] + * @property {number} [item_count] - The total number of items in the report list. */ /** * @typedef GetEngineFilters - * @property {string} [config_field] - * @property {string} [status] - * @property {boolean} [is_active] - * @property {string} [seller_id] + * @property {string} [config_field] - The configuration field used for filtering. + * @property {string} [status] - The status used for filtering. + * @property {boolean} [is_active] - Flag indicating if the filter is active. + * @property {string} [seller_id] - The seller ID used for filtering. */ /** * @typedef GetEngineData - * @property {string} [status] + * @property {string} [status] - Status of the request. * @property {GetEngineFilters} [filters] - * @property {string[]} [project] - * @property {string} [table_name] - * @property {Object} [search] - * @property {number} [page] - * @property {number} [page_size] - * @property {string} [order_by] + * @property {string[]} [project] - A list of fields to get data from tables. + * @property {string} [table_name] - The name of the table from which to retrieve data. + * @property {Object} [search] - Search criteria for querying on given table + * specific fields. + * @property {number} [page] - The current page number for pagination. + * @property {number} [page_size] - The number of items displayed per page. + * @property {string} [order_by] - The field by which to order the results. */ /** @@ -146,15 +156,15 @@ const Joi = require("joi"); /** * @typedef GetEngineResponse - * @property {boolean} [success] - * @property {Object[]} [items] + * @property {boolean} [success] - Indicates whether the request was successful. + * @property {Object[]} [items] - A list of items returned by the request. * @property {Page} [page] - * @property {number} [item_count] + * @property {number} [item_count] - The total number of items returned by the request. */ /** * @typedef GetReason - * @property {string} [reason_type] + * @property {string} [reason_type] - The type of reason associated with the request. */ /** @@ -164,23 +174,24 @@ const Joi = require("joi"); /** * @typedef ReasonItem - * @property {string} [id] - * @property {string} [name] - * @property {string} [display_name] + * @property {string} [id] - Id of the reason for reason_type. + * @property {string} [name] - Code of the reason for reason_type. + * @property {string} [display_name] - Display name of the reason for reason_type. */ /** * @typedef GetReasonResponse - * @property {boolean} [success] - * @property {ReasonItem[]} [item_list] - * @property {number} [item_count] + * @property {boolean} [success] - Indicates whether the request was successfull. + * @property {ReasonItem[]} [item_list] - The list of items returned in the response. + * @property {number} [item_count] - The number of items in the response. * @property {Page} [page] */ /** * @typedef GetReportListData - * @property {string} [role_name] - * @property {boolean} [listing_enabled] + * @property {string} [role_name] - The name of the role requesting the report list. + * @property {boolean} [listing_enabled] - Indicates whether listing is enabled + * for the role. */ /** @@ -188,40 +199,43 @@ const Joi = require("joi"); * @property {GetReportListData} [data] */ -/** - * @typedef GetAffiliate - * @property {number} [company_id] - */ - /** * @typedef GetReportListResponse - * @property {boolean} [success] - * @property {ReportItem[]} [items] + * @property {boolean} [success] - Indicates whether the request was successful. + * @property {ReportItem[]} [items] - The list of report items. * @property {Page} [page] - * @property {number} [total_count] + * @property {number} [total_count] - The total number of items in the report list. */ /** * @typedef ReportItem - * @property {string} [id] - * @property {string} [name] - * @property {string} [description] - * @property {string[]} [allowed_filters] - * @property {Object} [config_meta] - * @property {string} [report_type] - * @property {string} [display_date] + * @property {string} [id] - The unique identifier for the report item. + * @property {string} [name] - The name of the report item. + * @property {string} [description] - A brief description of the report item. + * @property {string[]} [allowed_filters] - The filters that can be applied to + * the report item. + * @property {Object} [config_meta] - Metadata related to the report item configuration. + * @property {string} [report_type] - The type of the report item. + * @property {string} [display_date] - The display date of the report item, if applicable. + */ + +/** + * @typedef GetAffiliate + * @property {number} [company_id] - The unique identifier of the company + * associated with the affiliate. */ /** * @typedef GetAffiliateResponse - * @property {string} [reason] - * @property {boolean} [success] - * @property {Object[]} [docs] + * @property {string} [reason] - The reason for the response, if applicable. + * @property {boolean} [success] - Indicates whether the request was successful. + * @property {Object[]} [docs] - List of items or data related to the affiliate. */ /** * @typedef DownloadCreditDebitNote - * @property {string[]} [note_id] + * @property {string[]} [note_id] - List of unique identifiers for the + * credit/debit notes to be download. */ /** @@ -231,33 +245,38 @@ const Joi = require("joi"); /** * @typedef DownloadCreditDebitNoteResponseData - * @property {string} [id] - * @property {string} [pdf_s3_url] + * @property {string} [id] - The unique identifier of the download credit/debit note. + * @property {string} [pdf_s3_url] - The URL where the PDF of the credit/debit + * note is stored. */ /** * @typedef DownloadCreditDebitNoteResponse - * @property {boolean} [success] - * @property {DownloadCreditDebitNoteResponseData[]} [data] + * @property {boolean} [success] - Indicates whether the request to download the + * credit/debit notes was successful. + * @property {DownloadCreditDebitNoteResponseData[]} [data] - List of + * credit/debit notes download data. */ /** * @typedef InvoiceBillingItem - * @property {string} [invoice_number] - * @property {number} [amount] + * @property {string} [invoice_number] - The number of the invoice associated + * with the billing item. + * @property {number} [amount] - The amount of the billing item. */ /** * @typedef PaymentProcessPayload - * @property {string} [platform] - * @property {number} [amount] - * @property {string} [transaction_type] - * @property {string} [source_reference] - * @property {number} [total_amount] - * @property {Object} [meta] - * @property {string} [currency] - * @property {string} [seller_id] - * @property {string} [mode_of_payment] + * @property {string} [platform] - The platform through which the payment is processed. + * @property {number} [amount] - The total amount to be processed in the payment. + * @property {string} [transaction_type] - The type of transaction (e.g., seller_online). + * @property {string} [source_reference] - The reference for the source of the payment. + * @property {number} [total_amount] - The total amount to be processed in the payment. + * @property {Object} [meta] - Additional metadata related to the payment. + * @property {string} [currency] - The currency in which the payment is made. + * @property {string} [seller_id] - The unique identifier for the seller + * receiving the payment. + * @property {string} [mode_of_payment] - The mode of payment (e.g., online). * @property {InvoiceBillingItem[]} [invoice_billing_items] */ @@ -268,20 +287,24 @@ const Joi = require("joi"); /** * @typedef PaymentProcessResponse - * @property {number} [code] - * @property {string} [message] - * @property {Object} [meta] - * @property {string} [transaction_id] - * @property {string} [redirect_url] + * @property {number} [code] - Response code indicating the status of the payment process. + * @property {string} [message] - A message providing additional information + * about the payment process response. + * @property {Object} [meta] - Additional metadata related to the payment + * process response. + * @property {string} [transaction_id] - The unique identifier for the payment + * transaction. + * @property {string} [redirect_url] - URL to redirect the user to complete the + * payment process, if applicable. */ /** * @typedef CreditlineDataPlatformPayload - * @property {number} [page] - * @property {string} [seller_id] - * @property {string} [end_date] - * @property {string} [start_date] - * @property {number} [page_size] + * @property {number} [page] - The page number for pagination. + * @property {string} [seller_id] - The unique identifier for the seller. + * @property {string} [end_date] - The end date for the query. + * @property {string} [start_date] - The start date for the query. + * @property {number} [page_size] - The number of items per page. */ /** @@ -291,18 +314,20 @@ const Joi = require("joi"); /** * @typedef CreditlineDataPlatformResponse - * @property {Object[]} [items] - * @property {number} [code] - * @property {boolean} [show_mr] + * @property {Object[]} [items] - The list of items in the response. + * @property {number} [code] - The response status code. + * @property {boolean} [show_mr] - A flag indicating whether to show MR (some + * specific field). * @property {Page} [page] - * @property {string} [message] - * @property {string[]} [headers] - * @property {number} [item_count] + * @property {string} [message] - The response message. + * @property {string[]} [headers] - The list of response headers. + * @property {number} [item_count] - The total number of items. */ /** * @typedef IsCreditlinePayload - * @property {string} [seller_id] + * @property {string} [seller_id] - The unique identifier for the seller to + * check for credit line eligibility. */ /** @@ -312,13 +337,15 @@ const Joi = require("joi"); /** * @typedef IsCreditlinePlatformResponse - * @property {boolean} [is_creditline_opted] - * @property {number} [code] + * @property {boolean} [is_creditline_opted] - Indicates whether the seller has + * opted for a credit line. + * @property {number} [code] - Response code indicating the status of the credit + * line check. */ /** * @typedef InvoiceTypePayloadData - * @property {boolean} [is_active] + * @property {boolean} [is_active] - Indicates if the invoice type is active. */ /** @@ -328,31 +355,33 @@ const Joi = require("joi"); /** * @typedef InvoiceTypeResponseItems - * @property {string} [text] - * @property {string} [value] + * @property {string} [text] - The text description of the invoice type. + * @property {string} [value] - The value or code representing the invoice type. */ /** * @typedef InvoiceTypeResponse - * @property {boolean} [success] - * @property {InvoiceTypeResponseItems[]} [invoice_type_list] - * @property {InvoiceTypeResponseItems[]} [payment_status_list] + * @property {boolean} [success] - Indicates whether the request was successful. + * @property {InvoiceTypeResponseItems[]} [invoice_type_list] - List of invoice + * types available. + * @property {InvoiceTypeResponseItems[]} [payment_status_list] - List of + * payment statuses available. */ /** * @typedef InoviceListingPayloadDataFilters - * @property {string[]} [payment_status] - * @property {string[]} [invoice_type] - * @property {string[]} [company_id] + * @property {string[]} [payment_status] - List of payment statuses to filter by. + * @property {string[]} [invoice_type] - List of invoice types to filter by. + * @property {string[]} [company_id] - List of company IDs to filter by. */ /** * @typedef InvoiceListingPayloadData - * @property {number} [page_size] - * @property {number} [page] - * @property {string} [start_date] - * @property {string} [end_date] - * @property {string} [search] + * @property {number} [page_size] - The number of items per page for pagination. + * @property {number} [page] - The page number for pagination. + * @property {string} [start_date] - The start date for the invoice listing filter. + * @property {string} [end_date] - The end date for the invoice listing filter. + * @property {string} [search] - Search term for filtering invoices. * @property {InoviceListingPayloadDataFilters} [filters] */ @@ -363,39 +392,43 @@ const Joi = require("joi"); /** * @typedef UnpaidInvoiceDataItems - * @property {number} [total_unpaid_invoice_count] - * @property {string} [currency] - * @property {number} [total_unpaid_amount] + * @property {number} [total_unpaid_invoice_count] - The total count of unpaid invoices. + * @property {string} [currency] - The currency used for unpaid invoices. + * @property {number} [total_unpaid_amount] - The total amount of unpaid invoices. */ /** * @typedef InvoiceListingResponseItems - * @property {number} [amount] - * @property {string} [company] - * @property {string} [status] - * @property {string} [due_date] - * @property {string} [invoice_date] - * @property {string} [invoice_type] - * @property {string} [period] - * @property {string} [invoice_number] - * @property {boolean} [is_downloadable] - * @property {string} [invoice_id] + * @property {number} [amount] - The amount of the invoice. + * @property {string} [company] - The name of the company associated with the invoice. + * @property {string} [status] - The current status of the invoice (e.g., + * 'paid', 'unpaid'). + * @property {string} [due_date] - The due date of the invoice. + * @property {string} [invoice_date] - The date when the invoice was issued. + * @property {string} [invoice_type] - The type of invoice. + * @property {string} [period] - The period covered by the invoice. + * @property {string} [invoice_number] - The invoice number. + * @property {boolean} [is_downloadable] - Indicates if the invoice is available + * for download. + * @property {string} [invoice_id] - The unique identifier of the invoice. * @property {Currency} [currency] */ /** * @typedef InvoiceListingResponse - * @property {boolean} [success] - * @property {string[]} [headers] + * @property {boolean} [success] - Indicates whether the request was successful. + * @property {string[]} [headers] - Headers related to the invoice listing response. * @property {UnpaidInvoiceDataItems} [unpaid_invoice_data] - * @property {InvoiceListingResponseItems[]} [items] + * @property {InvoiceListingResponseItems[]} [items] - List of invoice items in + * the response. * @property {Page} [page] - * @property {number} [item_count] + * @property {number} [item_count] - The total number of invoice items in the response. */ /** * @typedef InvoicePdfPayloadData - * @property {string[]} [invoice_number] + * @property {string[]} [invoice_number] - List of invoice numbers for which + * PDFs are requested. */ /** @@ -405,16 +438,19 @@ const Joi = require("joi"); /** * @typedef InvoicePdfResponse - * @property {boolean} [success] - * @property {string[]} [data] - * @property {string[]} [error] + * @property {boolean} [success] - Indicates whether the PDF generation request + * was successful. + * @property {string[]} [data] - List of URLs or paths to the generated PDF files. + * @property {string[]} [error] - List of errors encountered while generating the PDFs. */ /** * @typedef IsCnRefundMethodData - * @property {string} [affiliate_id] - * @property {boolean} [toggle_edit_required] - * @property {number} [seller_id] + * @property {string} [affiliate_id] - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + * @property {boolean} [toggle_edit_required] - Indicates whether editing the + * refund method is required. + * @property {number} [seller_id] - Unique identifier for the seller. */ /** @@ -424,32 +460,40 @@ const Joi = require("joi"); /** * @typedef IsCnRefundMethodResponseData - * @property {boolean} [is_first_time_user] + * @property {boolean} [is_first_time_user] - Indicates whether the seller for + * specific sale channel is using the refund method for the first time. */ /** * @typedef IsCnRefundMethodResponse - * @property {boolean} [success] + * @property {boolean} [success] - Indicates whether the request to determine + * the refund method was successful. * @property {IsCnRefundMethodResponseData} [data] */ /** * @typedef CreditNoteConfigNotificationEvents - * @property {number} [expiration_reminder_to_customer] + * @property {number} [expiration_reminder_to_customer] - Number of days before + * the expiration date to send a reminder notification to the customer. */ /** * @typedef CreateSellerCreditNoteConfig - * @property {boolean} [is_cn_as_refund_method] - * @property {string} [affiliate_id] - * @property {string[]} [source_channel] - * @property {number} [seller_id] + * @property {boolean} [is_cn_as_refund_method] - Indicates if the credit note + * is used as a refund method. + * @property {string} [affiliate_id] - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + * @property {string[]} [source_channel] - List of source channels associated + * with the credit note configuration. + * @property {number} [seller_id] - Unique identifier for the seller. * @property {CreditNoteConfigNotificationEvents} [notification_events] - * @property {string} [sales_channel_name] - * @property {string[]} [ordering_channel] - * @property {number} [validity] - * @property {string} [currency_type] - * @property {string[]} [slug_values] + * @property {string} [sales_channel_name] - Name of the sales channel. + * @property {string[]} [ordering_channel] - List of ordering channels + * associated with the credit note configuration. + * @property {number} [validity] - Validity period of the credit note in days. + * @property {string} [currency_type] - Type of currency used for the credit note. + * @property {string[]} [slug_values] - List of slug values associated with the + * credit note configuration. */ /** @@ -459,15 +503,19 @@ const Joi = require("joi"); /** * @typedef CreateSellerCreditNoteConfigResponse - * @property {boolean} [success] - * @property {string} [message] + * @property {boolean} [success] - Indicates if the credit note configuration + * creation was successful. + * @property {string} [message] - Additional information or message about the + * credit note configuration creation process. */ /** * @typedef DeleteConfig - * @property {string} [affiliate_id] - * @property {string[]} [slug_values] - * @property {number} [seller_id] + * @property {string} [affiliate_id] - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + * @property {string[]} [slug_values] - List of slug values associated with the + * credit note configuration. + * @property {number} [seller_id] - Unique identifier for the seller. */ /** @@ -477,25 +525,29 @@ const Joi = require("joi"); /** * @typedef DeleteConfigResponse - * @property {boolean} [success] - * @property {string} [message] + * @property {boolean} [success] - Indicates if the configuration deletion was successful. + * @property {string} [message] - Additional information or message about the + * configuration deletion process. */ /** * @typedef ChannelDisplayNameItems - * @property {string} [key] - * @property {string} [value] + * @property {string} [key] - The unique key identifying the channel. + * @property {string} [value] - The display name of the channel associated with the key. */ /** * @typedef ChannelDisplayNameResponse - * @property {boolean} [success] - * @property {ChannelDisplayNameItems[]} [items] + * @property {boolean} [success] - Indicates if the retrieval of channel display + * names was successful. + * @property {ChannelDisplayNameItems[]} [items] - List of items containing + * key-value pairs for channel display names. */ /** * @typedef CnReferenceNumber - * @property {string} [cn_reference_number] + * @property {string} [cn_reference_number] - The unique reference number of the + * credit note. */ /** @@ -505,13 +557,16 @@ const Joi = require("joi"); /** * @typedef GetPdfUrlViewResponseData - * @property {string} [s3_pdf_link] - * @property {string} [cn_reference_number] + * @property {string} [s3_pdf_link] - The URL link where credit nore pdf stored + * to view and download. + * @property {string} [cn_reference_number] - The unique reference number of the + * credit note. */ /** * @typedef GetPdfUrlViewResponse - * @property {boolean} [success] + * @property {boolean} [success] - Indicates if the retrieval of the pdf URL was + * successful. * @property {GetPdfUrlViewResponseData} [data] */ @@ -522,55 +577,65 @@ const Joi = require("joi"); /** * @typedef CnDetails - * @property {string} [staff_id] - * @property {string} [expiry_date] - * @property {string} [channel_of_issuance] - * @property {string} [order_id] - * @property {string} [date_issued] - * @property {string} [ordering_channel] - * @property {string} [shipment_id] - * @property {string} [store_id] - * @property {string} [invoice_number] + * @property {string} [staff_id] - ID of the staff member associated with the credit note. + * @property {string} [expiry_date] - Expiry date of the credit note. + * @property {string} [channel_of_issuance] - Channel through which the credit + * note was issued. + * @property {string} [order_id] - Order ID of order for which credit note created. + * @property {string} [date_issued] - Date when the credit note was issued. + * @property {string} [ordering_channel] - Ordering channel associated with the + * credit note. + * @property {string} [shipment_id] - Shipment Id associated with the credit note. + * @property {string} [store_id] - Store Id associated with the credit note. + * @property {string} [invoice_number] - Invoice number associated with the credit note. */ /** * @typedef RedemptionDetails - * @property {Object} [meta] - * @property {string} [staff_id] - * @property {string} [created_at] - * @property {string} [order_id] - * @property {string} [store_id] - * @property {string} [shipment_id] - * @property {string} [ordering_channel] - * @property {number} [amount_debited] - * @property {string} [invoice_number] + * @property {Object} [meta] - Additional metadata related to the redemption details. + * @property {string} [staff_id] - ID of the staff member who processed the redemption. + * @property {string} [created_at] - Date and time when the redemption was processed. + * @property {string} [order_id] - Order Id of the order associated with the redemption. + * @property {string} [store_id] - Store Id of the order associated with the redemption. + * @property {string} [shipment_id] - Shipment Id of the order associated with + * the redemption. + * @property {string} [ordering_channel] - Ordering channel associated with the + * redemption. + * @property {number} [amount_debited] - Amount debited from the credit note + * during redemption. + * @property {string} [invoice_number] - Invoice number associated with the redemption. */ /** * @typedef CreditNoteDetails - * @property {string} [currency] - * @property {number} [current_amount_used] - * @property {string} [cn_status] - * @property {string} [customer_mobile_number] - * @property {string} [cn_reference_number] + * @property {string} [currency] - Currency in which the credit note is issued. + * @property {number} [current_amount_used] - Current amount used from the credit note. + * @property {string} [cn_status] - Status of the credit note. + * @property {string} [customer_mobile_number] - Mobile number of the customer + * associated with the credit note. + * @property {string} [cn_reference_number] - Unique Credit number of the credit note. * @property {CnDetails} [cn_details] - * @property {RedemptionDetails[]} [redemption_details] - * @property {number} [remaining_cn_amount] - * @property {number} [available_cn_balance] - * @property {number} [cn_amount] + * @property {RedemptionDetails[]} [redemption_details] - List of redemption + * details associated with the credit note. + * @property {number} [remaining_cn_amount] - Remaining amount left in the credit note. + * @property {number} [available_cn_balance] - Available balance in the credit note. + * @property {number} [cn_amount] - Total amount of the credit note. */ /** * @typedef CreditNoteDetailsResponse - * @property {boolean} [success] + * @property {boolean} [success] - Indicates if the retrieval of credit note + * details was successful. * @property {CreditNoteDetails} [data] */ /** * @typedef GetCustomerCreditBalance - * @property {string} [affiliate_id] - * @property {number} [seller_id] - * @property {string} [customer_mobile_number] + * @property {string} [affiliate_id] - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + * @property {number} [seller_id] - Unique identifier for the seller. + * @property {string} [customer_mobile_number] - Mobile number of the customer + * for whom the credit balance is requested. */ /** @@ -580,13 +645,15 @@ const Joi = require("joi"); /** * @typedef GetCustomerCreditBalanceResponseData - * @property {string} [customer_mobile_number] - * @property {number} [total_credited_balance] + * @property {string} [customer_mobile_number] - Mobile number of the customer. + * @property {number} [total_credited_balance] - Total credited balance + * available for the customer. */ /** * @typedef GetCustomerCreditBalanceResponse - * @property {boolean} [success] + * @property {boolean} [success] - Indicates if the retrieval of customer credit + * balance was successful. * @property {GetCustomerCreditBalanceResponseData} [data] */ @@ -597,51 +664,64 @@ const Joi = require("joi"); /** * @typedef GetCnConfigResponseMeta - * @property {string} [reason] - * @property {string[]} [source_channel] + * @property {string} [reason] - Reason associated with the configuration response. + * @property {string[]} [source_channel] - List of source channels associated + * with the credit note configuration. */ /** * @typedef GetCnConfigResponseData - * @property {boolean} [is_cn_as_refund_method] - * @property {string} [affiliate_id] + * @property {boolean} [is_cn_as_refund_method] - Indicates if the credit note + * is configured as a refund method. + * @property {string} [affiliate_id] - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. * @property {Object} [meta] - * @property {number} [seller_id] + * @property {number} [seller_id] - Unique identifier for the seller. * @property {CreditNoteConfigNotificationEvents} [notification_events] - * @property {number} [validity] - * @property {string[]} [redemption_ordering_channel] - * @property {string} [currency_type] + * @property {number} [validity] - Validity period of the credit note + * configuration in days. + * @property {string[]} [redemption_ordering_channel] - List of ordering + * channels associated with credit note redemption. + * @property {string} [currency_type] - Type of currency used for the credit note. */ /** * @typedef GetCnConfigResponse - * @property {boolean} [success] + * @property {boolean} [success] - Indicates if the retrieval of credit note + * configuration was successful. * @property {GetCnConfigResponseData} [data] */ /** * @typedef CnGenerateReportFilters - * @property {string[]} [staff_id] - * @property {string[]} [channel_of_issuance] - * @property {string[]} [utilisation] - * @property {string[]} [ordering_channel] - * @property {number[]} [store_id] - * @property {string[]} [type_of_transaction] - * @property {string[]} [issuance_channel] + * @property {string[]} [staff_id] - Array of staff IDs for filtering credit note reports. + * @property {string[]} [channel_of_issuance] - Array of channels through which + * credit notes were issued. + * @property {string[]} [utilisation] - Array of utilisation types for filtering + * credit note reports. + * @property {string[]} [ordering_channel] - Array of ordering channels + * associated with credit note reports. + * @property {number[]} [store_id] - Array of store IDs for filtering credit note reports. + * @property {string[]} [type_of_transaction] - Array of transaction types for + * filtering credit note reports. + * @property {string[]} [issuance_channel] - Array of issuance channels for + * filtering credit note reports. */ /** * @typedef CnGenerateReport - * @property {number} [page] - * @property {string} [end_date] - * @property {number} [page_size] + * @property {number} [page] - Page number of the credit note report. + * @property {string} [end_date] - End date for filtering credit note data. + * @property {number} [page_size] - Number of items per page in the credit note report. * @property {CnGenerateReportFilters} [filters] - * @property {string} [affiliate_id] + * @property {string} [affiliate_id] - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. * @property {GenerateReportFilters} [meta] - * @property {string} [search] - * @property {string} [report_id] - * @property {string} [search_type] - * @property {string} [start_date] + * @property {string} [search] - Search query to filter credit note data by keyword. + * @property {string} [report_id] - Unique identifier for the credit note report. + * @property {string} [search_type] - Type of search criteria used for filtering + * credit note data. + * @property {string} [start_date] - Start date for filtering credit note data. */ /** @@ -651,29 +731,36 @@ const Joi = require("joi"); /** * @typedef CnGenerateReportItems - * @property {string} [expiry_date] - * @property {string} [status] - * @property {number} [total_amount] - * @property {string} [order_id] - * @property {string} [date_issued] - * @property {string} [shipment_id] - * @property {string} [invoice_number] - * @property {string} [credit_note_number] + * @property {string} [expiry_date] - Expiry date of the credit note item. + * @property {string} [status] - Status of the credit note item. + * @property {number} [total_amount] - Total amount of the credit note item. + * @property {string} [order_id] - Order ID of the order associated with the + * credit note item. + * @property {string} [date_issued] - Date when the credit note item was issued. + * @property {string} [shipment_id] - Shipment ID of the order associated with + * the credit note item. + * @property {string} [invoice_number] - Invoice number associated with the + * credit note item. + * @property {string} [credit_note_number] - Unique number of the credit note item. */ /** * @typedef GenerateReportCustomerCnResponseData - * @property {boolean} [success] - * @property {string} [message] - * @property {CnGenerateReportItems[]} [items] - * @property {Object} [row_header_display_order] - * @property {string} [end_date] + * @property {boolean} [success] - Indicates if the credit note report + * generation was successful. + * @property {string} [message] - Additional message or information related to + * the credit note report. + * @property {CnGenerateReportItems[]} [items] - List of credit note items in the report. + * @property {Object} [row_header_display_order] - Display order for row headers + * in the report. + * @property {string} [end_date] - End date used in the credit note report. * @property {Page} [page] - * @property {string[]} [headers] - * @property {string[]} [primary_headers] - * @property {string[]} [allowed_filters] - * @property {string} [start_date] - * @property {number} [item_count] + * @property {string[]} [headers] - Headers included in the credit note report. + * @property {string[]} [primary_headers] - Primary headers used in the credit + * note report. + * @property {string[]} [allowed_filters] - Allowed filters for the credit note report. + * @property {string} [start_date] - Start date used in the credit note report. + * @property {number} [item_count] - Total count of credit note items in the report. */ /** @@ -683,14 +770,17 @@ const Joi = require("joi"); /** * @typedef CnDownloadReport - * @property {number} [page] - * @property {string} [start_date] - * @property {string} [end_date] - * @property {string} [affiliate_id] - * @property {string} [search] - * @property {string} [status] - * @property {string} [search_type] - * @property {number} [page_size] + * @property {number} [page] - Page number of the download report. + * @property {string} [start_date] - Start date for filtering credit note data + * in the report. + * @property {string} [end_date] - End date for filtering credit note data in the report. + * @property {string} [affiliate_id] - The unique identifier of sale channels or + * application as affiliate_id associated with the seller. + * @property {string} [search] - Search query to filter credit note data by keyword. + * @property {string} [status] - Status of the credit note data in the report. + * @property {string} [search_type] - Type of search criteria used for filtering + * credit note data. + * @property {number} [page_size] - Number of items per page in the download report. */ /** @@ -700,74 +790,77 @@ const Joi = require("joi"); /** * @typedef DownloadReportResponseData - * @property {string} [report_config_id] - * @property {string} [full_name] - * @property {string} [requested_by] - * @property {string} [start_date] - * @property {string} [end_date] - * @property {Object} [request_dict] - * @property {string} [download_link] - * @property {string} [created_at] - * @property {Object} [meta] - * @property {string} [msg] - * @property {string} [report_name] - * @property {string} [status] - * @property {string} [display_name] - * @property {Object} [filters] + * @property {string} [report_config_id] - Unique identifier for the report configuration. + * @property {string} [full_name] - Full name associated with the report request. + * @property {string} [requested_by] - User who requested the report. + * @property {string} [start_date] - Start date used in the report. + * @property {string} [end_date] - End date used in the report. + * @property {Object} [request_dict] - Dictionary containing request parameters + * for the report. + * @property {string} [download_link] - Download link for accessing the generated report. + * @property {string} [created_at] - Date and time when the report was created. + * @property {Object} [meta] - Additional metadata associated with the report. + * @property {string} [msg] - Message related to the report status or generation. + * @property {string} [report_name] - Name of the generated report. + * @property {string} [status] - Status of the report. + * @property {string} [display_name] - Display name of the report. + * @property {Object} [filters] - Filters applied to generate the report. */ /** * @typedef DownloadReportCustomerCnResponse - * @property {DownloadReportResponseData[]} [items] - * @property {DownloadReportResponseData[]} [data] - * @property {number} [item_count] + * @property {DownloadReportResponseData[]} [items] - List of download report data items. + * @property {number} [item_count] - Total count of items in the download report. * @property {Page} [page] */ /** * @typedef GetReportingFilters - * @property {string} [text] - * @property {string} [type] - * @property {Object[]} [options] - * @property {string} [value] + * @property {string} [text] - Display text for the filter. + * @property {string} [type] - Type of the fields like seach, filter(e.g., + * single, multi select). + * @property {Object[]} [options] - Options available for the filter. + * @property {string} [value] - Value to be pass in response select from options. */ /** * @typedef GetReportingNestedFilters - * @property {string} [text] - * @property {Object[]} [options] - * @property {boolean} [required] - * @property {string} [placeholder_text] - * @property {string} [type] - * @property {string} [value] + * @property {string} [text] - Display text for the nested filter. + * @property {Object[]} [options] - Options available for the nested filter. + * @property {boolean} [required] - Indicates if the nested filter is required. + * @property {string} [placeholder_text] - Placeholder text for the nested filter. + * @property {string} [type] - Type of the nested filter (e.g., single, multi select). + * @property {string} [value] - Value to be pass in response select from options. */ /** * @typedef GetReportingFiltersReasonOptions - * @property {string} [text] - * @property {string} [value] - * @property {string} [placeholder_text] + * @property {string} [text] - Display text for the reason option. + * @property {string} [value] - Value of the reason option. + * @property {string} [placeholder_text] - Placeholder text for the reason option. */ /** * @typedef GetReportingFiltersReason - * @property {string} [text] - * @property {string} [type] - * @property {string} [value] - * @property {GetReportingFiltersReasonOptions[]} [options] + * @property {string} [text] - Display text for the reason. + * @property {string} [type] - Type of the reason. + * @property {string} [value] - Value to be pass in response. + * @property {GetReportingFiltersReasonOptions[]} [options] - Options available + * for the reasons select from options. */ /** * @typedef GetReportingFiltersResponse * @property {GetReportingFiltersReason} [reason] * @property {GetReportingFilters} [search] - * @property {GetReportingNestedFilters[]} [filters] + * @property {GetReportingNestedFilters[]} [filters] - Array of nested filter objects. * @property {GetReportingFilters} [status] */ /** * @typedef InvoicePaymentOptionsPayloadData - * @property {string[]} [invoice_numbers] + * @property {string[]} [invoice_numbers] - List of invoice numbers for which + * payment options are being requested. */ /** @@ -777,93 +870,115 @@ const Joi = require("joi"); /** * @typedef InvoicePaymentOptionsResponsePayableAmounts - * @property {number} [amount] - * @property {string} [amount_key] - * @property {string} [header] + * @property {number} [amount] - Amount that is payable for the invoice. + * @property {string} [amount_key] - Key associated with the payable amount for + * identification. + * @property {string} [header] - Header describing the payable amount. */ /** * @typedef InvoicePaymentOptionsResponseDeductedAmounts - * @property {number} [amount] - * @property {string} [header] - * @property {string} [amount_key] - * @property {boolean} [is_payable] - * @property {string} [symbol] + * @property {number} [amount] - Amount deducted from the invoice. + * @property {string} [header] - Header describing the deducted amount. + * @property {string} [amount_key] - Key associated with the deducted amount for + * identification. + * @property {boolean} [is_payable] - Indicates whether the deducted amount is payable. + * @property {string} [symbol] - Currency symbol associated with the deducted amount. */ /** * @typedef InvoicePaymentOptionsResponseData - * @property {string} [invoice_number] - * @property {string} [invoice_type] + * @property {string} [invoice_number] - Invoice number for which payment + * options are provided. + * @property {string} [invoice_type] - Type of the invoice (e.g., 'Seller Fynd', + * 'Platform Subscription'). * @property {InvoicePaymentOptionsResponsePayableAmounts[]} [display_amounts] - * @property {Object} [total_amount] - * @property {Object} [deducted_amounts] + * - List of amounts that are payable for the invoice. + * + * @property {Object} [total_amount] - Total amount for the invoice. + * @property {Object} [deducted_amounts] - Amounts deducted from the total, + * including any associated details. * @property {InvoicePaymentOptionsResponsePayableAmounts[]} [payable_amounts] + * - Amounts that are payable for the invoice. + * * @property {Currency} [currency] */ /** * @typedef InvoicePaymentOptionsResponse - * @property {string} [reason] - * @property {InvoicePaymentOptionsResponseData[]} [data] - * @property {number} [total_payable_amount] - * @property {number} [invoice_count] - * @property {boolean} [success] + * @property {string} [reason] - Reason for the response or any errors encountered. + * @property {InvoicePaymentOptionsResponseData[]} [data] - List of data objects + * containing details about invoice payment options. + * @property {number} [total_payable_amount] - Total amount payable for the invoices. + * @property {number} [invoice_count] - Number of invoices included in the response. + * @property {boolean} [success] - Indicates whether the request to retrieve + * invoice payment options was successful. */ /** * @typedef PaymentDetail - * @property {string} [display_name] - * @property {string} [value] + * @property {string} [display_name] - Name or label displayed for the payment detail. + * @property {string} [value] - Value associated with the payment detail (e.g., + * amount, transaction ID). */ /** * @typedef PaidInvoicePaymentDetail - * @property {PaymentDetail[]} [payment_details] - * @property {string} [date_of_payment] - * @property {number} [amount] + * @property {PaymentDetail[]} [payment_details] - List of payment details for + * the invoice. + * @property {string} [date_of_payment] - Date when the payment was made. + * @property {number} [amount] - Amount paid towards the invoice. */ /** * @typedef InvoicePaymentDetailsResponseData - * @property {PaidInvoicePaymentDetail[]} [paid_invoice_payment_details] - * @property {Object[]} [failed_attempts_details] + * @property {PaidInvoicePaymentDetail[]} [paid_invoice_payment_details] - List + * of details for paid invoices. + * @property {Object[]} [failed_attempts_details] - Details of any failed + * payment attempts for the invoices. */ /** * @typedef InvoicePaymentDetailsResponse - * @property {string} [reason] + * @property {string} [reason] - Reason for the response or any errors encountered. * @property {InvoicePaymentDetailsResponseData} [data] - * @property {boolean} [success] - * @property {boolean} [payment_details_visible] + * @property {boolean} [success] - Indicates whether the request to retrieve + * invoice payment details was successful. + * @property {boolean} [payment_details_visible] - Indicates whether payment + * details are visible or hidden in the response. */ /** * @typedef InvoiceActivityLogsResponseData - * @property {string} [performed_by] - * @property {string} [status] - * @property {string} [reason] - * @property {boolean} [is_resolved] - * @property {number} [retry_attempts] - * @property {number} [max_retry_attempts] + * @property {string} [performed_by] - Identifier of the user or system that + * performed the activity. + * @property {string} [status] - Status of the activity (e.g., 'Completed', 'Pending'). + * @property {string} [reason] - Reason for the activity status or any related notes. + * @property {boolean} [is_resolved] - Indicates whether the activity issue is resolved. + * @property {number} [retry_attempts] - Number of retry attempts made for the activity. + * @property {number} [max_retry_attempts] - Maximum number of retry attempts + * allowed for the activity. */ /** * @typedef InvoiceActivityLogsResponse - * @property {InvoiceActivityLogsResponseData[]} [data] + * @property {InvoiceActivityLogsResponseData[]} [data] - List of activity logs + * related to invoices. */ /** * @typedef InvoiceActivityLogError - * @property {string} [reason] + * @property {string} [reason] - Reason for the error or issue encountered with + * the invoice activity logs. */ /** * @typedef UnlockCreditNoteRequestData - * @property {string} [seller_id] - * @property {string[]} [locked_credit_notes] - * @property {string} [unlock_reason] - * @property {string} [description] + * @property {string} [seller_id] - The unique identifier for the seller. + * @property {string[]} [locked_credit_notes] - A list of credit notes that are locked. + * @property {string} [unlock_reason] - The reason for unlocking the credit notes. + * @property {string} [description] - Additional details or comments about the + * unlock request. */ /** @@ -873,13 +988,14 @@ const Joi = require("joi"); /** * @typedef UnlockCreditNoteResponseData - * @property {boolean} [is_cn_unlocked] - * @property {string} [status] + * @property {boolean} [is_cn_unlocked] - Indicates whether the credit note is unlocked. + * @property {string} [status] - The current status of the each credit notes. */ /** * @typedef UnlockCreditNoteResponse - * @property {boolean} [success] + * @property {boolean} [success] - Indicates whether the credit note unlock + * request was successful. * @property {UnlockCreditNoteResponseData} [data] */ @@ -1020,7 +1136,6 @@ class FinancePlatformModel { meta: FinancePlatformModel.GenerateReportMeta(), report_id: Joi.string().allow(""), filters: FinancePlatformModel.GenerateReportFilters(), - type_of_request: Joi.string().allow(""), }); } @@ -1122,13 +1237,6 @@ class FinancePlatformModel { }); } - /** @returns {GetAffiliate} */ - static GetAffiliate() { - return Joi.object({ - company_id: Joi.number(), - }); - } - /** @returns {GetReportListResponse} */ static GetReportListResponse() { return Joi.object({ @@ -1152,6 +1260,13 @@ class FinancePlatformModel { }); } + /** @returns {GetAffiliate} */ + static GetAffiliate() { + return Joi.object({ + company_id: Joi.number(), + }); + } + /** @returns {GetAffiliateResponse} */ static GetAffiliateResponse() { return Joi.object({ @@ -1808,9 +1923,6 @@ class FinancePlatformModel { items: Joi.array().items( FinancePlatformModel.DownloadReportResponseData() ), - data: Joi.array().items( - FinancePlatformModel.DownloadReportResponseData() - ), item_count: Joi.number(), page: FinancePlatformModel.Page(), }); diff --git a/sdk/platform/Lead/LeadPlatformModel.d.ts b/sdk/platform/Lead/LeadPlatformModel.d.ts index b41f2cc71..635e19deb 100644 --- a/sdk/platform/Lead/LeadPlatformModel.d.ts +++ b/sdk/platform/Lead/LeadPlatformModel.d.ts @@ -40,13 +40,13 @@ export = LeadPlatformModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef TicketHistoryList @@ -340,12 +340,33 @@ type TicketList = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {TicketHistoryList} */ diff --git a/sdk/platform/Lead/LeadPlatformModel.js b/sdk/platform/Lead/LeadPlatformModel.js index 607a7bbb5..6def2044f 100644 --- a/sdk/platform/Lead/LeadPlatformModel.js +++ b/sdk/platform/Lead/LeadPlatformModel.js @@ -46,13 +46,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** diff --git a/sdk/platform/Order/OrderPlatformClient.d.ts b/sdk/platform/Order/OrderPlatformClient.d.ts index 171e088e5..0439172c2 100644 --- a/sdk/platform/Order/OrderPlatformClient.d.ts +++ b/sdk/platform/Order/OrderPlatformClient.d.ts @@ -2,6 +2,16 @@ export = Order; declare class Order { constructor(config: any); config: any; + /** + * @param {OrderPlatformValidator.AddStateManagerConfigParam} arg - Arg object + * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` + * @param {import("../PlatformAPIClient").Options} - Options + * @returns {Promise} - Success response + * @name addStateManagerConfig + * @summary: Allows esm config updation + * @description: Update ESM config - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/order/addStateManagerConfig/). + */ + addStateManagerConfig({ body, requestHeaders }?: OrderPlatformValidator.AddStateManagerConfigParam, { responseHeaders }?: object): Promise; /** * @param {OrderPlatformValidator.AttachOrderUserParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` @@ -385,6 +395,18 @@ declare class Order { * @description: Get a list of shipments based on the filters provided - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/order/getShipments/). */ getShipments({ lane, bagStatus, statusOverrideLane, timeToDispatch, searchType, searchValue, fromDate, toDate, startDate, endDate, dpIds, stores, salesChannels, pageNo, pageSize, fetchActiveShipment, allowInactive, excludeLockedShipments, paymentMethods, channelShipmentId, channelOrderId, customMeta, orderingChannel, companyAffiliateTag, myOrders, platformUserId, sortType, showCrossCompanyData, tags, customerId, orderType, requestHeaders, }?: OrderPlatformValidator.GetShipmentsParam, { responseHeaders }?: object): Promise; + /** + * @param {OrderPlatformValidator.GetStateManagerConfigParam} arg - Arg object + * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` + * @param {import("../PlatformAPIClient").Options} - Options + * @returns {Promise} - Success response + * @name getStateManagerConfig + * @summary: Retrieves Entity State Manager configuration which includes flags, hooks, and filters, for a specific application within a company's setup. + * @description: This endpoint retrieves the ESM (Entity State Manager) configuration for a specific application within a company. The retrieval is based on parameters such as application ID, ordering channel, and entity type. + * The ESM config stores order processing configuration. Each document in the ESM config collection of Order Management System - OMS's database is a JSON object representing the configuration of a specific application ID. This includes filters, hooks, flags set on different state-transitions. This configuration is picked and accordingly features are enabled. + * - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/order/getStateManagerConfig/). + */ + getStateManagerConfig({ appId, orderingChannel, entity, requestHeaders }?: OrderPlatformValidator.GetStateManagerConfigParam, { responseHeaders }?: object): Promise; /** * @param {OrderPlatformValidator.GetStateTransitionMapParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` diff --git a/sdk/platform/Order/OrderPlatformClient.js b/sdk/platform/Order/OrderPlatformClient.js index d15beeb69..6c0ba706a 100644 --- a/sdk/platform/Order/OrderPlatformClient.js +++ b/sdk/platform/Order/OrderPlatformClient.js @@ -14,6 +14,85 @@ class Order { this.config = config; } + /** + * @param {OrderPlatformValidator.AddStateManagerConfigParam} arg - Arg object + * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` + * @param {import("../PlatformAPIClient").Options} - Options + * @returns {Promise} - Success response + * @name addStateManagerConfig + * @summary: Allows esm config updation + * @description: Update ESM config - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/order/addStateManagerConfig/). + */ + async addStateManagerConfig( + { body, requestHeaders } = { requestHeaders: {} }, + { responseHeaders } = { responseHeaders: false } + ) { + const { error } = OrderPlatformValidator.addStateManagerConfig().validate( + { + body, + }, + { abortEarly: false, allowUnknown: true } + ); + if (error) { + return Promise.reject(new FDKClientValidationError(error)); + } + + // Showing warrnings if extra unknown parameters are found + const { + error: warrning, + } = OrderPlatformValidator.addStateManagerConfig().validate( + { + body, + }, + { abortEarly: false, allowUnknown: false } + ); + if (warrning) { + Logger({ + level: "WARN", + message: `Parameter Validation warrnings for platform > Order > addStateManagerConfig \n ${warrning}`, + }); + } + + const query_params = {}; + + const xHeaders = {}; + + const response = await PlatformAPIClient.execute( + this.config, + "post", + `/service/platform/order-manage/v1.0/company/${this.config.companyId}/state/manager/config`, + query_params, + body, + { ...xHeaders, ...requestHeaders }, + { responseHeaders } + ); + + let responseData = response; + if (responseHeaders) { + responseData = response[0]; + } + + const { + error: res_error, + } = OrderPlatformModel.ConfigUpdatedResponse().validate(responseData, { + abortEarly: false, + allowUnknown: true, + }); + + if (res_error) { + if (this.config.options.strictResponseCheck === true) { + return Promise.reject(new FDKResponseValidationError(res_error)); + } else { + Logger({ + level: "WARN", + message: `Response Validation Warnings for platform > Order > addStateManagerConfig \n ${res_error}`, + }); + } + } + + return response; + } + /** * @param {OrderPlatformValidator.AttachOrderUserParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` @@ -3474,6 +3553,92 @@ class Order { return response; } + /** + * @param {OrderPlatformValidator.GetStateManagerConfigParam} arg - Arg object + * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` + * @param {import("../PlatformAPIClient").Options} - Options + * @returns {Promise} - Success response + * @name getStateManagerConfig + * @summary: Retrieves Entity State Manager configuration which includes flags, hooks, and filters, for a specific application within a company's setup. + * @description: This endpoint retrieves the ESM (Entity State Manager) configuration for a specific application within a company. The retrieval is based on parameters such as application ID, ordering channel, and entity type. + * The ESM config stores order processing configuration. Each document in the ESM config collection of Order Management System - OMS's database is a JSON object representing the configuration of a specific application ID. This includes filters, hooks, flags set on different state-transitions. This configuration is picked and accordingly features are enabled. + * - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/order/getStateManagerConfig/). + */ + async getStateManagerConfig( + { appId, orderingChannel, entity, requestHeaders } = { requestHeaders: {} }, + { responseHeaders } = { responseHeaders: false } + ) { + const { error } = OrderPlatformValidator.getStateManagerConfig().validate( + { + appId, + orderingChannel, + entity, + }, + { abortEarly: false, allowUnknown: true } + ); + if (error) { + return Promise.reject(new FDKClientValidationError(error)); + } + + // Showing warrnings if extra unknown parameters are found + const { + error: warrning, + } = OrderPlatformValidator.getStateManagerConfig().validate( + { + appId, + orderingChannel, + entity, + }, + { abortEarly: false, allowUnknown: false } + ); + if (warrning) { + Logger({ + level: "WARN", + message: `Parameter Validation warrnings for platform > Order > getStateManagerConfig \n ${warrning}`, + }); + } + + const query_params = {}; + query_params["app_id"] = appId; + query_params["ordering_channel"] = orderingChannel; + query_params["entity"] = entity; + + const xHeaders = {}; + + const response = await PlatformAPIClient.execute( + this.config, + "get", + `/service/platform/order-manage/v1.0/company/${this.config.companyId}/state/manager/config`, + query_params, + undefined, + { ...xHeaders, ...requestHeaders }, + { responseHeaders } + ); + + let responseData = response; + if (responseHeaders) { + responseData = response[0]; + } + + const { error: res_error } = Joi.any().validate(responseData, { + abortEarly: false, + allowUnknown: true, + }); + + if (res_error) { + if (this.config.options.strictResponseCheck === true) { + return Promise.reject(new FDKResponseValidationError(res_error)); + } else { + Logger({ + level: "WARN", + message: `Response Validation Warnings for platform > Order > getStateManagerConfig \n ${res_error}`, + }); + } + } + + return response; + } + /** * @param {OrderPlatformValidator.GetStateTransitionMapParam} arg - Arg object * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` diff --git a/sdk/platform/Order/OrderPlatformModel.d.ts b/sdk/platform/Order/OrderPlatformModel.d.ts index 4550d5cec..7c1c0a944 100644 --- a/sdk/platform/Order/OrderPlatformModel.d.ts +++ b/sdk/platform/Order/OrderPlatformModel.d.ts @@ -19,10 +19,11 @@ export = OrderPlatformModel; */ /** * @typedef ErrorResponse - * @property {number} [status] - * @property {boolean} [success] - * @property {string} message - * @property {string} [error_trace] + * @property {number} [status] - The HTTP status code corresponding to the error. + * @property {boolean} [success] - Indicates whether the operation was + * successful. Always false in the case of an error. + * @property {string} message - A message describing the error that occurred. + * @property {string} [error_trace] - Error trace of the error that occurred. * @property {string} [error] */ /** @@ -1492,15 +1493,219 @@ export = OrderPlatformModel; * @property {boolean} [success] - Success State. * @property {string} [error] - Error String. */ +/** + * @typedef ConfigData + * @property {boolean} [acknowledged] - Indicates whether the update operation + * was acknowledged by the database. + * @property {boolean} [is_upserted] - Indicates whether the update operation + * resulted in an upsert (an update or insert). + * @property {boolean} [is_inserted] - Indicates whether the update operation + * resulted in a new document being inserted. + */ +/** + * @typedef ConfigUpdatedResponse + * @property {ConfigData[]} data - The result of the config update operation, + * including whether it was acknowledged, upserted, or inserted. + * @property {boolean} success - Indicates whether the config update operation + * was successful. + */ +/** + * @typedef FlagData + * @property {Object} [value] + * @property {Object} [filter] + */ +/** + * @typedef Flags + * @property {FlagData[]} [allow_partial_transition] - Indicates whether a + * partial transition of bags to the next state is permissible, allowing some + * bags to progress while others remain in the current state. + * @property {FlagData[]} [can_break_entity] - Specifies whether bags within a + * shipment, set,cdf or entity can be broken individually or as a group. If + * set to false, all bags within the entity must remain together and + * transition together to the same state. + * @property {FlagData[]} [allowed_bag_updates] - Specifies which fields are + * permitted to be updated at the bag level. Allowed fields are: + * + * - Meta + * - Pdf_links + * - Affiliate_meta + * - Delivery_awb_number + * - Store_invoice_id + * - Store_id + * - Return_store_id + * - Eway_bill_id + * + * @property {FlagData[]} [allowed_bag_status_updates] - Specifies which fields + * are permitted to be updated at the bag status level. Allowed fields are: + * + * - Json + * + * @property {FlagData[]} [allowed_entity_updates] - Specifies which fields are + * permitted to be updated at shipment level. Allowed fields are: + * + * - Meta + * - Pdf_links + * - Affiliate_meta + * - Delivery_awb_number + * - Store_invoice_id + * - Store_id + * - Return_store_id + * - Eway_bill_id + * - Logistics_meta + * + * @property {FlagData[]} [allowed_entity_status_updates] - Specifies which + * fields are permitted to be updated at the Entity status level. Allowed fields are: + * + * - Json + * + * @property {FlagData[]} [status_update_type] - Describes the type of journey + * associated with the particular status of the shipment. Possible values are: + * + * - Positive + * - Negative + * + * @property {FlagData[]} [is_bag_status_reason_allowed] - Indicates whether a + * reason at the product level should be allowed for a particular status. + * @property {FlagData[]} [is_entity_status_reason_allowed] - Indicates whether + * a reason at the shipment level should be allowed for a particular status. + * @property {FlagData[]} [transition_strategy] - This flag is used to define + * the shipment breaking strategy. Possible values are: + * + * - Break_shipment_based_on_location_reassignment + * - Break_shipment_based_on_groups + * - Break_shipment_based_on_stormbreaker + */ +/** + * @typedef Filter + * @property {string} [order_type] - Indicates the type or category of the order. + * + * - PickAtStore: Pick from store + * - HomeDelivery: Home delivery + * - Digital: Digital + * + * @property {boolean} [is_partial_transition] - Specifies whether a partial + * transition of the order is allowed, allowing some components to progress + * while others remain in the current state. + * @property {boolean} [auto_trigger_dp_assignment_acf] - Indicates whether the + * assignment of a designated person is automatically triggered in the context of ACF. + * @property {string} [lock_status] - Indicates the current locking status of + * the shipment. + * + * - `complete`: Complete shipment lock + * - `operational`: Operational shipment lock + * - `None`: No lock on shipment + * + * @property {boolean} [lock_after_transition] - Specifies whether locking is + * required after transitioning to the next status. lock_after_transition : + * true - Lock Transition enabled lock_after_transition : false - Lock + * Transition set false + * @property {boolean} [resume_tasks_after_unlock] - Indicates whether tasks + * should resume automatically after unlocking, such as DP assignment task and + * invoicing task. + * @property {boolean} [is_invoice_id_present] - Indicates whether an invoice ID + * is present for the order. + * @property {boolean} [is_credit_note_generated] - Indicates whether a credit + * note has been generated for the order. + * @property {boolean} [fulfill_virtual_invoice] - Specifies whether an + * automated virtual invoice ID is associated with the order. + * @property {string} [next_status] - Indicates the next status to which the + * order will transition. + * @property {boolean} [is_hook_enabled] - Indicates whether a task is enabled + * for the order. + * @property {boolean} [pos_credit_note_check] - Specifies whether a credit note + * check is performed in a point of sale (POS) scenario. + * @property {string} [order_platform] - Specifies the platform on which the + * order was placed. + * + * - `platform-pos`: POS + * - `platform-site`: WEB + * - `openapi`: OPENAPI + * - `marketplace`: MARKETPLACE + * + * @property {string} [refund_type] - Indicates the type of refund associated + * with the order. + * + * - `credit_note`: CREDIT_NOTE + * - `source`: SOURCE + * - `bank_transfer`: BANK + * - `manual_refund`: MANUAL_REFUND + * + * @property {boolean} [is_non_pos_platform] - Specifies whether the platform is + * non-point of sale (POS) in nature. + * @property {boolean} [is_self_ship] - Indicates whether the order is + * self-shipped by the seller. + * @property {string} [seller_country_code] - Specifies the country code of the seller. + * + * - `seller_country_code`: US + * - `seller_country_code`: UK + * - `seller_country_code`: IN + * + * @property {string} [customer_country_code] - Specifies the country code of the seller. + * + * - `customer_country_code`: US + * - `customer_country_code`: UK + * - `customer_country_code`: IN + * + * @property {boolean} [is_test_order] - Indicates whether the order is a test + * order used for testing purposes - `is_test_order` : True - indicates test order + * @property {string[]} [task_trigger_condition] - Specifies trigger conditions: + * + * - `status_update`: Status Update + * - `data_update`: Data Update + */ +/** + * @typedef PostHook + * @property {string} task - Name of the hook that has to be added + * @property {Object} [kwargs] - Additional parameters for the hook + * @property {Filter} [filters] - Filters for scope selection. + */ +/** + * @typedef PreHook + * @property {string} task - Name of the hook that has to be added + * @property {Object} [kwargs] - Additional parameters for the hook + * @property {Filter} [filters] - Filter + */ +/** + * @typedef Config + * @property {string} [from_state] - Source state from which state transition + * will take place + * @property {string} [to_state] - Target state to which state transition will take place + * @property {PreHook[]} [pre_hooks] - Tasks to be run before state transition + * @property {PostHook[]} [post_hooks] - Tasks to be run after state transition + * @property {Flags} [flags] - Various flags related to the transition. These + * include options and settings that influence the behavior of the state + * transition, such as whether partial transitions are allowed or whether the + * transition can break the entity. + */ +/** + * @typedef TransitionConfigCondition + * @property {string} app_id - The unique identifier of the application to which + * the configuration applies. + * @property {string} ordering_channel - The channel through which the order was + * placed, such as ECOMM or another specified channel. + * @property {string} entity - The type of entity that the configuration pertains to. + */ +/** + * @typedef TransitionConfigData + * @property {TransitionConfigCondition} [conditions] - Conditions that must be + * met for the ESM config to be applied. + * @property {Config[]} [configs] - The configuration settings for the entity + * transition. This includes pre_hooks, post_hooks, and flags for each + * transition state. + */ +/** + * @typedef TransitionConfigPayload + * @property {TransitionConfigData} [data] + */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef BagReasonMeta @@ -2666,21 +2871,9 @@ export = OrderPlatformModel; * @property {string} [modified_on] * @property {number} [id] */ -/** - * @typedef Attributes - * @property {string} [primary_material] - * @property {string} [essential] - * @property {string} [marketer_name] - * @property {string} [primary_color] - * @property {string} [marketer_address] - * @property {string} [primary_color_hex] - * @property {string} [brand_name] - * @property {string} [name] - * @property {string[]} [gender] - */ /** * @typedef Item - * @property {Attributes} attributes + * @property {Object} attributes - A dictionary of product attributes * @property {number} brand_id * @property {string} slug_key * @property {string} [webstore_product_url] @@ -2893,7 +3086,7 @@ export = OrderPlatformModel; declare class OrderPlatformModel { } declare namespace OrderPlatformModel { - export { InvalidateShipmentCachePayload, InvalidateShipmentCacheNestedResponse, InvalidateShipmentCacheResponse, ErrorResponse, StoreReassign, StoreReassignResponse, Entities, UpdateShipmentLockPayload, OriginalFilter, Bags, CheckResponse, UpdateShipmentLockResponse, AnnouncementResponse, AnnouncementsResponse, BaseResponse, Click2CallResponse, ErrorDetail, ProductsReasonsFilters, ProductsReasonsData, ProductsReasons, EntityReasonData, EntitiesReasons, ReasonsData, Products, OrderItemDataUpdates, ProductsDataUpdatesFilters, ProductsDataUpdates, EntitiesDataUpdates, DataUpdates, ShipmentsRequest, StatuesRequest, UpdateShipmentStatusRequest, ShipmentsResponse, StatuesResponse, UpdateShipmentStatusResponseBody, OrderUser, OrderPriority, ArticleDetails, LocationDetails, ShipmentDetails, ShipmentConfig, ShipmentData, MarketPlacePdf, AffiliateBag, UserData, OrderInfo, AffiliateAppConfigMeta, AffiliateAppConfig, AffiliateInventoryArticleAssignmentConfig, AffiliateInventoryPaymentConfig, AffiliateInventoryStoreConfig, AffiliateInventoryOrderConfig, AffiliateInventoryLogisticsConfig, AffiliateInventoryConfig, AffiliateConfig, Affiliate, AffiliateStoreIdMapping, OrderConfig, CreateOrderPayload, CreateOrderResponse, DispatchManifest, SuccessResponse, ActionInfo, GetActionsResponse, HistoryReason, HistoryMeta, HistoryDict, ShipmentHistoryResponse, PostHistoryFilters, PostHistoryData, PostHistoryDict, PostShipmentHistory, SmsDataPayload, SendSmsPayload, OrderDetails, Meta, ShipmentDetail, OrderStatusData, OrderStatusResult, Dimension, UpdatePackagingDimensionsPayload, UpdatePackagingDimensionsResponse, Tax, Charge, LineItem, ProcessingDates, Shipment, ShipmentRequestData, ShippingInfo, BillingInfo, UserInfo, TaxInfo, PaymentMethod, PaymentInfo, CreateOrderAPI, CreateOrderErrorReponse, DpConfiguration, PaymentMethods, CreateChannelPaymentInfo, CreateChannelConfig, CreateChannelConfigData, CreateChannelConifgErrorResponse, CreateChannelConfigResponse, UploadConsent, PlatformOrderUpdate, ResponseDetail, FyndOrderIdList, OrderStatus, BagStateTransitionMap, RoleBaseStateTransitionMapping, FetchCreditBalanceRequestPayload, CreditBalanceInfo, FetchCreditBalanceResponsePayload, RefundModeConfigRequestPayload, RefundOption, RefundModeInfo, RefundModeConfigResponsePayload, AttachUserOtpData, AttachUserInfo, AttachOrderUser, AttachOrderUserResponse, SendUserMobileOTP, PointBlankOtpData, SendUserMobileOtpResponse, VerifyOtpData, VerifyMobileOTP, VerifyOtpResponseData, VerifyOtpResponse, BulkReportsDownloadRequest, BulkReportsDownloadResponse, BulkFailedResponse, BulkStateTransistionRequest, BulkStateTransistionResponse, ShipmentActionInfo, BulkActionListingData, BulkListinPage, BulkListingResponse, JobDetailsData, JobDetailsResponse, JobFailedResponse, ManifestPageInfo, ManifestItemDetails, ManifestShipmentListing, DateRange, Filters, ManifestFile, ManifestMediaUpdate, PDFMeta, TotalShipmentPricesCount, ManifestMeta, Manifest, ManifestList, ManifestDetails, FiltersRequest, ProcessManifest, ProcessManifestResponse, ProcessManifestItemResponse, FilterInfoOption, FiltersInfo, ManifestFiltersResponse, PageDetails, EInvoiceIrnDetails, EInvoiceErrorDetails, EInvoiceDetails, EInvoiceResponseData, EInvoiceRetry, EInvoiceRetryResponse, EInvoiceErrorInfo, EInvoiceErrorResponseData, EInvoiceErrorResponse, EInvoiceErrorResponseDetails, EInvoiceRetryShipmentData, CourierPartnerTrackingDetails, CourierPartnerTrackingResponse, LogsChannelDetails, LogPaymentDetails, FailedOrdersItem, FailedOrderLogs, FailedOrderLogDetails, GenerateInvoiceIDResponseData, GenerateInvoiceIDErrorResponseData, GenerateInvoiceIDRequest, GenerateInvoiceIDResponse, GenerateInvoiceIDErrorResponse, ManifestResponse, ProcessManifestRequest, ManifestItems, ManifestErrorResponse, Page, BagReasonMeta, QuestionSet, BagReasons, ShipmentBagReasons, ShipmentStatus, UserDataInfo, PlatformDeliveryAddress, ShipmentListingChannel, Prices, Identifier, FinancialBreakup, GSTDetailsData, BagStateMapper, BagStatusHistory, Dimensions, ReturnConfig, Weight, Article, ShipmentListingBrand, ReplacementDetails, AffiliateMeta, AffiliateBagDetails, PlatformArticleAttributes, PlatformItem, Dates, BagReturnableCancelableStatus, BagUnit, ShipmentItemFulFillingStore, Currency, OrderingCurrency, ConversionRate, CurrencyInfo, ShipmentItem, ShipmentInternalPlatformViewResponse, TrackingList, InvoiceInfo, OrderDetailsData, UserDetailsData, PhoneDetails, ContactDetails, CompanyDetails, OrderingStoreDetails, DPDetailsData, BuyerDetails, DebugInfo, EinvoiceInfo, Formatted, ShipmentTags, LockData, ShipmentTimeStamp, ShipmentMeta, PDFLinks, AffiliateDetails, BagConfigs, OrderBagArticle, OrderBrandName, AffiliateBagsDetails, BagPaymentMethods, DiscountRules, ItemCriterias, BuyRules, AppliedPromos, CurrentStatus, OrderBags, FulfillingStore, ShipmentPayments, ShipmentStatusData, ShipmentLockDetails, PlatformShipment, ShipmentInfoResponse, TaxDetails, PaymentInfoData, OrderData, OrderDetailsResponse, SubLane, SuperLane, LaneConfigResponse, PlatformBreakupValues, PlatformChannel, PlatformOrderItems, OrderListingResponse, PlatformTrack, PlatformShipmentTrack, AdvanceFilterInfo, FiltersResponse, URL, FileResponse, BulkActionTemplate, BulkActionTemplateResponse, Reason, PlatformShipmentReasonsResponse, ShipmentResponseReasons, ShipmentReasonsResponse, StoreAddress, EInvoicePortalDetails, StoreEinvoice, StoreEwaybill, StoreGstCredentials, Document, StoreDocuments, StoreMeta, Store, Brand, Attributes, Item, ArticleStatusDetails, Company, ShipmentGstDetails, DeliverySlotDetails, InvoiceDetails, UserDetails, WeightData, BagDetails, BagDetailsPlatformResponse, BagsPage, BagData, GetBagsPlatformResponse, GeneratePosOrderReceiptResponse, Templates, AllowedTemplatesResponse, TemplateDownloadResponse, Error }; + export { InvalidateShipmentCachePayload, InvalidateShipmentCacheNestedResponse, InvalidateShipmentCacheResponse, ErrorResponse, StoreReassign, StoreReassignResponse, Entities, UpdateShipmentLockPayload, OriginalFilter, Bags, CheckResponse, UpdateShipmentLockResponse, AnnouncementResponse, AnnouncementsResponse, BaseResponse, Click2CallResponse, ErrorDetail, ProductsReasonsFilters, ProductsReasonsData, ProductsReasons, EntityReasonData, EntitiesReasons, ReasonsData, Products, OrderItemDataUpdates, ProductsDataUpdatesFilters, ProductsDataUpdates, EntitiesDataUpdates, DataUpdates, ShipmentsRequest, StatuesRequest, UpdateShipmentStatusRequest, ShipmentsResponse, StatuesResponse, UpdateShipmentStatusResponseBody, OrderUser, OrderPriority, ArticleDetails, LocationDetails, ShipmentDetails, ShipmentConfig, ShipmentData, MarketPlacePdf, AffiliateBag, UserData, OrderInfo, AffiliateAppConfigMeta, AffiliateAppConfig, AffiliateInventoryArticleAssignmentConfig, AffiliateInventoryPaymentConfig, AffiliateInventoryStoreConfig, AffiliateInventoryOrderConfig, AffiliateInventoryLogisticsConfig, AffiliateInventoryConfig, AffiliateConfig, Affiliate, AffiliateStoreIdMapping, OrderConfig, CreateOrderPayload, CreateOrderResponse, DispatchManifest, SuccessResponse, ActionInfo, GetActionsResponse, HistoryReason, HistoryMeta, HistoryDict, ShipmentHistoryResponse, PostHistoryFilters, PostHistoryData, PostHistoryDict, PostShipmentHistory, SmsDataPayload, SendSmsPayload, OrderDetails, Meta, ShipmentDetail, OrderStatusData, OrderStatusResult, Dimension, UpdatePackagingDimensionsPayload, UpdatePackagingDimensionsResponse, Tax, Charge, LineItem, ProcessingDates, Shipment, ShipmentRequestData, ShippingInfo, BillingInfo, UserInfo, TaxInfo, PaymentMethod, PaymentInfo, CreateOrderAPI, CreateOrderErrorReponse, DpConfiguration, PaymentMethods, CreateChannelPaymentInfo, CreateChannelConfig, CreateChannelConfigData, CreateChannelConifgErrorResponse, CreateChannelConfigResponse, UploadConsent, PlatformOrderUpdate, ResponseDetail, FyndOrderIdList, OrderStatus, BagStateTransitionMap, RoleBaseStateTransitionMapping, FetchCreditBalanceRequestPayload, CreditBalanceInfo, FetchCreditBalanceResponsePayload, RefundModeConfigRequestPayload, RefundOption, RefundModeInfo, RefundModeConfigResponsePayload, AttachUserOtpData, AttachUserInfo, AttachOrderUser, AttachOrderUserResponse, SendUserMobileOTP, PointBlankOtpData, SendUserMobileOtpResponse, VerifyOtpData, VerifyMobileOTP, VerifyOtpResponseData, VerifyOtpResponse, BulkReportsDownloadRequest, BulkReportsDownloadResponse, BulkFailedResponse, BulkStateTransistionRequest, BulkStateTransistionResponse, ShipmentActionInfo, BulkActionListingData, BulkListinPage, BulkListingResponse, JobDetailsData, JobDetailsResponse, JobFailedResponse, ManifestPageInfo, ManifestItemDetails, ManifestShipmentListing, DateRange, Filters, ManifestFile, ManifestMediaUpdate, PDFMeta, TotalShipmentPricesCount, ManifestMeta, Manifest, ManifestList, ManifestDetails, FiltersRequest, ProcessManifest, ProcessManifestResponse, ProcessManifestItemResponse, FilterInfoOption, FiltersInfo, ManifestFiltersResponse, PageDetails, EInvoiceIrnDetails, EInvoiceErrorDetails, EInvoiceDetails, EInvoiceResponseData, EInvoiceRetry, EInvoiceRetryResponse, EInvoiceErrorInfo, EInvoiceErrorResponseData, EInvoiceErrorResponse, EInvoiceErrorResponseDetails, EInvoiceRetryShipmentData, CourierPartnerTrackingDetails, CourierPartnerTrackingResponse, LogsChannelDetails, LogPaymentDetails, FailedOrdersItem, FailedOrderLogs, FailedOrderLogDetails, GenerateInvoiceIDResponseData, GenerateInvoiceIDErrorResponseData, GenerateInvoiceIDRequest, GenerateInvoiceIDResponse, GenerateInvoiceIDErrorResponse, ManifestResponse, ProcessManifestRequest, ManifestItems, ManifestErrorResponse, ConfigData, ConfigUpdatedResponse, FlagData, Flags, Filter, PostHook, PreHook, Config, TransitionConfigCondition, TransitionConfigData, TransitionConfigPayload, Page, BagReasonMeta, QuestionSet, BagReasons, ShipmentBagReasons, ShipmentStatus, UserDataInfo, PlatformDeliveryAddress, ShipmentListingChannel, Prices, Identifier, FinancialBreakup, GSTDetailsData, BagStateMapper, BagStatusHistory, Dimensions, ReturnConfig, Weight, Article, ShipmentListingBrand, ReplacementDetails, AffiliateMeta, AffiliateBagDetails, PlatformArticleAttributes, PlatformItem, Dates, BagReturnableCancelableStatus, BagUnit, ShipmentItemFulFillingStore, Currency, OrderingCurrency, ConversionRate, CurrencyInfo, ShipmentItem, ShipmentInternalPlatformViewResponse, TrackingList, InvoiceInfo, OrderDetailsData, UserDetailsData, PhoneDetails, ContactDetails, CompanyDetails, OrderingStoreDetails, DPDetailsData, BuyerDetails, DebugInfo, EinvoiceInfo, Formatted, ShipmentTags, LockData, ShipmentTimeStamp, ShipmentMeta, PDFLinks, AffiliateDetails, BagConfigs, OrderBagArticle, OrderBrandName, AffiliateBagsDetails, BagPaymentMethods, DiscountRules, ItemCriterias, BuyRules, AppliedPromos, CurrentStatus, OrderBags, FulfillingStore, ShipmentPayments, ShipmentStatusData, ShipmentLockDetails, PlatformShipment, ShipmentInfoResponse, TaxDetails, PaymentInfoData, OrderData, OrderDetailsResponse, SubLane, SuperLane, LaneConfigResponse, PlatformBreakupValues, PlatformChannel, PlatformOrderItems, OrderListingResponse, PlatformTrack, PlatformShipmentTrack, AdvanceFilterInfo, FiltersResponse, URL, FileResponse, BulkActionTemplate, BulkActionTemplateResponse, Reason, PlatformShipmentReasonsResponse, ShipmentResponseReasons, ShipmentReasonsResponse, StoreAddress, EInvoicePortalDetails, StoreEinvoice, StoreEwaybill, StoreGstCredentials, Document, StoreDocuments, StoreMeta, Store, Brand, Item, ArticleStatusDetails, Company, ShipmentGstDetails, DeliverySlotDetails, InvoiceDetails, UserDetails, WeightData, BagDetails, BagDetailsPlatformResponse, BagsPage, BagData, GetBagsPlatformResponse, GeneratePosOrderReceiptResponse, Templates, AllowedTemplatesResponse, TemplateDownloadResponse, Error }; } /** @returns {InvalidateShipmentCachePayload} */ declare function InvalidateShipmentCachePayload(): InvalidateShipmentCachePayload; @@ -2928,9 +3121,22 @@ type InvalidateShipmentCacheResponse = { /** @returns {ErrorResponse} */ declare function ErrorResponse(): ErrorResponse; type ErrorResponse = { + /** + * - The HTTP status code corresponding to the error. + */ status?: number; + /** + * - Indicates whether the operation was + * successful. Always false in the case of an error. + */ success?: boolean; + /** + * - A message describing the error that occurred. + */ message: string; + /** + * - Error trace of the error that occurred. + */ error_trace?: string; error?: string; }; @@ -5008,15 +5214,393 @@ type ManifestErrorResponse = { */ error?: string; }; +/** @returns {ConfigData} */ +declare function ConfigData(): ConfigData; +type ConfigData = { + /** + * - Indicates whether the update operation + * was acknowledged by the database. + */ + acknowledged?: boolean; + /** + * - Indicates whether the update operation + * resulted in an upsert (an update or insert). + */ + is_upserted?: boolean; + /** + * - Indicates whether the update operation + * resulted in a new document being inserted. + */ + is_inserted?: boolean; +}; +/** @returns {ConfigUpdatedResponse} */ +declare function ConfigUpdatedResponse(): ConfigUpdatedResponse; +type ConfigUpdatedResponse = { + /** + * - The result of the config update operation, + * including whether it was acknowledged, upserted, or inserted. + */ + data: ConfigData[]; + /** + * - Indicates whether the config update operation + * was successful. + */ + success: boolean; +}; +/** @returns {FlagData} */ +declare function FlagData(): FlagData; +type FlagData = { + value?: any; + filter?: any; +}; +/** @returns {Flags} */ +declare function Flags(): Flags; +type Flags = { + /** + * - Indicates whether a + * partial transition of bags to the next state is permissible, allowing some + * bags to progress while others remain in the current state. + */ + allow_partial_transition?: FlagData[]; + /** + * - Specifies whether bags within a + * shipment, set,cdf or entity can be broken individually or as a group. If + * set to false, all bags within the entity must remain together and + * transition together to the same state. + */ + can_break_entity?: FlagData[]; + /** + * - Specifies which fields are + * permitted to be updated at the bag level. Allowed fields are: + * + * - Meta + * - Pdf_links + * - Affiliate_meta + * - Delivery_awb_number + * - Store_invoice_id + * - Store_id + * - Return_store_id + * - Eway_bill_id + */ + allowed_bag_updates?: FlagData[]; + /** + * - Specifies which fields + * are permitted to be updated at the bag status level. Allowed fields are: + * + * - Json + */ + allowed_bag_status_updates?: FlagData[]; + /** + * - Specifies which fields are + * permitted to be updated at shipment level. Allowed fields are: + * + * - Meta + * - Pdf_links + * - Affiliate_meta + * - Delivery_awb_number + * - Store_invoice_id + * - Store_id + * - Return_store_id + * - Eway_bill_id + * - Logistics_meta + */ + allowed_entity_updates?: FlagData[]; + /** + * - Specifies which + * fields are permitted to be updated at the Entity status level. Allowed fields are: + * + * - Json + */ + allowed_entity_status_updates?: FlagData[]; + /** + * - Describes the type of journey + * associated with the particular status of the shipment. Possible values are: + * + * - Positive + * - Negative + */ + status_update_type?: FlagData[]; + /** + * - Indicates whether a + * reason at the product level should be allowed for a particular status. + */ + is_bag_status_reason_allowed?: FlagData[]; + /** + * - Indicates whether + * a reason at the shipment level should be allowed for a particular status. + */ + is_entity_status_reason_allowed?: FlagData[]; + /** + * - This flag is used to define + * the shipment breaking strategy. Possible values are: + * + * - Break_shipment_based_on_location_reassignment + * - Break_shipment_based_on_groups + * - Break_shipment_based_on_stormbreaker + */ + transition_strategy?: FlagData[]; +}; +/** @returns {Filter} */ +declare function Filter(): Filter; +type Filter = { + /** + * - Indicates the type or category of the order. + * + * - PickAtStore: Pick from store + * - HomeDelivery: Home delivery + * - Digital: Digital + */ + order_type?: string; + /** + * - Specifies whether a partial + * transition of the order is allowed, allowing some components to progress + * while others remain in the current state. + */ + is_partial_transition?: boolean; + /** + * - Indicates whether the + * assignment of a designated person is automatically triggered in the context of ACF. + */ + auto_trigger_dp_assignment_acf?: boolean; + /** + * - Indicates the current locking status of + * the shipment. + * + * - `complete`: Complete shipment lock + * - `operational`: Operational shipment lock + * - `None`: No lock on shipment + */ + lock_status?: string; + /** + * - Specifies whether locking is + * required after transitioning to the next status. lock_after_transition : + * true - Lock Transition enabled lock_after_transition : false - Lock + * Transition set false + */ + lock_after_transition?: boolean; + /** + * - Indicates whether tasks + * should resume automatically after unlocking, such as DP assignment task and + * invoicing task. + */ + resume_tasks_after_unlock?: boolean; + /** + * - Indicates whether an invoice ID + * is present for the order. + */ + is_invoice_id_present?: boolean; + /** + * - Indicates whether a credit + * note has been generated for the order. + */ + is_credit_note_generated?: boolean; + /** + * - Specifies whether an + * automated virtual invoice ID is associated with the order. + */ + fulfill_virtual_invoice?: boolean; + /** + * - Indicates the next status to which the + * order will transition. + */ + next_status?: string; + /** + * - Indicates whether a task is enabled + * for the order. + */ + is_hook_enabled?: boolean; + /** + * - Specifies whether a credit note + * check is performed in a point of sale (POS) scenario. + */ + pos_credit_note_check?: boolean; + /** + * - Specifies the platform on which the + * order was placed. + * + * - `platform-pos`: POS + * - `platform-site`: WEB + * - `openapi`: OPENAPI + * - `marketplace`: MARKETPLACE + */ + order_platform?: string; + /** + * - Indicates the type of refund associated + * with the order. + * + * - `credit_note`: CREDIT_NOTE + * - `source`: SOURCE + * - `bank_transfer`: BANK + * - `manual_refund`: MANUAL_REFUND + */ + refund_type?: string; + /** + * - Specifies whether the platform is + * non-point of sale (POS) in nature. + */ + is_non_pos_platform?: boolean; + /** + * - Indicates whether the order is + * self-shipped by the seller. + */ + is_self_ship?: boolean; + /** + * - Specifies the country code of the seller. + * + * - `seller_country_code`: US + * - `seller_country_code`: UK + * - `seller_country_code`: IN + */ + seller_country_code?: string; + /** + * - Specifies the country code of the seller. + * + * - `customer_country_code`: US + * - `customer_country_code`: UK + * - `customer_country_code`: IN + */ + customer_country_code?: string; + /** + * - Indicates whether the order is a test + * order used for testing purposes - `is_test_order` : True - indicates test order + */ + is_test_order?: boolean; + /** + * - Specifies trigger conditions: + * + * - `status_update`: Status Update + * - `data_update`: Data Update + */ + task_trigger_condition?: string[]; +}; +/** @returns {PostHook} */ +declare function PostHook(): PostHook; +type PostHook = { + /** + * - Name of the hook that has to be added + */ + task: string; + /** + * - Additional parameters for the hook + */ + kwargs?: any; + /** + * - Filters for scope selection. + */ + filters?: Filter; +}; +/** @returns {PreHook} */ +declare function PreHook(): PreHook; +type PreHook = { + /** + * - Name of the hook that has to be added + */ + task: string; + /** + * - Additional parameters for the hook + */ + kwargs?: any; + /** + * - Filter + */ + filters?: Filter; +}; +/** @returns {Config} */ +declare function Config(): Config; +type Config = { + /** + * - Source state from which state transition + * will take place + */ + from_state?: string; + /** + * - Target state to which state transition will take place + */ + to_state?: string; + /** + * - Tasks to be run before state transition + */ + pre_hooks?: PreHook[]; + /** + * - Tasks to be run after state transition + */ + post_hooks?: PostHook[]; + /** + * - Various flags related to the transition. These + * include options and settings that influence the behavior of the state + * transition, such as whether partial transitions are allowed or whether the + * transition can break the entity. + */ + flags?: Flags; +}; +/** @returns {TransitionConfigCondition} */ +declare function TransitionConfigCondition(): TransitionConfigCondition; +type TransitionConfigCondition = { + /** + * - The unique identifier of the application to which + * the configuration applies. + */ + app_id: string; + /** + * - The channel through which the order was + * placed, such as ECOMM or another specified channel. + */ + ordering_channel: string; + /** + * - The type of entity that the configuration pertains to. + */ + entity: string; +}; +/** @returns {TransitionConfigData} */ +declare function TransitionConfigData(): TransitionConfigData; +type TransitionConfigData = { + /** + * - Conditions that must be + * met for the ESM config to be applied. + */ + conditions?: TransitionConfigCondition; + /** + * - The configuration settings for the entity + * transition. This includes pre_hooks, post_hooks, and flags for each + * transition state. + */ + configs?: Config[]; +}; +/** @returns {TransitionConfigPayload} */ +declare function TransitionConfigPayload(): TransitionConfigPayload; +type TransitionConfigPayload = { + data?: TransitionConfigData; +}; /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {BagReasonMeta} */ @@ -6298,23 +6882,13 @@ type Brand = { modified_on?: string; id?: number; }; -/** @returns {Attributes} */ -declare function Attributes(): Attributes; -type Attributes = { - primary_material?: string; - essential?: string; - marketer_name?: string; - primary_color?: string; - marketer_address?: string; - primary_color_hex?: string; - brand_name?: string; - name?: string; - gender?: string[]; -}; /** @returns {Item} */ declare function Item(): Item; type Item = { - attributes: Attributes; + /** + * - A dictionary of product attributes + */ + attributes: any; brand_id: number; slug_key: string; webstore_product_url?: string; diff --git a/sdk/platform/Order/OrderPlatformModel.js b/sdk/platform/Order/OrderPlatformModel.js index a652da9ae..6e892e1bc 100644 --- a/sdk/platform/Order/OrderPlatformModel.js +++ b/sdk/platform/Order/OrderPlatformModel.js @@ -23,10 +23,11 @@ const Joi = require("joi"); /** * @typedef ErrorResponse - * @property {number} [status] - * @property {boolean} [success] - * @property {string} message - * @property {string} [error_trace] + * @property {number} [status] - The HTTP status code corresponding to the error. + * @property {boolean} [success] - Indicates whether the operation was + * successful. Always false in the case of an error. + * @property {string} message - A message describing the error that occurred. + * @property {string} [error_trace] - Error trace of the error that occurred. * @property {string} [error] */ @@ -1681,15 +1682,230 @@ const Joi = require("joi"); * @property {string} [error] - Error String. */ +/** + * @typedef ConfigData + * @property {boolean} [acknowledged] - Indicates whether the update operation + * was acknowledged by the database. + * @property {boolean} [is_upserted] - Indicates whether the update operation + * resulted in an upsert (an update or insert). + * @property {boolean} [is_inserted] - Indicates whether the update operation + * resulted in a new document being inserted. + */ + +/** + * @typedef ConfigUpdatedResponse + * @property {ConfigData[]} data - The result of the config update operation, + * including whether it was acknowledged, upserted, or inserted. + * @property {boolean} success - Indicates whether the config update operation + * was successful. + */ + +/** + * @typedef FlagData + * @property {Object} [value] + * @property {Object} [filter] + */ + +/** + * @typedef Flags + * @property {FlagData[]} [allow_partial_transition] - Indicates whether a + * partial transition of bags to the next state is permissible, allowing some + * bags to progress while others remain in the current state. + * @property {FlagData[]} [can_break_entity] - Specifies whether bags within a + * shipment, set,cdf or entity can be broken individually or as a group. If + * set to false, all bags within the entity must remain together and + * transition together to the same state. + * @property {FlagData[]} [allowed_bag_updates] - Specifies which fields are + * permitted to be updated at the bag level. Allowed fields are: + * + * - Meta + * - Pdf_links + * - Affiliate_meta + * - Delivery_awb_number + * - Store_invoice_id + * - Store_id + * - Return_store_id + * - Eway_bill_id + * + * @property {FlagData[]} [allowed_bag_status_updates] - Specifies which fields + * are permitted to be updated at the bag status level. Allowed fields are: + * + * - Json + * + * @property {FlagData[]} [allowed_entity_updates] - Specifies which fields are + * permitted to be updated at shipment level. Allowed fields are: + * + * - Meta + * - Pdf_links + * - Affiliate_meta + * - Delivery_awb_number + * - Store_invoice_id + * - Store_id + * - Return_store_id + * - Eway_bill_id + * - Logistics_meta + * + * @property {FlagData[]} [allowed_entity_status_updates] - Specifies which + * fields are permitted to be updated at the Entity status level. Allowed fields are: + * + * - Json + * + * @property {FlagData[]} [status_update_type] - Describes the type of journey + * associated with the particular status of the shipment. Possible values are: + * + * - Positive + * - Negative + * + * @property {FlagData[]} [is_bag_status_reason_allowed] - Indicates whether a + * reason at the product level should be allowed for a particular status. + * @property {FlagData[]} [is_entity_status_reason_allowed] - Indicates whether + * a reason at the shipment level should be allowed for a particular status. + * @property {FlagData[]} [transition_strategy] - This flag is used to define + * the shipment breaking strategy. Possible values are: + * + * - Break_shipment_based_on_location_reassignment + * - Break_shipment_based_on_groups + * - Break_shipment_based_on_stormbreaker + */ + +/** + * @typedef Filter + * @property {string} [order_type] - Indicates the type or category of the order. + * + * - PickAtStore: Pick from store + * - HomeDelivery: Home delivery + * - Digital: Digital + * + * @property {boolean} [is_partial_transition] - Specifies whether a partial + * transition of the order is allowed, allowing some components to progress + * while others remain in the current state. + * @property {boolean} [auto_trigger_dp_assignment_acf] - Indicates whether the + * assignment of a designated person is automatically triggered in the context of ACF. + * @property {string} [lock_status] - Indicates the current locking status of + * the shipment. + * + * - `complete`: Complete shipment lock + * - `operational`: Operational shipment lock + * - `None`: No lock on shipment + * + * @property {boolean} [lock_after_transition] - Specifies whether locking is + * required after transitioning to the next status. lock_after_transition : + * true - Lock Transition enabled lock_after_transition : false - Lock + * Transition set false + * @property {boolean} [resume_tasks_after_unlock] - Indicates whether tasks + * should resume automatically after unlocking, such as DP assignment task and + * invoicing task. + * @property {boolean} [is_invoice_id_present] - Indicates whether an invoice ID + * is present for the order. + * @property {boolean} [is_credit_note_generated] - Indicates whether a credit + * note has been generated for the order. + * @property {boolean} [fulfill_virtual_invoice] - Specifies whether an + * automated virtual invoice ID is associated with the order. + * @property {string} [next_status] - Indicates the next status to which the + * order will transition. + * @property {boolean} [is_hook_enabled] - Indicates whether a task is enabled + * for the order. + * @property {boolean} [pos_credit_note_check] - Specifies whether a credit note + * check is performed in a point of sale (POS) scenario. + * @property {string} [order_platform] - Specifies the platform on which the + * order was placed. + * + * - `platform-pos`: POS + * - `platform-site`: WEB + * - `openapi`: OPENAPI + * - `marketplace`: MARKETPLACE + * + * @property {string} [refund_type] - Indicates the type of refund associated + * with the order. + * + * - `credit_note`: CREDIT_NOTE + * - `source`: SOURCE + * - `bank_transfer`: BANK + * - `manual_refund`: MANUAL_REFUND + * + * @property {boolean} [is_non_pos_platform] - Specifies whether the platform is + * non-point of sale (POS) in nature. + * @property {boolean} [is_self_ship] - Indicates whether the order is + * self-shipped by the seller. + * @property {string} [seller_country_code] - Specifies the country code of the seller. + * + * - `seller_country_code`: US + * - `seller_country_code`: UK + * - `seller_country_code`: IN + * + * @property {string} [customer_country_code] - Specifies the country code of the seller. + * + * - `customer_country_code`: US + * - `customer_country_code`: UK + * - `customer_country_code`: IN + * + * @property {boolean} [is_test_order] - Indicates whether the order is a test + * order used for testing purposes - `is_test_order` : True - indicates test order + * @property {string[]} [task_trigger_condition] - Specifies trigger conditions: + * + * - `status_update`: Status Update + * - `data_update`: Data Update + */ + +/** + * @typedef PostHook + * @property {string} task - Name of the hook that has to be added + * @property {Object} [kwargs] - Additional parameters for the hook + * @property {Filter} [filters] - Filters for scope selection. + */ + +/** + * @typedef PreHook + * @property {string} task - Name of the hook that has to be added + * @property {Object} [kwargs] - Additional parameters for the hook + * @property {Filter} [filters] - Filter + */ + +/** + * @typedef Config + * @property {string} [from_state] - Source state from which state transition + * will take place + * @property {string} [to_state] - Target state to which state transition will take place + * @property {PreHook[]} [pre_hooks] - Tasks to be run before state transition + * @property {PostHook[]} [post_hooks] - Tasks to be run after state transition + * @property {Flags} [flags] - Various flags related to the transition. These + * include options and settings that influence the behavior of the state + * transition, such as whether partial transitions are allowed or whether the + * transition can break the entity. + */ + +/** + * @typedef TransitionConfigCondition + * @property {string} app_id - The unique identifier of the application to which + * the configuration applies. + * @property {string} ordering_channel - The channel through which the order was + * placed, such as ECOMM or another specified channel. + * @property {string} entity - The type of entity that the configuration pertains to. + */ + +/** + * @typedef TransitionConfigData + * @property {TransitionConfigCondition} [conditions] - Conditions that must be + * met for the ESM config to be applied. + * @property {Config[]} [configs] - The configuration settings for the entity + * transition. This includes pre_hooks, post_hooks, and flags for each + * transition state. + */ + +/** + * @typedef TransitionConfigPayload + * @property {TransitionConfigData} [data] + */ + /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** @@ -2959,22 +3175,9 @@ const Joi = require("joi"); * @property {number} [id] */ -/** - * @typedef Attributes - * @property {string} [primary_material] - * @property {string} [essential] - * @property {string} [marketer_name] - * @property {string} [primary_color] - * @property {string} [marketer_address] - * @property {string} [primary_color_hex] - * @property {string} [brand_name] - * @property {string} [name] - * @property {string[]} [gender] - */ - /** * @typedef Item - * @property {Attributes} attributes + * @property {Object} attributes - A dictionary of product attributes * @property {number} brand_id * @property {string} slug_key * @property {string} [webstore_product_url] @@ -5273,6 +5476,136 @@ class OrderPlatformModel { }); } + /** @returns {ConfigData} */ + static ConfigData() { + return Joi.object({ + acknowledged: Joi.boolean(), + is_upserted: Joi.boolean(), + is_inserted: Joi.boolean(), + }); + } + + /** @returns {ConfigUpdatedResponse} */ + static ConfigUpdatedResponse() { + return Joi.object({ + data: Joi.array().items(OrderPlatformModel.ConfigData()).required(), + success: Joi.boolean().required(), + }); + } + + /** @returns {FlagData} */ + static FlagData() { + return Joi.object({ + value: Joi.any(), + filter: Joi.any(), + }); + } + + /** @returns {Flags} */ + static Flags() { + return Joi.object({ + allow_partial_transition: Joi.array().items( + OrderPlatformModel.FlagData() + ), + can_break_entity: Joi.array().items(OrderPlatformModel.FlagData()), + allowed_bag_updates: Joi.array().items(OrderPlatformModel.FlagData()), + allowed_bag_status_updates: Joi.array().items( + OrderPlatformModel.FlagData() + ), + allowed_entity_updates: Joi.array().items(OrderPlatformModel.FlagData()), + allowed_entity_status_updates: Joi.array().items( + OrderPlatformModel.FlagData() + ), + status_update_type: Joi.array().items(OrderPlatformModel.FlagData()), + is_bag_status_reason_allowed: Joi.array().items( + OrderPlatformModel.FlagData() + ), + is_entity_status_reason_allowed: Joi.array().items( + OrderPlatformModel.FlagData() + ), + transition_strategy: Joi.array().items(OrderPlatformModel.FlagData()), + }); + } + + /** @returns {Filter} */ + static Filter() { + return Joi.object({ + order_type: Joi.string().allow(""), + is_partial_transition: Joi.boolean(), + auto_trigger_dp_assignment_acf: Joi.boolean(), + lock_status: Joi.string().allow(""), + lock_after_transition: Joi.boolean(), + resume_tasks_after_unlock: Joi.boolean(), + is_invoice_id_present: Joi.boolean(), + is_credit_note_generated: Joi.boolean(), + fulfill_virtual_invoice: Joi.boolean(), + next_status: Joi.string().allow(""), + is_hook_enabled: Joi.boolean(), + pos_credit_note_check: Joi.boolean(), + order_platform: Joi.string().allow(""), + refund_type: Joi.string().allow(""), + is_non_pos_platform: Joi.boolean(), + is_self_ship: Joi.boolean(), + seller_country_code: Joi.string().allow(""), + customer_country_code: Joi.string().allow(""), + is_test_order: Joi.boolean(), + task_trigger_condition: Joi.array().items(Joi.string().allow("")), + }); + } + + /** @returns {PostHook} */ + static PostHook() { + return Joi.object({ + task: Joi.string().allow("").required(), + kwargs: Joi.object().pattern(/\S/, Joi.any()), + filters: OrderPlatformModel.Filter(), + }); + } + + /** @returns {PreHook} */ + static PreHook() { + return Joi.object({ + task: Joi.string().allow("").required(), + kwargs: Joi.object().pattern(/\S/, Joi.any()), + filters: OrderPlatformModel.Filter(), + }); + } + + /** @returns {Config} */ + static Config() { + return Joi.object({ + from_state: Joi.string().allow(""), + to_state: Joi.string().allow(""), + pre_hooks: Joi.array().items(OrderPlatformModel.PreHook()), + post_hooks: Joi.array().items(OrderPlatformModel.PostHook()), + flags: OrderPlatformModel.Flags(), + }); + } + + /** @returns {TransitionConfigCondition} */ + static TransitionConfigCondition() { + return Joi.object({ + app_id: Joi.string().allow("").required(), + ordering_channel: Joi.string().allow("").required(), + entity: Joi.string().allow("").required(), + }); + } + + /** @returns {TransitionConfigData} */ + static TransitionConfigData() { + return Joi.object({ + conditions: OrderPlatformModel.TransitionConfigCondition(), + configs: Joi.array().items(OrderPlatformModel.Config()), + }); + } + + /** @returns {TransitionConfigPayload} */ + static TransitionConfigPayload() { + return Joi.object({ + data: OrderPlatformModel.TransitionConfigData(), + }); + } + /** @returns {Page} */ static Page() { return Joi.object({ @@ -6789,25 +7122,10 @@ class OrderPlatformModel { }); } - /** @returns {Attributes} */ - static Attributes() { - return Joi.object({ - primary_material: Joi.string().allow("").allow(null), - essential: Joi.string().allow("").allow(null), - marketer_name: Joi.string().allow("").allow(null), - primary_color: Joi.string().allow("").allow(null), - marketer_address: Joi.string().allow("").allow(null), - primary_color_hex: Joi.string().allow("").allow(null), - brand_name: Joi.string().allow("").allow(null), - name: Joi.string().allow("").allow(null), - gender: Joi.array().items(Joi.string().allow("")).allow(null, ""), - }); - } - /** @returns {Item} */ static Item() { return Joi.object({ - attributes: OrderPlatformModel.Attributes().required(), + attributes: Joi.any().required(), brand_id: Joi.number().required(), slug_key: Joi.string().allow("").required(), webstore_product_url: Joi.string().allow("").allow(null), diff --git a/sdk/platform/Order/OrderPlatformValidator.d.ts b/sdk/platform/Order/OrderPlatformValidator.d.ts index 11fb23c5a..f0affdd52 100644 --- a/sdk/platform/Order/OrderPlatformValidator.d.ts +++ b/sdk/platform/Order/OrderPlatformValidator.d.ts @@ -1,4 +1,8 @@ export = OrderPlatformValidator; +/** + * @typedef AddStateManagerConfigParam + * @property {OrderPlatformModel.TransitionConfigPayload} body + */ /** * @typedef AttachOrderUserParam * @property {OrderPlatformModel.AttachOrderUser} body @@ -283,6 +287,12 @@ export = OrderPlatformValidator; * @property {string} [customerId] * @property {string} [orderType] */ +/** + * @typedef GetStateManagerConfigParam + * @property {string} [appId] - The unique identifier of the application. + * @property {string} [orderingChannel] - The channel through which orders are placed. + * @property {string} [entity] - The entity for which the configuration is applied. + */ /** @typedef GetStateTransitionMapParam */ /** * @typedef GetTemplateParam @@ -373,6 +383,8 @@ export = OrderPlatformValidator; * @property {OrderPlatformModel.VerifyMobileOTP} body */ declare class OrderPlatformValidator { + /** @returns {AddStateManagerConfigParam} */ + static addStateManagerConfig(): AddStateManagerConfigParam; /** @returns {AttachOrderUserParam} */ static attachOrderUser(): AttachOrderUserParam; /** @returns {BulkListingParam} */ @@ -447,6 +459,8 @@ declare class OrderPlatformValidator { static getShipmentReasons(): GetShipmentReasonsParam; /** @returns {GetShipmentsParam} */ static getShipments(): GetShipmentsParam; + /** @returns {GetStateManagerConfigParam} */ + static getStateManagerConfig(): GetStateManagerConfigParam; /** @returns {GetStateTransitionMapParam} */ static getStateTransitionMap(): any; /** @returns {GetTemplateParam} */ @@ -487,8 +501,11 @@ declare class OrderPlatformValidator { static verifyMobileOTP(): VerifyMobileOTPParam; } declare namespace OrderPlatformValidator { - export { AttachOrderUserParam, BulkListingParam, BulkStateTransistionParam, CheckOrderStatusParam, CreateChannelConfigParam, CreateOrderParam, DispatchManifestsParam, DownloadBulkActionTemplateParam, DownloadLanesReportParam, EInvoiceRetryParam, FailedOrderLogDetailsParam, FetchCreditBalanceDetailParam, FetchRefundModeConfigParam, GenerateInvoiceIDParam, GeneratePOSReceiptByOrderIdParam, GenerateProcessManifestParam, GetAllowedStateTransitionParam, GetAllowedTemplatesForBulkParam, GetAnnouncementsParam, GetBagByIdParam, GetBagsParam, GetBulkActionTemplateParam, GetBulkShipmentExcelFileParam, GetChannelConfigParam, GetFileByStatusParam, GetLaneConfigParam, GetManifestDetailsParam, GetManifestShipmentsParam, GetManifestfiltersParam, GetManifestsParam, GetOrderByIdParam, GetOrdersParam, GetRoleBasedActionsParam, GetShipmentByIdParam, GetShipmentHistoryParam, GetShipmentReasonsParam, GetShipmentsParam, GetStateTransitionMapParam, GetTemplateParam, GetfiltersParam, InvalidateShipmentCacheParam, JobDetailsParam, OrderUpdateParam, PostShipmentHistoryParam, ProcessManifestsParam, ReassignLocationParam, SendSmsNinjaParam, SendUserMobileOTPParam, TrackShipmentParam, UpdateAddressParam, UpdatePackagingDimensionsParam, UpdateShipmentLockParam, UpdateShipmentStatusParam, UpdateShipmentTrackingParam, UploadConsentsParam, VerifyMobileOTPParam }; + export { AddStateManagerConfigParam, AttachOrderUserParam, BulkListingParam, BulkStateTransistionParam, CheckOrderStatusParam, CreateChannelConfigParam, CreateOrderParam, DispatchManifestsParam, DownloadBulkActionTemplateParam, DownloadLanesReportParam, EInvoiceRetryParam, FailedOrderLogDetailsParam, FetchCreditBalanceDetailParam, FetchRefundModeConfigParam, GenerateInvoiceIDParam, GeneratePOSReceiptByOrderIdParam, GenerateProcessManifestParam, GetAllowedStateTransitionParam, GetAllowedTemplatesForBulkParam, GetAnnouncementsParam, GetBagByIdParam, GetBagsParam, GetBulkActionTemplateParam, GetBulkShipmentExcelFileParam, GetChannelConfigParam, GetFileByStatusParam, GetLaneConfigParam, GetManifestDetailsParam, GetManifestShipmentsParam, GetManifestfiltersParam, GetManifestsParam, GetOrderByIdParam, GetOrdersParam, GetRoleBasedActionsParam, GetShipmentByIdParam, GetShipmentHistoryParam, GetShipmentReasonsParam, GetShipmentsParam, GetStateManagerConfigParam, GetStateTransitionMapParam, GetTemplateParam, GetfiltersParam, InvalidateShipmentCacheParam, JobDetailsParam, OrderUpdateParam, PostShipmentHistoryParam, ProcessManifestsParam, ReassignLocationParam, SendSmsNinjaParam, SendUserMobileOTPParam, TrackShipmentParam, UpdateAddressParam, UpdatePackagingDimensionsParam, UpdateShipmentLockParam, UpdateShipmentStatusParam, UpdateShipmentTrackingParam, UploadConsentsParam, VerifyMobileOTPParam }; } +type AddStateManagerConfigParam = { + body: OrderPlatformModel.TransitionConfigPayload; +}; type AttachOrderUserParam = { body: OrderPlatformModel.AttachOrderUser; }; @@ -1054,6 +1071,20 @@ type GetShipmentsParam = { customerId?: string; orderType?: string; }; +type GetStateManagerConfigParam = { + /** + * - The unique identifier of the application. + */ + appId?: string; + /** + * - The channel through which orders are placed. + */ + orderingChannel?: string; + /** + * - The entity for which the configuration is applied. + */ + entity?: string; +}; type GetTemplateParam = { templateName: string; }; diff --git a/sdk/platform/Order/OrderPlatformValidator.js b/sdk/platform/Order/OrderPlatformValidator.js index f5931597e..ad60177d1 100644 --- a/sdk/platform/Order/OrderPlatformValidator.js +++ b/sdk/platform/Order/OrderPlatformValidator.js @@ -2,6 +2,11 @@ const Joi = require("joi"); const OrderPlatformModel = require("./OrderPlatformModel"); +/** + * @typedef AddStateManagerConfigParam + * @property {OrderPlatformModel.TransitionConfigPayload} body + */ + /** * @typedef AttachOrderUserParam * @property {OrderPlatformModel.AttachOrderUser} body @@ -323,6 +328,13 @@ const OrderPlatformModel = require("./OrderPlatformModel"); * @property {string} [orderType] */ +/** + * @typedef GetStateManagerConfigParam + * @property {string} [appId] - The unique identifier of the application. + * @property {string} [orderingChannel] - The channel through which orders are placed. + * @property {string} [entity] - The entity for which the configuration is applied. + */ + /** @typedef GetStateTransitionMapParam */ /** @@ -432,6 +444,13 @@ const OrderPlatformModel = require("./OrderPlatformModel"); */ class OrderPlatformValidator { + /** @returns {AddStateManagerConfigParam} */ + static addStateManagerConfig() { + return Joi.object({ + body: OrderPlatformModel.TransitionConfigPayload().required(), + }).required(); + } + /** @returns {AttachOrderUserParam} */ static attachOrderUser() { return Joi.object({ @@ -812,6 +831,15 @@ class OrderPlatformValidator { }).required(); } + /** @returns {GetStateManagerConfigParam} */ + static getStateManagerConfig() { + return Joi.object({ + appId: Joi.string().allow(""), + orderingChannel: Joi.string().allow(""), + entity: Joi.string().allow(""), + }).required(); + } + /** @returns {GetStateTransitionMapParam} */ static getStateTransitionMap() { return Joi.object({}).required(); diff --git a/sdk/platform/Payment/PaymentPlatformModel.d.ts b/sdk/platform/Payment/PaymentPlatformModel.d.ts index b1753afaa..92c006d44 100644 --- a/sdk/platform/Payment/PaymentPlatformModel.d.ts +++ b/sdk/platform/Payment/PaymentPlatformModel.d.ts @@ -507,13 +507,13 @@ export = PaymentPlatformModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef EdcDeviceListResponse @@ -701,7 +701,7 @@ export = PaymentPlatformModel; /** * @typedef ValidateCustomerResponse * @property {string} message - Error or success message. - * @property {Object} data - Payment gateway response data + * @property {Object} [data] - Payment gateway response data * @property {boolean} success - Response is successful or not */ /** @@ -2490,12 +2490,33 @@ type EdcDeviceUpdateResponse = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {EdcDeviceListResponse} */ @@ -2984,7 +3005,7 @@ type ValidateCustomerResponse = { /** * - Payment gateway response data */ - data: any; + data?: any; /** * - Response is successful or not */ diff --git a/sdk/platform/Payment/PaymentPlatformModel.js b/sdk/platform/Payment/PaymentPlatformModel.js index 64c33d15a..73b57c343 100644 --- a/sdk/platform/Payment/PaymentPlatformModel.js +++ b/sdk/platform/Payment/PaymentPlatformModel.js @@ -573,13 +573,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** @@ -788,7 +788,7 @@ const Joi = require("joi"); /** * @typedef ValidateCustomerResponse * @property {string} message - Error or success message. - * @property {Object} data - Payment gateway response data + * @property {Object} [data] - Payment gateway response data * @property {boolean} success - Response is successful or not */ @@ -2297,7 +2297,7 @@ class PaymentPlatformModel { static ValidateCustomerResponse() { return Joi.object({ message: Joi.string().allow("").required(), - data: Joi.any().required(), + data: Joi.any(), success: Joi.boolean().required(), }); } diff --git a/sdk/platform/PlatformClient.d.ts b/sdk/platform/PlatformClient.d.ts index 16f45f1ae..a7800843a 100644 --- a/sdk/platform/PlatformClient.d.ts +++ b/sdk/platform/PlatformClient.d.ts @@ -46,6 +46,14 @@ declare class PlatformClient { * @throws {FDKClientValidationError} When the provided header is not an object. */ setExtraHeaders(header: object): void; + request({ method, url, query, body, headers, responseHeaders, }: { + method: any; + url: any; + query: any; + body: any; + headers: any; + responseHeaders?: boolean; + }): Promise>; } import AuditTrail = require("./AuditTrail/AuditTrailPlatformClient"); import Billing = require("./Billing/BillingPlatformClient"); diff --git a/sdk/platform/PlatformClient.js b/sdk/platform/PlatformClient.js index cec3e32e2..3bf7c55a7 100644 --- a/sdk/platform/PlatformClient.js +++ b/sdk/platform/PlatformClient.js @@ -34,6 +34,7 @@ const Webhook = require("./Webhook/WebhookPlatformClient"); const PlatformApplicationClient = require("./PlatformApplicationClient"); const { FDKClientValidationError } = require("../common/FDKError"); +const { execute } = require("./PlatformAPIClient"); /** * Represents the client for the platform. @@ -115,6 +116,19 @@ class PlatformClient { throw new FDKClientValidationError("Context value should be an object"); } } + + async request({ + method, + url, + query, + body, + headers, + responseHeaders = false, + }) { + return await execute(this.config, method, url, query, body, headers, { + responseHeaders, + }); + } } module.exports = PlatformClient; diff --git a/sdk/platform/Rewards/RewardsPlatformModel.d.ts b/sdk/platform/Rewards/RewardsPlatformModel.d.ts index 5a754b64a..667305101 100644 --- a/sdk/platform/Rewards/RewardsPlatformModel.d.ts +++ b/sdk/platform/Rewards/RewardsPlatformModel.d.ts @@ -50,13 +50,13 @@ export = RewardsPlatformModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef Offer @@ -226,12 +226,33 @@ type RewardsRule = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {Offer} */ diff --git a/sdk/platform/Rewards/RewardsPlatformModel.js b/sdk/platform/Rewards/RewardsPlatformModel.js index 515703709..f1f2b3fc6 100644 --- a/sdk/platform/Rewards/RewardsPlatformModel.js +++ b/sdk/platform/Rewards/RewardsPlatformModel.js @@ -58,13 +58,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** diff --git a/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts b/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts index eb9c4ae7b..4e632145c 100644 --- a/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts +++ b/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts @@ -9,13 +9,14 @@ declare class Serviceability { * * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - - * Success response + * @returns {Promise} + * - Success response + * * @name createCourierPartnerRule * @summary: Create rourier rule * @description: Creates a rule within the delivery configuration. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/serviceability/createCourierPartnerRule/). */ - createCourierPartnerRule({ body, requestHeaders }?: ServiceabilityPlatformApplicationValidator.CreateCourierPartnerRuleParam, { responseHeaders }?: object): Promise; + createCourierPartnerRule({ body, requestHeaders }?: ServiceabilityPlatformApplicationValidator.CreateCourierPartnerRuleParam, { responseHeaders }?: object): Promise; /** * @param {ServiceabilityPlatformApplicationValidator.CreateStoreRulesParam} arg * - Arg object @@ -76,13 +77,14 @@ declare class Serviceability { * * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - - * Success response + * @returns {Promise} + * - Success response + * * @name getCourierPartnerRule * @summary: Get courier rule * @description: Retrieves a single rule within the delivery configuration. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/serviceability/getCourierPartnerRule/). */ - getCourierPartnerRule({ ruleId, requestHeaders }?: ServiceabilityPlatformApplicationValidator.GetCourierPartnerRuleParam, { responseHeaders }?: object): Promise; + getCourierPartnerRule({ ruleId, requestHeaders }?: ServiceabilityPlatformApplicationValidator.GetCourierPartnerRuleParam, { responseHeaders }?: object): Promise; /** * @param {ServiceabilityPlatformApplicationValidator.GetCourierPartnerRulesParam} arg * - Arg object @@ -183,13 +185,14 @@ declare class Serviceability { * * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - - * Success response + * @returns {Promise} + * - Success response + * * @name updateCourierRule * @summary: Update courier rule * @description: Updates an existing rule within the delivery configuration. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/serviceability/updateCourierRule/). */ - updateCourierRule({ ruleId, body, requestHeaders }?: ServiceabilityPlatformApplicationValidator.UpdateCourierRuleParam, { responseHeaders }?: object): Promise; + updateCourierRule({ ruleId, body, requestHeaders }?: ServiceabilityPlatformApplicationValidator.UpdateCourierRuleParam, { responseHeaders }?: object): Promise; /** * @param {ServiceabilityPlatformApplicationValidator.UpdatePincodeAuditHistoryParam} arg * - Arg object diff --git a/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js b/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js index 22dd0ef5a..05bbfa548 100644 --- a/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js +++ b/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js @@ -21,8 +21,9 @@ class Serviceability { * * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - - * Success response + * @returns {Promise} + * - Success response + * * @name createCourierPartnerRule * @summary: Create rourier rule * @description: Creates a rule within the delivery configuration. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/serviceability/createCourierPartnerRule/). @@ -78,7 +79,7 @@ class Serviceability { const { error: res_error, - } = ServiceabilityPlatformModel.CourierPartnerRule().validate( + } = ServiceabilityPlatformModel.CourierPartnerRuleResponse().validate( responseData, { abortEarly: false, allowUnknown: true } ); @@ -421,8 +422,9 @@ class Serviceability { * * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - - * Success response + * @returns {Promise} + * - Success response + * * @name getCourierPartnerRule * @summary: Get courier rule * @description: Retrieves a single rule within the delivery configuration. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/serviceability/getCourierPartnerRule/). @@ -478,7 +480,7 @@ class Serviceability { const { error: res_error, - } = ServiceabilityPlatformModel.CourierPartnerRule().validate( + } = ServiceabilityPlatformModel.CourierPartnerRuleResponse().validate( responseData, { abortEarly: false, allowUnknown: true } ); @@ -1094,8 +1096,9 @@ class Serviceability { * * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` * @param {import("../PlatformAPIClient").Options} - Options - * @returns {Promise} - - * Success response + * @returns {Promise} + * - Success response + * * @name updateCourierRule * @summary: Update courier rule * @description: Updates an existing rule within the delivery configuration. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/platform/serviceability/updateCourierRule/). @@ -1153,7 +1156,7 @@ class Serviceability { const { error: res_error, - } = ServiceabilityPlatformModel.CourierPartnerRule().validate( + } = ServiceabilityPlatformModel.CourierPartnerRuleResponse().validate( responseData, { abortEarly: false, allowUnknown: true } ); diff --git a/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts b/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts index 14cb98079..0f0982844 100644 --- a/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +++ b/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts @@ -92,14 +92,18 @@ export = ServiceabilityPlatformModel; */ /** * @typedef ListViewItems - * @property {string} zone_id - * @property {string} name - * @property {string} slug - * @property {number} stores_count - * @property {boolean} is_active - * @property {number} regions_count - * @property {number} company_id - * @property {ListViewChannels[]} channels + * @property {string} zone_id - The unique identifier for the zone. + * @property {string} name - The name of the zone. + * @property {string} slug - A human-readable and unique identifier for the + * zone, derived from the name. + * @property {number} stores_count - The number of stores within the zone. + * @property {boolean} is_active - A flag indicating whether the zone is active. + * @property {number} regions_count - The number of regions within the zone. + * @property {number} company_id - The unique identifier for the company to + * which the zone belongs. + * @property {number[]} [store_ids] - A list of store identifiers associated + * with the zone. + * @property {ListViewChannels[]} channels - The name of the zone. */ /** * @typedef ListViewResponse @@ -543,20 +547,40 @@ export = ServiceabilityPlatformModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. + */ +/** + * @typedef CourierPartnerRuleCPListResponse + * @property {string} [account_id] + * @property {string} [extension_id] + * @property {boolean} [is_self_ship] + * @property {Object} [scheme_rules] + */ +/** + * @typedef CourierPartnerRuleResponse + * @property {boolean} [is_active] + * @property {string} [application_id] + * @property {number} [company_id] + * @property {CourierPartnerRuleConditions} [conditions] + * @property {string[]} [sort] + * @property {Object} [created_by] + * @property {string} [id] + * @property {Object} [modified_by] + * @property {string} [modified_on] + * @property {string} [name] + * @property {string} [type] + * @property {CourierPartnerRuleCPListResponse[]} [cp_list] */ /** * @typedef CourierPartnerList * @property {string} extension_id * @property {string} account_id - * @property {string} name - * @property {boolean} is_self_ship */ /** * @typedef LocationRuleValues @@ -614,7 +638,7 @@ export = ServiceabilityPlatformModel; */ /** * @typedef CourierPartnerRulesListResponse - * @property {CourierPartnerRule[]} items + * @property {CourierPartnerRuleResponse[]} items * @property {Page} page */ /** @@ -1003,7 +1027,7 @@ export = ServiceabilityPlatformModel; declare class ServiceabilityPlatformModel { } declare namespace ServiceabilityPlatformModel { - export { UpdateZoneConfigRequest, ServiceabilityErrorResponse, ApplicationServiceabilityConfig, ApplicationServiceabilityConfigResponse, EntityRegionView_Request, EntityRegionView_Error, EntityRegionView_page, getAppRegionZonesResponse, PageSchema, EntityRegionView_Items, EntityRegionView_Response, ListViewSummary, ZoneDataItem, ListViewProduct, ListViewChannels, ListViewItems, ListViewResponse, CompanyStoreView_PageItems, CompanyStoreView_Response, GetZoneDataViewChannels, ZoneProductTypes, ZoneMappingType, UpdateZoneData, ZoneUpdateRequest, ZoneSuccessResponse, GetZoneDataViewItems, GetSingleZoneDataViewResponse, GetZoneByIdSchema, CreateZoneData, ZoneResponse, GetZoneFromPincodeViewRequest, Zone, GetZoneFromPincodeViewResponse, GetZoneFromApplicationIdViewResponse, ServiceabilityPageResponse, MobileNo, ManagerResponse, ModifiedByResponse, IntegrationTypeResponse, ProductReturnConfigResponse, ContactNumberResponse, AddressResponse, CreatedByResponse, EwayBillResponse, EinvoiceResponse, GstCredentialsResponse, WarningsResponse, OpeningClosing, TimmingResponse, DocumentsResponse, Dp, LogisticsResponse, ItemResponse, GetStoresViewResponse, PincodeMopData, PincodeMopUpdateResponse, PincodeMOPresponse, CommonError, PincodeMopBulkData, PincodeBulkViewResponse, PincodeCodStatusListingRequest, PincodeCodStatusListingResponse, Error, PincodeCodStatusListingPage, PincodeCodStatusListingSummary, PincodeMopUpdateAuditHistoryRequest, PincodeMopUpdateAuditHistoryPaging, PincodeMopUpdateAuditHistoryResponse, PincodeMopUpdateAuditHistoryResponseData, ArithmeticOperations, SchemeRulesFeatures, SchemeRules, CourierAccount, CourierAccountRequestBody, ErrorResponse, CourierPartnerAccountFailureResponse, Page, CourierPartnerList, LocationRuleValues, LocationRule, StringComparisonOperations, IntComparisonOperations, CourierPartnerRuleConditions, CourierPartnerRule, FailureResponse, CourierPartnerRulesListResponse, CompanyConfig, ZoneConfig, ApplicationConfig, BulkRegionJobSerializer, BulkRegionResponseItemData, BulkRegionResponse, SelfShipResponse, ApplicationSelfShipConfig, ApplicationSelfShipConfigResponse, StoreRuleConfigData, CustomerRadiusSchema, StoreRuleConditionSchema, StoreRuleDataSchema, StorePrioritySchema, GetStoreRulesApiResponse, CreateStoreRuleRequestSchema, StoreRuleResponseSchema, StoreRuleUpdateResponseSchema, ServiceabilityModel, CourierPartnerSchemeFeatures, CourierPartnerSchemeModel, CourierAccountResponse, CompanyCourierPartnerAccountListResponse, PackageMaterial, PackageMaterialResponse, PackageMaterialRule, PackageRule, PackageRuleResponse, Channel, PackageMaterialRuleList, PackageMaterialList, PackageRuleProduct, PackageRuleProductTag, PackageRuleCategory, PackageMaterialRuleQuantity, RulePriorityRequest, RulePriorityResponse, ArticleAssignment, ServiceabilityLocation, LocationDetailsServiceability, OptimalLocationsArticles, OptimlLocationsRequestSchema, OptimalLocationArticlesResponse, OptimalLocationAssignedStoresResponse, OptimalLocationsResponse }; + export { UpdateZoneConfigRequest, ServiceabilityErrorResponse, ApplicationServiceabilityConfig, ApplicationServiceabilityConfigResponse, EntityRegionView_Request, EntityRegionView_Error, EntityRegionView_page, getAppRegionZonesResponse, PageSchema, EntityRegionView_Items, EntityRegionView_Response, ListViewSummary, ZoneDataItem, ListViewProduct, ListViewChannels, ListViewItems, ListViewResponse, CompanyStoreView_PageItems, CompanyStoreView_Response, GetZoneDataViewChannels, ZoneProductTypes, ZoneMappingType, UpdateZoneData, ZoneUpdateRequest, ZoneSuccessResponse, GetZoneDataViewItems, GetSingleZoneDataViewResponse, GetZoneByIdSchema, CreateZoneData, ZoneResponse, GetZoneFromPincodeViewRequest, Zone, GetZoneFromPincodeViewResponse, GetZoneFromApplicationIdViewResponse, ServiceabilityPageResponse, MobileNo, ManagerResponse, ModifiedByResponse, IntegrationTypeResponse, ProductReturnConfigResponse, ContactNumberResponse, AddressResponse, CreatedByResponse, EwayBillResponse, EinvoiceResponse, GstCredentialsResponse, WarningsResponse, OpeningClosing, TimmingResponse, DocumentsResponse, Dp, LogisticsResponse, ItemResponse, GetStoresViewResponse, PincodeMopData, PincodeMopUpdateResponse, PincodeMOPresponse, CommonError, PincodeMopBulkData, PincodeBulkViewResponse, PincodeCodStatusListingRequest, PincodeCodStatusListingResponse, Error, PincodeCodStatusListingPage, PincodeCodStatusListingSummary, PincodeMopUpdateAuditHistoryRequest, PincodeMopUpdateAuditHistoryPaging, PincodeMopUpdateAuditHistoryResponse, PincodeMopUpdateAuditHistoryResponseData, ArithmeticOperations, SchemeRulesFeatures, SchemeRules, CourierAccount, CourierAccountRequestBody, ErrorResponse, CourierPartnerAccountFailureResponse, Page, CourierPartnerRuleCPListResponse, CourierPartnerRuleResponse, CourierPartnerList, LocationRuleValues, LocationRule, StringComparisonOperations, IntComparisonOperations, CourierPartnerRuleConditions, CourierPartnerRule, FailureResponse, CourierPartnerRulesListResponse, CompanyConfig, ZoneConfig, ApplicationConfig, BulkRegionJobSerializer, BulkRegionResponseItemData, BulkRegionResponse, SelfShipResponse, ApplicationSelfShipConfig, ApplicationSelfShipConfigResponse, StoreRuleConfigData, CustomerRadiusSchema, StoreRuleConditionSchema, StoreRuleDataSchema, StorePrioritySchema, GetStoreRulesApiResponse, CreateStoreRuleRequestSchema, StoreRuleResponseSchema, StoreRuleUpdateResponseSchema, ServiceabilityModel, CourierPartnerSchemeFeatures, CourierPartnerSchemeModel, CourierAccountResponse, CompanyCourierPartnerAccountListResponse, PackageMaterial, PackageMaterialResponse, PackageMaterialRule, PackageRule, PackageRuleResponse, Channel, PackageMaterialRuleList, PackageMaterialList, PackageRuleProduct, PackageRuleProductTag, PackageRuleCategory, PackageMaterialRuleQuantity, RulePriorityRequest, RulePriorityResponse, ArticleAssignment, ServiceabilityLocation, LocationDetailsServiceability, OptimalLocationsArticles, OptimlLocationsRequestSchema, OptimalLocationArticlesResponse, OptimalLocationAssignedStoresResponse, OptimalLocationsResponse }; } /** @returns {UpdateZoneConfigRequest} */ declare function UpdateZoneConfigRequest(): UpdateZoneConfigRequest; @@ -1114,13 +1138,44 @@ type ListViewChannels = { /** @returns {ListViewItems} */ declare function ListViewItems(): ListViewItems; type ListViewItems = { + /** + * - The unique identifier for the zone. + */ zone_id: string; + /** + * - The name of the zone. + */ name: string; + /** + * - A human-readable and unique identifier for the + * zone, derived from the name. + */ slug: string; + /** + * - The number of stores within the zone. + */ stores_count: number; + /** + * - A flag indicating whether the zone is active. + */ is_active: boolean; + /** + * - The number of regions within the zone. + */ regions_count: number; + /** + * - The unique identifier for the company to + * which the zone belongs. + */ company_id: number; + /** + * - A list of store identifiers associated + * with the zone. + */ + store_ids?: number[]; + /** + * - The name of the zone. + */ channels: ListViewChannels[]; }; /** @returns {ListViewResponse} */ @@ -1626,21 +1681,64 @@ type CourierPartnerAccountFailureResponse = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; +/** @returns {CourierPartnerRuleCPListResponse} */ +declare function CourierPartnerRuleCPListResponse(): CourierPartnerRuleCPListResponse; +type CourierPartnerRuleCPListResponse = { + account_id?: string; + extension_id?: string; + is_self_ship?: boolean; + scheme_rules?: any; +}; +/** @returns {CourierPartnerRuleResponse} */ +declare function CourierPartnerRuleResponse(): CourierPartnerRuleResponse; +type CourierPartnerRuleResponse = { + is_active?: boolean; + application_id?: string; + company_id?: number; + conditions?: CourierPartnerRuleConditions; + sort?: string[]; + created_by?: any; + id?: string; + modified_by?: any; + modified_on?: string; + name?: string; + type?: string; + cp_list?: CourierPartnerRuleCPListResponse[]; +}; /** @returns {CourierPartnerList} */ declare function CourierPartnerList(): CourierPartnerList; type CourierPartnerList = { extension_id: string; account_id: string; - name: string; - is_self_ship: boolean; }; /** @returns {LocationRuleValues} */ declare function LocationRuleValues(): LocationRuleValues; @@ -1706,7 +1804,7 @@ type FailureResponse = { /** @returns {CourierPartnerRulesListResponse} */ declare function CourierPartnerRulesListResponse(): CourierPartnerRulesListResponse; type CourierPartnerRulesListResponse = { - items: CourierPartnerRule[]; + items: CourierPartnerRuleResponse[]; page: Page; }; /** @returns {CompanyConfig} */ diff --git a/sdk/platform/Serviceability/ServiceabilityPlatformModel.js b/sdk/platform/Serviceability/ServiceabilityPlatformModel.js index 756e55e35..b29d3de18 100644 --- a/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +++ b/sdk/platform/Serviceability/ServiceabilityPlatformModel.js @@ -108,14 +108,18 @@ const Joi = require("joi"); /** * @typedef ListViewItems - * @property {string} zone_id - * @property {string} name - * @property {string} slug - * @property {number} stores_count - * @property {boolean} is_active - * @property {number} regions_count - * @property {number} company_id - * @property {ListViewChannels[]} channels + * @property {string} zone_id - The unique identifier for the zone. + * @property {string} name - The name of the zone. + * @property {string} slug - A human-readable and unique identifier for the + * zone, derived from the name. + * @property {number} stores_count - The number of stores within the zone. + * @property {boolean} is_active - A flag indicating whether the zone is active. + * @property {number} regions_count - The number of regions within the zone. + * @property {number} company_id - The unique identifier for the company to + * which the zone belongs. + * @property {number[]} [store_ids] - A list of store identifiers associated + * with the zone. + * @property {ListViewChannels[]} channels - The name of the zone. */ /** @@ -620,21 +624,43 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. + */ + +/** + * @typedef CourierPartnerRuleCPListResponse + * @property {string} [account_id] + * @property {string} [extension_id] + * @property {boolean} [is_self_ship] + * @property {Object} [scheme_rules] + */ + +/** + * @typedef CourierPartnerRuleResponse + * @property {boolean} [is_active] + * @property {string} [application_id] + * @property {number} [company_id] + * @property {CourierPartnerRuleConditions} [conditions] + * @property {string[]} [sort] + * @property {Object} [created_by] + * @property {string} [id] + * @property {Object} [modified_by] + * @property {string} [modified_on] + * @property {string} [name] + * @property {string} [type] + * @property {CourierPartnerRuleCPListResponse[]} [cp_list] */ /** * @typedef CourierPartnerList * @property {string} extension_id * @property {string} account_id - * @property {string} name - * @property {boolean} is_self_ship */ /** @@ -700,7 +726,7 @@ const Joi = require("joi"); /** * @typedef CourierPartnerRulesListResponse - * @property {CourierPartnerRule[]} items + * @property {CourierPartnerRuleResponse[]} items * @property {Page} page */ @@ -1285,6 +1311,7 @@ class ServiceabilityPlatformModel { is_active: Joi.boolean().required(), regions_count: Joi.number().required(), company_id: Joi.number().required(), + store_ids: Joi.array().items(Joi.number()), channels: Joi.array() .items(ServiceabilityPlatformModel.ListViewChannels()) .required(), @@ -1962,13 +1989,41 @@ class ServiceabilityPlatformModel { }); } + /** @returns {CourierPartnerRuleCPListResponse} */ + static CourierPartnerRuleCPListResponse() { + return Joi.object({ + account_id: Joi.string().allow(""), + extension_id: Joi.string().allow(""), + is_self_ship: Joi.boolean(), + scheme_rules: Joi.any(), + }); + } + + /** @returns {CourierPartnerRuleResponse} */ + static CourierPartnerRuleResponse() { + return Joi.object({ + is_active: Joi.boolean(), + application_id: Joi.string().allow(""), + company_id: Joi.number(), + conditions: ServiceabilityPlatformModel.CourierPartnerRuleConditions(), + sort: Joi.array().items(Joi.string().allow("")), + created_by: Joi.any().allow(null), + id: Joi.string().allow(""), + modified_by: Joi.any().allow(null), + modified_on: Joi.string().allow("").allow(null), + name: Joi.string().allow(""), + type: Joi.string().allow(""), + cp_list: Joi.array().items( + ServiceabilityPlatformModel.CourierPartnerRuleCPListResponse() + ), + }); + } + /** @returns {CourierPartnerList} */ static CourierPartnerList() { return Joi.object({ extension_id: Joi.string().allow("").required(), account_id: Joi.string().allow("").required(), - name: Joi.string().allow("").required(), - is_self_ship: Joi.boolean().required(), }); } @@ -2057,7 +2112,7 @@ class ServiceabilityPlatformModel { static CourierPartnerRulesListResponse() { return Joi.object({ items: Joi.array() - .items(ServiceabilityPlatformModel.CourierPartnerRule()) + .items(ServiceabilityPlatformModel.CourierPartnerRuleResponse()) .required(), page: ServiceabilityPlatformModel.Page().required(), }); diff --git a/sdk/platform/Share/SharePlatformModel.d.ts b/sdk/platform/Share/SharePlatformModel.d.ts index 289a84e2f..412dce4d2 100644 --- a/sdk/platform/Share/SharePlatformModel.d.ts +++ b/sdk/platform/Share/SharePlatformModel.d.ts @@ -87,13 +87,13 @@ export = SharePlatformModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef ShortLinkList @@ -230,12 +230,33 @@ type ShortLinkRes = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {ShortLinkList} */ diff --git a/sdk/platform/Share/SharePlatformModel.js b/sdk/platform/Share/SharePlatformModel.js index 2c8dcc022..34f6acb96 100644 --- a/sdk/platform/Share/SharePlatformModel.js +++ b/sdk/platform/Share/SharePlatformModel.js @@ -99,13 +99,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** diff --git a/sdk/platform/Theme/ThemePlatformModel.d.ts b/sdk/platform/Theme/ThemePlatformModel.d.ts index c816b91b9..6171ab98d 100644 --- a/sdk/platform/Theme/ThemePlatformModel.d.ts +++ b/sdk/platform/Theme/ThemePlatformModel.d.ts @@ -114,7 +114,7 @@ export = ThemePlatformModel; */ /** * @typedef Action - * @property {string} [type] + * @property {string} [type] - Type of action to be taken e.g, page. * @property {ActionPage} [page] * @property {ActionPage} [popup] */ @@ -532,9 +532,9 @@ export = ThemePlatformModel; */ /** * @typedef ActionPage - * @property {Object} [params] - * @property {Object} [query] - * @property {string} [url] + * @property {Object} [params] - Parameters that should be considered in path. + * @property {Object} [query] - Query parameter if any to be added to the action. + * @property {string} [url] - The URL for the action. * @property {PageType} type */ /** @@ -549,6 +549,7 @@ export = ThemePlatformModel; * | "category" * | "collection" * | "collections" + * | "custom" * | "contact-us" * | "external" * | "faq" @@ -779,6 +780,9 @@ type SEObreadcrumb = { /** @returns {Action} */ declare function Action(): Action; type Action = { + /** + * - Type of action to be taken e.g, page. + */ type?: string; page?: ActionPage; popup?: ActionPage; @@ -1593,8 +1597,17 @@ type CompanyPrivateTheme = { /** @returns {ActionPage} */ declare function ActionPage(): ActionPage; type ActionPage = { + /** + * - Parameters that should be considered in path. + */ params?: any; + /** + * - Query parameter if any to be added to the action. + */ query?: any; + /** + * - The URL for the action. + */ url?: string; type: PageType; }; @@ -1604,4 +1617,4 @@ type ActionPage = { * @returns {PageType} */ declare function PageType(): PageType; -type PageType = "about-us" | "addresses" | "blog" | "brands" | "cards" | "cart" | "categories" | "brand" | "category" | "collection" | "collections" | "contact-us" | "external" | "faq" | "freshchat" | "home" | "notification-settings" | "orders" | "page" | "policy" | "product" | "product-request" | "products" | "profile" | "profile-order-shipment" | "profile-basic" | "profile-company" | "profile-emails" | "profile-phones" | "rate-us" | "refer-earn" | "settings" | "shared-cart" | "tnc" | "track-order" | "wishlist" | "sections" | "form" | "cart-delivery" | "cart-payment" | "cart-review" | "login" | "register" | "shipping-policy" | "return-policy" | "order-status"; +type PageType = "about-us" | "addresses" | "blog" | "brands" | "cards" | "cart" | "categories" | "brand" | "category" | "collection" | "collections" | "custom" | "contact-us" | "external" | "faq" | "freshchat" | "home" | "notification-settings" | "orders" | "page" | "policy" | "product" | "product-request" | "products" | "profile" | "profile-order-shipment" | "profile-basic" | "profile-company" | "profile-emails" | "profile-phones" | "rate-us" | "refer-earn" | "settings" | "shared-cart" | "tnc" | "track-order" | "wishlist" | "sections" | "form" | "cart-delivery" | "cart-payment" | "cart-review" | "login" | "register" | "shipping-policy" | "return-policy" | "order-status"; diff --git a/sdk/platform/Theme/ThemePlatformModel.js b/sdk/platform/Theme/ThemePlatformModel.js index 4d68ac2e7..140c6f5fd 100644 --- a/sdk/platform/Theme/ThemePlatformModel.js +++ b/sdk/platform/Theme/ThemePlatformModel.js @@ -131,7 +131,7 @@ const Joi = require("joi"); /** * @typedef Action - * @property {string} [type] + * @property {string} [type] - Type of action to be taken e.g, page. * @property {ActionPage} [page] * @property {ActionPage} [popup] */ @@ -612,9 +612,9 @@ const Joi = require("joi"); /** * @typedef ActionPage - * @property {Object} [params] - * @property {Object} [query] - * @property {string} [url] + * @property {Object} [params] - Parameters that should be considered in path. + * @property {Object} [query] - Query parameter if any to be added to the action. + * @property {string} [url] - The URL for the action. * @property {PageType} type */ @@ -630,6 +630,7 @@ const Joi = require("joi"); * | "category" * | "collection" * | "collections" + * | "custom" * | "contact-us" * | "external" * | "faq" @@ -1480,6 +1481,8 @@ class ThemePlatformModel { "collections", + "custom", + "contact-us", "external", diff --git a/sdk/platform/User/UserPlatformModel.d.ts b/sdk/platform/User/UserPlatformModel.d.ts index d2bf8683f..f8c3c042c 100644 --- a/sdk/platform/User/UserPlatformModel.d.ts +++ b/sdk/platform/User/UserPlatformModel.d.ts @@ -457,18 +457,18 @@ export = UserPlatformModel; */ /** * @typedef PhoneNumber - * @property {string} [phone] - Phone number - * @property {number} [country_code] - Country code - * @property {boolean} [active] - Is the phone number active - * @property {boolean} [primary] - Is it a primary phone number - * @property {boolean} [verified] - Is the phone number verified + * @property {string} [phone] - Phone number of the user. + * @property {number} [country_code] - Country code for mobile number. + * @property {boolean} [active] - Is the phone number active. + * @property {boolean} [primary] - Is it a primary phone number. + * @property {boolean} [verified] - Is the phone number verified. */ /** * @typedef Email - * @property {string} [email] - Email address - * @property {boolean} [active] - Is the email active - * @property {boolean} [primary] - Is it a primary email - * @property {boolean} [verified] - Is the email verified + * @property {string} [email] - Email address. + * @property {boolean} [active] - Is the email active. + * @property {boolean} [primary] - Is it a primary email. + * @property {boolean} [verified] - Is the email verified. */ declare class UserPlatformModel { } @@ -1131,23 +1131,23 @@ type UserSearchSchema = { declare function PhoneNumber(): PhoneNumber; type PhoneNumber = { /** - * - Phone number + * - Phone number of the user. */ phone?: string; /** - * - Country code + * - Country code for mobile number. */ country_code?: number; /** - * - Is the phone number active + * - Is the phone number active. */ active?: boolean; /** - * - Is it a primary phone number + * - Is it a primary phone number. */ primary?: boolean; /** - * - Is the phone number verified + * - Is the phone number verified. */ verified?: boolean; }; @@ -1155,19 +1155,19 @@ type PhoneNumber = { declare function Email(): Email; type Email = { /** - * - Email address + * - Email address. */ email?: string; /** - * - Is the email active + * - Is the email active. */ active?: boolean; /** - * - Is it a primary email + * - Is it a primary email. */ primary?: boolean; /** - * - Is the email verified + * - Is the email verified. */ verified?: boolean; }; diff --git a/sdk/platform/User/UserPlatformModel.js b/sdk/platform/User/UserPlatformModel.js index 4d2be51b0..36012b1b4 100644 --- a/sdk/platform/User/UserPlatformModel.js +++ b/sdk/platform/User/UserPlatformModel.js @@ -516,19 +516,19 @@ const Joi = require("joi"); /** * @typedef PhoneNumber - * @property {string} [phone] - Phone number - * @property {number} [country_code] - Country code - * @property {boolean} [active] - Is the phone number active - * @property {boolean} [primary] - Is it a primary phone number - * @property {boolean} [verified] - Is the phone number verified + * @property {string} [phone] - Phone number of the user. + * @property {number} [country_code] - Country code for mobile number. + * @property {boolean} [active] - Is the phone number active. + * @property {boolean} [primary] - Is it a primary phone number. + * @property {boolean} [verified] - Is the phone number verified. */ /** * @typedef Email - * @property {string} [email] - Email address - * @property {boolean} [active] - Is the email active - * @property {boolean} [primary] - Is it a primary email - * @property {boolean} [verified] - Is the email verified + * @property {string} [email] - Email address. + * @property {boolean} [active] - Is the email active. + * @property {boolean} [primary] - Is it a primary email. + * @property {boolean} [verified] - Is the email verified. */ class UserPlatformModel { diff --git a/sdk/platform/Webhook/WebhookPlatformModel.d.ts b/sdk/platform/Webhook/WebhookPlatformModel.d.ts index 7eb2c18b6..845af235b 100644 --- a/sdk/platform/Webhook/WebhookPlatformModel.d.ts +++ b/sdk/platform/Webhook/WebhookPlatformModel.d.ts @@ -41,13 +41,13 @@ export = WebhookPlatformModel; */ /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** * @typedef PingWebhook @@ -352,12 +352,33 @@ type EventProcessReportObject = { /** @returns {Page} */ declare function Page(): Page; type Page = { + /** + * - The total number of items on the page. + */ item_total?: number; + /** + * - The identifier for the next page. + */ next_id?: string; + /** + * - Indicates whether there is a previous page. + */ has_previous?: boolean; + /** + * - Indicates whether there is a next page. + */ has_next?: boolean; + /** + * - The current page number. + */ current?: number; + /** + * - The type of the page, such as 'PageType'. + */ type: string; + /** + * - The number of items per page. + */ size?: number; }; /** @returns {PingWebhook} */ diff --git a/sdk/platform/Webhook/WebhookPlatformModel.js b/sdk/platform/Webhook/WebhookPlatformModel.js index 5a0074782..76d5977ee 100644 --- a/sdk/platform/Webhook/WebhookPlatformModel.js +++ b/sdk/platform/Webhook/WebhookPlatformModel.js @@ -47,13 +47,13 @@ const Joi = require("joi"); /** * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] + * @property {number} [item_total] - The total number of items on the page. + * @property {string} [next_id] - The identifier for the next page. + * @property {boolean} [has_previous] - Indicates whether there is a previous page. + * @property {boolean} [has_next] - Indicates whether there is a next page. + * @property {number} [current] - The current page number. + * @property {string} type - The type of the page, such as 'PageType'. + * @property {number} [size] - The number of items per page. */ /** diff --git a/sdk/public/Billing/BillingPublicClient.d.ts b/sdk/public/Billing/BillingPublicClient.d.ts deleted file mode 100644 index 751995e57..000000000 --- a/sdk/public/Billing/BillingPublicClient.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -export = Billing; -declare class Billing { - constructor(_conf: any); - _conf: any; - _relativeUrls: { - getPlanDetails: string; - getStandardPlans: string; - planList: string; - }; - _urls: {}; - updateUrls(urls: any): void; - /** - * @param {BillingPublicValidator.GetPlanDetailsParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getPlanDetails - * @summary: Get plan details - * @description: Get plan details. - * - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/billing/getPlanDetails/). - */ - getPlanDetails({ planId, requestHeaders }?: BillingPublicValidator.GetPlanDetailsParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPublicValidator.GetStandardPlansParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getStandardPlans - * @summary: Get Standard/Public Plans - * @description: Get Standard/Public Plans. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/billing/getStandardPlans/). - */ - getStandardPlans({ platform, requestHeaders }?: BillingPublicValidator.GetStandardPlansParam, { responseHeaders }?: object): Promise; - /** - * @param {BillingPublicValidator.PlanListParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name planList - * @summary: Get List of all plans - * @description: Get List of all plans - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/billing/planList/). - */ - planList({ requestHeaders }?: any, { responseHeaders }?: object): Promise; -} -import BillingPublicValidator = require("./BillingPublicValidator"); -import BillingPublicModel = require("./BillingPublicModel"); diff --git a/sdk/public/Billing/BillingPublicClient.js b/sdk/public/Billing/BillingPublicClient.js deleted file mode 100644 index 755ce5074..000000000 --- a/sdk/public/Billing/BillingPublicClient.js +++ /dev/null @@ -1,269 +0,0 @@ -const PublicAPIClient = require("../PublicAPIClient"); -const { - FDKClientValidationError, - FDKResponseValidationError, -} = require("../../common/FDKError"); -const constructUrl = require("../constructUrl"); -const Paginator = require("../../common/Paginator"); -const BillingPublicValidator = require("./BillingPublicValidator"); -const BillingPublicModel = require("./BillingPublicModel"); -const { Logger } = require("./../../common/Logger"); -const Joi = require("joi"); - -class Billing { - constructor(_conf) { - this._conf = _conf; - this._relativeUrls = { - getPlanDetails: "/service/public/billing/v1.0/plan/details/{plan_id}", - getStandardPlans: "/service/public/billing/v1.0/plan/detailed-list/", - planList: "/service/public/billing/v1.0/plan/list", - }; - this._urls = Object.entries(this._relativeUrls).reduce( - (urls, [method, relativeUrl]) => { - urls[method] = `${_conf.domain}${relativeUrl}`; - return urls; - }, - {} - ); - } - - updateUrls(urls) { - this._urls = { - ...this._urls, - ...urls, - }; - } - - /** - * @param {BillingPublicValidator.GetPlanDetailsParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getPlanDetails - * @summary: Get plan details - * @description: Get plan details. - * - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/billing/getPlanDetails/). - */ - async getPlanDetails( - { planId, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPublicValidator.getPlanDetails().validate( - { planId }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPublicValidator.getPlanDetails().validate( - { planId }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for public > Billing > getPlanDetails \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PublicAPIClient.execute( - this._conf, - "get", - constructUrl({ - url: this._urls["getPlanDetails"], - params: { planId }, - }), - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPublicModel.PlanDetails().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this._conf.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for public > Billing > getPlanDetails \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPublicValidator.GetStandardPlansParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getStandardPlans - * @summary: Get Standard/Public Plans - * @description: Get Standard/Public Plans. - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/billing/getStandardPlans/). - */ - async getStandardPlans( - { platform, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPublicValidator.getStandardPlans().validate( - { platform }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = BillingPublicValidator.getStandardPlans().validate( - { platform }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for public > Billing > getStandardPlans \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["platform"] = platform; - - const xHeaders = {}; - - const response = await PublicAPIClient.execute( - this._conf, - "get", - constructUrl({ - url: this._urls["getStandardPlans"], - params: {}, - }), - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = BillingPublicModel.DetailList().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this._conf.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for public > Billing > getStandardPlans \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {BillingPublicValidator.PlanListParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name planList - * @summary: Get List of all plans - * @description: Get List of all plans - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/billing/planList/). - */ - async planList( - { requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = BillingPublicValidator.planList().validate( - {}, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { error: warrning } = BillingPublicValidator.planList().validate( - {}, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for public > Billing > planList \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PublicAPIClient.execute( - this._conf, - "get", - constructUrl({ - url: this._urls["planList"], - params: {}, - }), - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { error: res_error } = Joi.array() - .items(BillingPublicModel.PlanList()) - .validate(responseData, { abortEarly: false, allowUnknown: true }); - - if (res_error) { - if (this._conf.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for public > Billing > planList \n ${res_error}`, - }); - } - } - - return response; - } -} - -module.exports = Billing; diff --git a/sdk/public/Billing/BillingPublicModel.d.ts b/sdk/public/Billing/BillingPublicModel.d.ts deleted file mode 100644 index e345c2c18..000000000 --- a/sdk/public/Billing/BillingPublicModel.d.ts +++ /dev/null @@ -1,434 +0,0 @@ -export = BillingPublicModel; -/** - * @typedef ResourceNotFound - * @property {string} [message] - Resource not found with {id} - */ -/** - * @typedef PlanRecurring - * @property {string} [interval] - * @property {number} [interval_count] - * @property {string} [aggregate_usage] - * @property {string} [usage_type] - */ -/** - * @typedef DetailList - * @property {PlanDetails[]} [plans] - * @property {string[]} [component_groups] - */ -/** - * @typedef PlanTaxation - * @property {number} [gst] - */ -/** - * @typedef OneTimeFees - * @property {number} [developement] - * @property {number} [marketing] - */ -/** - * @typedef CreditLine - * @property {boolean} [is_active] - */ -/** - * @typedef PlanMeta - * @property {string} [plan_platform_display_name] - */ -/** - * @typedef FeatureConfig - * @property {boolean} [enabled] - * @property {number} [limit] - * @property {number} [hard_limit] - * @property {number} [soft_limit] - */ -/** - * @typedef PlanConfig - * @property {boolean} [is_active] - * @property {string} [display_text] - * @property {boolean} [is_default] - * @property {string} [processing_type] - * @property {string[]} [tags] - * @property {FeatureConfig} [feature_config] - * @property {string} [_id] - * @property {string} [component_id] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {number} [__v] - * @property {string} [billing_scheme] - * @property {string} [bill_type] - * @property {string} [price_ui_type] - * @property {PlanRecurring} [recurring] - * @property {TransformQuantity} [transform_quantity] - * @property {FreeTier} [free_tier] - * @property {string} [currency] - * @property {number} [unit_amount] - * @property {number} [quantity] - * @property {string} [price_type] - * @property {Object[]} [tiers] - */ -/** - * @typedef FreeTier - * @property {string} [type] - * @property {number} [value] - */ -/** - * @typedef TransformQuantity - * @property {number} [divide_by] - * @property {string} [round] - */ -/** - * @typedef ComponentsSchema - * @property {string} [name] - * @property {string} [slug] - * @property {string} [description] - * @property {string} [group] - * @property {string} [icon] - * @property {Object} [links] - * @property {PlanConfig} [config] - * @property {boolean} [is_active] - * @property {string} [display_text] - */ -/** - * @typedef PlanDetails - * @property {string} [approved_by] - * @property {string} [updated_by] - * @property {PlanRecurring} [recurring] - * @property {boolean} [is_trial_plan] - * @property {string[]} [company_ids] - * @property {string} [created_by] - * @property {string} [channel_type] - * @property {string} [platform] - * @property {string} [plan_group] - * @property {string[]} [tag_lines] - * @property {string} [currency] - * @property {boolean} [is_active] - * @property {boolean} [is_visible] - * @property {number} [trial_period] - * @property {string[]} [addons] - * @property {string[]} [tags] - * @property {string} [type] - * @property {string} [country] - * @property {string} [_id] - * @property {string} [name] - * @property {string} [description] - * @property {number} [amount] - * @property {string} [product_suite_id] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {PlanTaxation} [taxation] - * @property {OneTimeFees} [one_time_fees] - * @property {CreditLine} [credit_line] - * @property {string} [current_status] - * @property {PlanMeta} [meta] - * @property {ComponentsSchema[]} [components] - */ -/** - * @typedef Recurring - * @property {string} [interval] - Interval for recurring payments - * @property {number} [interval_count] - Number of intervals - */ -/** - * @typedef Taxation - * @property {number} [gst] - GST percentage - */ -/** - * @typedef PlanList - * @property {string} [approved_by] - * @property {string} [updated_by] - * @property {Recurring} [recurring] - * @property {Taxation} [taxation] - * @property {OneTimeFees} [one_time_fees] - * @property {CreditLine} [credit_line] - * @property {string} [_id] - Unique identifier of the plan - * @property {string} [product_suite_id] - Identifier of the product suite - * associated with the plan - * @property {boolean} [is_trial_plan] - Indicates whether the plan is a trial plan - * @property {string} [name] - Name of the plan - * @property {string} [description] - Description of the plan - * @property {string} [plan_group] - Group to which the plan belongs - * @property {string[]} [tag_lines] - Tag lines associated with the plan - * @property {string} [currency] - Currency of the plan - * @property {number} [amount] - Amount of the plan - * @property {boolean} [is_active] - Indicates whether the plan is active - * @property {boolean} [is_visible] - Indicates whether the plan is visible - * @property {number} [trial_period] - Trial period of the plan - * @property {Object[]} [addons] - Addons associated with the plan - * @property {string[]} [tags] - Tags associated with the plan - * @property {string} [type] - Type of the plan - * @property {Object} [meta] - Additional metadata associated with the plan - * @property {string} [country] - Country associated with the plan - * @property {string[]} [company_ids] - Company IDs associated with the plan - * @property {string} [created_by] - ID of the user who created the plan - * @property {string} [current_status] - Current status of the plan - * @property {string} [channel_type] - Type of channel associated with the plan - * @property {string} [platform] - Platform associated with the plan - * @property {string} [created_at] - Date and time when the plan was created - * @property {string} [modified_at] - Date and time when the plan was last modified - */ -declare class BillingPublicModel { -} -declare namespace BillingPublicModel { - export { ResourceNotFound, PlanRecurring, DetailList, PlanTaxation, OneTimeFees, CreditLine, PlanMeta, FeatureConfig, PlanConfig, FreeTier, TransformQuantity, ComponentsSchema, PlanDetails, Recurring, Taxation, PlanList }; -} -/** @returns {ResourceNotFound} */ -declare function ResourceNotFound(): ResourceNotFound; -type ResourceNotFound = { - /** - * - Resource not found with {id} - */ - message?: string; -}; -/** @returns {PlanRecurring} */ -declare function PlanRecurring(): PlanRecurring; -type PlanRecurring = { - interval?: string; - interval_count?: number; - aggregate_usage?: string; - usage_type?: string; -}; -/** @returns {DetailList} */ -declare function DetailList(): DetailList; -type DetailList = { - plans?: PlanDetails[]; - component_groups?: string[]; -}; -/** @returns {PlanTaxation} */ -declare function PlanTaxation(): PlanTaxation; -type PlanTaxation = { - gst?: number; -}; -/** @returns {OneTimeFees} */ -declare function OneTimeFees(): OneTimeFees; -type OneTimeFees = { - developement?: number; - marketing?: number; -}; -/** @returns {CreditLine} */ -declare function CreditLine(): CreditLine; -type CreditLine = { - is_active?: boolean; -}; -/** @returns {PlanMeta} */ -declare function PlanMeta(): PlanMeta; -type PlanMeta = { - plan_platform_display_name?: string; -}; -/** @returns {FeatureConfig} */ -declare function FeatureConfig(): FeatureConfig; -type FeatureConfig = { - enabled?: boolean; - limit?: number; - hard_limit?: number; - soft_limit?: number; -}; -/** @returns {PlanConfig} */ -declare function PlanConfig(): PlanConfig; -type PlanConfig = { - is_active?: boolean; - display_text?: string; - is_default?: boolean; - processing_type?: string; - tags?: string[]; - feature_config?: FeatureConfig; - _id?: string; - component_id?: string; - created_at?: string; - modified_at?: string; - __v?: number; - billing_scheme?: string; - bill_type?: string; - price_ui_type?: string; - recurring?: PlanRecurring; - transform_quantity?: TransformQuantity; - free_tier?: FreeTier; - currency?: string; - unit_amount?: number; - quantity?: number; - price_type?: string; - tiers?: any[]; -}; -/** @returns {FreeTier} */ -declare function FreeTier(): FreeTier; -type FreeTier = { - type?: string; - value?: number; -}; -/** @returns {TransformQuantity} */ -declare function TransformQuantity(): TransformQuantity; -type TransformQuantity = { - divide_by?: number; - round?: string; -}; -/** @returns {ComponentsSchema} */ -declare function ComponentsSchema(): ComponentsSchema; -type ComponentsSchema = { - name?: string; - slug?: string; - description?: string; - group?: string; - icon?: string; - links?: any; - config?: PlanConfig; - is_active?: boolean; - display_text?: string; -}; -/** @returns {PlanDetails} */ -declare function PlanDetails(): PlanDetails; -type PlanDetails = { - approved_by?: string; - updated_by?: string; - recurring?: PlanRecurring; - is_trial_plan?: boolean; - company_ids?: string[]; - created_by?: string; - channel_type?: string; - platform?: string; - plan_group?: string; - tag_lines?: string[]; - currency?: string; - is_active?: boolean; - is_visible?: boolean; - trial_period?: number; - addons?: string[]; - tags?: string[]; - type?: string; - country?: string; - _id?: string; - name?: string; - description?: string; - amount?: number; - product_suite_id?: string; - created_at?: string; - modified_at?: string; - taxation?: PlanTaxation; - one_time_fees?: OneTimeFees; - credit_line?: CreditLine; - current_status?: string; - meta?: PlanMeta; - components?: ComponentsSchema[]; -}; -/** @returns {Recurring} */ -declare function Recurring(): Recurring; -type Recurring = { - /** - * - Interval for recurring payments - */ - interval?: string; - /** - * - Number of intervals - */ - interval_count?: number; -}; -/** @returns {Taxation} */ -declare function Taxation(): Taxation; -type Taxation = { - /** - * - GST percentage - */ - gst?: number; -}; -/** @returns {PlanList} */ -declare function PlanList(): PlanList; -type PlanList = { - approved_by?: string; - updated_by?: string; - recurring?: Recurring; - taxation?: Taxation; - one_time_fees?: OneTimeFees; - credit_line?: CreditLine; - /** - * - Unique identifier of the plan - */ - _id?: string; - /** - * - Identifier of the product suite - * associated with the plan - */ - product_suite_id?: string; - /** - * - Indicates whether the plan is a trial plan - */ - is_trial_plan?: boolean; - /** - * - Name of the plan - */ - name?: string; - /** - * - Description of the plan - */ - description?: string; - /** - * - Group to which the plan belongs - */ - plan_group?: string; - /** - * - Tag lines associated with the plan - */ - tag_lines?: string[]; - /** - * - Currency of the plan - */ - currency?: string; - /** - * - Amount of the plan - */ - amount?: number; - /** - * - Indicates whether the plan is active - */ - is_active?: boolean; - /** - * - Indicates whether the plan is visible - */ - is_visible?: boolean; - /** - * - Trial period of the plan - */ - trial_period?: number; - /** - * - Addons associated with the plan - */ - addons?: any[]; - /** - * - Tags associated with the plan - */ - tags?: string[]; - /** - * - Type of the plan - */ - type?: string; - /** - * - Additional metadata associated with the plan - */ - meta?: any; - /** - * - Country associated with the plan - */ - country?: string; - /** - * - Company IDs associated with the plan - */ - company_ids?: string[]; - /** - * - ID of the user who created the plan - */ - created_by?: string; - /** - * - Current status of the plan - */ - current_status?: string; - /** - * - Type of channel associated with the plan - */ - channel_type?: string; - /** - * - Platform associated with the plan - */ - platform?: string; - /** - * - Date and time when the plan was created - */ - created_at?: string; - /** - * - Date and time when the plan was last modified - */ - modified_at?: string; -}; diff --git a/sdk/public/Billing/BillingPublicModel.js b/sdk/public/Billing/BillingPublicModel.js deleted file mode 100644 index 05d3e84bc..000000000 --- a/sdk/public/Billing/BillingPublicModel.js +++ /dev/null @@ -1,395 +0,0 @@ -const Joi = require("joi"); - -/** - * @typedef ResourceNotFound - * @property {string} [message] - Resource not found with {id} - */ - -/** - * @typedef PlanRecurring - * @property {string} [interval] - * @property {number} [interval_count] - * @property {string} [aggregate_usage] - * @property {string} [usage_type] - */ - -/** - * @typedef DetailList - * @property {PlanDetails[]} [plans] - * @property {string[]} [component_groups] - */ - -/** - * @typedef PlanTaxation - * @property {number} [gst] - */ - -/** - * @typedef OneTimeFees - * @property {number} [developement] - * @property {number} [marketing] - */ - -/** - * @typedef CreditLine - * @property {boolean} [is_active] - */ - -/** - * @typedef PlanMeta - * @property {string} [plan_platform_display_name] - */ - -/** - * @typedef FeatureConfig - * @property {boolean} [enabled] - * @property {number} [limit] - * @property {number} [hard_limit] - * @property {number} [soft_limit] - */ - -/** - * @typedef PlanConfig - * @property {boolean} [is_active] - * @property {string} [display_text] - * @property {boolean} [is_default] - * @property {string} [processing_type] - * @property {string[]} [tags] - * @property {FeatureConfig} [feature_config] - * @property {string} [_id] - * @property {string} [component_id] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {number} [__v] - * @property {string} [billing_scheme] - * @property {string} [bill_type] - * @property {string} [price_ui_type] - * @property {PlanRecurring} [recurring] - * @property {TransformQuantity} [transform_quantity] - * @property {FreeTier} [free_tier] - * @property {string} [currency] - * @property {number} [unit_amount] - * @property {number} [quantity] - * @property {string} [price_type] - * @property {Object[]} [tiers] - */ - -/** - * @typedef FreeTier - * @property {string} [type] - * @property {number} [value] - */ - -/** - * @typedef TransformQuantity - * @property {number} [divide_by] - * @property {string} [round] - */ - -/** - * @typedef ComponentsSchema - * @property {string} [name] - * @property {string} [slug] - * @property {string} [description] - * @property {string} [group] - * @property {string} [icon] - * @property {Object} [links] - * @property {PlanConfig} [config] - * @property {boolean} [is_active] - * @property {string} [display_text] - */ - -/** - * @typedef PlanDetails - * @property {string} [approved_by] - * @property {string} [updated_by] - * @property {PlanRecurring} [recurring] - * @property {boolean} [is_trial_plan] - * @property {string[]} [company_ids] - * @property {string} [created_by] - * @property {string} [channel_type] - * @property {string} [platform] - * @property {string} [plan_group] - * @property {string[]} [tag_lines] - * @property {string} [currency] - * @property {boolean} [is_active] - * @property {boolean} [is_visible] - * @property {number} [trial_period] - * @property {string[]} [addons] - * @property {string[]} [tags] - * @property {string} [type] - * @property {string} [country] - * @property {string} [_id] - * @property {string} [name] - * @property {string} [description] - * @property {number} [amount] - * @property {string} [product_suite_id] - * @property {string} [created_at] - * @property {string} [modified_at] - * @property {PlanTaxation} [taxation] - * @property {OneTimeFees} [one_time_fees] - * @property {CreditLine} [credit_line] - * @property {string} [current_status] - * @property {PlanMeta} [meta] - * @property {ComponentsSchema[]} [components] - */ - -/** - * @typedef Recurring - * @property {string} [interval] - Interval for recurring payments - * @property {number} [interval_count] - Number of intervals - */ - -/** - * @typedef Taxation - * @property {number} [gst] - GST percentage - */ - -/** - * @typedef PlanList - * @property {string} [approved_by] - * @property {string} [updated_by] - * @property {Recurring} [recurring] - * @property {Taxation} [taxation] - * @property {OneTimeFees} [one_time_fees] - * @property {CreditLine} [credit_line] - * @property {string} [_id] - Unique identifier of the plan - * @property {string} [product_suite_id] - Identifier of the product suite - * associated with the plan - * @property {boolean} [is_trial_plan] - Indicates whether the plan is a trial plan - * @property {string} [name] - Name of the plan - * @property {string} [description] - Description of the plan - * @property {string} [plan_group] - Group to which the plan belongs - * @property {string[]} [tag_lines] - Tag lines associated with the plan - * @property {string} [currency] - Currency of the plan - * @property {number} [amount] - Amount of the plan - * @property {boolean} [is_active] - Indicates whether the plan is active - * @property {boolean} [is_visible] - Indicates whether the plan is visible - * @property {number} [trial_period] - Trial period of the plan - * @property {Object[]} [addons] - Addons associated with the plan - * @property {string[]} [tags] - Tags associated with the plan - * @property {string} [type] - Type of the plan - * @property {Object} [meta] - Additional metadata associated with the plan - * @property {string} [country] - Country associated with the plan - * @property {string[]} [company_ids] - Company IDs associated with the plan - * @property {string} [created_by] - ID of the user who created the plan - * @property {string} [current_status] - Current status of the plan - * @property {string} [channel_type] - Type of channel associated with the plan - * @property {string} [platform] - Platform associated with the plan - * @property {string} [created_at] - Date and time when the plan was created - * @property {string} [modified_at] - Date and time when the plan was last modified - */ - -class BillingPublicModel { - /** @returns {ResourceNotFound} */ - static ResourceNotFound() { - return Joi.object({ - message: Joi.string().allow(""), - }); - } - - /** @returns {PlanRecurring} */ - static PlanRecurring() { - return Joi.object({ - interval: Joi.string().allow(""), - interval_count: Joi.number(), - aggregate_usage: Joi.string().allow(""), - usage_type: Joi.string().allow(""), - }); - } - - /** @returns {DetailList} */ - static DetailList() { - return Joi.object({ - plans: Joi.array().items(BillingPublicModel.PlanDetails()), - component_groups: Joi.array().items(Joi.string().allow("")), - }); - } - - /** @returns {PlanTaxation} */ - static PlanTaxation() { - return Joi.object({ - gst: Joi.number(), - }); - } - - /** @returns {OneTimeFees} */ - static OneTimeFees() { - return Joi.object({ - developement: Joi.number().allow(null), - marketing: Joi.number().allow(null), - }); - } - - /** @returns {CreditLine} */ - static CreditLine() { - return Joi.object({ - is_active: Joi.boolean(), - }); - } - - /** @returns {PlanMeta} */ - static PlanMeta() { - return Joi.object({ - plan_platform_display_name: Joi.string().allow("").allow(null), - }); - } - - /** @returns {FeatureConfig} */ - static FeatureConfig() { - return Joi.object({ - enabled: Joi.boolean(), - limit: Joi.number(), - hard_limit: Joi.number(), - soft_limit: Joi.number(), - }); - } - - /** @returns {PlanConfig} */ - static PlanConfig() { - return Joi.object({ - is_active: Joi.boolean(), - display_text: Joi.string().allow("").allow(null), - is_default: Joi.boolean(), - processing_type: Joi.string().allow(""), - tags: Joi.array().items(Joi.string().allow("")), - feature_config: BillingPublicModel.FeatureConfig(), - _id: Joi.string().allow(""), - component_id: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - __v: Joi.number(), - billing_scheme: Joi.string().allow(""), - bill_type: Joi.string().allow(""), - price_ui_type: Joi.string().allow(""), - recurring: BillingPublicModel.PlanRecurring(), - transform_quantity: BillingPublicModel.TransformQuantity(), - free_tier: BillingPublicModel.FreeTier(), - currency: Joi.string().allow(""), - unit_amount: Joi.number(), - quantity: Joi.number(), - price_type: Joi.string().allow(""), - tiers: Joi.array().items(Joi.any()), - }); - } - - /** @returns {FreeTier} */ - static FreeTier() { - return Joi.object({ - type: Joi.string().allow(""), - value: Joi.number(), - }); - } - - /** @returns {TransformQuantity} */ - static TransformQuantity() { - return Joi.object({ - divide_by: Joi.number(), - round: Joi.string().allow(""), - }); - } - - /** @returns {ComponentsSchema} */ - static ComponentsSchema() { - return Joi.object({ - name: Joi.string().allow(""), - slug: Joi.string().allow(""), - description: Joi.string().allow(""), - group: Joi.string().allow(""), - icon: Joi.string().allow(""), - links: Joi.any(), - config: BillingPublicModel.PlanConfig(), - is_active: Joi.boolean(), - display_text: Joi.string().allow("").allow(null), - }); - } - - /** @returns {PlanDetails} */ - static PlanDetails() { - return Joi.object({ - approved_by: Joi.string().allow(""), - updated_by: Joi.string().allow(""), - recurring: BillingPublicModel.PlanRecurring(), - is_trial_plan: Joi.boolean(), - company_ids: Joi.array().items(Joi.string().allow("")), - created_by: Joi.string().allow(""), - channel_type: Joi.string().allow(""), - platform: Joi.string().allow("").allow(null), - plan_group: Joi.string().allow(""), - tag_lines: Joi.array().items(Joi.string().allow("")), - currency: Joi.string().allow(""), - is_active: Joi.boolean(), - is_visible: Joi.boolean(), - trial_period: Joi.number(), - addons: Joi.array().items(Joi.string().allow("")), - tags: Joi.array().items(Joi.string().allow("")), - type: Joi.string().allow(""), - country: Joi.string().allow(""), - _id: Joi.string().allow(""), - name: Joi.string().allow(""), - description: Joi.string().allow(""), - amount: Joi.number(), - product_suite_id: Joi.string().allow(""), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - taxation: BillingPublicModel.PlanTaxation(), - one_time_fees: BillingPublicModel.OneTimeFees(), - credit_line: BillingPublicModel.CreditLine(), - current_status: Joi.string().allow(""), - meta: BillingPublicModel.PlanMeta(), - components: Joi.array().items(BillingPublicModel.ComponentsSchema()), - }); - } - - /** @returns {Recurring} */ - static Recurring() { - return Joi.object({ - interval: Joi.string().allow(""), - interval_count: Joi.number(), - }); - } - - /** @returns {Taxation} */ - static Taxation() { - return Joi.object({ - gst: Joi.number(), - }); - } - - /** @returns {PlanList} */ - static PlanList() { - return Joi.object({ - approved_by: Joi.string().allow(""), - updated_by: Joi.string().allow(""), - recurring: BillingPublicModel.Recurring(), - taxation: BillingPublicModel.Taxation(), - one_time_fees: BillingPublicModel.OneTimeFees(), - credit_line: BillingPublicModel.CreditLine(), - _id: Joi.string().allow(""), - product_suite_id: Joi.string().allow(""), - is_trial_plan: Joi.boolean(), - name: Joi.string().allow(""), - description: Joi.string().allow(""), - plan_group: Joi.string().allow(""), - tag_lines: Joi.array().items(Joi.string().allow("")), - currency: Joi.string().allow(""), - amount: Joi.number(), - is_active: Joi.boolean(), - is_visible: Joi.boolean(), - trial_period: Joi.number(), - addons: Joi.array().items(Joi.any()), - tags: Joi.array().items(Joi.string().allow("")), - type: Joi.string().allow(""), - meta: Joi.any(), - country: Joi.string().allow(""), - company_ids: Joi.array().items(Joi.string().allow("")), - created_by: Joi.string().allow(""), - current_status: Joi.string().allow(""), - channel_type: Joi.string().allow(""), - platform: Joi.string().allow("").allow(null), - created_at: Joi.string().allow(""), - modified_at: Joi.string().allow(""), - }); - } -} -module.exports = BillingPublicModel; diff --git a/sdk/public/Billing/BillingPublicValidator.d.ts b/sdk/public/Billing/BillingPublicValidator.d.ts deleted file mode 100644 index 59cac1a7c..000000000 --- a/sdk/public/Billing/BillingPublicValidator.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -export = BillingPublicValidator; -/** - * @typedef GetPlanDetailsParam - * @property {string} planId - Plan unique id. - */ -/** - * @typedef GetStandardPlansParam - * @property {string} [platform] - The type of platform for which plans are requested. - */ -/** @typedef PlanListParam */ -declare class BillingPublicValidator { - /** @returns {GetPlanDetailsParam} */ - static getPlanDetails(): GetPlanDetailsParam; - /** @returns {GetStandardPlansParam} */ - static getStandardPlans(): GetStandardPlansParam; - /** @returns {PlanListParam} */ - static planList(): any; -} -declare namespace BillingPublicValidator { - export { GetPlanDetailsParam, GetStandardPlansParam, PlanListParam }; -} -type GetPlanDetailsParam = { - /** - * - Plan unique id. - */ - planId: string; -}; -type GetStandardPlansParam = { - /** - * - The type of platform for which plans are requested. - */ - platform?: string; -}; -type PlanListParam = any; diff --git a/sdk/public/Billing/BillingPublicValidator.js b/sdk/public/Billing/BillingPublicValidator.js deleted file mode 100644 index a151a348c..000000000 --- a/sdk/public/Billing/BillingPublicValidator.js +++ /dev/null @@ -1,38 +0,0 @@ -const Joi = require("joi"); - -const BillingPublicModel = require("./BillingPublicModel"); - -/** - * @typedef GetPlanDetailsParam - * @property {string} planId - Plan unique id. - */ - -/** - * @typedef GetStandardPlansParam - * @property {string} [platform] - The type of platform for which plans are requested. - */ - -/** @typedef PlanListParam */ - -class BillingPublicValidator { - /** @returns {GetPlanDetailsParam} */ - static getPlanDetails() { - return Joi.object({ - planId: Joi.string().allow("").required(), - }).required(); - } - - /** @returns {GetStandardPlansParam} */ - static getStandardPlans() { - return Joi.object({ - platform: Joi.string().allow(""), - }); - } - - /** @returns {PlanListParam} */ - static planList() { - return Joi.object({}); - } -} - -module.exports = BillingPublicValidator; diff --git a/sdk/public/Inventory/InventoryPublicClient.d.ts b/sdk/public/Inventory/InventoryPublicClient.d.ts deleted file mode 100644 index 6b650b7fd..000000000 --- a/sdk/public/Inventory/InventoryPublicClient.d.ts +++ /dev/null @@ -1,87 +0,0 @@ -export = Inventory; -declare class Inventory { - constructor(_conf: any); - _conf: any; - _relativeUrls: { - getApiKey: string; - getConfigByApiKey: string; - getJobByCode: string; - getJobCodesMetrics: string; - getJobConfigByIntegrationType: string; - saveJobCodesMetrics: string; - }; - _urls: {}; - updateUrls(urls: any): void; - /** - * @param {InventoryPublicValidator.GetApiKeyParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - - * Success response - * @name getApiKey - * @summary: Get apikey for Company to call other Slingshot Configuration APIs - * @description: REST Endpoint that returns apikey by username by password - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/inventory/getApiKey/). - */ - getApiKey({ userName, password, requestHeaders }?: InventoryPublicValidator.GetApiKeyParam, { responseHeaders }?: object): Promise; - /** - * @param {InventoryPublicValidator.GetConfigByApiKeyParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - * - Success response - * - * @name getConfigByApiKey - * @summary: Get Slingshot Configuration Of A Company using API key - * @description: REST Endpoint that returns all configuration detail of a company - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/inventory/getConfigByApiKey/). - */ - getConfigByApiKey({ apikey, requestHeaders }?: InventoryPublicValidator.GetConfigByApiKeyParam, { responseHeaders }?: object): Promise; - /** - * @param {InventoryPublicValidator.GetJobByCodeParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - - * Success response - * @name getJobByCode - * @summary: Get Job Config By Code - * @description: REST Endpoint that returns job config by code - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/inventory/getJobByCode/). - */ - getJobByCode({ code, requestHeaders }?: InventoryPublicValidator.GetJobByCodeParam, { responseHeaders }?: object): Promise; - /** - * @param {InventoryPublicValidator.GetJobCodesMetricsParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getJobCodesMetrics - * @summary: Find all the JobCodes from Metrics Collection based on the field Values - * @description: Endpoint to return all JobCodes present in Metrics Collection - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/inventory/getJobCodesMetrics/). - */ - getJobCodesMetrics({ dailyJob, jobCode, requestHeaders }?: InventoryPublicValidator.GetJobCodesMetricsParam, { responseHeaders }?: object): Promise; - /** - * @param {InventoryPublicValidator.GetJobConfigByIntegrationTypeParam} arg - * - Arg object. - * - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - * - Success response - * - * @name getJobConfigByIntegrationType - * @summary: Get Job Configs By Integration Type - * @description: REST Endpoint that returns all job Configs by Integration Type - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/inventory/getJobConfigByIntegrationType/). - */ - getJobConfigByIntegrationType({ integrationType, disable, requestHeaders }?: InventoryPublicValidator.GetJobConfigByIntegrationTypeParam, { responseHeaders }?: object): Promise; - /** - * @param {InventoryPublicValidator.SaveJobCodesMetricsParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - * - Success response - * - * @name saveJobCodesMetrics - * @summary: Save JobCode Metrics - * @description: Endpoint to save JobCode Metrics - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/inventory/saveJobCodesMetrics/). - */ - saveJobCodesMetrics({ body, requestHeaders }?: InventoryPublicValidator.SaveJobCodesMetricsParam, { responseHeaders }?: object): Promise; -} -import InventoryPublicValidator = require("./InventoryPublicValidator"); -import InventoryPublicModel = require("./InventoryPublicModel"); diff --git a/sdk/public/Inventory/InventoryPublicClient.js b/sdk/public/Inventory/InventoryPublicClient.js deleted file mode 100644 index 32565eb2c..000000000 --- a/sdk/public/Inventory/InventoryPublicClient.js +++ /dev/null @@ -1,529 +0,0 @@ -const PublicAPIClient = require("../PublicAPIClient"); -const { - FDKClientValidationError, - FDKResponseValidationError, -} = require("../../common/FDKError"); -const constructUrl = require("../constructUrl"); -const Paginator = require("../../common/Paginator"); -const InventoryPublicValidator = require("./InventoryPublicValidator"); -const InventoryPublicModel = require("./InventoryPublicModel"); -const { Logger } = require("./../../common/Logger"); -const Joi = require("joi"); - -class Inventory { - constructor(_conf) { - this._conf = _conf; - this._relativeUrls = { - getApiKey: "/service/common/inventory/v1.0/company/slingshot/apikey", - getConfigByApiKey: "/service/common/inventory/v1.0/company/slingshot", - getJobByCode: "/service/common/inventory/v1.0/company/jobs/code/{code}", - getJobCodesMetrics: - "/service/common/inventory/v1.0/company/email/jobCode", - getJobConfigByIntegrationType: - "/service/common/inventory/v1.0/company/job/config", - saveJobCodesMetrics: - "/service/common/inventory/v1.0/company/email/jobCode", - }; - this._urls = Object.entries(this._relativeUrls).reduce( - (urls, [method, relativeUrl]) => { - urls[method] = `${_conf.domain}${relativeUrl}`; - return urls; - }, - {} - ); - } - - updateUrls(urls) { - this._urls = { - ...this._urls, - ...urls, - }; - } - - /** - * @param {InventoryPublicValidator.GetApiKeyParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - - * Success response - * @name getApiKey - * @summary: Get apikey for Company to call other Slingshot Configuration APIs - * @description: REST Endpoint that returns apikey by username by password - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/inventory/getApiKey/). - */ - async getApiKey( - { userName, password, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = InventoryPublicValidator.getApiKey().validate( - { userName, password }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { error: warrning } = InventoryPublicValidator.getApiKey().validate( - { userName, password }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for public > Inventory > getApiKey \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["user_name"] = userName; - query_params["password"] = password; - - const xHeaders = {}; - - const response = await PublicAPIClient.execute( - this._conf, - "get", - constructUrl({ - url: this._urls["getApiKey"], - params: {}, - }), - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = InventoryPublicModel.ResponseEnvelopeApikeyModel().validate( - responseData, - { abortEarly: false, allowUnknown: true } - ); - - if (res_error) { - if (this._conf.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for public > Inventory > getApiKey \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {InventoryPublicValidator.GetConfigByApiKeyParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - * - Success response - * - * @name getConfigByApiKey - * @summary: Get Slingshot Configuration Of A Company using API key - * @description: REST Endpoint that returns all configuration detail of a company - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/inventory/getConfigByApiKey/). - */ - async getConfigByApiKey( - { apikey, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = InventoryPublicValidator.getConfigByApiKey().validate( - { apikey }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = InventoryPublicValidator.getConfigByApiKey().validate( - { apikey }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for public > Inventory > getConfigByApiKey \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["apikey"] = apikey; - - const xHeaders = {}; - - const response = await PublicAPIClient.execute( - this._conf, - "get", - constructUrl({ - url: this._urls["getConfigByApiKey"], - params: {}, - }), - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = InventoryPublicModel.ResponseEnvelopeSlingshotConfigurationDetail().validate( - responseData, - { abortEarly: false, allowUnknown: true } - ); - - if (res_error) { - if (this._conf.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for public > Inventory > getConfigByApiKey \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {InventoryPublicValidator.GetJobByCodeParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - - * Success response - * @name getJobByCode - * @summary: Get Job Config By Code - * @description: REST Endpoint that returns job config by code - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/inventory/getJobByCode/). - */ - async getJobByCode( - { code, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = InventoryPublicValidator.getJobByCode().validate( - { code }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = InventoryPublicValidator.getJobByCode().validate( - { code }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for public > Inventory > getJobByCode \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PublicAPIClient.execute( - this._conf, - "get", - constructUrl({ - url: this._urls["getJobByCode"], - params: { code }, - }), - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = InventoryPublicModel.ResponseEnvelopeJobConfigDTO().validate( - responseData, - { abortEarly: false, allowUnknown: true } - ); - - if (res_error) { - if (this._conf.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for public > Inventory > getJobByCode \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {InventoryPublicValidator.GetJobCodesMetricsParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - Success response - * @name getJobCodesMetrics - * @summary: Find all the JobCodes from Metrics Collection based on the field Values - * @description: Endpoint to return all JobCodes present in Metrics Collection - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/inventory/getJobCodesMetrics/). - */ - async getJobCodesMetrics( - { dailyJob, jobCode, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = InventoryPublicValidator.getJobCodesMetrics().validate( - { dailyJob, jobCode }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = InventoryPublicValidator.getJobCodesMetrics().validate( - { dailyJob, jobCode }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for public > Inventory > getJobCodesMetrics \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["daily_job"] = dailyJob; - query_params["job_code"] = jobCode; - - const xHeaders = {}; - - const response = await PublicAPIClient.execute( - this._conf, - "get", - constructUrl({ - url: this._urls["getJobCodesMetrics"], - params: {}, - }), - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = InventoryPublicModel.ResponseEnvelopeObject().validate(responseData, { - abortEarly: false, - allowUnknown: true, - }); - - if (res_error) { - if (this._conf.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for public > Inventory > getJobCodesMetrics \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {InventoryPublicValidator.GetJobConfigByIntegrationTypeParam} arg - * - Arg object. - * - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - * - Success response - * - * @name getJobConfigByIntegrationType - * @summary: Get Job Configs By Integration Type - * @description: REST Endpoint that returns all job Configs by Integration Type - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/inventory/getJobConfigByIntegrationType/). - */ - async getJobConfigByIntegrationType( - { integrationType, disable, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { - error, - } = InventoryPublicValidator.getJobConfigByIntegrationType().validate( - { integrationType, disable }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = InventoryPublicValidator.getJobConfigByIntegrationType().validate( - { integrationType, disable }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for public > Inventory > getJobConfigByIntegrationType \n ${warrning}`, - }); - } - - const query_params = {}; - query_params["integration_type"] = integrationType; - query_params["disable"] = disable; - - const xHeaders = {}; - - const response = await PublicAPIClient.execute( - this._conf, - "get", - constructUrl({ - url: this._urls["getJobConfigByIntegrationType"], - params: {}, - }), - query_params, - undefined, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = InventoryPublicModel.ResponseEnvelopeListJobConfigDTO().validate( - responseData, - { abortEarly: false, allowUnknown: true } - ); - - if (res_error) { - if (this._conf.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for public > Inventory > getJobConfigByIntegrationType \n ${res_error}`, - }); - } - } - - return response; - } - - /** - * @param {InventoryPublicValidator.SaveJobCodesMetricsParam} arg - Arg object. - * @param {object} [arg.requestHeaders={}] - Request headers. Default is `{}` - * @param {import("../PublicAPIClient").Options} - Options - * @returns {Promise} - * - Success response - * - * @name saveJobCodesMetrics - * @summary: Save JobCode Metrics - * @description: Endpoint to save JobCode Metrics - Check out [method documentation](https://partners.fynd.com/help/docs/sdk/public/inventory/saveJobCodesMetrics/). - */ - async saveJobCodesMetrics( - { body, requestHeaders } = { requestHeaders: {} }, - { responseHeaders } = { responseHeaders: false } - ) { - const { error } = InventoryPublicValidator.saveJobCodesMetrics().validate( - { body }, - { abortEarly: false, allowUnknown: true } - ); - if (error) { - return Promise.reject(new FDKClientValidationError(error)); - } - - // Showing warrnings if extra unknown parameters are found - const { - error: warrning, - } = InventoryPublicValidator.saveJobCodesMetrics().validate( - { body }, - { abortEarly: false, allowUnknown: false } - ); - if (warrning) { - Logger({ - level: "WARN", - message: `Parameter Validation warrnings for public > Inventory > saveJobCodesMetrics \n ${warrning}`, - }); - } - - const query_params = {}; - - const xHeaders = {}; - - const response = await PublicAPIClient.execute( - this._conf, - "post", - constructUrl({ - url: this._urls["saveJobCodesMetrics"], - params: {}, - }), - query_params, - body, - { ...xHeaders, ...requestHeaders }, - { responseHeaders } - ); - - let responseData = response; - if (responseHeaders) { - responseData = response[0]; - } - - const { - error: res_error, - } = InventoryPublicModel.ResponseEnvelopeEmailJobMetrics().validate( - responseData, - { abortEarly: false, allowUnknown: true } - ); - - if (res_error) { - if (this._conf.options.strictResponseCheck === true) { - return Promise.reject(new FDKResponseValidationError(res_error)); - } else { - Logger({ - level: "WARN", - message: `Response Validation Warnings for public > Inventory > saveJobCodesMetrics \n ${res_error}`, - }); - } - } - - return response; - } -} - -module.exports = Inventory; diff --git a/sdk/public/Inventory/InventoryPublicModel.d.ts b/sdk/public/Inventory/InventoryPublicModel.d.ts deleted file mode 100644 index 323e599ed..000000000 --- a/sdk/public/Inventory/InventoryPublicModel.d.ts +++ /dev/null @@ -1,393 +0,0 @@ -export = InventoryPublicModel; -/** - * @typedef EmailJobMetrics - * @property {boolean} [executed] - * @property {string} [id] - * @property {string} [job_code] - * @property {boolean} [daily_job] - * @property {string} [last_executed_on] - */ -/** - * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] - */ -/** - * @typedef ResponseEnvelopeEmailJobMetrics - * @property {string} [timestamp] - * @property {number} [status] - * @property {string} [error] - * @property {string} [exception] - * @property {string} [message] - * @property {number} [total_time_taken_in_millis] - * @property {string} [http_status] - * @property {EmailJobMetrics} [items] - * @property {EmailJobMetrics} [payload] - * @property {string} [trace_id] - * @property {Page} [page] - */ -/** - * @typedef GCompany - * @property {string} [_id] - * @property {string} [integration] - * @property {string} [level] - * @property {number} [uid] - * @property {boolean} [opted] - * @property {string[]} [permissions] - * @property {string} [token] - * @property {string} [name] - * @property {GStore[]} [stores] - */ -/** - * @typedef GStore - * @property {string} [_id] - * @property {string} [integration] - * @property {string} [level] - * @property {number} [uid] - * @property {boolean} [opted] - * @property {string[]} [permissions] - * @property {string} [token] - * @property {string} [code] - * @property {string} [name] - * @property {StoreData} [data] - */ -/** - * @typedef Metum - * @property {string} [_id] - * @property {string} [name] - * @property {string} [value] - */ -/** - * @typedef ResponseEnvelopeSlingshotConfigurationDetail - * @property {string} [timestamp] - * @property {number} [status] - * @property {string} [error] - * @property {string} [exception] - * @property {string} [message] - * @property {number} [total_time_taken_in_millis] - * @property {string} [http_status] - * @property {SlingshotConfigurationDetail} [items] - * @property {SlingshotConfigurationDetail} [payload] - * @property {string} [trace_id] - * @property {Page} [page] - */ -/** - * @typedef SlingshotConfigurationDetail - * @property {SlingshotIntegration} [integration] - * @property {GCompany[]} [companies] - */ -/** - * @typedef SlingshotIntegration - * @property {string} [_id] - * @property {string} [description] - * @property {string} [name] - * @property {string} [slug] - * @property {Metum[]} [meta] - */ -/** - * @typedef StoreData - * @property {string} [location_id] - */ -/** - * @typedef ApikeyModel - * @property {string} [session_id] - * @property {string} [error_message] - */ -/** - * @typedef ResponseEnvelopeApikeyModel - * @property {string} [timestamp] - * @property {number} [status] - * @property {string} [error] - * @property {string} [exception] - * @property {string} [message] - * @property {number} [total_time_taken_in_millis] - * @property {string} [http_status] - * @property {ApikeyModel} [items] - * @property {ApikeyModel} [payload] - * @property {string} [trace_id] - * @property {Page} [page] - */ -/** - * @typedef DataTresholdDTO - * @property {number} [min_price] - * @property {number} [safe_stock] - * @property {number} [period_threshold] - * @property {string} [period_threshold_type] - * @property {GenericDTO[]} [period_type_list] - */ -/** - * @typedef GenericDTO - * @property {string} [text] - * @property {Object} [value] - */ -/** - * @typedef JobConfigDTO - * @property {Object} [integration_data] - * @property {string} [company_name] - * @property {string} integration - * @property {number} company_id - * @property {TaskDTO} [task_details] - * @property {DataTresholdDTO} [threshold_details] - * @property {string} [job_code] - * @property {string} [alias] - */ -/** - * @typedef ResponseEnvelopeJobConfigDTO - * @property {string} [timestamp] - * @property {number} [status] - * @property {string} [error] - * @property {string} [exception] - * @property {string} [message] - * @property {number} [total_time_taken_in_millis] - * @property {string} [http_status] - * @property {JobConfigDTO} [items] - * @property {JobConfigDTO} [payload] - * @property {string} [trace_id] - * @property {Page} [page] - */ -/** - * @typedef TaskDTO - * @property {number} [type] - * @property {GenericDTO[]} [group_list] - */ -/** - * @typedef ResponseEnvelopeListJobConfigDTO - * @property {string} [timestamp] - * @property {number} [status] - * @property {string} [error] - * @property {string} [exception] - * @property {string} [message] - * @property {number} [total_time_taken_in_millis] - * @property {string} [http_status] - * @property {JobConfigDTO[]} [items] - * @property {JobConfigDTO[]} [payload] - * @property {string} [trace_id] - * @property {Page} [page] - */ -/** - * @typedef ResponseEnvelopeObject - * @property {string} [timestamp] - * @property {number} [status] - * @property {string} [error] - * @property {string} [exception] - * @property {string} [message] - * @property {number} [total_time_taken_in_millis] - * @property {string} [http_status] - * @property {Object} [items] - * @property {Object} [payload] - * @property {string} [trace_id] - * @property {Page} [page] - */ -declare class InventoryPublicModel { -} -declare namespace InventoryPublicModel { - export { EmailJobMetrics, Page, ResponseEnvelopeEmailJobMetrics, GCompany, GStore, Metum, ResponseEnvelopeSlingshotConfigurationDetail, SlingshotConfigurationDetail, SlingshotIntegration, StoreData, ApikeyModel, ResponseEnvelopeApikeyModel, DataTresholdDTO, GenericDTO, JobConfigDTO, ResponseEnvelopeJobConfigDTO, TaskDTO, ResponseEnvelopeListJobConfigDTO, ResponseEnvelopeObject }; -} -/** @returns {EmailJobMetrics} */ -declare function EmailJobMetrics(): EmailJobMetrics; -type EmailJobMetrics = { - executed?: boolean; - id?: string; - job_code?: string; - daily_job?: boolean; - last_executed_on?: string; -}; -/** @returns {Page} */ -declare function Page(): Page; -type Page = { - item_total?: number; - next_id?: string; - has_previous?: boolean; - has_next?: boolean; - current?: number; - type: string; - size?: number; -}; -/** @returns {ResponseEnvelopeEmailJobMetrics} */ -declare function ResponseEnvelopeEmailJobMetrics(): ResponseEnvelopeEmailJobMetrics; -type ResponseEnvelopeEmailJobMetrics = { - timestamp?: string; - status?: number; - error?: string; - exception?: string; - message?: string; - total_time_taken_in_millis?: number; - http_status?: string; - items?: EmailJobMetrics; - payload?: EmailJobMetrics; - trace_id?: string; - page?: Page; -}; -/** @returns {GCompany} */ -declare function GCompany(): GCompany; -type GCompany = { - _id?: string; - integration?: string; - level?: string; - uid?: number; - opted?: boolean; - permissions?: string[]; - token?: string; - name?: string; - stores?: GStore[]; -}; -/** @returns {GStore} */ -declare function GStore(): GStore; -type GStore = { - _id?: string; - integration?: string; - level?: string; - uid?: number; - opted?: boolean; - permissions?: string[]; - token?: string; - code?: string; - name?: string; - data?: StoreData; -}; -/** @returns {Metum} */ -declare function Metum(): Metum; -type Metum = { - _id?: string; - name?: string; - value?: string; -}; -/** @returns {ResponseEnvelopeSlingshotConfigurationDetail} */ -declare function ResponseEnvelopeSlingshotConfigurationDetail(): ResponseEnvelopeSlingshotConfigurationDetail; -type ResponseEnvelopeSlingshotConfigurationDetail = { - timestamp?: string; - status?: number; - error?: string; - exception?: string; - message?: string; - total_time_taken_in_millis?: number; - http_status?: string; - items?: SlingshotConfigurationDetail; - payload?: SlingshotConfigurationDetail; - trace_id?: string; - page?: Page; -}; -/** @returns {SlingshotConfigurationDetail} */ -declare function SlingshotConfigurationDetail(): SlingshotConfigurationDetail; -type SlingshotConfigurationDetail = { - integration?: SlingshotIntegration; - companies?: GCompany[]; -}; -/** @returns {SlingshotIntegration} */ -declare function SlingshotIntegration(): SlingshotIntegration; -type SlingshotIntegration = { - _id?: string; - description?: string; - name?: string; - slug?: string; - meta?: Metum[]; -}; -/** @returns {StoreData} */ -declare function StoreData(): StoreData; -type StoreData = { - location_id?: string; -}; -/** @returns {ApikeyModel} */ -declare function ApikeyModel(): ApikeyModel; -type ApikeyModel = { - session_id?: string; - error_message?: string; -}; -/** @returns {ResponseEnvelopeApikeyModel} */ -declare function ResponseEnvelopeApikeyModel(): ResponseEnvelopeApikeyModel; -type ResponseEnvelopeApikeyModel = { - timestamp?: string; - status?: number; - error?: string; - exception?: string; - message?: string; - total_time_taken_in_millis?: number; - http_status?: string; - items?: ApikeyModel; - payload?: ApikeyModel; - trace_id?: string; - page?: Page; -}; -/** @returns {DataTresholdDTO} */ -declare function DataTresholdDTO(): DataTresholdDTO; -type DataTresholdDTO = { - min_price?: number; - safe_stock?: number; - period_threshold?: number; - period_threshold_type?: string; - period_type_list?: GenericDTO[]; -}; -/** @returns {GenericDTO} */ -declare function GenericDTO(): GenericDTO; -type GenericDTO = { - text?: string; - value?: any; -}; -/** @returns {JobConfigDTO} */ -declare function JobConfigDTO(): JobConfigDTO; -type JobConfigDTO = { - integration_data?: any; - company_name?: string; - integration: string; - company_id: number; - task_details?: TaskDTO; - threshold_details?: DataTresholdDTO; - job_code?: string; - alias?: string; -}; -/** @returns {ResponseEnvelopeJobConfigDTO} */ -declare function ResponseEnvelopeJobConfigDTO(): ResponseEnvelopeJobConfigDTO; -type ResponseEnvelopeJobConfigDTO = { - timestamp?: string; - status?: number; - error?: string; - exception?: string; - message?: string; - total_time_taken_in_millis?: number; - http_status?: string; - items?: JobConfigDTO; - payload?: JobConfigDTO; - trace_id?: string; - page?: Page; -}; -/** @returns {TaskDTO} */ -declare function TaskDTO(): TaskDTO; -type TaskDTO = { - type?: number; - group_list?: GenericDTO[]; -}; -/** @returns {ResponseEnvelopeListJobConfigDTO} */ -declare function ResponseEnvelopeListJobConfigDTO(): ResponseEnvelopeListJobConfigDTO; -type ResponseEnvelopeListJobConfigDTO = { - timestamp?: string; - status?: number; - error?: string; - exception?: string; - message?: string; - total_time_taken_in_millis?: number; - http_status?: string; - items?: JobConfigDTO[]; - payload?: JobConfigDTO[]; - trace_id?: string; - page?: Page; -}; -/** @returns {ResponseEnvelopeObject} */ -declare function ResponseEnvelopeObject(): ResponseEnvelopeObject; -type ResponseEnvelopeObject = { - timestamp?: string; - status?: number; - error?: string; - exception?: string; - message?: string; - total_time_taken_in_millis?: number; - http_status?: string; - items?: any; - payload?: any; - trace_id?: string; - page?: Page; -}; diff --git a/sdk/public/Inventory/InventoryPublicModel.js b/sdk/public/Inventory/InventoryPublicModel.js deleted file mode 100644 index 2864beefe..000000000 --- a/sdk/public/Inventory/InventoryPublicModel.js +++ /dev/null @@ -1,448 +0,0 @@ -const Joi = require("joi"); - -/** - * @typedef EmailJobMetrics - * @property {boolean} [executed] - * @property {string} [id] - * @property {string} [job_code] - * @property {boolean} [daily_job] - * @property {string} [last_executed_on] - */ - -/** - * @typedef Page - * @property {number} [item_total] - * @property {string} [next_id] - * @property {boolean} [has_previous] - * @property {boolean} [has_next] - * @property {number} [current] - * @property {string} type - * @property {number} [size] - */ - -/** - * @typedef ResponseEnvelopeEmailJobMetrics - * @property {string} [timestamp] - * @property {number} [status] - * @property {string} [error] - * @property {string} [exception] - * @property {string} [message] - * @property {number} [total_time_taken_in_millis] - * @property {string} [http_status] - * @property {EmailJobMetrics} [items] - * @property {EmailJobMetrics} [payload] - * @property {string} [trace_id] - * @property {Page} [page] - */ - -/** - * @typedef GCompany - * @property {string} [_id] - * @property {string} [integration] - * @property {string} [level] - * @property {number} [uid] - * @property {boolean} [opted] - * @property {string[]} [permissions] - * @property {string} [token] - * @property {string} [name] - * @property {GStore[]} [stores] - */ - -/** - * @typedef GStore - * @property {string} [_id] - * @property {string} [integration] - * @property {string} [level] - * @property {number} [uid] - * @property {boolean} [opted] - * @property {string[]} [permissions] - * @property {string} [token] - * @property {string} [code] - * @property {string} [name] - * @property {StoreData} [data] - */ - -/** - * @typedef Metum - * @property {string} [_id] - * @property {string} [name] - * @property {string} [value] - */ - -/** - * @typedef ResponseEnvelopeSlingshotConfigurationDetail - * @property {string} [timestamp] - * @property {number} [status] - * @property {string} [error] - * @property {string} [exception] - * @property {string} [message] - * @property {number} [total_time_taken_in_millis] - * @property {string} [http_status] - * @property {SlingshotConfigurationDetail} [items] - * @property {SlingshotConfigurationDetail} [payload] - * @property {string} [trace_id] - * @property {Page} [page] - */ - -/** - * @typedef SlingshotConfigurationDetail - * @property {SlingshotIntegration} [integration] - * @property {GCompany[]} [companies] - */ - -/** - * @typedef SlingshotIntegration - * @property {string} [_id] - * @property {string} [description] - * @property {string} [name] - * @property {string} [slug] - * @property {Metum[]} [meta] - */ - -/** - * @typedef StoreData - * @property {string} [location_id] - */ - -/** - * @typedef ApikeyModel - * @property {string} [session_id] - * @property {string} [error_message] - */ - -/** - * @typedef ResponseEnvelopeApikeyModel - * @property {string} [timestamp] - * @property {number} [status] - * @property {string} [error] - * @property {string} [exception] - * @property {string} [message] - * @property {number} [total_time_taken_in_millis] - * @property {string} [http_status] - * @property {ApikeyModel} [items] - * @property {ApikeyModel} [payload] - * @property {string} [trace_id] - * @property {Page} [page] - */ - -/** - * @typedef DataTresholdDTO - * @property {number} [min_price] - * @property {number} [safe_stock] - * @property {number} [period_threshold] - * @property {string} [period_threshold_type] - * @property {GenericDTO[]} [period_type_list] - */ - -/** - * @typedef GenericDTO - * @property {string} [text] - * @property {Object} [value] - */ - -/** - * @typedef JobConfigDTO - * @property {Object} [integration_data] - * @property {string} [company_name] - * @property {string} integration - * @property {number} company_id - * @property {TaskDTO} [task_details] - * @property {DataTresholdDTO} [threshold_details] - * @property {string} [job_code] - * @property {string} [alias] - */ - -/** - * @typedef ResponseEnvelopeJobConfigDTO - * @property {string} [timestamp] - * @property {number} [status] - * @property {string} [error] - * @property {string} [exception] - * @property {string} [message] - * @property {number} [total_time_taken_in_millis] - * @property {string} [http_status] - * @property {JobConfigDTO} [items] - * @property {JobConfigDTO} [payload] - * @property {string} [trace_id] - * @property {Page} [page] - */ - -/** - * @typedef TaskDTO - * @property {number} [type] - * @property {GenericDTO[]} [group_list] - */ - -/** - * @typedef ResponseEnvelopeListJobConfigDTO - * @property {string} [timestamp] - * @property {number} [status] - * @property {string} [error] - * @property {string} [exception] - * @property {string} [message] - * @property {number} [total_time_taken_in_millis] - * @property {string} [http_status] - * @property {JobConfigDTO[]} [items] - * @property {JobConfigDTO[]} [payload] - * @property {string} [trace_id] - * @property {Page} [page] - */ - -/** - * @typedef ResponseEnvelopeObject - * @property {string} [timestamp] - * @property {number} [status] - * @property {string} [error] - * @property {string} [exception] - * @property {string} [message] - * @property {number} [total_time_taken_in_millis] - * @property {string} [http_status] - * @property {Object} [items] - * @property {Object} [payload] - * @property {string} [trace_id] - * @property {Page} [page] - */ - -class InventoryPublicModel { - /** @returns {EmailJobMetrics} */ - static EmailJobMetrics() { - return Joi.object({ - executed: Joi.boolean(), - id: Joi.string().allow(""), - job_code: Joi.string().allow(""), - daily_job: Joi.boolean(), - last_executed_on: Joi.string().allow(""), - }); - } - - /** @returns {Page} */ - static Page() { - return Joi.object({ - item_total: Joi.number(), - next_id: Joi.string().allow(""), - has_previous: Joi.boolean(), - has_next: Joi.boolean(), - current: Joi.number(), - type: Joi.string().allow("").required(), - size: Joi.number(), - }); - } - - /** @returns {ResponseEnvelopeEmailJobMetrics} */ - static ResponseEnvelopeEmailJobMetrics() { - return Joi.object({ - timestamp: Joi.string().allow(""), - status: Joi.number(), - error: Joi.string().allow(""), - exception: Joi.string().allow(""), - message: Joi.string().allow(""), - total_time_taken_in_millis: Joi.number(), - http_status: Joi.string().allow(""), - items: InventoryPublicModel.EmailJobMetrics(), - payload: InventoryPublicModel.EmailJobMetrics(), - trace_id: Joi.string().allow(""), - page: InventoryPublicModel.Page(), - }); - } - - /** @returns {GCompany} */ - static GCompany() { - return Joi.object({ - _id: Joi.string().allow(""), - integration: Joi.string().allow(""), - level: Joi.string().allow(""), - uid: Joi.number(), - opted: Joi.boolean(), - permissions: Joi.array().items(Joi.string().allow("")), - token: Joi.string().allow(""), - name: Joi.string().allow(""), - stores: Joi.array().items(InventoryPublicModel.GStore()), - }); - } - - /** @returns {GStore} */ - static GStore() { - return Joi.object({ - _id: Joi.string().allow(""), - integration: Joi.string().allow(""), - level: Joi.string().allow(""), - uid: Joi.number(), - opted: Joi.boolean(), - permissions: Joi.array().items(Joi.string().allow("")), - token: Joi.string().allow(""), - code: Joi.string().allow(""), - name: Joi.string().allow(""), - data: InventoryPublicModel.StoreData(), - }); - } - - /** @returns {Metum} */ - static Metum() { - return Joi.object({ - _id: Joi.string().allow(""), - name: Joi.string().allow(""), - value: Joi.string().allow(""), - }); - } - - /** @returns {ResponseEnvelopeSlingshotConfigurationDetail} */ - static ResponseEnvelopeSlingshotConfigurationDetail() { - return Joi.object({ - timestamp: Joi.string().allow(""), - status: Joi.number(), - error: Joi.string().allow(""), - exception: Joi.string().allow(""), - message: Joi.string().allow(""), - total_time_taken_in_millis: Joi.number(), - http_status: Joi.string().allow(""), - items: InventoryPublicModel.SlingshotConfigurationDetail(), - payload: InventoryPublicModel.SlingshotConfigurationDetail(), - trace_id: Joi.string().allow(""), - page: InventoryPublicModel.Page(), - }); - } - - /** @returns {SlingshotConfigurationDetail} */ - static SlingshotConfigurationDetail() { - return Joi.object({ - integration: InventoryPublicModel.SlingshotIntegration(), - companies: Joi.array().items(InventoryPublicModel.GCompany()), - }); - } - - /** @returns {SlingshotIntegration} */ - static SlingshotIntegration() { - return Joi.object({ - _id: Joi.string().allow(""), - description: Joi.string().allow(""), - name: Joi.string().allow(""), - slug: Joi.string().allow(""), - meta: Joi.array().items(InventoryPublicModel.Metum()), - }); - } - - /** @returns {StoreData} */ - static StoreData() { - return Joi.object({ - location_id: Joi.string().allow(""), - }); - } - - /** @returns {ApikeyModel} */ - static ApikeyModel() { - return Joi.object({ - session_id: Joi.string().allow(""), - error_message: Joi.string().allow(""), - }); - } - - /** @returns {ResponseEnvelopeApikeyModel} */ - static ResponseEnvelopeApikeyModel() { - return Joi.object({ - timestamp: Joi.string().allow(""), - status: Joi.number(), - error: Joi.string().allow(""), - exception: Joi.string().allow(""), - message: Joi.string().allow(""), - total_time_taken_in_millis: Joi.number(), - http_status: Joi.string().allow(""), - items: InventoryPublicModel.ApikeyModel(), - payload: InventoryPublicModel.ApikeyModel(), - trace_id: Joi.string().allow(""), - page: InventoryPublicModel.Page(), - }); - } - - /** @returns {DataTresholdDTO} */ - static DataTresholdDTO() { - return Joi.object({ - min_price: Joi.number(), - safe_stock: Joi.number(), - period_threshold: Joi.number(), - period_threshold_type: Joi.string().allow(""), - period_type_list: Joi.array().items(InventoryPublicModel.GenericDTO()), - }); - } - - /** @returns {GenericDTO} */ - static GenericDTO() { - return Joi.object({ - text: Joi.string().allow(""), - value: Joi.any(), - }); - } - - /** @returns {JobConfigDTO} */ - static JobConfigDTO() { - return Joi.object({ - integration_data: Joi.object().pattern(/\S/, Joi.any()), - company_name: Joi.string().allow(""), - integration: Joi.string().allow("").required(), - company_id: Joi.number().required(), - task_details: InventoryPublicModel.TaskDTO(), - threshold_details: InventoryPublicModel.DataTresholdDTO(), - job_code: Joi.string().allow(""), - alias: Joi.string().allow(""), - }); - } - - /** @returns {ResponseEnvelopeJobConfigDTO} */ - static ResponseEnvelopeJobConfigDTO() { - return Joi.object({ - timestamp: Joi.string().allow(""), - status: Joi.number(), - error: Joi.string().allow(""), - exception: Joi.string().allow(""), - message: Joi.string().allow(""), - total_time_taken_in_millis: Joi.number(), - http_status: Joi.string().allow(""), - items: InventoryPublicModel.JobConfigDTO(), - payload: InventoryPublicModel.JobConfigDTO(), - trace_id: Joi.string().allow(""), - page: InventoryPublicModel.Page(), - }); - } - - /** @returns {TaskDTO} */ - static TaskDTO() { - return Joi.object({ - type: Joi.number(), - group_list: Joi.array().items(InventoryPublicModel.GenericDTO()), - }); - } - - /** @returns {ResponseEnvelopeListJobConfigDTO} */ - static ResponseEnvelopeListJobConfigDTO() { - return Joi.object({ - timestamp: Joi.string().allow(""), - status: Joi.number(), - error: Joi.string().allow(""), - exception: Joi.string().allow(""), - message: Joi.string().allow(""), - total_time_taken_in_millis: Joi.number(), - http_status: Joi.string().allow(""), - items: Joi.array().items(InventoryPublicModel.JobConfigDTO()), - payload: Joi.array().items(InventoryPublicModel.JobConfigDTO()), - trace_id: Joi.string().allow(""), - page: InventoryPublicModel.Page(), - }); - } - - /** @returns {ResponseEnvelopeObject} */ - static ResponseEnvelopeObject() { - return Joi.object({ - timestamp: Joi.string().allow(""), - status: Joi.number(), - error: Joi.string().allow(""), - exception: Joi.string().allow(""), - message: Joi.string().allow(""), - total_time_taken_in_millis: Joi.number(), - http_status: Joi.string().allow(""), - items: Joi.any(), - payload: Joi.any(), - trace_id: Joi.string().allow(""), - page: InventoryPublicModel.Page(), - }); - } -} -module.exports = InventoryPublicModel; diff --git a/sdk/public/Inventory/InventoryPublicValidator.d.ts b/sdk/public/Inventory/InventoryPublicValidator.d.ts deleted file mode 100644 index 43aeef9c6..000000000 --- a/sdk/public/Inventory/InventoryPublicValidator.d.ts +++ /dev/null @@ -1,91 +0,0 @@ -export = InventoryPublicValidator; -/** - * @typedef GetApiKeyParam - * @property {string} userName - Integration id - * @property {string} password - Company/store token - */ -/** - * @typedef GetConfigByApiKeyParam - * @property {string} apikey - Api key - */ -/** - * @typedef GetJobByCodeParam - * @property {string} code - Job Code - */ -/** - * @typedef GetJobCodesMetricsParam - * @property {boolean} [dailyJob] - Daily Job Flag - * @property {string} [jobCode] - Email Job Code - */ -/** - * @typedef GetJobConfigByIntegrationTypeParam - * @property {string} integrationType - Integration Type - * @property {boolean} [disable] - JobConfig current state - */ -/** - * @typedef SaveJobCodesMetricsParam - * @property {InventoryPublicModel.EmailJobMetrics} body - */ -declare class InventoryPublicValidator { - /** @returns {GetApiKeyParam} */ - static getApiKey(): GetApiKeyParam; - /** @returns {GetConfigByApiKeyParam} */ - static getConfigByApiKey(): GetConfigByApiKeyParam; - /** @returns {GetJobByCodeParam} */ - static getJobByCode(): GetJobByCodeParam; - /** @returns {GetJobCodesMetricsParam} */ - static getJobCodesMetrics(): GetJobCodesMetricsParam; - /** @returns {GetJobConfigByIntegrationTypeParam} */ - static getJobConfigByIntegrationType(): GetJobConfigByIntegrationTypeParam; - /** @returns {SaveJobCodesMetricsParam} */ - static saveJobCodesMetrics(): SaveJobCodesMetricsParam; -} -declare namespace InventoryPublicValidator { - export { GetApiKeyParam, GetConfigByApiKeyParam, GetJobByCodeParam, GetJobCodesMetricsParam, GetJobConfigByIntegrationTypeParam, SaveJobCodesMetricsParam }; -} -type GetApiKeyParam = { - /** - * - Integration id - */ - userName: string; - /** - * - Company/store token - */ - password: string; -}; -type GetConfigByApiKeyParam = { - /** - * - Api key - */ - apikey: string; -}; -type GetJobByCodeParam = { - /** - * - Job Code - */ - code: string; -}; -type GetJobCodesMetricsParam = { - /** - * - Daily Job Flag - */ - dailyJob?: boolean; - /** - * - Email Job Code - */ - jobCode?: string; -}; -type GetJobConfigByIntegrationTypeParam = { - /** - * - Integration Type - */ - integrationType: string; - /** - * - JobConfig current state - */ - disable?: boolean; -}; -type SaveJobCodesMetricsParam = { - body: InventoryPublicModel.EmailJobMetrics; -}; -import InventoryPublicModel = require("./InventoryPublicModel"); diff --git a/sdk/public/Inventory/InventoryPublicValidator.js b/sdk/public/Inventory/InventoryPublicValidator.js deleted file mode 100644 index 5182e9f7a..000000000 --- a/sdk/public/Inventory/InventoryPublicValidator.js +++ /dev/null @@ -1,85 +0,0 @@ -const Joi = require("joi"); - -const InventoryPublicModel = require("./InventoryPublicModel"); - -/** - * @typedef GetApiKeyParam - * @property {string} userName - Integration id - * @property {string} password - Company/store token - */ - -/** - * @typedef GetConfigByApiKeyParam - * @property {string} apikey - Api key - */ - -/** - * @typedef GetJobByCodeParam - * @property {string} code - Job Code - */ - -/** - * @typedef GetJobCodesMetricsParam - * @property {boolean} [dailyJob] - Daily Job Flag - * @property {string} [jobCode] - Email Job Code - */ - -/** - * @typedef GetJobConfigByIntegrationTypeParam - * @property {string} integrationType - Integration Type - * @property {boolean} [disable] - JobConfig current state - */ - -/** - * @typedef SaveJobCodesMetricsParam - * @property {InventoryPublicModel.EmailJobMetrics} body - */ - -class InventoryPublicValidator { - /** @returns {GetApiKeyParam} */ - static getApiKey() { - return Joi.object({ - userName: Joi.string().allow("").required(), - password: Joi.string().allow("").required(), - }).required(); - } - - /** @returns {GetConfigByApiKeyParam} */ - static getConfigByApiKey() { - return Joi.object({ - apikey: Joi.string().allow("").required(), - }).required(); - } - - /** @returns {GetJobByCodeParam} */ - static getJobByCode() { - return Joi.object({ - code: Joi.string().allow("").required(), - }).required(); - } - - /** @returns {GetJobCodesMetricsParam} */ - static getJobCodesMetrics() { - return Joi.object({ - dailyJob: Joi.boolean(), - jobCode: Joi.string().allow(""), - }); - } - - /** @returns {GetJobConfigByIntegrationTypeParam} */ - static getJobConfigByIntegrationType() { - return Joi.object({ - integrationType: Joi.string().allow("").required(), - disable: Joi.boolean(), - }).required(); - } - - /** @returns {SaveJobCodesMetricsParam} */ - static saveJobCodesMetrics() { - return Joi.object({ - body: InventoryPublicModel.EmailJobMetrics().required(), - }).required(); - } -} - -module.exports = InventoryPublicValidator; diff --git a/sdk/public/PublicClient.d.ts b/sdk/public/PublicClient.d.ts index 9a1126095..488eed7f8 100644 --- a/sdk/public/PublicClient.d.ts +++ b/sdk/public/PublicClient.d.ts @@ -12,10 +12,8 @@ declare class PublicClient { */ constructor(config: import("./PublicConfig")); config: import("./PublicConfig"); - billing: Billing; configuration: Configuration; content: Content; - inventory: Inventory; partner: Partner; webhook: Webhook; /** @@ -26,9 +24,7 @@ declare class PublicClient { */ setExtraHeaders(header: object): void; } -import Billing = require("./Billing/BillingPublicClient"); import Configuration = require("./Configuration/ConfigurationPublicClient"); import Content = require("./Content/ContentPublicClient"); -import Inventory = require("./Inventory/InventoryPublicClient"); import Partner = require("./Partner/PartnerPublicClient"); import Webhook = require("./Webhook/WebhookPublicClient"); diff --git a/sdk/public/PublicClient.js b/sdk/public/PublicClient.js index b781581c0..b2276fc86 100644 --- a/sdk/public/PublicClient.js +++ b/sdk/public/PublicClient.js @@ -1,11 +1,7 @@ -const Billing = require("./Billing/BillingPublicClient"); - const Configuration = require("./Configuration/ConfigurationPublicClient"); const Content = require("./Content/ContentPublicClient"); -const Inventory = require("./Inventory/InventoryPublicClient"); - const Partner = require("./Partner/PartnerPublicClient"); const Webhook = require("./Webhook/WebhookPublicClient"); @@ -26,14 +22,10 @@ class PublicClient { constructor(config) { this.config = config; - this.billing = new Billing(config); - this.configuration = new Configuration(config); this.content = new Content(config); - this.inventory = new Inventory(config); - this.partner = new Partner(config); this.webhook = new Webhook(config); diff --git a/sdk/public/index.d.ts b/sdk/public/index.d.ts index 429c6d6cd..d307abfaf 100644 --- a/sdk/public/index.d.ts +++ b/sdk/public/index.d.ts @@ -1,10 +1,8 @@ export const PublicConfig: typeof import("./PublicConfig"); export const PublicClient: typeof import("./PublicClient"); export namespace PublicModel { - const BillingPublicModel: typeof import("./Billing/BillingPublicModel"); const ConfigurationPublicModel: typeof import("./Configuration/ConfigurationPublicModel"); const ContentPublicModel: typeof import("./Content/ContentPublicModel"); - const InventoryPublicModel: typeof import("./Inventory/InventoryPublicModel"); const PartnerPublicModel: typeof import("./Partner/PartnerPublicModel"); const WebhookPublicModel: typeof import("./Webhook/WebhookPublicModel"); } diff --git a/sdk/public/index.js b/sdk/public/index.js index 3d76ce35b..e92dcde67 100644 --- a/sdk/public/index.js +++ b/sdk/public/index.js @@ -2,14 +2,10 @@ module.exports = { PublicConfig: require("./PublicConfig"), PublicClient: require("./PublicClient"), PublicModel: { - BillingPublicModel: require("./Billing/BillingPublicModel"), - ConfigurationPublicModel: require("./Configuration/ConfigurationPublicModel"), ContentPublicModel: require("./Content/ContentPublicModel"), - InventoryPublicModel: require("./Inventory/InventoryPublicModel"), - PartnerPublicModel: require("./Partner/PartnerPublicModel"), WebhookPublicModel: require("./Webhook/WebhookPublicModel"), diff --git a/tests/common/schema/action-url.json b/tests/common/schema/action-url.json index 944c0346a..ed117ec62 100644 --- a/tests/common/schema/action-url.json +++ b/tests/common/schema/action-url.json @@ -1,5 +1,38 @@ { "tests": [ + { + "name": "Custom theme page", + "action": { + "type": "page", + "page": { + "type": "custom", + "query": { + "url": ["/c/my/custom/page"] + }, + "params": {} + } + }, + "result": { + "path": "/c/my/custom/page" + } + }, + { + "name": "Custom theme page with query", + "action": { + "type": "page", + "page": { + "type": "custom", + "query": { + "url": ["/c/my/custom/page"], + "user": ["Joe"] + }, + "params": {} + } + }, + "result": { + "path": "/c/my/custom/page/?user=Joe" + } + }, { "name": "brand listing query param ", "action": { diff --git a/tests/common/schema/url-action.json b/tests/common/schema/url-action.json index c9d34ff38..f6deb2771 100644 --- a/tests/common/schema/url-action.json +++ b/tests/common/schema/url-action.json @@ -1,5 +1,38 @@ { "tests": [ + { + "name": "Check theme custom page", + "path": "/c/my/custom/page", + "result": { + "action": { + "type": "page", + "page": { + "type": "custom", + "query": { + "url": ["/c/my/custom/page"] + }, + "params": {} + } + } + } + }, + { + "name": "Check theme custom page with query", + "path": "/c/my/custom/page?user=Joe", + "result": { + "action": { + "type": "page", + "page": { + "type": "custom", + "query": { + "url": ["/c/my/custom/page"], + "user": ["Joe"] + }, + "params": {} + } + } + } + }, { "name": "without preceeding and ending /", "path": "products?brand=nokia&brand=nightwear-loungewear&department=electronics&category=casual-shirts&l2_category=", diff --git a/tests/common/url-action.spec.js b/tests/common/url-action.spec.js index 3b300874e..6130be0c8 100644 --- a/tests/common/url-action.spec.js +++ b/tests/common/url-action.spec.js @@ -10,6 +10,21 @@ describe("Convert from URL to actionObject", () => { }); }); + it("Check in query for custom theme URL", () => { + const customURL = "/c/my/custom/page/"; + let path = convertUrlToAction(customURL); + expect(path).toEqual({ + type: "page", + page: { + type: "custom", + query: { + url: [customURL], + }, + params: {}, + }, + }); + }); + it("empty string as url", () => { let path = convertUrlToAction(""); expect(path).toEqual({