@gofynd/fdk-client-javascript 1.4.8-beta.3 → 1.4.9

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.
Files changed (189) hide show
  1. package/README.md +26 -1
  2. package/package.json +2 -2
  3. package/sdk/application/ApplicationClient.d.ts +8 -0
  4. package/sdk/application/ApplicationClient.js +14 -0
  5. package/sdk/application/Cart/CartApplicationClient.d.ts +20 -20
  6. package/sdk/application/Cart/CartApplicationClient.js +20 -20
  7. package/sdk/application/Cart/CartApplicationModel.d.ts +2446 -664
  8. package/sdk/application/Cart/CartApplicationModel.js +783 -552
  9. package/sdk/application/Cart/CartApplicationValidator.d.ts +268 -194
  10. package/sdk/application/Cart/CartApplicationValidator.js +100 -114
  11. package/sdk/application/Catalog/CatalogApplicationClient.d.ts +53 -53
  12. package/sdk/application/Catalog/CatalogApplicationClient.js +53 -53
  13. package/sdk/application/Catalog/CatalogApplicationModel.d.ts +2012 -503
  14. package/sdk/application/Catalog/CatalogApplicationModel.js +603 -453
  15. package/sdk/application/Catalog/CatalogApplicationValidator.d.ts +64 -64
  16. package/sdk/application/Catalog/CatalogApplicationValidator.js +32 -32
  17. package/sdk/application/Common/CommonApplicationClient.d.ts +2 -2
  18. package/sdk/application/Common/CommonApplicationClient.js +2 -2
  19. package/sdk/application/Common/CommonApplicationModel.d.ts +170 -90
  20. package/sdk/application/Common/CommonApplicationModel.js +59 -58
  21. package/sdk/application/Common/CommonApplicationValidator.d.ts +8 -5
  22. package/sdk/application/Common/CommonApplicationValidator.js +3 -3
  23. package/sdk/application/Communication/CommunicationApplicationClient.d.ts +2 -2
  24. package/sdk/application/Communication/CommunicationApplicationClient.js +2 -2
  25. package/sdk/application/Communication/CommunicationApplicationModel.d.ts +170 -35
  26. package/sdk/application/Communication/CommunicationApplicationModel.js +54 -33
  27. package/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +15 -15
  28. package/sdk/application/Configuration/ConfigurationApplicationClient.js +15 -15
  29. package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +624 -443
  30. package/sdk/application/Configuration/ConfigurationApplicationModel.js +259 -248
  31. package/sdk/application/Configuration/ConfigurationApplicationValidator.d.ts +32 -24
  32. package/sdk/application/Configuration/ConfigurationApplicationValidator.js +14 -13
  33. package/sdk/application/Content/ContentApplicationClient.d.ts +16 -16
  34. package/sdk/application/Content/ContentApplicationClient.js +16 -16
  35. package/sdk/application/Content/ContentApplicationModel.d.ts +1205 -282
  36. package/sdk/application/Content/ContentApplicationModel.js +341 -277
  37. package/sdk/application/Content/ContentApplicationValidator.d.ts +28 -17
  38. package/sdk/application/Content/ContentApplicationValidator.js +11 -10
  39. package/sdk/application/FileStorage/FileStorageApplicationClient.d.ts +3 -3
  40. package/sdk/application/FileStorage/FileStorageApplicationClient.js +3 -3
  41. package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +146 -37
  42. package/sdk/application/FileStorage/FileStorageApplicationModel.js +38 -36
  43. package/sdk/application/Lead/LeadApplicationClient.d.ts +3 -3
  44. package/sdk/application/Lead/LeadApplicationClient.js +3 -3
  45. package/sdk/application/Lead/LeadApplicationModel.d.ts +195 -134
  46. package/sdk/application/Lead/LeadApplicationModel.js +110 -67
  47. package/sdk/application/Lead/LeadApplicationValidator.d.ts +8 -8
  48. package/sdk/application/Lead/LeadApplicationValidator.js +4 -4
  49. package/sdk/application/Logistic/LogisticApplicationClient.d.ts +10 -10
  50. package/sdk/application/Logistic/LogisticApplicationClient.js +10 -10
  51. package/sdk/application/Logistic/LogisticApplicationModel.d.ts +1039 -221
  52. package/sdk/application/Logistic/LogisticApplicationModel.js +342 -199
  53. package/sdk/application/Logistic/LogisticApplicationValidator.d.ts +76 -82
  54. package/sdk/application/Logistic/LogisticApplicationValidator.js +38 -41
  55. package/sdk/application/Order/OrderApplicationClient.d.ts +10 -10
  56. package/sdk/application/Order/OrderApplicationClient.js +10 -10
  57. package/sdk/application/Order/OrderApplicationModel.d.ts +1400 -325
  58. package/sdk/application/Order/OrderApplicationModel.js +391 -317
  59. package/sdk/application/Order/OrderApplicationValidator.d.ts +32 -30
  60. package/sdk/application/Order/OrderApplicationValidator.js +15 -14
  61. package/sdk/application/Payment/PaymentApplicationClient.d.ts +43 -43
  62. package/sdk/application/Payment/PaymentApplicationClient.js +43 -43
  63. package/sdk/application/Payment/PaymentApplicationModel.d.ts +1111 -1022
  64. package/sdk/application/Payment/PaymentApplicationModel.js +537 -521
  65. package/sdk/application/Payment/PaymentApplicationValidator.d.ts +82 -49
  66. package/sdk/application/Payment/PaymentApplicationValidator.js +30 -30
  67. package/sdk/application/Rewards/RewardsApplicationModel.d.ts +28 -7
  68. package/sdk/application/Rewards/RewardsApplicationModel.js +7 -7
  69. package/sdk/application/Share/ShareApplicationModel.d.ts +178 -38
  70. package/sdk/application/Share/ShareApplicationModel.js +53 -37
  71. package/sdk/application/Share/ShareApplicationValidator.d.ts +4 -2
  72. package/sdk/application/Share/ShareApplicationValidator.js +2 -1
  73. package/sdk/application/Theme/ThemeApplicationClient.d.ts +4 -4
  74. package/sdk/application/Theme/ThemeApplicationClient.js +14 -8
  75. package/sdk/application/Theme/ThemeApplicationModel.d.ts +528 -287
  76. package/sdk/application/Theme/ThemeApplicationModel.js +208 -172
  77. package/sdk/application/Theme/ThemeApplicationValidator.d.ts +17 -12
  78. package/sdk/application/Theme/ThemeApplicationValidator.js +8 -6
  79. package/sdk/application/User/UserApplicationClient.d.ts +36 -36
  80. package/sdk/application/User/UserApplicationClient.js +36 -36
  81. package/sdk/application/User/UserApplicationModel.d.ts +1062 -255
  82. package/sdk/application/User/UserApplicationModel.js +298 -244
  83. package/sdk/application/User/UserApplicationValidator.d.ts +80 -80
  84. package/sdk/application/User/UserApplicationValidator.js +40 -40
  85. package/sdk/application/Webhook/WebhookApplicationClient.d.ts +1 -1
  86. package/sdk/application/Webhook/WebhookApplicationClient.js +1 -1
  87. package/sdk/application/Webhook/WebhookApplicationModel.d.ts +20 -5
  88. package/sdk/application/Webhook/WebhookApplicationModel.js +5 -5
  89. package/sdk/common/Clickstream.js +95 -15
  90. package/sdk/common/Constant.d.ts +9 -0
  91. package/sdk/common/Constant.js +11 -0
  92. package/sdk/common/Utility.js +19 -0
  93. package/sdk/common/utils.js +8 -1
  94. package/sdk/partner/Lead/LeadPartnerModel.d.ts +28 -7
  95. package/sdk/partner/Lead/LeadPartnerModel.js +7 -7
  96. package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +28 -7
  97. package/sdk/partner/Logistics/LogisticsPartnerModel.js +7 -7
  98. package/sdk/partner/PartnerClient.d.ts +8 -0
  99. package/sdk/partner/PartnerClient.js +14 -0
  100. package/sdk/partner/Theme/ThemePartnerClient.d.ts +20 -0
  101. package/sdk/partner/Theme/ThemePartnerClient.js +158 -0
  102. package/sdk/partner/Theme/ThemePartnerModel.d.ts +45 -6
  103. package/sdk/partner/Theme/ThemePartnerModel.js +33 -4
  104. package/sdk/partner/Theme/ThemePartnerValidator.d.ts +2 -0
  105. package/sdk/partner/Theme/ThemePartnerValidator.js +14 -0
  106. package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +28 -7
  107. package/sdk/partner/Webhook/WebhookPartnerModel.js +7 -7
  108. package/sdk/platform/Analytics/AnalyticsPlatformModel.d.ts +28 -7
  109. package/sdk/platform/Analytics/AnalyticsPlatformModel.js +7 -7
  110. package/sdk/platform/Billing/BillingPlatformClient.d.ts +6 -397
  111. package/sdk/platform/Billing/BillingPlatformClient.js +77 -3215
  112. package/sdk/platform/Billing/BillingPlatformModel.d.ts +621 -2021
  113. package/sdk/platform/Billing/BillingPlatformModel.js +353 -2405
  114. package/sdk/platform/Billing/BillingPlatformValidator.d.ts +12 -451
  115. package/sdk/platform/Billing/BillingPlatformValidator.js +8 -483
  116. package/sdk/platform/Cart/CartPlatformModel.d.ts +28 -7
  117. package/sdk/platform/Cart/CartPlatformModel.js +8 -8
  118. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +12 -2
  119. package/sdk/platform/Catalog/CatalogPlatformClient.js +41 -1
  120. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +46 -12
  121. package/sdk/platform/Catalog/CatalogPlatformModel.js +14 -11
  122. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +40 -0
  123. package/sdk/platform/Catalog/CatalogPlatformValidator.js +17 -0
  124. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +28 -7
  125. package/sdk/platform/Communication/CommunicationPlatformModel.js +7 -7
  126. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +28 -7
  127. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +7 -7
  128. package/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts +0 -97
  129. package/sdk/platform/Configuration/ConfigurationPlatformClient.js +77 -782
  130. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +24 -701
  131. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +7 -539
  132. package/sdk/platform/Configuration/ConfigurationPlatformValidator.d.ts +1 -183
  133. package/sdk/platform/Configuration/ConfigurationPlatformValidator.js +0 -134
  134. package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +0 -10
  135. package/sdk/platform/Content/ContentPlatformApplicationClient.js +0 -79
  136. package/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +1 -15
  137. package/sdk/platform/Content/ContentPlatformApplicationValidator.js +0 -13
  138. package/sdk/platform/Content/ContentPlatformModel.d.ts +58 -17
  139. package/sdk/platform/Content/ContentPlatformModel.js +28 -15
  140. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +28 -7
  141. package/sdk/platform/Discount/DiscountPlatformModel.js +7 -7
  142. package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +127 -25
  143. package/sdk/platform/FileStorage/FileStoragePlatformModel.js +37 -25
  144. package/sdk/platform/Finance/FinancePlatformClient.d.ts +28 -28
  145. package/sdk/platform/Finance/FinancePlatformClient.js +28 -28
  146. package/sdk/platform/Finance/FinancePlatformModel.d.ts +1583 -347
  147. package/sdk/platform/Finance/FinancePlatformModel.js +463 -351
  148. package/sdk/platform/Lead/LeadPlatformModel.d.ts +28 -7
  149. package/sdk/platform/Lead/LeadPlatformModel.js +7 -7
  150. package/sdk/platform/Order/OrderPlatformClient.d.ts +22 -0
  151. package/sdk/platform/Order/OrderPlatformClient.js +165 -0
  152. package/sdk/platform/Order/OrderPlatformModel.d.ts +613 -39
  153. package/sdk/platform/Order/OrderPlatformModel.js +359 -41
  154. package/sdk/platform/Order/OrderPlatformValidator.d.ts +32 -1
  155. package/sdk/platform/Order/OrderPlatformValidator.js +28 -0
  156. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +30 -9
  157. package/sdk/platform/Payment/PaymentPlatformModel.js +9 -9
  158. package/sdk/platform/PlatformClient.d.ts +8 -0
  159. package/sdk/platform/PlatformClient.js +14 -0
  160. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +28 -7
  161. package/sdk/platform/Rewards/RewardsPlatformModel.js +7 -7
  162. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts +12 -9
  163. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js +12 -9
  164. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +120 -22
  165. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +76 -21
  166. package/sdk/platform/Share/SharePlatformModel.d.ts +28 -7
  167. package/sdk/platform/Share/SharePlatformModel.js +7 -7
  168. package/sdk/platform/Theme/ThemePlatformModel.d.ts +18 -5
  169. package/sdk/platform/Theme/ThemePlatformModel.js +7 -4
  170. package/sdk/platform/User/UserPlatformModel.d.ts +18 -18
  171. package/sdk/platform/User/UserPlatformModel.js +9 -9
  172. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +28 -7
  173. package/sdk/platform/Webhook/WebhookPlatformModel.js +7 -7
  174. package/sdk/public/PublicClient.d.ts +0 -4
  175. package/sdk/public/PublicClient.js +0 -8
  176. package/sdk/public/index.d.ts +0 -2
  177. package/sdk/public/index.js +0 -4
  178. package/sdk/public/Billing/BillingPublicClient.d.ts +0 -45
  179. package/sdk/public/Billing/BillingPublicClient.js +0 -269
  180. package/sdk/public/Billing/BillingPublicModel.d.ts +0 -434
  181. package/sdk/public/Billing/BillingPublicModel.js +0 -395
  182. package/sdk/public/Billing/BillingPublicValidator.d.ts +0 -34
  183. package/sdk/public/Billing/BillingPublicValidator.js +0 -38
  184. package/sdk/public/Inventory/InventoryPublicClient.d.ts +0 -87
  185. package/sdk/public/Inventory/InventoryPublicClient.js +0 -529
  186. package/sdk/public/Inventory/InventoryPublicModel.d.ts +0 -393
  187. package/sdk/public/Inventory/InventoryPublicModel.js +0 -448
  188. package/sdk/public/Inventory/InventoryPublicValidator.d.ts +0 -91
  189. package/sdk/public/Inventory/InventoryPublicValidator.js +0 -85
