@gofynd/fdk-client-javascript 1.4.12 → 1.4.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +2 -2
- package/sdk/application/Content/ContentApplicationModel.d.ts +3 -2
- package/sdk/application/Content/ContentApplicationModel.js +5 -2
- package/sdk/application/Theme/ThemeApplicationModel.d.ts +3 -2
- package/sdk/application/Theme/ThemeApplicationModel.js +5 -2
- package/sdk/common/Clickstream.js +12 -0
- package/sdk/common/Constant.d.ts +5 -0
- package/sdk/common/Constant.js +5 -0
- package/sdk/partner/Theme/ThemePartnerModel.d.ts +3 -2
- package/sdk/partner/Theme/ThemePartnerModel.js +5 -2
- package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +38 -35
- package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +42 -39
- package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +27 -23
- package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +14 -12
- package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +2 -2
- package/sdk/platform/Catalog/CatalogPlatformClient.js +2 -2
- package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +1107 -232
- package/sdk/platform/Catalog/CatalogPlatformModel.js +466 -224
- package/sdk/platform/Content/ContentPlatformModel.d.ts +3 -2
- package/sdk/platform/Content/ContentPlatformModel.js +5 -2
- package/sdk/platform/Order/OrderPlatformClient.d.ts +5 -49
- package/sdk/platform/Order/OrderPlatformClient.js +32 -328
- package/sdk/platform/Order/OrderPlatformModel.d.ts +2638 -1394
- package/sdk/platform/Order/OrderPlatformModel.js +1068 -1387
- package/sdk/platform/Order/OrderPlatformValidator.d.ts +142 -110
- package/sdk/platform/Order/OrderPlatformValidator.js +64 -91
- package/sdk/platform/Theme/ThemePlatformModel.d.ts +3 -2
- package/sdk/platform/Theme/ThemePlatformModel.js +5 -2
|
@@ -96,12 +96,15 @@ const Joi = require("joi");
|
|
|
96
96
|
|
|
97
97
|
/**
|
|
98
98
|
* @typedef ApplicationBrandJson
|
|
99
|
-
* @property {Object} _custom_json
|
|
99
|
+
* @property {Object} _custom_json - A custom JSON object containing additional
|
|
100
|
+
* brand-specific configurations or data. The structure is flexible and may
|
|
101
|
+
* vary based on application needs.
|
|
100
102
|
*/
|
|
101
103
|
|
|
102
104
|
/**
|
|
103
105
|
* @typedef ApplicationCategoryJson
|
|
104
|
-
* @property {Object} _custom_json
|
|
106
|
+
* @property {Object} _custom_json - A custom JSON object containing additional
|
|
107
|
+
* details or configurations specific to the application category.
|
|
105
108
|
*/
|
|
106
109
|
|
|
107
110
|
/**
|
|
@@ -344,9 +347,12 @@ const Joi = require("joi");
|
|
|
344
347
|
|
|
345
348
|
/**
|
|
346
349
|
* @typedef BannerImage
|
|
347
|
-
* @property {string} [aspect_ratio]
|
|
348
|
-
*
|
|
349
|
-
* @property {string} [
|
|
350
|
+
* @property {string} [aspect_ratio] - The aspect ratio of the banner image,
|
|
351
|
+
* typically represented as a ratio (e.g., '16:9' or '4:3').
|
|
352
|
+
* @property {string} [type] - The type of media, such as 'image' or 'banner',
|
|
353
|
+
* indicating the format of the banner.
|
|
354
|
+
* @property {string} [url] - The URL where the banner image is located,
|
|
355
|
+
* typically a web address pointing to the image resource.
|
|
350
356
|
*/
|
|
351
357
|
|
|
352
358
|
/**
|
|
@@ -373,20 +379,79 @@ const Joi = require("joi");
|
|
|
373
379
|
* @typedef BrandItem
|
|
374
380
|
* @property {Action} [action]
|
|
375
381
|
* @property {ImageUrls} [banners]
|
|
376
|
-
* @property {string[]} [departments]
|
|
377
|
-
*
|
|
378
|
-
* @property {
|
|
379
|
-
*
|
|
380
|
-
* @property {
|
|
381
|
-
* @property {
|
|
382
|
+
* @property {string[]} [departments] - An array of department names or
|
|
383
|
+
* categories that the brand belongs to, represented as strings.
|
|
384
|
+
* @property {string} [discount] - A string representing the discount offered by
|
|
385
|
+
* the brand, such as percentage or amount off.
|
|
386
|
+
* @property {BrandMedia} [logo]
|
|
387
|
+
* @property {string} [name] - The name of the brand.
|
|
388
|
+
* @property {string} [slug] - A URL-friendly identifier for the brand, often
|
|
389
|
+
* used in website routing.
|
|
390
|
+
* @property {number} [uid] - A unique identifier for the brand, typically used
|
|
391
|
+
* for internal reference.
|
|
382
392
|
*/
|
|
383
393
|
|
|
384
394
|
/**
|
|
385
395
|
* @typedef BrandListingResponse
|
|
386
|
-
* @property {BrandItem[]} [items]
|
|
396
|
+
* @property {BrandItem[]} [items] - An array of brand items, each containing
|
|
397
|
+
* detailed information about the brand, such as action, banners, departments,
|
|
398
|
+
* discount, logo, and other related fields.
|
|
387
399
|
* @property {Page} page
|
|
388
400
|
*/
|
|
389
401
|
|
|
402
|
+
/**
|
|
403
|
+
* @typedef ApplicationBrandListingItemSchema
|
|
404
|
+
* @property {Object} [_custom_json] - Custom JSON object for additional data.
|
|
405
|
+
* @property {Object} [_locale_language] - Custom object for locale-specific
|
|
406
|
+
* language data.
|
|
407
|
+
* @property {string} [brand_banner_portrait_url] - URL of the brand's portrait banner.
|
|
408
|
+
* @property {string} [brand_banner_url] - URL of the brand's landscape banner.
|
|
409
|
+
* @property {string} [brand_logo_url] - URL of the brand's logo.
|
|
410
|
+
* @property {string} [description] - Description of the brand.
|
|
411
|
+
* @property {string} [name] - Name of the brand.
|
|
412
|
+
* @property {string} [slug_key] - Unique slug key for the brand.
|
|
413
|
+
* @property {number} [priority] - Priority of the brand in listing.
|
|
414
|
+
* @property {number} [uid] - Unique identifier of the brand.
|
|
415
|
+
* @property {string} [created_on] - Timestamp when the category was created.
|
|
416
|
+
* @property {string} [last_updated] - Timestamp when the category was created.
|
|
417
|
+
* @property {boolean} [is_active] - Indicates if the brand is active.
|
|
418
|
+
* @property {number[]} [departments] - List of department IDs associated with the brand.
|
|
419
|
+
* @property {string} [modified_on] - Timestamp when the brand was last modified.
|
|
420
|
+
* @property {boolean} [active] - Boolean indicating whether the brand is
|
|
421
|
+
* currently active or not.
|
|
422
|
+
*/
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* @typedef ApplicationBrandListingSchema
|
|
426
|
+
* @property {ApplicationBrandListingItemSchema[]} [items]
|
|
427
|
+
* @property {Page} [page]
|
|
428
|
+
*/
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* @typedef ApplicationCategoryListingSchema
|
|
432
|
+
* @property {ApplicationCategoryListingItemSchema[]} [items]
|
|
433
|
+
* @property {Page} [page]
|
|
434
|
+
*/
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* @typedef ApplicationCategoryListingItemSchema
|
|
438
|
+
* @property {string} [name] - Name of the category.
|
|
439
|
+
* @property {string} [logo] - URL of the category's logo.
|
|
440
|
+
* @property {number[]} [departments] - List of department IDs.
|
|
441
|
+
* @property {string} [attr_name] - Attribute name of the category.
|
|
442
|
+
* @property {string} [landscape_url] - URL of the landscape banner.
|
|
443
|
+
* @property {string} [portrait_url] - URL of the portrait banner.
|
|
444
|
+
* @property {Object} [_custom_json] - Custom JSON object for additional data.
|
|
445
|
+
* @property {number} [priority] - Priority of the category.
|
|
446
|
+
* @property {CreatedBy} [created_by]
|
|
447
|
+
* @property {string} [created_on] - Timestamp when the category was created.
|
|
448
|
+
* @property {CreatedBy} [modified_by]
|
|
449
|
+
* @property {string} [modified_on] - Timestamp when the category was last modified.
|
|
450
|
+
* @property {string} [app_id] - Application ID associated with the category.
|
|
451
|
+
* @property {boolean} [is_active] - Indicates whether the category is active.
|
|
452
|
+
* @property {number} [uid] - Unique identifier of the category.
|
|
453
|
+
*/
|
|
454
|
+
|
|
390
455
|
/**
|
|
391
456
|
* @typedef BrandMeta
|
|
392
457
|
* @property {number} id
|
|
@@ -394,7 +459,7 @@ const Joi = require("joi");
|
|
|
394
459
|
*/
|
|
395
460
|
|
|
396
461
|
/**
|
|
397
|
-
* @typedef
|
|
462
|
+
* @typedef InventoryBrandMeta
|
|
398
463
|
* @property {number} [id]
|
|
399
464
|
* @property {string} [name]
|
|
400
465
|
*/
|
|
@@ -497,19 +562,26 @@ const Joi = require("joi");
|
|
|
497
562
|
|
|
498
563
|
/**
|
|
499
564
|
* @typedef CatalogInsightBrand
|
|
500
|
-
* @property {number} [article_freshness]
|
|
501
|
-
*
|
|
502
|
-
* @property {number} [
|
|
503
|
-
*
|
|
504
|
-
* @property {number} [
|
|
505
|
-
*
|
|
565
|
+
* @property {number} [article_freshness] - The average freshness of the
|
|
566
|
+
* articles based on the time since they were added to the catalog.
|
|
567
|
+
* @property {number} [available_articles] - The number of articles that are
|
|
568
|
+
* currently available for purchase.
|
|
569
|
+
* @property {number} [available_sizes] - The total number of unique sizes
|
|
570
|
+
* available across all articles.
|
|
571
|
+
* @property {string} [name] - The name of the brand.
|
|
572
|
+
* @property {number} [total_articles] - The total number of articles listed
|
|
573
|
+
* under the brand.
|
|
574
|
+
* @property {number} [total_sizes] - The total number of sizes offered across
|
|
575
|
+
* all articles for the brand.
|
|
506
576
|
*/
|
|
507
577
|
|
|
508
578
|
/**
|
|
509
579
|
* @typedef CatalogInsightItem
|
|
510
|
-
* @property {number} [count]
|
|
511
|
-
* @property {number} [out_of_stock_count]
|
|
512
|
-
*
|
|
580
|
+
* @property {number} [count] - The total number of catalog items available.
|
|
581
|
+
* @property {number} [out_of_stock_count] - The number of items that are
|
|
582
|
+
* currently out of stock.
|
|
583
|
+
* @property {number} [sellable_count] - The number of items that are currently
|
|
584
|
+
* sellable (in stock).
|
|
513
585
|
*/
|
|
514
586
|
|
|
515
587
|
/**
|
|
@@ -556,6 +628,7 @@ const Joi = require("joi");
|
|
|
556
628
|
|
|
557
629
|
/**
|
|
558
630
|
* @typedef CategoryItems
|
|
631
|
+
* @property {Object} [_custom_json]
|
|
559
632
|
* @property {Action} [action]
|
|
560
633
|
* @property {ImageUrls} [banners]
|
|
561
634
|
* @property {Child[]} [childs]
|
|
@@ -566,8 +639,12 @@ const Joi = require("joi");
|
|
|
566
639
|
|
|
567
640
|
/**
|
|
568
641
|
* @typedef CategoryListingResponse
|
|
569
|
-
* @property {DepartmentCategoryTree[]} [data]
|
|
570
|
-
*
|
|
642
|
+
* @property {DepartmentCategoryTree[]} [data] - An array containing the
|
|
643
|
+
* department category trees, which provide hierarchical information about
|
|
644
|
+
* categories and their associated departments.
|
|
645
|
+
* @property {DepartmentIdentifier[]} [departments] - An array of department
|
|
646
|
+
* identifiers, each providing basic information like name, slug, and unique
|
|
647
|
+
* ID for departments within the catalog.
|
|
571
648
|
*/
|
|
572
649
|
|
|
573
650
|
/**
|
|
@@ -595,19 +672,23 @@ const Joi = require("joi");
|
|
|
595
672
|
|
|
596
673
|
/**
|
|
597
674
|
* @typedef Child
|
|
598
|
-
* @property {Object} [_custom_json]
|
|
675
|
+
* @property {Object} [_custom_json] - Custom JSON object to store additional
|
|
676
|
+
* data for the child.
|
|
599
677
|
* @property {Action} [action]
|
|
600
678
|
* @property {ImageUrls} [banners]
|
|
601
|
-
* @property {SecondLevelChild[]} [childs]
|
|
602
|
-
*
|
|
603
|
-
* @property {string} [
|
|
604
|
-
* @property {
|
|
679
|
+
* @property {SecondLevelChild[]} [childs] - A list of second-level child
|
|
680
|
+
* elements under the current child.
|
|
681
|
+
* @property {string} [name] - Name of the child element.
|
|
682
|
+
* @property {string} [slug] - Slug or URL-friendly identifier for the child element.
|
|
683
|
+
* @property {number} [uid] - Unique identifier for the child element.
|
|
605
684
|
*/
|
|
606
685
|
|
|
607
686
|
/**
|
|
608
687
|
* @typedef CollectionBadge
|
|
609
|
-
* @property {string} [color]
|
|
610
|
-
*
|
|
688
|
+
* @property {string} [color] - The color of the badge displayed with the
|
|
689
|
+
* collection, typically represented as a string (e.g., a hex code or color name).
|
|
690
|
+
* @property {string} [text] - The text displayed on the badge, which may
|
|
691
|
+
* indicate a label or promotion related to the collection.
|
|
611
692
|
*/
|
|
612
693
|
|
|
613
694
|
/**
|
|
@@ -618,26 +699,41 @@ const Joi = require("joi");
|
|
|
618
699
|
|
|
619
700
|
/**
|
|
620
701
|
* @typedef CollectionCreateResponse
|
|
621
|
-
* @property {string} [uid]
|
|
622
|
-
* @property {
|
|
623
|
-
* @property {boolean} [allow_facets]
|
|
624
|
-
*
|
|
625
|
-
* @property {
|
|
626
|
-
*
|
|
702
|
+
* @property {string} [uid] - Unique identifier for the collection.
|
|
703
|
+
* @property {CollectionSchedule} [_schedule]
|
|
704
|
+
* @property {boolean} [allow_facets] - Indicates whether facet-based filtering
|
|
705
|
+
* is allowed for the collection.
|
|
706
|
+
* @property {boolean} [allow_sort] - Indicates whether sorting options are
|
|
707
|
+
* allowed for the collection.
|
|
708
|
+
* @property {string} [app_id] - The application ID associated with the collection.
|
|
709
|
+
* @property {Object} [badge] - Details of the badge associated with the collection.
|
|
627
710
|
* @property {ImageUrls} [banners]
|
|
628
|
-
* @property {
|
|
629
|
-
* @property {
|
|
630
|
-
* @property {boolean} [is_active]
|
|
711
|
+
* @property {string} [description] - A description of the collection.
|
|
712
|
+
* @property {boolean} [is_active] - Indicates whether the collection is currently active.
|
|
631
713
|
* @property {BannerImage} [logo]
|
|
632
|
-
* @property {Object} [meta]
|
|
633
|
-
* @property {string} [name]
|
|
634
|
-
* @property {number} [priority]
|
|
635
|
-
*
|
|
636
|
-
* @property {
|
|
637
|
-
*
|
|
638
|
-
* @property {string
|
|
639
|
-
* @property {string} [
|
|
640
|
-
*
|
|
714
|
+
* @property {Object} [meta] - Additional metadata related to the collection.
|
|
715
|
+
* @property {string} [name] - The name of the collection.
|
|
716
|
+
* @property {number} [priority] - The priority level of the collection, used to
|
|
717
|
+
* determine its display order.
|
|
718
|
+
* @property {CollectionQuery[]} [query] - Query objects that define how the
|
|
719
|
+
* collection's items are retrieved or filtered.
|
|
720
|
+
* @property {string} [slug] - The URL-friendly identifier for the collection.
|
|
721
|
+
* @property {string} [sort_on] - The default sorting order for items in the
|
|
722
|
+
* collection, e.g., 'popular'.
|
|
723
|
+
* @property {string[]} [tag] - Array of tags associated with the collection for
|
|
724
|
+
* categorization and filtering.
|
|
725
|
+
* @property {string} [type] - The type of collection, such as 'items' for
|
|
726
|
+
* manually added items or 'query' for dynamically fetched items.
|
|
727
|
+
* @property {string[]} [visible_facets_keys] - Keys of the facets that are
|
|
728
|
+
* visible and can be used for filtering the collection.
|
|
729
|
+
* @property {boolean} [published] - Indicates whether the collection is published.
|
|
730
|
+
* @property {string[]} [tags] - List of tags associated with the collection.
|
|
731
|
+
* @property {Action} [action]
|
|
732
|
+
* @property {Object} [_custom_json] - Custom JSON data for additional information.
|
|
733
|
+
* @property {Object} [_locale_language] - Locale language settings for the collection.
|
|
734
|
+
* @property {SeoDetail} [seo]
|
|
735
|
+
* @property {boolean} [is_visible] - Indicates if the collection is visible to users.
|
|
736
|
+
* @property {string} [id] - Unique identifier for the collection.
|
|
641
737
|
*/
|
|
642
738
|
|
|
643
739
|
/**
|
|
@@ -665,8 +761,11 @@ const Joi = require("joi");
|
|
|
665
761
|
|
|
666
762
|
/**
|
|
667
763
|
* @typedef CollectionImage
|
|
668
|
-
* @property {string} aspect_ratio
|
|
669
|
-
*
|
|
764
|
+
* @property {string} aspect_ratio - The aspect ratio of the image, typically
|
|
765
|
+
* represented as a string (e.g., "16:9" or "4:3") to indicate the
|
|
766
|
+
* proportional relationship between the image's width and height.
|
|
767
|
+
* @property {string} url - The URL of the image, which provides the location
|
|
768
|
+
* where the image is hosted and can be accessed.
|
|
670
769
|
*/
|
|
671
770
|
|
|
672
771
|
/**
|
|
@@ -688,22 +787,24 @@ const Joi = require("joi");
|
|
|
688
787
|
|
|
689
788
|
/**
|
|
690
789
|
* @typedef CollectionListingFilter
|
|
691
|
-
* @property {CollectionListingFilterTag[]} [tags]
|
|
692
|
-
*
|
|
790
|
+
* @property {CollectionListingFilterTag[]} [tags] - A list of tags used to
|
|
791
|
+
* filter the collection listing.
|
|
792
|
+
* @property {CollectionListingFilterType[]} [type] - A list of types used to
|
|
793
|
+
* filter the collection listing.
|
|
693
794
|
*/
|
|
694
795
|
|
|
695
796
|
/**
|
|
696
797
|
* @typedef CollectionListingFilterTag
|
|
697
|
-
* @property {string} [display]
|
|
698
|
-
* @property {boolean} [is_selected]
|
|
699
|
-
* @property {string} [name]
|
|
798
|
+
* @property {string} [display] - The display name of the tag for the collection listing.
|
|
799
|
+
* @property {boolean} [is_selected] - Indicates whether the tag is currently selected.
|
|
800
|
+
* @property {string} [name] - The name of the tag.
|
|
700
801
|
*/
|
|
701
802
|
|
|
702
803
|
/**
|
|
703
804
|
* @typedef CollectionListingFilterType
|
|
704
|
-
* @property {string} [display]
|
|
705
|
-
* @property {boolean} [is_selected]
|
|
706
|
-
* @property {string} [name]
|
|
805
|
+
* @property {string} [display] - The display name of the type for the collection listing.
|
|
806
|
+
* @property {boolean} [is_selected] - Indicates whether the type is currently selected.
|
|
807
|
+
* @property {string} [name] - The internal name of the type.
|
|
707
808
|
*/
|
|
708
809
|
|
|
709
810
|
/**
|
|
@@ -716,11 +817,17 @@ const Joi = require("joi");
|
|
|
716
817
|
|
|
717
818
|
/**
|
|
718
819
|
* @typedef CollectionSchedule
|
|
719
|
-
* @property {string} [cron]
|
|
720
|
-
*
|
|
721
|
-
*
|
|
722
|
-
* @property {
|
|
723
|
-
*
|
|
820
|
+
* @property {string} [cron] - The cron expression that defines the scheduling
|
|
821
|
+
* pattern, allowing for tasks or events to be repeated at specific intervals
|
|
822
|
+
* (e.g., daily, weekly).
|
|
823
|
+
* @property {number} [duration] - The duration in seconds for which the
|
|
824
|
+
* collection is active or valid.
|
|
825
|
+
* @property {string} [end] - The end date and time for the collection's
|
|
826
|
+
* schedule, formatted as a date-time string.
|
|
827
|
+
* @property {NextSchedule[]} [next_schedule] - The next set of scheduled times
|
|
828
|
+
* when the collection will become active, based on the cron expression.
|
|
829
|
+
* @property {string} [start] - The start date and time for the collection's
|
|
830
|
+
* schedule, formatted as a date-time string.
|
|
724
831
|
*/
|
|
725
832
|
|
|
726
833
|
/**
|
|
@@ -737,7 +844,7 @@ const Joi = require("joi");
|
|
|
737
844
|
*/
|
|
738
845
|
|
|
739
846
|
/**
|
|
740
|
-
* @typedef
|
|
847
|
+
* @typedef InventoryCompanyMeta
|
|
741
848
|
* @property {number} [id]
|
|
742
849
|
*/
|
|
743
850
|
|
|
@@ -879,31 +986,45 @@ const Joi = require("joi");
|
|
|
879
986
|
|
|
880
987
|
/**
|
|
881
988
|
* @typedef CreateCollection
|
|
882
|
-
* @property {Object} [_custom_json]
|
|
883
|
-
*
|
|
989
|
+
* @property {Object} [_custom_json] - Custom JSON data for the collection, used
|
|
990
|
+
* for any additional information.
|
|
991
|
+
* @property {Object} [_locale_language] - Locale-specific data for supporting
|
|
992
|
+
* multiple languages.
|
|
884
993
|
* @property {CollectionSchedule} [_schedule]
|
|
885
|
-
* @property {boolean} [allow_facets]
|
|
886
|
-
*
|
|
887
|
-
* @property {
|
|
994
|
+
* @property {boolean} [allow_facets] - Indicates whether facet-based filtering
|
|
995
|
+
* is allowed for the collection.
|
|
996
|
+
* @property {boolean} [allow_sort] - Indicates whether sorting options are
|
|
997
|
+
* allowed for the collection.
|
|
998
|
+
* @property {string} app_id - The application ID associated with the collection.
|
|
888
999
|
* @property {CollectionBadge} [badge]
|
|
889
1000
|
* @property {CollectionBanner} banners
|
|
890
|
-
* @property {UserInfo} [created_by]
|
|
891
|
-
*
|
|
892
|
-
* @property {
|
|
893
|
-
* @property {boolean} [
|
|
1001
|
+
* @property {UserInfo} [created_by] - Information about the user who created
|
|
1002
|
+
* the collection.
|
|
1003
|
+
* @property {string} [description] - A description of the collection.
|
|
1004
|
+
* @property {boolean} [is_active] - Indicates whether the collection is currently active.
|
|
1005
|
+
* @property {boolean} [is_visible] - Indicates whether the collection is
|
|
1006
|
+
* visible to users.
|
|
894
1007
|
* @property {CollectionImage} logo
|
|
895
|
-
* @property {Object} [meta]
|
|
896
|
-
* @property {UserInfo} [modified_by]
|
|
897
|
-
*
|
|
898
|
-
* @property {
|
|
899
|
-
* @property {
|
|
900
|
-
*
|
|
1008
|
+
* @property {Object} [meta] - Additional metadata related to the collection.
|
|
1009
|
+
* @property {UserInfo} [modified_by] - Information about the user who last
|
|
1010
|
+
* modified the collection.
|
|
1011
|
+
* @property {string} name - The name of the collection.
|
|
1012
|
+
* @property {number} [priority] - The priority level of the collection, used to
|
|
1013
|
+
* determine its display order.
|
|
1014
|
+
* @property {boolean} [published] - Indicates whether the collection is
|
|
1015
|
+
* published and available to users.
|
|
1016
|
+
* @property {CollectionQuery[]} [query] - Query objects that define how the
|
|
1017
|
+
* collection's items are retrieved or filtered.
|
|
901
1018
|
* @property {SeoDetail} [seo]
|
|
902
|
-
* @property {string} slug
|
|
903
|
-
* @property {string} [sort_on]
|
|
904
|
-
*
|
|
905
|
-
* @property {string}
|
|
906
|
-
*
|
|
1019
|
+
* @property {string} slug - The URL-friendly identifier for the collection.
|
|
1020
|
+
* @property {string} [sort_on] - The default sorting order for items in the
|
|
1021
|
+
* collection, e.g., 'popular'.
|
|
1022
|
+
* @property {string[]} [tags] - Array of tags associated with the collection
|
|
1023
|
+
* for categorization and filtering.
|
|
1024
|
+
* @property {string} type - The type of collection, either 'items' for manually
|
|
1025
|
+
* added items or 'query' for dynamically fetched items.
|
|
1026
|
+
* @property {string[]} [visible_facets_keys] - Keys of the facets that are
|
|
1027
|
+
* visible and can be used for filtering the collection.
|
|
907
1028
|
*/
|
|
908
1029
|
|
|
909
1030
|
/**
|
|
@@ -1008,8 +1129,10 @@ const Joi = require("joi");
|
|
|
1008
1129
|
|
|
1009
1130
|
/**
|
|
1010
1131
|
* @typedef DepartmentCategoryTree
|
|
1011
|
-
* @property {string} [department]
|
|
1012
|
-
*
|
|
1132
|
+
* @property {string} [department] - The name of the department that this
|
|
1133
|
+
* category tree belongs to, such as 'Men', 'Women', or 'Electronics'.
|
|
1134
|
+
* @property {CategoryItems[]} [items] - An array of categories that fall under
|
|
1135
|
+
* the specified department, each containing details about category items.
|
|
1013
1136
|
*/
|
|
1014
1137
|
|
|
1015
1138
|
/**
|
|
@@ -1023,8 +1146,12 @@ const Joi = require("joi");
|
|
|
1023
1146
|
|
|
1024
1147
|
/**
|
|
1025
1148
|
* @typedef DepartmentIdentifier
|
|
1026
|
-
* @property {string} [
|
|
1027
|
-
*
|
|
1149
|
+
* @property {string} [name] - The name of the department, such as
|
|
1150
|
+
* 'Electronics', 'Apparel', or 'Home Appliances'.
|
|
1151
|
+
* @property {string} [slug] - A URL-friendly identifier for the department,
|
|
1152
|
+
* often used in creating department-specific links or routes.
|
|
1153
|
+
* @property {number} [uid] - A unique identifier for the department, used to
|
|
1154
|
+
* distinguish it from other departments in the system.
|
|
1028
1155
|
*/
|
|
1029
1156
|
|
|
1030
1157
|
/**
|
|
@@ -1048,7 +1175,7 @@ const Joi = require("joi");
|
|
|
1048
1175
|
*/
|
|
1049
1176
|
|
|
1050
1177
|
/**
|
|
1051
|
-
* @typedef
|
|
1178
|
+
* @typedef InventoryDimensionResponse
|
|
1052
1179
|
* @property {number} [height]
|
|
1053
1180
|
* @property {number} [length]
|
|
1054
1181
|
* @property {string} [unit]
|
|
@@ -1076,11 +1203,12 @@ const Joi = require("joi");
|
|
|
1076
1203
|
|
|
1077
1204
|
/**
|
|
1078
1205
|
* @typedef ErrorResponse
|
|
1079
|
-
* @property {string} [code]
|
|
1080
|
-
* @property {string} [error]
|
|
1081
|
-
* @property {string} [message]
|
|
1082
|
-
* @property {Object} [meta]
|
|
1083
|
-
*
|
|
1206
|
+
* @property {string} [code] - A string representing the specific error code.
|
|
1207
|
+
* @property {string} [error] - A brief description of the error type.
|
|
1208
|
+
* @property {string} [message] - A detailed message explaining the error.
|
|
1209
|
+
* @property {Object} [meta] - Additional metadata or context about the error,
|
|
1210
|
+
* if available.
|
|
1211
|
+
* @property {number} [status] - The HTTP status code associated with the error.
|
|
1084
1212
|
*/
|
|
1085
1213
|
|
|
1086
1214
|
/**
|
|
@@ -1254,40 +1382,54 @@ const Joi = require("joi");
|
|
|
1254
1382
|
|
|
1255
1383
|
/**
|
|
1256
1384
|
* @typedef GetCollectionDetailNest
|
|
1257
|
-
* @property {
|
|
1385
|
+
* @property {CollectionSchedule} [_schedule]
|
|
1258
1386
|
* @property {Action} [action]
|
|
1259
|
-
* @property {boolean} [allow_facets]
|
|
1260
|
-
*
|
|
1261
|
-
* @property {
|
|
1262
|
-
*
|
|
1387
|
+
* @property {boolean} [allow_facets] - Indicates whether facets are allowed for
|
|
1388
|
+
* filtering the collection.
|
|
1389
|
+
* @property {boolean} [allow_sort] - Indicates whether sorting options are
|
|
1390
|
+
* allowed for the collection.
|
|
1391
|
+
* @property {string} [app_id] - The application ID associated with the collection.
|
|
1392
|
+
* @property {CollectionBadge} [badge]
|
|
1263
1393
|
* @property {ImageUrls} [banners]
|
|
1264
|
-
* @property {
|
|
1265
|
-
* @property {
|
|
1266
|
-
* @property {boolean} [is_active]
|
|
1394
|
+
* @property {string} [description] - A description of the collection.
|
|
1395
|
+
* @property {boolean} [is_active] - Indicates whether the collection is currently active.
|
|
1267
1396
|
* @property {Media} [logo]
|
|
1268
|
-
* @property {Object} [meta]
|
|
1269
|
-
* @property {string} [name]
|
|
1270
|
-
* @property {number} [priority]
|
|
1271
|
-
*
|
|
1272
|
-
* @property {
|
|
1273
|
-
*
|
|
1274
|
-
* @property {string} [
|
|
1275
|
-
* @property {string} [
|
|
1276
|
-
* @property {string
|
|
1397
|
+
* @property {Object} [meta] - Additional metadata related to the collection.
|
|
1398
|
+
* @property {string} [name] - The name of the collection.
|
|
1399
|
+
* @property {number} [priority] - The priority level of the collection in the
|
|
1400
|
+
* display list.
|
|
1401
|
+
* @property {CollectionQuery[]} [query] - Array of queries that define how the
|
|
1402
|
+
* collection is fetched or filtered.
|
|
1403
|
+
* @property {string} [slug] - The URL-friendly identifier of the collection.
|
|
1404
|
+
* @property {string[]} [tag] - Array of tags associated with the collection.
|
|
1405
|
+
* @property {string} [type] - The type of collection, such as manual or automated.
|
|
1406
|
+
* @property {string} [uid] - The unique identifier for the collection.
|
|
1407
|
+
* @property {string[]} [visible_facets_keys] - List of facet keys that are
|
|
1408
|
+
* visible for filtering the collection.
|
|
1409
|
+
* @property {string} [_id] - Internal identifier for the collection.
|
|
1410
|
+
* @property {boolean} [published] - Indicates if the collection is published.
|
|
1411
|
+
* @property {string[]} [tags] - Tags associated with the collection.
|
|
1412
|
+
* @property {string} [sort_on] - Sort criteria for the collection.
|
|
1413
|
+
* @property {Object} [_custom_json] - Custom JSON data for the collection.
|
|
1414
|
+
* @property {Object} [_locale_language] - Locale-specific language settings.
|
|
1415
|
+
* @property {SeoDetail} [seo]
|
|
1416
|
+
* @property {boolean} [is_visible] - Indicates if the collection is visible.
|
|
1277
1417
|
*/
|
|
1278
1418
|
|
|
1279
1419
|
/**
|
|
1280
1420
|
* @typedef GetCollectionItemsResponse
|
|
1281
|
-
* @property {ProductFilters[]} [filters]
|
|
1282
|
-
*
|
|
1421
|
+
* @property {ProductFilters[]} [filters] - An array of filters applicable to
|
|
1422
|
+
* the products in the collection.
|
|
1423
|
+
* @property {ProductListingDetail[]} [items] - List of product details in the collection.
|
|
1283
1424
|
* @property {Page} [page]
|
|
1284
|
-
* @property {ProductSortOn[]} [sort_on]
|
|
1425
|
+
* @property {ProductSortOn[]} [sort_on] - Sorting options available for the
|
|
1426
|
+
* products in the collection.
|
|
1285
1427
|
*/
|
|
1286
1428
|
|
|
1287
1429
|
/**
|
|
1288
1430
|
* @typedef GetCollectionListingResponse
|
|
1289
1431
|
* @property {CollectionListingFilter} [filters]
|
|
1290
|
-
* @property {GetCollectionDetailNest[]} [items]
|
|
1432
|
+
* @property {GetCollectionDetailNest[]} [items] - Array of nested collection details.
|
|
1291
1433
|
* @property {Page} [page]
|
|
1292
1434
|
*/
|
|
1293
1435
|
|
|
@@ -1363,12 +1505,12 @@ const Joi = require("joi");
|
|
|
1363
1505
|
|
|
1364
1506
|
/**
|
|
1365
1507
|
* @typedef GetDepartment
|
|
1366
|
-
* @property {
|
|
1508
|
+
* @property {RequestUserSerializer} [created_by]
|
|
1367
1509
|
* @property {string} [created_on]
|
|
1368
1510
|
* @property {boolean} [is_active]
|
|
1369
1511
|
* @property {string} [item_type]
|
|
1370
1512
|
* @property {string} [logo]
|
|
1371
|
-
* @property {
|
|
1513
|
+
* @property {RequestUserSerializer} [modified_by]
|
|
1372
1514
|
* @property {string} [modified_on]
|
|
1373
1515
|
* @property {string} [name]
|
|
1374
1516
|
* @property {number} [page_no]
|
|
@@ -1382,24 +1524,24 @@ const Joi = require("joi");
|
|
|
1382
1524
|
|
|
1383
1525
|
/**
|
|
1384
1526
|
* @typedef GetInventories
|
|
1385
|
-
* @property {
|
|
1386
|
-
* @property {
|
|
1527
|
+
* @property {InventoryBrandMeta} [brand]
|
|
1528
|
+
* @property {InventoryCompanyMeta} [company]
|
|
1387
1529
|
* @property {string} [country_of_origin]
|
|
1388
|
-
* @property {
|
|
1530
|
+
* @property {RequestUserSerializer} [created_by]
|
|
1389
1531
|
* @property {DateMeta} [date_meta]
|
|
1390
|
-
* @property {
|
|
1532
|
+
* @property {InventoryDimensionResponse} [dimension]
|
|
1391
1533
|
* @property {string} [expiration_date]
|
|
1392
1534
|
* @property {string} [id]
|
|
1393
1535
|
* @property {Object} [identifier]
|
|
1394
1536
|
* @property {string} [inventory_updated_on]
|
|
1395
1537
|
* @property {boolean} [is_set]
|
|
1396
1538
|
* @property {number} [item_id]
|
|
1397
|
-
* @property {
|
|
1398
|
-
* @property {
|
|
1539
|
+
* @property {InventoryManufacturerResponse} [manufacturer]
|
|
1540
|
+
* @property {RequestUserSerializer} [modified_by]
|
|
1399
1541
|
* @property {Object} [platforms]
|
|
1400
1542
|
* @property {PriceArticle} [price]
|
|
1401
1543
|
* @property {QuantitiesArticle} [quantities]
|
|
1402
|
-
* @property {
|
|
1544
|
+
* @property {ReturnConfig} [return_config]
|
|
1403
1545
|
* @property {string} [seller_identifier]
|
|
1404
1546
|
* @property {string} [size]
|
|
1405
1547
|
* @property {string} [stage]
|
|
@@ -1409,9 +1551,9 @@ const Joi = require("joi");
|
|
|
1409
1551
|
* @property {number} [total_quantity]
|
|
1410
1552
|
* @property {string} [trace_id]
|
|
1411
1553
|
* @property {boolean} [track_inventory]
|
|
1412
|
-
* @property {
|
|
1554
|
+
* @property {TraderResponse[]} [trader]
|
|
1413
1555
|
* @property {string} [uid]
|
|
1414
|
-
* @property {
|
|
1556
|
+
* @property {InventoryWeightResponse} [weight]
|
|
1415
1557
|
*/
|
|
1416
1558
|
|
|
1417
1559
|
/**
|
|
@@ -2198,7 +2340,7 @@ const Joi = require("joi");
|
|
|
2198
2340
|
*/
|
|
2199
2341
|
|
|
2200
2342
|
/**
|
|
2201
|
-
* @typedef
|
|
2343
|
+
* @typedef InventoryManufacturerResponse
|
|
2202
2344
|
* @property {string} [address]
|
|
2203
2345
|
* @property {boolean} [is_default]
|
|
2204
2346
|
* @property {string} [name]
|
|
@@ -2225,6 +2367,16 @@ const Joi = require("joi");
|
|
|
2225
2367
|
* @property {string} [url]
|
|
2226
2368
|
*/
|
|
2227
2369
|
|
|
2370
|
+
/**
|
|
2371
|
+
* @typedef BrandMedia
|
|
2372
|
+
* @property {string} [aspect_ratio] - The aspect ratio of the media, typically
|
|
2373
|
+
* represented as a string like '16:9' or '4:3'.
|
|
2374
|
+
* @property {string} [type] - The type of media, such as 'image', 'video', or
|
|
2375
|
+
* 'audio', describing the content format.
|
|
2376
|
+
* @property {string} [url] - The URL where the media file is hosted, typically
|
|
2377
|
+
* a link to an image or video resource.
|
|
2378
|
+
*/
|
|
2379
|
+
|
|
2228
2380
|
/**
|
|
2229
2381
|
* @typedef Meta
|
|
2230
2382
|
* @property {Object} [headers]
|
|
@@ -2285,8 +2437,8 @@ const Joi = require("joi");
|
|
|
2285
2437
|
|
|
2286
2438
|
/**
|
|
2287
2439
|
* @typedef NextSchedule
|
|
2288
|
-
* @property {string} [end]
|
|
2289
|
-
* @property {string} [start]
|
|
2440
|
+
* @property {string} [end] - The end time of the schedule.
|
|
2441
|
+
* @property {string} [start] - The start time of the schedule.
|
|
2290
2442
|
*/
|
|
2291
2443
|
|
|
2292
2444
|
/**
|
|
@@ -2368,16 +2520,6 @@ const Joi = require("joi");
|
|
|
2368
2520
|
* @property {number} [size] - It is the size of each page.
|
|
2369
2521
|
*/
|
|
2370
2522
|
|
|
2371
|
-
/**
|
|
2372
|
-
* @typedef PageResponse1
|
|
2373
|
-
* @property {number} [current]
|
|
2374
|
-
* @property {boolean} [has_next]
|
|
2375
|
-
* @property {boolean} [has_previous]
|
|
2376
|
-
* @property {number} [item_total]
|
|
2377
|
-
* @property {number} [size]
|
|
2378
|
-
* @property {string} [type]
|
|
2379
|
-
*/
|
|
2380
|
-
|
|
2381
2523
|
/**
|
|
2382
2524
|
* @typedef PageResponseType
|
|
2383
2525
|
* @property {number} current
|
|
@@ -3063,38 +3205,44 @@ const Joi = require("joi");
|
|
|
3063
3205
|
|
|
3064
3206
|
/**
|
|
3065
3207
|
* @typedef Sitemap
|
|
3066
|
-
* @property {number} [priority]
|
|
3067
|
-
*
|
|
3208
|
+
* @property {number} [priority] - Indicates the priority of this URL relative
|
|
3209
|
+
* to other URLs on the site. A value between 0.0 and 1.0, where 1.0 is the
|
|
3210
|
+
* highest priority.
|
|
3211
|
+
* @property {string} [frequency] - How frequently the content at the URL is
|
|
3212
|
+
* likely to change.
|
|
3068
3213
|
*/
|
|
3069
3214
|
|
|
3070
3215
|
/**
|
|
3071
3216
|
* @typedef ApplicationItemSeoAction
|
|
3072
|
-
* @property {Object} [page]
|
|
3073
|
-
* @property {string} type
|
|
3217
|
+
* @property {Object} [page] - Details of the page associated with this SEO action.
|
|
3218
|
+
* @property {string} type - Type of action, such as navigation or redirection.
|
|
3074
3219
|
*/
|
|
3075
3220
|
|
|
3076
3221
|
/**
|
|
3077
3222
|
* @typedef ApplicationItemSeoBreadcrumbs
|
|
3078
|
-
* @property {string} [url]
|
|
3079
|
-
* @property {ApplicationItemSeoAction[]} [action]
|
|
3223
|
+
* @property {string} [url] - The URL that this breadcrumb points to.
|
|
3224
|
+
* @property {ApplicationItemSeoAction[]} [action] - The actions available for
|
|
3225
|
+
* this breadcrumb, defining what happens when it's clicked or interacted with.
|
|
3080
3226
|
*/
|
|
3081
3227
|
|
|
3082
3228
|
/**
|
|
3083
3229
|
* @typedef ApplicationItemSeoMetaTagItem
|
|
3084
|
-
* @property {string} key
|
|
3085
|
-
* @property {string} value
|
|
3230
|
+
* @property {string} key - The name of the meta tag.
|
|
3231
|
+
* @property {string} value - The value associated with the meta tag.
|
|
3086
3232
|
*/
|
|
3087
3233
|
|
|
3088
3234
|
/**
|
|
3089
3235
|
* @typedef ApplicationItemSeoMetaTags
|
|
3090
|
-
* @property {string} title
|
|
3091
|
-
* @property {ApplicationItemSeoMetaTagItem[]} [items]
|
|
3236
|
+
* @property {string} title - The title for this set of meta tags.
|
|
3237
|
+
* @property {ApplicationItemSeoMetaTagItem[]} [items] - A list of meta tag
|
|
3238
|
+
* items, each defined by key-value pairs.
|
|
3092
3239
|
*/
|
|
3093
3240
|
|
|
3094
3241
|
/**
|
|
3095
3242
|
* @typedef Metatags
|
|
3096
|
-
* @property {string} [title]
|
|
3097
|
-
* @property {ApplicationItemSeoMetaTagItem[]} [items]
|
|
3243
|
+
* @property {string} [title] - The title or heading for the meta tags section.
|
|
3244
|
+
* @property {ApplicationItemSeoMetaTagItem[]} [items] - An array of meta tag
|
|
3245
|
+
* items, each consisting of key-value pairs.
|
|
3098
3246
|
*/
|
|
3099
3247
|
|
|
3100
3248
|
/**
|
|
@@ -3131,13 +3279,16 @@ const Joi = require("joi");
|
|
|
3131
3279
|
|
|
3132
3280
|
/**
|
|
3133
3281
|
* @typedef SecondLevelChild
|
|
3134
|
-
* @property {Object} [_custom_json]
|
|
3282
|
+
* @property {Object} [_custom_json] - Custom JSON object to store additional
|
|
3283
|
+
* data for the second-level child.
|
|
3135
3284
|
* @property {Action} [action]
|
|
3136
3285
|
* @property {ImageUrls} [banners]
|
|
3137
|
-
* @property {ThirdLevelChild[]} [childs]
|
|
3138
|
-
*
|
|
3139
|
-
* @property {string} [
|
|
3140
|
-
* @property {
|
|
3286
|
+
* @property {ThirdLevelChild[]} [childs] - A list of third-level child elements
|
|
3287
|
+
* under the second-level child.
|
|
3288
|
+
* @property {string} [name] - Name of the second-level child element.
|
|
3289
|
+
* @property {string} [slug] - Slug or URL-friendly identifier for the
|
|
3290
|
+
* second-level child element.
|
|
3291
|
+
* @property {number} [uid] - Unique identifier for the second-level child element.
|
|
3141
3292
|
*/
|
|
3142
3293
|
|
|
3143
3294
|
/**
|
|
@@ -3148,12 +3299,20 @@ const Joi = require("joi");
|
|
|
3148
3299
|
|
|
3149
3300
|
/**
|
|
3150
3301
|
* @typedef SeoDetail
|
|
3151
|
-
* @property {string} [description]
|
|
3152
|
-
*
|
|
3153
|
-
* @property {
|
|
3154
|
-
*
|
|
3155
|
-
* @property {
|
|
3156
|
-
*
|
|
3302
|
+
* @property {string} [description] - SEO meta description for the item or
|
|
3303
|
+
* collection. This is used to describe the content for search engines.
|
|
3304
|
+
* @property {string} [title] - SEO meta title for the item or collection. It is
|
|
3305
|
+
* used as the title that appears in search results.
|
|
3306
|
+
* @property {Object} [sitemap] - Information regarding the sitemap
|
|
3307
|
+
* configuration for the item or collection.
|
|
3308
|
+
* @property {ApplicationItemSeoBreadcrumbs[]} [breadcrumbs] - List of
|
|
3309
|
+
* breadcrumbs for navigation, showing the hierarchy of pages leading to the
|
|
3310
|
+
* current page.
|
|
3311
|
+
* @property {Metatags[]} [meta_tags] - An array of meta tags, each containing
|
|
3312
|
+
* key-value pairs for various SEO meta tags used to enhance search visibility.
|
|
3313
|
+
* @property {string} [canonical_url] - The canonical URL for the item or
|
|
3314
|
+
* collection, which tells search engines the preferred version of the URL to
|
|
3315
|
+
* avoid duplicate content issues.
|
|
3157
3316
|
*/
|
|
3158
3317
|
|
|
3159
3318
|
/**
|
|
@@ -3251,9 +3410,10 @@ const Joi = require("joi");
|
|
|
3251
3410
|
*/
|
|
3252
3411
|
|
|
3253
3412
|
/**
|
|
3254
|
-
* @typedef
|
|
3255
|
-
* @property {boolean} [success]
|
|
3256
|
-
* @property {number} [uid]
|
|
3413
|
+
* @typedef SuccessResponseObject
|
|
3414
|
+
* @property {boolean} [success] - Indicates whether the operation was successful or not.
|
|
3415
|
+
* @property {number} [uid] - A unique identifier associated with the successful
|
|
3416
|
+
* operation.
|
|
3257
3417
|
*/
|
|
3258
3418
|
|
|
3259
3419
|
/**
|
|
@@ -3314,13 +3474,16 @@ const Joi = require("joi");
|
|
|
3314
3474
|
|
|
3315
3475
|
/**
|
|
3316
3476
|
* @typedef ThirdLevelChild
|
|
3317
|
-
* @property {Object} [_custom_json]
|
|
3477
|
+
* @property {Object} [_custom_json] - Custom JSON object to store additional
|
|
3478
|
+
* data for the third-level child.
|
|
3318
3479
|
* @property {Action} [action]
|
|
3319
3480
|
* @property {ImageUrls} [banners]
|
|
3320
|
-
* @property {Object[]} [childs]
|
|
3321
|
-
*
|
|
3322
|
-
* @property {string} [
|
|
3323
|
-
* @property {
|
|
3481
|
+
* @property {Object[]} [childs] - A list of further nested child elements under
|
|
3482
|
+
* the third-level child (if applicable).
|
|
3483
|
+
* @property {string} [name] - Name of the third-level child element.
|
|
3484
|
+
* @property {string} [slug] - Slug or URL-friendly identifier for the
|
|
3485
|
+
* third-level child element.
|
|
3486
|
+
* @property {number} [uid] - Unique identifier for the third-level child element.
|
|
3324
3487
|
*/
|
|
3325
3488
|
|
|
3326
3489
|
/**
|
|
@@ -3338,7 +3501,7 @@ const Joi = require("joi");
|
|
|
3338
3501
|
*/
|
|
3339
3502
|
|
|
3340
3503
|
/**
|
|
3341
|
-
* @typedef
|
|
3504
|
+
* @typedef TraderResponse
|
|
3342
3505
|
* @property {string[]} [address]
|
|
3343
3506
|
* @property {string} [name]
|
|
3344
3507
|
* @property {string} [type]
|
|
@@ -3358,7 +3521,7 @@ const Joi = require("joi");
|
|
|
3358
3521
|
* @property {boolean} [is_visible]
|
|
3359
3522
|
* @property {CollectionImage} [logo]
|
|
3360
3523
|
* @property {Object} [meta]
|
|
3361
|
-
* @property {
|
|
3524
|
+
* @property {UserInfo} [modified_by]
|
|
3362
3525
|
* @property {string} [name]
|
|
3363
3526
|
* @property {number} [priority]
|
|
3364
3527
|
* @property {boolean} [published]
|
|
@@ -3455,7 +3618,7 @@ const Joi = require("joi");
|
|
|
3455
3618
|
*/
|
|
3456
3619
|
|
|
3457
3620
|
/**
|
|
3458
|
-
* @typedef
|
|
3621
|
+
* @typedef RequestUserSerializer
|
|
3459
3622
|
* @property {string} [_id]
|
|
3460
3623
|
* @property {string} [contact]
|
|
3461
3624
|
* @property {string} [uid]
|
|
@@ -3522,7 +3685,7 @@ const Joi = require("joi");
|
|
|
3522
3685
|
*/
|
|
3523
3686
|
|
|
3524
3687
|
/**
|
|
3525
|
-
* @typedef
|
|
3688
|
+
* @typedef InventoryWeightResponse
|
|
3526
3689
|
* @property {number} [shipping]
|
|
3527
3690
|
* @property {string} [unit]
|
|
3528
3691
|
*/
|
|
@@ -3633,7 +3796,8 @@ const Joi = require("joi");
|
|
|
3633
3796
|
* | "register"
|
|
3634
3797
|
* | "shipping-policy"
|
|
3635
3798
|
* | "return-policy"
|
|
3636
|
-
* | "order-status"
|
|
3799
|
+
* | "order-status"
|
|
3800
|
+
* | "locate-us"} PageType
|
|
3637
3801
|
*/
|
|
3638
3802
|
|
|
3639
3803
|
class CatalogPlatformModel {
|
|
@@ -4104,7 +4268,7 @@ class CatalogPlatformModel {
|
|
|
4104
4268
|
banners: CatalogPlatformModel.ImageUrls(),
|
|
4105
4269
|
departments: Joi.array().items(Joi.string().allow("")),
|
|
4106
4270
|
discount: Joi.string().allow(""),
|
|
4107
|
-
logo: CatalogPlatformModel.
|
|
4271
|
+
logo: CatalogPlatformModel.BrandMedia(),
|
|
4108
4272
|
name: Joi.string().allow(""),
|
|
4109
4273
|
slug: Joi.string().allow(""),
|
|
4110
4274
|
uid: Joi.number(),
|
|
@@ -4119,6 +4283,69 @@ class CatalogPlatformModel {
|
|
|
4119
4283
|
});
|
|
4120
4284
|
}
|
|
4121
4285
|
|
|
4286
|
+
/** @returns {ApplicationBrandListingItemSchema} */
|
|
4287
|
+
static ApplicationBrandListingItemSchema() {
|
|
4288
|
+
return Joi.object({
|
|
4289
|
+
_custom_json: Joi.object().pattern(/\S/, Joi.any()),
|
|
4290
|
+
_locale_language: Joi.object().pattern(/\S/, Joi.any()),
|
|
4291
|
+
brand_banner_portrait_url: Joi.string().allow(""),
|
|
4292
|
+
brand_banner_url: Joi.string().allow(""),
|
|
4293
|
+
brand_logo_url: Joi.string().allow(""),
|
|
4294
|
+
description: Joi.string().allow(""),
|
|
4295
|
+
name: Joi.string().allow(""),
|
|
4296
|
+
slug_key: Joi.string().allow(""),
|
|
4297
|
+
priority: Joi.number(),
|
|
4298
|
+
uid: Joi.number(),
|
|
4299
|
+
created_on: Joi.string().allow(""),
|
|
4300
|
+
last_updated: Joi.string().allow(""),
|
|
4301
|
+
is_active: Joi.boolean(),
|
|
4302
|
+
departments: Joi.array().items(Joi.number()),
|
|
4303
|
+
modified_on: Joi.string().allow(""),
|
|
4304
|
+
active: Joi.boolean(),
|
|
4305
|
+
});
|
|
4306
|
+
}
|
|
4307
|
+
|
|
4308
|
+
/** @returns {ApplicationBrandListingSchema} */
|
|
4309
|
+
static ApplicationBrandListingSchema() {
|
|
4310
|
+
return Joi.object({
|
|
4311
|
+
items: Joi.array().items(
|
|
4312
|
+
CatalogPlatformModel.ApplicationBrandListingItemSchema()
|
|
4313
|
+
),
|
|
4314
|
+
page: CatalogPlatformModel.Page(),
|
|
4315
|
+
});
|
|
4316
|
+
}
|
|
4317
|
+
|
|
4318
|
+
/** @returns {ApplicationCategoryListingSchema} */
|
|
4319
|
+
static ApplicationCategoryListingSchema() {
|
|
4320
|
+
return Joi.object({
|
|
4321
|
+
items: Joi.array().items(
|
|
4322
|
+
CatalogPlatformModel.ApplicationCategoryListingItemSchema()
|
|
4323
|
+
),
|
|
4324
|
+
page: CatalogPlatformModel.Page(),
|
|
4325
|
+
});
|
|
4326
|
+
}
|
|
4327
|
+
|
|
4328
|
+
/** @returns {ApplicationCategoryListingItemSchema} */
|
|
4329
|
+
static ApplicationCategoryListingItemSchema() {
|
|
4330
|
+
return Joi.object({
|
|
4331
|
+
name: Joi.string().allow(""),
|
|
4332
|
+
logo: Joi.string().allow(""),
|
|
4333
|
+
departments: Joi.array().items(Joi.number()),
|
|
4334
|
+
attr_name: Joi.string().allow(""),
|
|
4335
|
+
landscape_url: Joi.string().allow(""),
|
|
4336
|
+
portrait_url: Joi.string().allow(""),
|
|
4337
|
+
_custom_json: Joi.object().pattern(/\S/, Joi.any()),
|
|
4338
|
+
priority: Joi.number(),
|
|
4339
|
+
created_by: CatalogPlatformModel.CreatedBy(),
|
|
4340
|
+
created_on: Joi.string().allow(""),
|
|
4341
|
+
modified_by: CatalogPlatformModel.CreatedBy(),
|
|
4342
|
+
modified_on: Joi.string().allow(""),
|
|
4343
|
+
app_id: Joi.string().allow(""),
|
|
4344
|
+
is_active: Joi.boolean(),
|
|
4345
|
+
uid: Joi.number(),
|
|
4346
|
+
});
|
|
4347
|
+
}
|
|
4348
|
+
|
|
4122
4349
|
/** @returns {BrandMeta} */
|
|
4123
4350
|
static BrandMeta() {
|
|
4124
4351
|
return Joi.object({
|
|
@@ -4127,8 +4354,8 @@ class CatalogPlatformModel {
|
|
|
4127
4354
|
});
|
|
4128
4355
|
}
|
|
4129
4356
|
|
|
4130
|
-
/** @returns {
|
|
4131
|
-
static
|
|
4357
|
+
/** @returns {InventoryBrandMeta} */
|
|
4358
|
+
static InventoryBrandMeta() {
|
|
4132
4359
|
return Joi.object({
|
|
4133
4360
|
id: Joi.number(),
|
|
4134
4361
|
name: Joi.string().allow(""),
|
|
@@ -4316,6 +4543,7 @@ class CatalogPlatformModel {
|
|
|
4316
4543
|
/** @returns {CategoryItems} */
|
|
4317
4544
|
static CategoryItems() {
|
|
4318
4545
|
return Joi.object({
|
|
4546
|
+
_custom_json: Joi.any().allow(null),
|
|
4319
4547
|
action: CatalogPlatformModel.Action(),
|
|
4320
4548
|
banners: CatalogPlatformModel.ImageUrls(),
|
|
4321
4549
|
childs: Joi.array().items(CatalogPlatformModel.Child()),
|
|
@@ -4393,13 +4621,12 @@ class CatalogPlatformModel {
|
|
|
4393
4621
|
static CollectionCreateResponse() {
|
|
4394
4622
|
return Joi.object({
|
|
4395
4623
|
uid: Joi.string().allow(""),
|
|
4396
|
-
_schedule:
|
|
4624
|
+
_schedule: CatalogPlatformModel.CollectionSchedule(),
|
|
4397
4625
|
allow_facets: Joi.boolean(),
|
|
4398
4626
|
allow_sort: Joi.boolean(),
|
|
4399
4627
|
app_id: Joi.string().allow(""),
|
|
4400
4628
|
badge: Joi.any(),
|
|
4401
4629
|
banners: CatalogPlatformModel.ImageUrls(),
|
|
4402
|
-
cron: Joi.any(),
|
|
4403
4630
|
description: Joi.string().allow(""),
|
|
4404
4631
|
is_active: Joi.boolean(),
|
|
4405
4632
|
logo: CatalogPlatformModel.BannerImage(),
|
|
@@ -4412,6 +4639,14 @@ class CatalogPlatformModel {
|
|
|
4412
4639
|
tag: Joi.array().items(Joi.string().allow("")),
|
|
4413
4640
|
type: Joi.string().allow(""),
|
|
4414
4641
|
visible_facets_keys: Joi.array().items(Joi.string().allow("")),
|
|
4642
|
+
published: Joi.boolean(),
|
|
4643
|
+
tags: Joi.array().items(Joi.string().allow("")),
|
|
4644
|
+
action: CatalogPlatformModel.Action(),
|
|
4645
|
+
_custom_json: Joi.object().pattern(/\S/, Joi.any()),
|
|
4646
|
+
_locale_language: Joi.object().pattern(/\S/, Joi.any()),
|
|
4647
|
+
seo: CatalogPlatformModel.SeoDetail(),
|
|
4648
|
+
is_visible: Joi.boolean(),
|
|
4649
|
+
id: Joi.string().allow(""),
|
|
4415
4650
|
});
|
|
4416
4651
|
}
|
|
4417
4652
|
|
|
@@ -4536,8 +4771,8 @@ class CatalogPlatformModel {
|
|
|
4536
4771
|
});
|
|
4537
4772
|
}
|
|
4538
4773
|
|
|
4539
|
-
/** @returns {
|
|
4540
|
-
static
|
|
4774
|
+
/** @returns {InventoryCompanyMeta} */
|
|
4775
|
+
static InventoryCompanyMeta() {
|
|
4541
4776
|
return Joi.object({
|
|
4542
4777
|
id: Joi.number(),
|
|
4543
4778
|
});
|
|
@@ -4727,7 +4962,7 @@ class CatalogPlatformModel {
|
|
|
4727
4962
|
static CreateCollection() {
|
|
4728
4963
|
return Joi.object({
|
|
4729
4964
|
_custom_json: Joi.any(),
|
|
4730
|
-
_locale_language: Joi.any(),
|
|
4965
|
+
_locale_language: Joi.object().pattern(/\S/, Joi.any()),
|
|
4731
4966
|
_schedule: CatalogPlatformModel.CollectionSchedule(),
|
|
4732
4967
|
allow_facets: Joi.boolean(),
|
|
4733
4968
|
allow_sort: Joi.boolean(),
|
|
@@ -4896,6 +5131,7 @@ class CatalogPlatformModel {
|
|
|
4896
5131
|
/** @returns {DepartmentIdentifier} */
|
|
4897
5132
|
static DepartmentIdentifier() {
|
|
4898
5133
|
return Joi.object({
|
|
5134
|
+
name: Joi.string().allow(""),
|
|
4899
5135
|
slug: Joi.string().allow(""),
|
|
4900
5136
|
uid: Joi.number(),
|
|
4901
5137
|
});
|
|
@@ -4927,8 +5163,8 @@ class CatalogPlatformModel {
|
|
|
4927
5163
|
});
|
|
4928
5164
|
}
|
|
4929
5165
|
|
|
4930
|
-
/** @returns {
|
|
4931
|
-
static
|
|
5166
|
+
/** @returns {InventoryDimensionResponse} */
|
|
5167
|
+
static InventoryDimensionResponse() {
|
|
4932
5168
|
return Joi.object({
|
|
4933
5169
|
height: Joi.number(),
|
|
4934
5170
|
length: Joi.number(),
|
|
@@ -5171,14 +5407,13 @@ class CatalogPlatformModel {
|
|
|
5171
5407
|
/** @returns {GetCollectionDetailNest} */
|
|
5172
5408
|
static GetCollectionDetailNest() {
|
|
5173
5409
|
return Joi.object({
|
|
5174
|
-
_schedule:
|
|
5410
|
+
_schedule: CatalogPlatformModel.CollectionSchedule(),
|
|
5175
5411
|
action: CatalogPlatformModel.Action(),
|
|
5176
5412
|
allow_facets: Joi.boolean(),
|
|
5177
5413
|
allow_sort: Joi.boolean(),
|
|
5178
5414
|
app_id: Joi.string().allow(""),
|
|
5179
|
-
badge:
|
|
5415
|
+
badge: CatalogPlatformModel.CollectionBadge(),
|
|
5180
5416
|
banners: CatalogPlatformModel.ImageUrls(),
|
|
5181
|
-
cron: Joi.any(),
|
|
5182
5417
|
description: Joi.string().allow(""),
|
|
5183
5418
|
is_active: Joi.boolean(),
|
|
5184
5419
|
logo: CatalogPlatformModel.Media(),
|
|
@@ -5191,6 +5426,14 @@ class CatalogPlatformModel {
|
|
|
5191
5426
|
type: Joi.string().allow(""),
|
|
5192
5427
|
uid: Joi.string().allow(""),
|
|
5193
5428
|
visible_facets_keys: Joi.array().items(Joi.string().allow("")),
|
|
5429
|
+
_id: Joi.string().allow(""),
|
|
5430
|
+
published: Joi.boolean(),
|
|
5431
|
+
tags: Joi.array().items(Joi.string().allow("")),
|
|
5432
|
+
sort_on: Joi.string().allow(""),
|
|
5433
|
+
_custom_json: Joi.any(),
|
|
5434
|
+
_locale_language: Joi.any(),
|
|
5435
|
+
seo: CatalogPlatformModel.SeoDetail(),
|
|
5436
|
+
is_visible: Joi.boolean(),
|
|
5194
5437
|
});
|
|
5195
5438
|
}
|
|
5196
5439
|
|
|
@@ -5304,12 +5547,12 @@ class CatalogPlatformModel {
|
|
|
5304
5547
|
/** @returns {GetDepartment} */
|
|
5305
5548
|
static GetDepartment() {
|
|
5306
5549
|
return Joi.object({
|
|
5307
|
-
created_by: CatalogPlatformModel.
|
|
5550
|
+
created_by: CatalogPlatformModel.RequestUserSerializer(),
|
|
5308
5551
|
created_on: Joi.string().allow(""),
|
|
5309
5552
|
is_active: Joi.boolean(),
|
|
5310
5553
|
item_type: Joi.string().allow(""),
|
|
5311
5554
|
logo: Joi.string().allow(""),
|
|
5312
|
-
modified_by: CatalogPlatformModel.
|
|
5555
|
+
modified_by: CatalogPlatformModel.RequestUserSerializer(),
|
|
5313
5556
|
modified_on: Joi.string().allow(""),
|
|
5314
5557
|
name: Joi.string().allow(""),
|
|
5315
5558
|
page_no: Joi.number(),
|
|
@@ -5325,24 +5568,24 @@ class CatalogPlatformModel {
|
|
|
5325
5568
|
/** @returns {GetInventories} */
|
|
5326
5569
|
static GetInventories() {
|
|
5327
5570
|
return Joi.object({
|
|
5328
|
-
brand: CatalogPlatformModel.
|
|
5329
|
-
company: CatalogPlatformModel.
|
|
5571
|
+
brand: CatalogPlatformModel.InventoryBrandMeta(),
|
|
5572
|
+
company: CatalogPlatformModel.InventoryCompanyMeta(),
|
|
5330
5573
|
country_of_origin: Joi.string().allow(""),
|
|
5331
|
-
created_by: CatalogPlatformModel.
|
|
5574
|
+
created_by: CatalogPlatformModel.RequestUserSerializer(),
|
|
5332
5575
|
date_meta: CatalogPlatformModel.DateMeta(),
|
|
5333
|
-
dimension: CatalogPlatformModel.
|
|
5576
|
+
dimension: CatalogPlatformModel.InventoryDimensionResponse(),
|
|
5334
5577
|
expiration_date: Joi.string().allow(""),
|
|
5335
5578
|
id: Joi.string().allow(""),
|
|
5336
5579
|
identifier: Joi.any(),
|
|
5337
5580
|
inventory_updated_on: Joi.string().allow(""),
|
|
5338
5581
|
is_set: Joi.boolean(),
|
|
5339
5582
|
item_id: Joi.number(),
|
|
5340
|
-
manufacturer: CatalogPlatformModel.
|
|
5341
|
-
modified_by: CatalogPlatformModel.
|
|
5583
|
+
manufacturer: CatalogPlatformModel.InventoryManufacturerResponse(),
|
|
5584
|
+
modified_by: CatalogPlatformModel.RequestUserSerializer(),
|
|
5342
5585
|
platforms: Joi.any(),
|
|
5343
5586
|
price: CatalogPlatformModel.PriceArticle(),
|
|
5344
5587
|
quantities: CatalogPlatformModel.QuantitiesArticle(),
|
|
5345
|
-
return_config: CatalogPlatformModel.
|
|
5588
|
+
return_config: CatalogPlatformModel.ReturnConfig(),
|
|
5346
5589
|
seller_identifier: Joi.string().allow(""),
|
|
5347
5590
|
size: Joi.string().allow(""),
|
|
5348
5591
|
stage: Joi.string().allow(""),
|
|
@@ -5352,9 +5595,9 @@ class CatalogPlatformModel {
|
|
|
5352
5595
|
total_quantity: Joi.number(),
|
|
5353
5596
|
trace_id: Joi.string().allow(""),
|
|
5354
5597
|
track_inventory: Joi.boolean(),
|
|
5355
|
-
trader: Joi.array().items(CatalogPlatformModel.
|
|
5598
|
+
trader: Joi.array().items(CatalogPlatformModel.TraderResponse()),
|
|
5356
5599
|
uid: Joi.string().allow(""),
|
|
5357
|
-
weight: CatalogPlatformModel.
|
|
5600
|
+
weight: CatalogPlatformModel.InventoryWeightResponse(),
|
|
5358
5601
|
});
|
|
5359
5602
|
}
|
|
5360
5603
|
|
|
@@ -6267,8 +6510,8 @@ class CatalogPlatformModel {
|
|
|
6267
6510
|
});
|
|
6268
6511
|
}
|
|
6269
6512
|
|
|
6270
|
-
/** @returns {
|
|
6271
|
-
static
|
|
6513
|
+
/** @returns {InventoryManufacturerResponse} */
|
|
6514
|
+
static InventoryManufacturerResponse() {
|
|
6272
6515
|
return Joi.object({
|
|
6273
6516
|
address: Joi.string().allow(""),
|
|
6274
6517
|
is_default: Joi.boolean(),
|
|
@@ -6303,6 +6546,15 @@ class CatalogPlatformModel {
|
|
|
6303
6546
|
});
|
|
6304
6547
|
}
|
|
6305
6548
|
|
|
6549
|
+
/** @returns {BrandMedia} */
|
|
6550
|
+
static BrandMedia() {
|
|
6551
|
+
return Joi.object({
|
|
6552
|
+
aspect_ratio: Joi.string().allow(""),
|
|
6553
|
+
type: Joi.string().allow(""),
|
|
6554
|
+
url: Joi.string().allow(""),
|
|
6555
|
+
});
|
|
6556
|
+
}
|
|
6557
|
+
|
|
6306
6558
|
/** @returns {Meta} */
|
|
6307
6559
|
static Meta() {
|
|
6308
6560
|
return Joi.object({
|
|
@@ -6483,18 +6735,6 @@ class CatalogPlatformModel {
|
|
|
6483
6735
|
});
|
|
6484
6736
|
}
|
|
6485
6737
|
|
|
6486
|
-
/** @returns {PageResponse1} */
|
|
6487
|
-
static PageResponse1() {
|
|
6488
|
-
return Joi.object({
|
|
6489
|
-
current: Joi.number(),
|
|
6490
|
-
has_next: Joi.boolean(),
|
|
6491
|
-
has_previous: Joi.boolean(),
|
|
6492
|
-
item_total: Joi.number(),
|
|
6493
|
-
size: Joi.number(),
|
|
6494
|
-
type: Joi.string().allow(""),
|
|
6495
|
-
});
|
|
6496
|
-
}
|
|
6497
|
-
|
|
6498
6738
|
/** @returns {PageResponseType} */
|
|
6499
6739
|
static PageResponseType() {
|
|
6500
6740
|
return Joi.object({
|
|
@@ -7545,8 +7785,8 @@ class CatalogPlatformModel {
|
|
|
7545
7785
|
});
|
|
7546
7786
|
}
|
|
7547
7787
|
|
|
7548
|
-
/** @returns {
|
|
7549
|
-
static
|
|
7788
|
+
/** @returns {SuccessResponseObject} */
|
|
7789
|
+
static SuccessResponseObject() {
|
|
7550
7790
|
return Joi.object({
|
|
7551
7791
|
success: Joi.boolean(),
|
|
7552
7792
|
uid: Joi.number(),
|
|
@@ -7654,8 +7894,8 @@ class CatalogPlatformModel {
|
|
|
7654
7894
|
});
|
|
7655
7895
|
}
|
|
7656
7896
|
|
|
7657
|
-
/** @returns {
|
|
7658
|
-
static
|
|
7897
|
+
/** @returns {TraderResponse} */
|
|
7898
|
+
static TraderResponse() {
|
|
7659
7899
|
return Joi.object({
|
|
7660
7900
|
address: Joi.array().items(Joi.string().allow("")),
|
|
7661
7901
|
name: Joi.string().allow(""),
|
|
@@ -7678,7 +7918,7 @@ class CatalogPlatformModel {
|
|
|
7678
7918
|
is_visible: Joi.boolean(),
|
|
7679
7919
|
logo: CatalogPlatformModel.CollectionImage(),
|
|
7680
7920
|
meta: Joi.any(),
|
|
7681
|
-
modified_by:
|
|
7921
|
+
modified_by: CatalogPlatformModel.UserInfo(),
|
|
7682
7922
|
name: Joi.string().allow(""),
|
|
7683
7923
|
priority: Joi.number(),
|
|
7684
7924
|
published: Joi.boolean(),
|
|
@@ -7788,8 +8028,8 @@ class CatalogPlatformModel {
|
|
|
7788
8028
|
});
|
|
7789
8029
|
}
|
|
7790
8030
|
|
|
7791
|
-
/** @returns {
|
|
7792
|
-
static
|
|
8031
|
+
/** @returns {RequestUserSerializer} */
|
|
8032
|
+
static RequestUserSerializer() {
|
|
7793
8033
|
return Joi.object({
|
|
7794
8034
|
_id: Joi.string().allow(""),
|
|
7795
8035
|
contact: Joi.string().allow(""),
|
|
@@ -7871,8 +8111,8 @@ class CatalogPlatformModel {
|
|
|
7871
8111
|
});
|
|
7872
8112
|
}
|
|
7873
8113
|
|
|
7874
|
-
/** @returns {
|
|
7875
|
-
static
|
|
8114
|
+
/** @returns {InventoryWeightResponse} */
|
|
8115
|
+
static InventoryWeightResponse() {
|
|
7876
8116
|
return Joi.object({
|
|
7877
8117
|
shipping: Joi.number(),
|
|
7878
8118
|
unit: Joi.string().allow(""),
|
|
@@ -8055,7 +8295,9 @@ class CatalogPlatformModel {
|
|
|
8055
8295
|
|
|
8056
8296
|
"return-policy",
|
|
8057
8297
|
|
|
8058
|
-
"order-status"
|
|
8298
|
+
"order-status",
|
|
8299
|
+
|
|
8300
|
+
"locate-us"
|
|
8059
8301
|
);
|
|
8060
8302
|
}
|
|
8061
8303
|
}
|