@@ -2,21 +2,23 @@ const Joi = require("joi");
2
2
 
3
3
  /**
4
4
  * @typedef ApplicationLegal
5
- * @property {string} [application]
6
- * @property {string} [tnc]
7
- * @property {string} [policy]
8
- * @property {string} [shipping]
9
- * @property {string} [returns]
10
- * @property {ApplicationLegalFAQ[]} [faq]
11
- * @property {string} [_id]
12
- * @property {string} [updated_at]
13
- * @property {string} [created_at]
5
+ * @property {string} [application] - Application ID - Identifier for a Sales channel.
6
+ * @property {string} [tnc] - Content for Terms and Conditions page on storefront.
7
+ * @property {string} [policy] - Content for Privacy Policy page on storefront.
8
+ * @property {string} [shipping] - Content for Shipping Policy page on storefront.
9
+ * @property {string} [returns] - Content for Return policy page on storefront.
10
+ * @property {ApplicationLegalFAQ[]} [faq] - FAQs of an application.
11
+ * @property {string} [_id] - Unique identifier of an entry.
12
+ * @property {string} [updated_at] - Timestamp which represent when was the last
13
+ * time when data was updated.
14
+ * @property {string} [created_at] - Timestamp which represent the time when
15
+ * data was created.
14
16
  */
15
17
 
16
18
  /**
17
19
  * @typedef ApplicationLegalFAQ
18
- * @property {string} [question]
19
- * @property {string} [answer]
20
+ * @property {string} [question] - The contents of a question of a FAQ.
21
+ * @property {string} [answer] - The contents of a answer of a FAQ.
20
22
  */
21
23
 
22
24
  /**
@@ -26,168 +28,189 @@ const Joi = require("joi");
26
28
 
27
29
  /**
28
30
  * @typedef SeoSchema
29
- * @property {string} [app]
30
- * @property {string} [_id]
31
- * @property {string} [robots_txt]
32
- * @property {boolean} [sitemap_enabled]
33
- * @property {string} [additonal_sitemap]
34
- * @property {boolean} [cannonical_enabled]
35
- * @property {CustomMetaTag[]} [custom_meta_tags]
31
+ * @property {string} [app] - Application ID - Identifier for a Sales channel.
32
+ * @property {string} [_id] - Unique identifier of an entry.
33
+ * @property {string} [robots_txt] - Contents of robots.txt file of a sales channel.
34
+ * @property {boolean} [sitemap_enabled] - Whether sitemaps is enabled or not
35
+ * for a sales channel's website.
36
+ * @property {string} [additonal_sitemap] - Contents of additional sitemap.
37
+ * @property {boolean} [cannonical_enabled] - Whether canonical tags is enabled
38
+ * or not for a sales channel's website.
39
+ * @property {CustomMetaTag[]} [custom_meta_tags] - Custom meta tags for a sales
40
+ * channel website.
36
41
  * @property {Detail} [details]
37
- * @property {string} [created_at]
38
- * @property {string} [updated_at]
42
+ * @property {string} [created_at] - Timestamp which represent the time when
43
+ * data was created.
44
+ * @property {string} [updated_at] - Timestamp which represent when was the last
45
+ * time when data was updated.
39
46
  */
40
47
 
41
48
  /**
42
49
  * @typedef CustomMetaTag
43
- * @property {string} [name]
44
- * @property {string} [content]
45
- * @property {string} [_id]
50
+ * @property {string} [name] - Name of the custom meta tag group.
51
+ * @property {string} [content] - Contents of the custom meta tag group.
52
+ * @property {string} [_id] - Unique identifier of an entry.
46
53
  */
47
54
 
48
55
  /**
49
56
  * @typedef Detail
50
- * @property {string} [title]
51
- * @property {string} [description]
52
- * @property {string} [image_url]
57
+ * @property {string} [title] - Contents of the og:title of a sales channel website.
58
+ * @property {string} [description] - Contents of the og:description of a sales
59
+ * channel website.
60
+ * @property {string} [image_url] - URL of the og:image of a sales channel website.
53
61
  */
54
62
 
55
63
  /**
56
64
  * @typedef SeoSchemaComponent
57
- * @property {SEOSchemaMarkupTemplate[]} [items]
65
+ * @property {SEOSchemaMarkupTemplate[]} [items] - List of SEO Markup Schemas
66
+ * for a sales channel website.
58
67
  */
59
68
 
60
69
  /**
61
70
  * @typedef SEOSchemaMarkupTemplate
62
- * @property {string} [id]
63
- * @property {string} [title]
64
- * @property {string} [page_type]
65
- * @property {string} [description]
66
- * @property {string} [schema]
67
- * @property {boolean} [active]
68
- * @property {string} [created_at]
69
- * @property {string} [updated_at]
70
- * @property {string} [application]
71
+ * @property {string} [id] - Unique identifier for an entry.
72
+ * @property {string} [title] - Title of the SEO Schema template.
73
+ * @property {string} [page_type] - Page Type for the SEO Schema Template where
74
+ * it'll be rendered.
75
+ * @property {string} [description] - Description of the SEO Schema Template.
76
+ * @property {string} [schema] - Contents of the SEO Schema template in nunjucks format.
77
+ * @property {boolean} [active] - Whether SEO Schema template is active or not.
78
+ * @property {string} [created_at] - Timestamp which represent the time when
79
+ * data was created.
80
+ * @property {string} [updated_at] - Timestamp which represent when was the last
81
+ * time when data was updated.
82
+ * @property {string} [application] - Application ID - Identifier for a Sales channel.
71
83
  */
72
84
 
73
85
  /**
74
86
  * @typedef ScheduleSchema
75
- * @property {string} [cron]
76
- * @property {string} [start]
77
- * @property {string} [end]
78
- * @property {number} [duration]
79
- * @property {NextSchedule[]} [next_schedule]
87
+ * @property {string} [cron] - String representing the cron expression.
88
+ * @property {string} [start] - Start time of schedule.
89
+ * @property {string} [end] - End time of schedule.
90
+ * @property {number} [duration] - Duration of the scheduled entity.
91
+ * @property {NextSchedule[]} [next_schedule] - Details regarding the next
92
+ * trigger point of schedule.
80
93
  */
81
94
 
82
95
  /**
83
96
  * @typedef NextSchedule
84
- * @property {string} [start]
85
- * @property {string} [end]
97
+ * @property {string} [start] - Start time of next trigger point of schedule.
98
+ * @property {string} [end] - End time of next trigger point of schedule.
86
99
  */
87
100
 
88
101
  /**
89
102
  * @typedef AnnouncementSchema
90
- * @property {string} [announcement]
103
+ * @property {string} [announcement] - Details regarding the announcement bar contents.
91
104
  * @property {ScheduleStartSchema} [schedule]
92
105
  */
93
106
 
94
107
  /**
95
108
  * @typedef ScheduleStartSchema
96
- * @property {string} [start]
97
- * @property {string} [end]
109
+ * @property {string} [start] - Start time of schedule.
110
+ * @property {string} [end] - End time of schedule.
98
111
  */
99
112
 
100
113
  /**
101
114
  * @typedef BlogGetResponse
102
- * @property {BlogSchema[]} [items]
115
+ * @property {BlogSchema[]} [items] - List of blogs with details.
103
116
  * @property {Page} [page]
104
- * @property {string[]} [filters]
117
+ * @property {BlogFilters} [filters]
118
+ */
119
+
120
+ /**
121
+ * @typedef BlogFilters
122
+ * @property {string[]} [tags] - All tags present under blogs.
105
123
  */
106
124
 
107
125
  /**
108
126
  * @typedef ResourceContent
109
- * @property {string} [type]
110
- * @property {string} [value]
127
+ * @property {string} [type] - The type of content of blogs - html.
128
+ * @property {string} [value] - The contents of blog.
111
129
  */
112
130
 
113
131
  /**
114
132
  * @typedef Asset
115
- * @property {string} [aspect_ratio]
116
- * @property {string} [id]
117
- * @property {string} [secure_url]
133
+ * @property {string} [aspect_ratio] - Aspect ratio of the image.
134
+ * @property {string} [id] - Unique identifier for an entry.
135
+ * @property {string} [secure_url] - URL of the image.
118
136
  */
119
137
 
120
138
  /**
121
139
  * @typedef Author
122
- * @property {string} [designation]
123
- * @property {string} [id]
124
- * @property {string} [name]
140
+ * @property {string} [designation] - Description of the author of blog.
141
+ * @property {string} [id] - Unique Identifier of the author of blog.
142
+ * @property {string} [name] - Name of the author of blog.
125
143
  */
126
144
 
127
145
  /**
128
146
  * @typedef BlogSchema
129
- * @property {string} [_id]
130
- * @property {Object} [_custom_json]
131
- * @property {string} [application]
132
- * @property {boolean} [archived]
147
+ * @property {string} [_id] - Unique identifier for an entry.
148
+ * @property {Object} [_custom_json] - Custom JSON object for specific use cases.
149
+ * @property {string} [application] - Application ID - Identifier for a Sales channel.
150
+ * @property {boolean} [archived] - Boolean flag denoting whether blog is archived or not.
133
151
  * @property {Author} [author]
134
- * @property {ResourceContent[]} [content]
152
+ * @property {ResourceContent[]} [content] - Contents of blog.
135
153
  * @property {Asset} [feature_image]
136
- * @property {boolean} [published]
137
- * @property {string} [reading_time]
138
- * @property {string} [slug]
139
- * @property {string[]} [tags]
140
- * @property {string} [publish_date]
154
+ * @property {boolean} [published] - Boolean flag denoting whether blog is
155
+ * published or not.
156
+ * @property {string} [reading_time] - Estimated time required to read the blog.
157
+ * @property {string} [slug] - A short, human-readable, URL-friendly identifier.
158
+ * @property {string[]} [tags] - Tags under a blog.
159
+ * @property {string} [publish_date] - Timestamp denoting when the blog was published.
141
160
  * @property {SEO} [seo]
142
- * @property {string} [title]
161
+ * @property {string} [title] - Title of the Blog.
143
162
  * @property {DateMeta} [date_meta]
144
- * @property {string} [summary]
163
+ * @property {string} [summary] - A brief description of blog.
145
164
  */
146
165
 
147
166
  /**
148
167
  * @typedef SEO
149
- * @property {string} [description]
168
+ * @property {string} [description] - The contents of og:description.
150
169
  * @property {SEOImage} [image]
151
- * @property {string} [title]
152
- * @property {SEOMetaItem[]} [meta_tags]
170
+ * @property {string} [title] - The contents of og:title.
171
+ * @property {SEOMetaItem[]} [meta_tags] - List of meta tags.
153
172
  * @property {SEOSitemap} [sitemap]
154
- * @property {SEObreadcrumb[]} [breadcrumb]
155
- * @property {string} [canonical_url]
173
+ * @property {SEObreadcrumb[]} [breadcrumb] - List of action objects which can
174
+ * power breadcrumbs on website.
175
+ * @property {string} [canonical_url] - The canonical URL for canonical link element.
156
176
  */
157
177
 
158
178
  /**
159
179
  * @typedef SEOImage
160
- * @property {string} [url]
180
+ * @property {string} [url] - The url of image.
161
181
  */
162
182
 
163
183
  /**
164
184
  * @typedef SEOMetaItem
165
- * @property {string} [title]
166
- * @property {SEOMetaItems[]} [items]
185
+ * @property {string} [title] - Title of the custom meta tags group.
186
+ * @property {SEOMetaItems[]} [items] - List of key value pairs to power meta tags.
167
187
  */
168
188
 
169
189
  /**
170
190
  * @typedef SEOMetaItems
171
- * @property {string} [key]
172
- * @property {string} [value]
191
+ * @property {string} [key] - The key denoting the attribute name of SEO meta tag.
192
+ * @property {string} [value] - The key denoting the attribute value of SEO meta tag.
173
193
  */
174
194
 
175
195
  /**
176
196
  * @typedef SEOSitemap
177
- * @property {number} [priority]
178
- * @property {string} [frequency]
197
+ * @property {number} [priority] - Value of sitemap priority randing from 0.0 to 1.0.
198
+ * @property {string} [frequency] - Value of sitemap frequency change denoting
199
+ * how frequently the content changes.
179
200
  */
180
201
 
181
202
  /**
182
203
  * @typedef SEObreadcrumb
183
- * @property {string} [url]
204
+ * @property {string} [url] - URL of where the breadcrumb link redirects to.
184
205
  * @property {Action} [action]
185
206
  */
186
207
 
187
208
  /**
188
209
  * @typedef DateMeta
189
- * @property {string} [created_on]
190
- * @property {string} [modified_on]
210
+ * @property {string} [created_on] - Timestamp which represent the time when
211
+ * data was created.
212
+ * @property {string} [modified_on] - Timestamp which represent when was the
213
+ * last time when data was updated.
191
214
  */
192
215
 
193
216
  /**
@@ -199,155 +222,166 @@ const Joi = require("joi");
199
222
 
200
223
  /**
201
224
  * @typedef Language
202
- * @property {string} [display]
225
+ * @property {string} [display] - Name of an entry in a specific language.
203
226
  */
204
227
 
205
228
  /**
206
229
  * @typedef Action
207
- * @property {string} [type]
230
+ * @property {string} [type] - Type of action to be taken e.g, page.
208
231
  * @property {ActionPage} [page]
209
232
  * @property {ActionPage} [popup]
210
233
  */
211
234
 
212
235
  /**
213
236
  * @typedef NavigationReference
214
- * @property {string[]} [acl]
215
- * @property {string[]} [tags]
237
+ * @property {string[]} [acl] - Details regarding the authorization level to
238
+ * access the navigation item.
239
+ * @property {string[]} [tags] - List of tags under a navigation link.
216
240
  * @property {LocaleLanguage} [_locale_language]
217
- * @property {string} [image]
218
- * @property {string} [type]
241
+ * @property {string} [image] - URL of an image associated with a navigation link.
242
+ * @property {string} [type] - Type of action to be taken e.g, page.
219
243
  * @property {Action} [action]
220
- * @property {boolean} [active]
221
- * @property {string} [display]
222
- * @property {number} [sort_order]
223
- * @property {NavigationReference[]} [sub_navigation]
244
+ * @property {boolean} [active] - Whether navigation is active or not.
245
+ * @property {string} [display] - Display name of the navigation link.
246
+ * @property {number} [sort_order] - Number denoting the position of navigation link.
247
+ * @property {NavigationReference[]} [sub_navigation] - List of sub links and
248
+ * details under a navigation.
224
249
  */
225
250
 
226
251
  /**
227
252
  * @typedef ConfigurationSchema
228
- * @property {number} [sleep_time]
229
- * @property {boolean} [start_on_launch]
230
- * @property {number} [duration]
231
- * @property {string} [slide_direction]
253
+ * @property {number} [sleep_time] - Amount of time in seconds after which
254
+ * slideshow/screensaver is run.
255
+ * @property {boolean} [start_on_launch] - Flag denoting whether screensaver
256
+ * needs to be shown on launch of website/app.
257
+ * @property {number} [duration] - Duration of the slideshow/screensaver.
258
+ * @property {string} [slide_direction] - Direction of the slideshow.
232
259
  */
233
260
 
234
261
  /**
235
262
  * @typedef SlideshowMedia
236
- * @property {string} [type]
237
- * @property {string} [url]
238
- * @property {string} [bg_color]
239
- * @property {number} [duration]
240
- * @property {boolean} [auto_decide_duration]
263
+ * @property {string} [type] - Type of Media.
264
+ * @property {string} [url] - URL of Media where it's hosted.
265
+ * @property {string} [bg_color] - Background colour of Media.
266
+ * @property {number} [duration] - Amount of time in seconds for which Media has
267
+ * to appear.
268
+ * @property {boolean} [auto_decide_duration] - Whether the duration for each
269
+ * media is to be decided by system or not. If true, it'll equally divide time
270
+ * in all medias.
241
271
  * @property {Action} [action]
242
272
  */
243
273
 
244
274
  /**
245
275
  * @typedef AnnouncementsResponseSchema
246
- * @property {Object} [announcements]
276
+ * @property {Object} [announcements] - List all the announcement bar details
277
+ * and its contents.
247
278
  * @property {number} [refresh_rate] - Number of seconds after which api should
248
- * hit again to fetch new announcements
279
+ * hit again to fetch new announcements.
249
280
  * @property {string[]} [refresh_pages] - List of page slugs on which
250
- * announcement should be fetched as soon as they are loaded
281
+ * announcement should be fetched as soon as they are loaded.
251
282
  */
252
283
 
253
284
  /**
254
285
  * @typedef FaqResponseSchema
255
- * @property {FaqSchema[]} [faqs]
286
+ * @property {FaqSchema[]} [faqs] - List of FAQs.
256
287
  */
257
288
 
258
289
  /**
259
290
  * @typedef DataLoaderSchema
260
- * @property {string} [name]
261
- * @property {string} [service]
262
- * @property {string} [operation_id]
263
- * @property {string} [type]
264
- * @property {string} [url]
265
- * @property {string} [content]
291
+ * @property {string} [name] - Name of dataloader.
292
+ * @property {string} [service] - Service of data loader which overrides the
293
+ * default method.
294
+ * @property {string} [operation_id] - Operation ID of the method which data
295
+ * loader is overriding.
296
+ * @property {string} [type] - Type of data loader.
297
+ * @property {string} [url] - URL at which data loader redirects.
298
+ * @property {string} [content] - Content of a data loader.
266
299
  * @property {DataLoaderSourceSchema} [__source]
267
- * @property {string} [_id]
300
+ * @property {string} [_id] - Unique identifier of an entry.
268
301
  */
269
302
 
270
303
  /**
271
304
  * @typedef DataLoaderSourceSchema
272
- * @property {string} [type]
273
- * @property {string} [id]
305
+ * @property {string} [type] - Type of creator.
306
+ * @property {string} [id] - Identifier of an extension.
274
307
  */
275
308
 
276
309
  /**
277
310
  * @typedef DataLoadersSchema
278
- * @property {DataLoaderSchema[]} [items]
311
+ * @property {DataLoaderSchema[]} [items] - List of data loaders.
279
312
  */
280
313
 
281
314
  /**
282
315
  * @typedef ContentAPIError
283
- * @property {string} [message]
284
- * @property {number} [status]
285
- * @property {string} [code]
286
- * @property {string} [exception]
287
- * @property {string} [info]
288
- * @property {string} [request_id]
289
- * @property {string} [stack_trace]
290
- * @property {Object} [meta]
316
+ * @property {string} [message] - Error message.
317
+ * @property {number} [status] - HTTP Status code of the error.
318
+ * @property {string} [code] - Status code of an error.
319
+ * @property {string} [exception] - Exception class name.
320
+ * @property {string} [info] - Details regarding the error.
321
+ * @property {string} [request_id] - The identifier denoting request.
322
+ * @property {string} [stack_trace] - Report of a stack frame to debug the issue.
323
+ * @property {Object} [meta] - Metadata related to an error.
291
324
  */
292
325
 
293
326
  /**
294
327
  * @typedef CommonError
295
- * @property {string} [message]
328
+ * @property {string} [message] - Error message.
296
329
  */
297
330
 
298
331
  /**
299
332
  * @typedef CategorySchema
300
- * @property {number} [index]
301
- * @property {string} [title]
302
- * @property {string} [description]
303
- * @property {string[]} [children]
304
- * @property {string} [_id]
305
- * @property {string} [slug]
306
- * @property {string} [application]
307
- * @property {string} [icon_url]
308
- * @property {Object} [_custom_json]
333
+ * @property {number} [index] - Order of FAQ Category.
334
+ * @property {string} [title] - Title of the FAQ category.
335
+ * @property {string} [description] - Details of the FAQ category.
336
+ * @property {string[]} [children] - List of FAQs.
337
+ * @property {string} [_id] - Unique identifier of an entry.
338
+ * @property {string} [slug] - A short, human-readable, URL-friendly identifier.
339
+ * @property {string} [application] - Application ID - Identifier for a Sales channel.
340
+ * @property {string} [icon_url] - URL of the image associated with FAQ Category.
341
+ * @property {Object} [_custom_json] - Custom JSON object for specific use cases.
309
342
  */
310
343
 
311
344
  /**
312
345
  * @typedef ChildrenSchema
313
- * @property {string} [question]
314
- * @property {string} [answer]
315
- * @property {string} [slug]
316
- * @property {string} [application]
317
- * @property {string} [_id]
346
+ * @property {string} [question] - The contents of a question of a FAQ.
347
+ * @property {string} [answer] - The contents of a answer of a FAQ.
348
+ * @property {string} [slug] - A short, human-readable, URL-friendly identifier.
349
+ * @property {string} [application] - Application ID - Identifier for a Sales channel.
350
+ * @property {string} [_id] - Unique identifier of an entry.
318
351
  */
319
352
 
320
353
  /**
321
354
  * @typedef FAQCategorySchema
322
- * @property {number} [index]
323
- * @property {string} [title]
324
- * @property {string} [description]
325
- * @property {ChildrenSchema[]} [children]
326
- * @property {string} [_id]
327
- * @property {string} [slug]
328
- * @property {string} [application]
329
- * @property {string} [icon_url]
330
- * @property {Object} [_custom_json]
355
+ * @property {number} [index] - Order of FAQ Category.
356
+ * @property {string} [title] - Title of a FAQ Category.
357
+ * @property {string} [description] - Details of the FAQ category.
358
+ * @property {ChildrenSchema[]} [children] - Details regarding a FAQs stored
359
+ * under a FAQs category.
360
+ * @property {string} [_id] - Unique identifier of an entry.
361
+ * @property {string} [slug] - A short, human-readable, URL-friendly identifier.
362
+ * @property {string} [application] - Application ID - Identifier for a Sales channel.
363
+ * @property {string} [icon_url] - URL of the image associated with FAQ Category.
364
+ * @property {Object} [_custom_json] - Custom JSON object for specific use cases.
331
365
  */
332
366
 
333
367
  /**
334
368
  * @typedef FaqSchema
335
- * @property {string} [slug]
336
- * @property {string} [application]
337
- * @property {string} [_id]
338
- * @property {string} [question]
339
- * @property {string} [answer]
340
- * @property {string[]} [tags]
369
+ * @property {string} [slug] - A short, human-readable, URL-friendly identifier.
370
+ * @property {string} [application] - Application ID - Identifier for a Sales channel.
371
+ * @property {string} [_id] - Unique identifier of an entry.
372
+ * @property {string} [question] - The contents of a question of a FAQ.
373
+ * @property {string} [answer] - The contents of a answer of a FAQ.
374
+ * @property {string[]} [tags] - Tags under a FAQ.
341
375
  */
342
376
 
343
377
  /**
344
378
  * @typedef GetFaqSchema
345
- * @property {FaqSchema[]} [faqs]
379
+ * @property {FaqSchema[]} [faqs] - List of FAQs.
346
380
  */
347
381
 
348
382
  /**
349
383
  * @typedef GetFaqCategoriesSchema
350
- * @property {CategorySchema[]} [categories]
384
+ * @property {CategorySchema[]} [categories] - List of FAQ Categories.
351
385
  */
352
386
 
353
387
  /**
@@ -357,148 +391,157 @@ const Joi = require("joi");
357
391
 
358
392
  /**
359
393
  * @typedef Page
360
- * @property {number} [item_total]
361
- * @property {string} [next_id]
362
- * @property {boolean} [has_previous]
363
- * @property {boolean} [has_next]
364
- * @property {number} [current]
365
- * @property {string} type
366
- * @property {number} [size]
394
+ * @property {number} [item_total] - The total number of items on the page.
395
+ * @property {string} [next_id] - The identifier for the next page.
396
+ * @property {boolean} [has_previous] - Indicates whether there is a previous page.
397
+ * @property {boolean} [has_next] - Indicates whether there is a next page.
398
+ * @property {number} [current] - The current page number.
399
+ * @property {string} type - The type of the page, such as 'PageType'.
400
+ * @property {number} [size] - The number of items per page.
367
401
  */
368
402
 
369
403
  /**
370
404
  * @typedef LandingPageSchema
371
- * @property {string} [slug]
405
+ * @property {string} [slug] - A short, human-readable, URL-friendly identifier.
372
406
  * @property {Action} [action]
373
- * @property {string[]} [platform]
407
+ * @property {string[]} [platform] - List of platforms linked to this landing page.
374
408
  * @property {CreatedBySchema} [created_by]
375
409
  * @property {DateMeta} [date_meta]
376
- * @property {string} [_id]
377
- * @property {string} [application]
378
- * @property {boolean} [archived]
379
- * @property {Object} [_custom_json]
410
+ * @property {string} [_id] - Unique identifier of an entry.
411
+ * @property {string} [application] - Application ID - Identifier for a Sales channel.
412
+ * @property {boolean} [archived] - Whether landing page is archived or not.
413
+ * @property {Object} [_custom_json] - Custom JSON object for specific use cases.
380
414
  */
381
415
 
382
416
  /**
383
417
  * @typedef NavigationGetResponse
384
- * @property {NavigationSchema[]} [items]
418
+ * @property {NavigationSchema[]} [items] - List of navigation items.
385
419
  * @property {Page} [page]
386
420
  */
387
421
 
388
422
  /**
389
423
  * @typedef Orientation
390
- * @property {string[]} [portrait]
391
- * @property {string[]} [landscape]
424
+ * @property {string[]} [portrait] - Data related to devices where navigation is
425
+ * assigned in portrait mode.
426
+ * @property {string[]} [landscape] - Data related to devices where navigation
427
+ * is assigned in landscape mode.
392
428
  */
393
429
 
394
430
  /**
395
431
  * @typedef NavigationSchema
396
- * @property {string} [_id]
397
- * @property {string} [application]
398
- * @property {boolean} [archived]
399
- * @property {string} [name]
400
- * @property {string} [slug]
401
- * @property {string[]} [platform]
432
+ * @property {string} [_id] - Unique identifier of an entry.
433
+ * @property {string} [application] - Application ID - Identifier for a Sales channel.
434
+ * @property {boolean} [archived] - Whether navigation is archived or not.
435
+ * @property {string} [name] - Name of the navigation link.
436
+ * @property {string} [slug] - A short, human-readable, URL-friendly identifier.
437
+ * @property {string[]} [platform] - Details regarding the platforms for which
438
+ * this navigation is to applied on.
402
439
  * @property {CreatedBySchema} [created_by]
403
440
  * @property {DateMeta} [date_meta]
404
441
  * @property {Orientation} [orientation]
405
- * @property {number} [version]
406
- * @property {NavigationReference[]} [navigation]
442
+ * @property {number} [version] - A hardcoded key for internally managing
443
+ * navigation versions.
444
+ * @property {NavigationReference[]} [navigation] - List of all navigations
445
+ * links and relevant details.
407
446
  */
408
447
 
409
448
  /**
410
449
  * @typedef PageGetResponse
411
- * @property {PageSchema[]} [items]
450
+ * @property {PageSchema[]} [items] - List of details of custom pages.
412
451
  * @property {Page} [page]
413
452
  */
414
453
 
415
454
  /**
416
455
  * @typedef PageSchema
417
- * @property {string} [_id]
418
- * @property {string} [application]
456
+ * @property {string} [_id] - Unique identifier of an entry.
457
+ * @property {string} [application] - Application ID - Identifier for a Sales channel.
419
458
  * @property {string[]} [component_ids] - Components can be used to store
420
- * multiple components
421
- * @property {Object[]} [content]
422
- * @property {string} [content_path]
459
+ * multiple components.
460
+ * @property {Object[]} [content] - Contents of a custom page.
461
+ * @property {string} [content_path] - A CDN URL at which the entire html
462
+ * content can be fetched from.
423
463
  * @property {CreatedBySchema} [created_by]
424
464
  * @property {DateMeta} [date_meta]
425
- * @property {string} [description]
465
+ * @property {string} [description] - Description about the page.
426
466
  * @property {Asset} [feature_image]
427
- * @property {Object[]} [page_meta]
467
+ * @property {Object[]} [page_meta] - List of Custom JSON object for specific use cases.
428
468
  * @property {ScheduleSchema} [_schedule]
429
- * @property {Object} [_custom_json]
430
- * @property {string} [orientation]
431
- * @property {string} [platform]
432
- * @property {boolean} [published]
433
- * @property {string} [slug]
434
- * @property {string[]} [tags]
435
- * @property {string} [title]
436
- * @property {string} [type]
469
+ * @property {Object} [_custom_json] - Custom JSON object for specific use cases.
470
+ * @property {string} [orientation] - Orientation for Custom Pages - Landscape
471
+ * or portrait.
472
+ * @property {string} [platform] - Platform for Custom Pages - Denotes the device type.
473
+ * @property {boolean} [published] - Whether page is active or not on website.
474
+ * @property {string} [slug] - A short, human-readable, URL-friendly identifier.
475
+ * @property {string[]} [tags] - Tags under a page.
476
+ * @property {string} [title] - The title of the page.
477
+ * @property {string} [type] - Type of editor through which the page was created
478
+ * so appropriate rendering engine is used.
437
479
  * @property {SEO} [seo]
438
- * @property {Object} [visibility]
439
- * @property {boolean} [archived]
480
+ * @property {Object} [visibility] - Visibility of Page.
481
+ * @property {boolean} [archived] - Flag denoting whether the page is archived or not.
440
482
  */
441
483
 
442
484
  /**
443
485
  * @typedef CreatedBySchema
444
- * @property {string} [id]
486
+ * @property {string} [id] - Details containing the creator of custom page.
445
487
  */
446
488
 
447
489
  /**
448
490
  * @typedef SlideshowGetResponse
449
- * @property {SlideshowSchema[]} [items]
491
+ * @property {SlideshowSchema[]} [items] - Details related to slideshow/screensaver.
450
492
  * @property {Page} [page]
451
493
  */
452
494
 
453
495
  /**
454
496
  * @typedef SlideshowSchema
455
- * @property {string} [_id]
456
- * @property {string} [slug]
497
+ * @property {string} [_id] - Unique identifier of an entry.
498
+ * @property {string} [slug] - Details related to slideshow/screensaver.
457
499
  * @property {DateMeta} [date_meta]
458
- * @property {string} [application]
459
- * @property {string} [platform]
500
+ * @property {string} [application] - Application ID - Identifier for a Sales channel.
501
+ * @property {string} [platform] - Details related to slideshow/screensaver.
460
502
  * @property {ConfigurationSchema} [configuration]
461
- * @property {SlideshowMedia[]} [media]
462
- * @property {boolean} [active]
463
- * @property {boolean} [archived]
464
- * @property {Object} [_custom_json]
503
+ * @property {SlideshowMedia[]} [media] - Details related to slideshow/screensaver.
504
+ * @property {boolean} [active] - Details related to slideshow/screensaver.
505
+ * @property {boolean} [archived] - Whether slideshow is deleted or not.
506
+ * @property {Object} [_custom_json] - Custom JSON object for specific use cases.
465
507
  */
466
508
 
467
509
  /**
468
510
  * @typedef Support
469
- * @property {boolean} [created]
470
- * @property {string} [_id]
471
- * @property {string} [config_type]
472
- * @property {string} [application]
473
- * @property {string} [created_at]
474
- * @property {string} [updated_at]
511
+ * @property {boolean} [created] - Whether support contact details are created or not.
512
+ * @property {string} [_id] - Unique identifier of an entry.
513
+ * @property {string} [application] - Application ID - Identifier for a Sales channel.
514
+ * @property {string} [created_at] - Timestamp which represent the time when
515
+ * data was created.
516
+ * @property {string} [updated_at] - Timestamp which represent when was the last
517
+ * time when data was updated.
475
518
  * @property {ContactSchema} [contact]
476
519
  */
477
520
 
478
521
  /**
479
522
  * @typedef PhoneProperties
480
- * @property {string} [key]
481
- * @property {string} [code]
482
- * @property {string} [number]
483
- * @property {string} [phone_type]
523
+ * @property {string} [key] - Name of the Contact SPOC.
524
+ * @property {string} [code] - International dial Code.
525
+ * @property {string} [number] - Phone Number.
526
+ * @property {string} [phone_type] - Denotes the type of phone number.
484
527
  */
485
528
 
486
529
  /**
487
530
  * @typedef PhoneSchema
488
- * @property {boolean} [active]
489
- * @property {PhoneProperties[]} [phone]
531
+ * @property {boolean} [active] - Flag denoting whether contact detail is active or not.
532
+ * @property {PhoneProperties[]} [phone] - Details related to phone contact of SPOC.
490
533
  */
491
534
 
492
535
  /**
493
536
  * @typedef EmailProperties
494
- * @property {string} [key]
495
- * @property {string} [value]
537
+ * @property {string} [key] - Name of email SPOC.
538
+ * @property {string} [value] - Email Id of the SPOC.
496
539
  */
497
540
 
498
541
  /**
499
542
  * @typedef EmailSchema
500
- * @property {boolean} [active]
501
- * @property {EmailProperties[]} [email]
543
+ * @property {boolean} [active] - Whether contact detail is active or not.
544
+ * @property {EmailProperties[]} [email] - Details related to email contact of SPOC.
502
545
  */
503
546
 
504
547
  /**
@@ -509,99 +552,111 @@ const Joi = require("joi");
509
552
 
510
553
  /**
511
554
  * @typedef TagsSchema
512
- * @property {string} [application]
513
- * @property {string} [_id]
514
- * @property {TagSchema[]} [tags]
555
+ * @property {string} [application] - Application ID - Identifier for a Sales channel.
556
+ * @property {string} [_id] - Unique identifier of an entry.
557
+ * @property {TagSchema[]} [tags] - List of Third party injectable html tags.
515
558
  */
516
559
 
517
560
  /**
518
561
  * @typedef TagSchema
519
- * @property {string} [name]
520
- * @property {string} [url]
521
- * @property {string} [type]
522
- * @property {string} [sub_type]
523
- * @property {string} [_id]
524
- * @property {string} [position]
525
- * @property {Object} [attributes]
526
- * @property {string} [content]
527
- * @property {Object[]} [pages]
562
+ * @property {string} [name] - Name of the html tag.
563
+ * @property {string} [url] - URL at which css or js might be hosted.
564
+ * @property {string} [type] - Whether Tag is JS or CSS.
565
+ * @property {string} [sub_type] - Whether js/css is external or inline.
566
+ * @property {string} [_id] - Unique identifier of an entry.
567
+ * @property {string} [position] - Position where Tag is so to be placed.
568
+ * @property {Object} [attributes] - Custom JSON object for specific use cases.
569
+ * @property {string} [content] - Content of tag.
570
+ * @property {Object[]} [pages] - List of all the page where tag is to be added.
528
571
  * @property {TagSourceSchema} [__source]
529
572
  */
530
573
 
531
574
  /**
532
575
  * @typedef TagSourceSchema
533
- * @property {string} [type]
534
- * @property {string} [id]
576
+ * @property {string} [type] - Type of creator of tag.
577
+ * @property {string} [id] - Identifier of an extension.
535
578
  */
536
579
 
537
580
  /**
538
581
  * @typedef CustomObjectFieldValue
539
- * @property {Object} [value]
582
+ * @property {Object} [value] - Value of custom field.
540
583
  */
541
584
 
542
585
  /**
543
586
  * @typedef CustomObjectListItemDefinationSchema
544
- * @property {string} [_id]
545
- * @property {string} [name]
546
- * @property {string} [type]
587
+ * @property {string} [_id] - Unique identifier of an entry.
588
+ * @property {string} [name] - Name of definition of custom field.
589
+ * @property {string} [type] - Data type of the custom field.
547
590
  */
548
591
 
549
592
  /**
550
593
  * @typedef CustomObjectFieldSchema
551
- * @property {string} [_id]
552
- * @property {string} [key]
553
- * @property {CustomObjectFieldValue[]} [value]
554
- * @property {string} [type]
555
- * @property {string} [definition_id]
594
+ * @property {string} [_id] - Unique identifier of an entry.
595
+ * @property {string} [key] - Key of custom field inside custom object.
596
+ * @property {CustomObjectFieldValue[]} [value] - Value of custom field inside
597
+ * custom object.
598
+ * @property {string} [type] - Data type of custom field inside custom object.
599
+ * @property {string} [definition_id] - Definition id of custom field inside
600
+ * custom object.
556
601
  */
557
602
 
558
603
  /**
559
604
  * @typedef CustomObjectByIdSchema
560
- * @property {string} [_id]
561
- * @property {string} [status]
562
- * @property {string} [display_name]
605
+ * @property {string} [_id] - Unique identifier of an entry.
606
+ * @property {string} [status] - String denoting whether custom object is active
607
+ * or inactive.
608
+ * @property {string} [display_name] - Unique Display name of a custom object
609
+ * which is system generated: Concatenation of string definition name and _id.
563
610
  * @property {CustomObjectListItemDefinationSchema} [definition]
564
- * @property {Object[]} [references]
565
- * @property {CustomObjectFieldSchema[]} [fields]
611
+ * @property {Object[]} [references] - List of custom fields ids where the
612
+ * custom object is added as a field.
613
+ * @property {CustomObjectFieldSchema[]} [fields] - List of custom fields
614
+ * against a Custom Object.
566
615
  */
567
616
 
568
617
  /**
569
618
  * @typedef CustomFieldValue
570
- * @property {Object} [value]
619
+ * @property {Object} [value] - Array containing value(s) of custom field.
571
620
  */
572
621
 
573
622
  /**
574
623
  * @typedef CustomFieldSchema
575
- * @property {string} [_id]
576
- * @property {string} [namespace]
577
- * @property {string} [key]
578
- * @property {string} [resource]
579
- * @property {string} [creator]
580
- * @property {CustomFieldValue[]} [value]
581
- * @property {string} [resource_id]
582
- * @property {string} [type]
583
- * @property {boolean} [multi_value]
584
- * @property {string} [company_id]
585
- * @property {string} [application_id]
586
- * @property {string} [definition_id]
587
- * @property {boolean} [has_invalid_values]
588
- * @property {Object[]} [invalid_value_errors]
589
- * @property {string} [created_by]
590
- * @property {boolean} [is_deleted]
591
- * @property {string} [created_at]
592
- * @property {string} [updated_at]
624
+ * @property {string} [_id] - Unique identifier of an entry.
625
+ * @property {string} [namespace] - Namespace under which custom field is present.
626
+ * @property {string} [key] - Unique identifier for a custom field.
627
+ * @property {string} [resource] - Type of an entity under which custom field is defined.
628
+ * @property {string} [creator] - Denotes where the custom field has been
629
+ * defined - within a company or within a sales channel.
630
+ * @property {CustomFieldValue[]} [value] - Array containing values of custom field.
631
+ * @property {string} [resource_id] - Unique identifier for the entity under
632
+ * which custom field is defined.
633
+ * @property {string} [type] - The type type of custom field.
634
+ * @property {boolean} [multi_value] - Whether custom field can have multiple
635
+ * values or not.
636
+ * @property {string} [company_id] - Unique Identifier for a company.
637
+ * @property {string} [application_id] - Application ID - Identifier for a Sales channel.
638
+ * @property {string} [definition_id] - Unique identifier for a custom field definition.
639
+ * @property {boolean} [has_invalid_values] - Whether the custom field has invalid values.
640
+ * @property {Object[]} [invalid_value_errors] - Array denoting if there's a
641
+ * validation failure on a custom field inside a custom object.
642
+ * @property {string} [created_by] - Details of the owner of custom field creator.
643
+ * @property {boolean} [is_deleted] - Whether the custom field definition is deleted.
644
+ * @property {string} [created_at] - Timestamp which represent the time when
645
+ * data was created.
646
+ * @property {string} [updated_at] - Timestamp which represent when was the last
647
+ * time when data was updated.
593
648
  */
594
649
 
595
650
  /**
596
651
  * @typedef CustomFieldsResponseByResourceIdSchema
597
- * @property {CustomFieldSchema[]} [items]
652
+ * @property {CustomFieldSchema[]} [items] - List of custom fields against a resource.
598
653
  */
599
654
 
600
655
  /**
601
656
  * @typedef ActionPage
602
- * @property {Object} [params]
603
- * @property {Object} [query]
604
- * @property {string} [url]
657
+ * @property {Object} [params] - Parameters that should be considered in path.
658
+ * @property {Object} [query] - Query parameter if any to be added to the action.
659
+ * @property {string} [url] - The URL for the action.
605
660
  * @property {PageType} type
606
661
  */
607
662
 
@@ -617,6 +672,7 @@ const Joi = require("joi");
617
672
  * | "category"
618
673
  * | "collection"
619
674
  * | "collections"
675
+ * | "custom"
620
676
  * | "contact-us"
621
677
  * | "external"
622
678
  * | "faq"
@@ -785,7 +841,14 @@ class ContentApplicationModel {
785
841
  return Joi.object({
786
842
  items: Joi.array().items(ContentApplicationModel.BlogSchema()),
787
843
  page: ContentApplicationModel.Page(),
788
- filters: Joi.array().items(Joi.string().allow("")),
844
+ filters: ContentApplicationModel.BlogFilters(),
845
+ });
846
+ }
847
+
848
+ /** @returns {BlogFilters} */
849
+ static BlogFilters() {
850
+ return Joi.object({
851
+ tags: Joi.array().items(Joi.string().allow("")),
789
852
  });
790
853
  }
791
854
 
@@ -1238,7 +1301,6 @@ class ContentApplicationModel {
1238
1301
  return Joi.object({
1239
1302
  created: Joi.boolean(),
1240
1303
  _id: Joi.string().allow(""),
1241
- config_type: Joi.string().allow(""),
1242
1304
  application: Joi.string().allow(""),
1243
1305
  created_at: Joi.string().allow(""),
1244
1306
  updated_at: Joi.string().allow(""),
@@ -1447,6 +1509,8 @@ class ContentApplicationModel {
1447
1509
 
1448
1510
  "collections",
1449
1511
 
1512
+ "custom",
1513
+
1450
1514
  "contact-us",
1451
1515
 
1452
1516
  "external",