@gofynd/fdk-client-javascript 1.4.2-beta.2 → 1.4.2-beta.3

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 (106) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/sdk/application/Cart/CartApplicationModel.d.ts +1742 -1726
  4. package/sdk/application/Cart/CartApplicationModel.js +1497 -1481
  5. package/sdk/application/Catalog/CatalogApplicationModel.d.ts +1917 -1917
  6. package/sdk/application/Catalog/CatalogApplicationModel.js +1611 -1611
  7. package/sdk/application/Common/CommonApplicationModel.d.ts +235 -235
  8. package/sdk/application/Common/CommonApplicationModel.js +172 -172
  9. package/sdk/application/Communication/CommunicationApplicationModel.d.ts +72 -72
  10. package/sdk/application/Communication/CommunicationApplicationModel.js +64 -64
  11. package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +1614 -1614
  12. package/sdk/application/Configuration/ConfigurationApplicationModel.js +1151 -1151
  13. package/sdk/application/Content/ContentApplicationModel.d.ts +797 -797
  14. package/sdk/application/Content/ContentApplicationModel.js +757 -757
  15. package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +79 -79
  16. package/sdk/application/FileStorage/FileStorageApplicationModel.js +84 -84
  17. package/sdk/application/Lead/LeadApplicationModel.d.ts +417 -417
  18. package/sdk/application/Lead/LeadApplicationModel.js +301 -301
  19. package/sdk/application/Logistic/LogisticApplicationModel.d.ts +666 -666
  20. package/sdk/application/Logistic/LogisticApplicationModel.js +601 -601
  21. package/sdk/application/Order/OrderApplicationModel.d.ts +846 -846
  22. package/sdk/application/Order/OrderApplicationModel.js +822 -822
  23. package/sdk/application/Payment/PaymentApplicationClient.d.ts +5 -5
  24. package/sdk/application/Payment/PaymentApplicationClient.js +10 -10
  25. package/sdk/application/Payment/PaymentApplicationModel.d.ts +2155 -2150
  26. package/sdk/application/Payment/PaymentApplicationModel.js +1460 -1458
  27. package/sdk/application/Payment/PaymentApplicationValidator.d.ts +5 -5
  28. package/sdk/application/Payment/PaymentApplicationValidator.js +3 -3
  29. package/sdk/application/PosCart/PosCartApplicationModel.d.ts +1462 -1462
  30. package/sdk/application/PosCart/PosCartApplicationModel.js +1260 -1260
  31. package/sdk/application/Rewards/RewardsApplicationModel.d.ts +214 -214
  32. package/sdk/application/Rewards/RewardsApplicationModel.js +211 -211
  33. package/sdk/application/Share/ShareApplicationModel.d.ts +114 -114
  34. package/sdk/application/Share/ShareApplicationModel.js +121 -121
  35. package/sdk/application/Theme/ThemeApplicationModel.d.ts +895 -895
  36. package/sdk/application/Theme/ThemeApplicationModel.js +684 -684
  37. package/sdk/application/User/UserApplicationModel.d.ts +762 -762
  38. package/sdk/application/User/UserApplicationModel.js +738 -738
  39. package/sdk/partner/FileStorage/FileStoragePartnerModel.d.ts +63 -63
  40. package/sdk/partner/FileStorage/FileStoragePartnerModel.js +65 -65
  41. package/sdk/partner/Lead/LeadPartnerModel.d.ts +661 -661
  42. package/sdk/partner/Lead/LeadPartnerModel.js +491 -491
  43. package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +223 -223
  44. package/sdk/partner/Logistics/LogisticsPartnerModel.js +235 -235
  45. package/sdk/partner/Theme/ThemePartnerModel.d.ts +1087 -1087
  46. package/sdk/partner/Theme/ThemePartnerModel.js +819 -819
  47. package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +386 -386
  48. package/sdk/partner/Webhook/WebhookPartnerModel.js +342 -342
  49. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.d.ts +123 -123
  50. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.js +109 -109
  51. package/sdk/platform/Billing/BillingPlatformModel.d.ts +801 -801
  52. package/sdk/platform/Billing/BillingPlatformModel.js +783 -783
  53. package/sdk/platform/Cart/CartPlatformModel.d.ts +3333 -3317
  54. package/sdk/platform/Cart/CartPlatformModel.js +2936 -2920
  55. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +1013 -1013
  56. package/sdk/platform/Catalog/CatalogPlatformModel.js +923 -923
  57. package/sdk/platform/Common/CommonPlatformModel.d.ts +255 -255
  58. package/sdk/platform/Common/CommonPlatformModel.js +187 -187
  59. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +1238 -1238
  60. package/sdk/platform/Communication/CommunicationPlatformModel.js +1273 -1273
  61. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +661 -661
  62. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +692 -692
  63. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +3198 -3198
  64. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +2247 -2247
  65. package/sdk/platform/Content/ContentPlatformModel.d.ts +1833 -1833
  66. package/sdk/platform/Content/ContentPlatformModel.js +1837 -1837
  67. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +245 -245
  68. package/sdk/platform/Discount/DiscountPlatformModel.js +248 -248
  69. package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +865 -865
  70. package/sdk/platform/FileStorage/FileStoragePlatformModel.js +877 -877
  71. package/sdk/platform/Finance/FinancePlatformModel.d.ts +1044 -1044
  72. package/sdk/platform/Finance/FinancePlatformModel.js +974 -974
  73. package/sdk/platform/Inventory/InventoryPlatformModel.d.ts +942 -942
  74. package/sdk/platform/Inventory/InventoryPlatformModel.js +1003 -1003
  75. package/sdk/platform/Lead/LeadPlatformModel.d.ts +608 -608
  76. package/sdk/platform/Lead/LeadPlatformModel.js +465 -465
  77. package/sdk/platform/Order/OrderPlatformModel.d.ts +5180 -5176
  78. package/sdk/platform/Order/OrderPlatformModel.js +4740 -4736
  79. package/sdk/platform/Partner/PartnerPlatformModel.d.ts +22 -22
  80. package/sdk/platform/Partner/PartnerPlatformModel.js +22 -22
  81. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +2670 -2660
  82. package/sdk/platform/Payment/PaymentPlatformModel.js +1831 -1827
  83. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +204 -204
  84. package/sdk/platform/Rewards/RewardsPlatformModel.js +199 -199
  85. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +1505 -1507
  86. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +1532 -1536
  87. package/sdk/platform/Share/SharePlatformModel.d.ts +147 -147
  88. package/sdk/platform/Share/SharePlatformModel.js +139 -139
  89. package/sdk/platform/Theme/ThemePlatformModel.d.ts +1046 -1046
  90. package/sdk/platform/Theme/ThemePlatformModel.js +789 -789
  91. package/sdk/platform/User/UserPlatformModel.d.ts +758 -758
  92. package/sdk/platform/User/UserPlatformModel.js +643 -643
  93. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +439 -439
  94. package/sdk/platform/Webhook/WebhookPlatformModel.js +364 -364
  95. package/sdk/public/Billing/BillingPublicModel.d.ts +55 -55
  96. package/sdk/public/Billing/BillingPublicModel.js +51 -51
  97. package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +237 -237
  98. package/sdk/public/Configuration/ConfigurationPublicModel.js +174 -174
  99. package/sdk/public/Content/ContentPublicModel.d.ts +26 -26
  100. package/sdk/public/Content/ContentPublicModel.js +28 -28
  101. package/sdk/public/Inventory/InventoryPublicModel.d.ts +237 -237
  102. package/sdk/public/Inventory/InventoryPublicModel.js +257 -257
  103. package/sdk/public/Partner/PartnerPublicModel.d.ts +104 -104
  104. package/sdk/public/Partner/PartnerPublicModel.js +113 -113
  105. package/sdk/public/Webhook/WebhookPublicModel.d.ts +87 -87
  106. package/sdk/public/Webhook/WebhookPublicModel.js +93 -93
@@ -1,52 +1,112 @@
1
1
  const Joi = require("joi");
2
2
 
3
3
  /**
4
- * @typedef Action
5
- * @property {ActionPage} [page]
6
- * @property {ActionPage} [popup]
7
- * @property {string} [type]
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]
8
14
  */
9
15
 
10
16
  /**
11
- * @typedef ActionPage
12
- * @property {Object} [params]
13
- * @property {Object} [query]
14
- * @property {PageType} type
15
- * @property {string} [url]
17
+ * @typedef ApplicationLegalFAQ
18
+ * @property {string} [question]
19
+ * @property {string} [answer]
16
20
  */
17
21
 
18
22
  /**
19
- * @typedef AnnouncementSchema
20
- * @property {string} [announcement]
21
- * @property {ScheduleStartSchema} [schedule]
23
+ * @typedef SeoComponent
24
+ * @property {SeoSchema} [seo]
22
25
  */
23
26
 
24
27
  /**
25
- * @typedef AnnouncementsResponseSchema
26
- * @property {Object} [announcements]
27
- * @property {string[]} [refresh_pages] - List of page slugs on which
28
- * announcement should be fetched as soon as they are loaded
29
- * @property {number} [refresh_rate] - Number of seconds after which api should
30
- * hit again to fetch new announcements
28
+ * @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]
36
+ * @property {Detail} [details]
37
+ * @property {string} [created_at]
38
+ * @property {string} [updated_at]
31
39
  */
32
40
 
33
41
  /**
34
- * @typedef ApplicationLegal
42
+ * @typedef CustomMetaTag
43
+ * @property {string} [name]
44
+ * @property {string} [content]
35
45
  * @property {string} [_id]
36
- * @property {string} [application]
46
+ */
47
+
48
+ /**
49
+ * @typedef Detail
50
+ * @property {string} [title]
51
+ * @property {string} [description]
52
+ * @property {string} [image_url]
53
+ */
54
+
55
+ /**
56
+ * @typedef SeoSchemaComponent
57
+ * @property {SEOSchemaMarkupTemplate[]} [items]
58
+ */
59
+
60
+ /**
61
+ * @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]
37
68
  * @property {string} [created_at]
38
- * @property {ApplicationLegalFAQ[]} [faq]
39
- * @property {string} [policy]
40
- * @property {string} [returns]
41
- * @property {string} [shipping]
42
- * @property {string} [tnc]
43
69
  * @property {string} [updated_at]
70
+ * @property {string} [application]
44
71
  */
45
72
 
46
73
  /**
47
- * @typedef ApplicationLegalFAQ
48
- * @property {string} [answer]
49
- * @property {string} [question]
74
+ * @typedef ScheduleSchema
75
+ * @property {string} [cron]
76
+ * @property {string} [start]
77
+ * @property {string} [end]
78
+ * @property {number} [duration]
79
+ * @property {NextSchedule[]} [next_schedule]
80
+ */
81
+
82
+ /**
83
+ * @typedef NextSchedule
84
+ * @property {string} [start]
85
+ * @property {string} [end]
86
+ */
87
+
88
+ /**
89
+ * @typedef AnnouncementSchema
90
+ * @property {string} [announcement]
91
+ * @property {ScheduleStartSchema} [schedule]
92
+ */
93
+
94
+ /**
95
+ * @typedef ScheduleStartSchema
96
+ * @property {string} [start]
97
+ * @property {string} [end]
98
+ */
99
+
100
+ /**
101
+ * @typedef BlogGetResponse
102
+ * @property {BlogSchema[]} [items]
103
+ * @property {Page} [page]
104
+ */
105
+
106
+ /**
107
+ * @typedef ResourceContent
108
+ * @property {string} [type]
109
+ * @property {string} [value]
50
110
  */
51
111
 
52
112
  /**
@@ -63,183 +123,160 @@ const Joi = require("joi");
63
123
  * @property {string} [name]
64
124
  */
65
125
 
66
- /**
67
- * @typedef BlogGetResponse
68
- * @property {BlogSchema[]} [items]
69
- * @property {Page} [page]
70
- */
71
-
72
126
  /**
73
127
  * @typedef BlogSchema
74
- * @property {Object} [_custom_json]
75
128
  * @property {string} [_id]
76
- * @property {CronSchedule} [_schedule]
129
+ * @property {Object} [_custom_json]
77
130
  * @property {string} [application]
78
131
  * @property {boolean} [archived]
79
132
  * @property {Author} [author]
80
133
  * @property {ResourceContent[]} [content]
81
- * @property {DateMeta} [date_meta]
82
134
  * @property {Asset} [feature_image]
83
135
  * @property {boolean} [published]
84
136
  * @property {string} [reading_time]
85
- * @property {SEO} [seo]
86
137
  * @property {string} [slug]
87
138
  * @property {string[]} [tags]
139
+ * @property {SEO} [seo]
140
+ * @property {CronSchedule} [_schedule]
88
141
  * @property {string} [title]
142
+ * @property {DateMeta} [date_meta]
89
143
  */
90
144
 
91
145
  /**
92
- * @typedef CategorySchema
93
- * @property {Object} [_custom_json]
94
- * @property {string} [_id]
95
- * @property {string} [application]
96
- * @property {string[]} [children]
146
+ * @typedef SEO
97
147
  * @property {string} [description]
98
- * @property {string} [icon_url]
99
- * @property {number} [index]
100
- * @property {string} [slug]
148
+ * @property {SEOImage} [image]
101
149
  * @property {string} [title]
150
+ * @property {SEOMetaItem[]} [meta_tags]
151
+ * @property {SEOSitemap} [sitemap]
152
+ * @property {SEObreadcrumb[]} [breadcrumb]
153
+ * @property {string} [canonical_url]
102
154
  */
103
155
 
104
156
  /**
105
- * @typedef ChildrenSchema
106
- * @property {string} [_id]
107
- * @property {string} [answer]
108
- * @property {string} [application]
109
- * @property {string} [question]
110
- * @property {string} [slug]
157
+ * @typedef SEOImage
158
+ * @property {string} [url]
111
159
  */
112
160
 
113
161
  /**
114
- * @typedef CommonError
115
- * @property {string} [message]
162
+ * @typedef SEOMetaItem
163
+ * @property {string} [title]
164
+ * @property {SEOMetaItems[]} [items]
116
165
  */
117
166
 
118
167
  /**
119
- * @typedef ConfigurationSchema
120
- * @property {number} [duration]
121
- * @property {number} [sleep_time]
122
- * @property {string} [slide_direction]
123
- * @property {boolean} [start_on_launch]
168
+ * @typedef SEOMetaItems
169
+ * @property {string} [key]
170
+ * @property {string} [value]
124
171
  */
125
172
 
126
173
  /**
127
- * @typedef ContactSchema
128
- * @property {EmailSchema} [email]
129
- * @property {PhoneSchema} [phone]
174
+ * @typedef SEOSitemap
175
+ * @property {number} [priority]
176
+ * @property {string} [frequency]
130
177
  */
131
178
 
132
179
  /**
133
- * @typedef ContentAPIError
134
- * @property {string} [code]
135
- * @property {string} [exception]
136
- * @property {string} [info]
137
- * @property {string} [message]
138
- * @property {Object} [meta]
139
- * @property {string} [request_id]
140
- * @property {string} [stack_trace]
141
- * @property {number} [status]
180
+ * @typedef SEObreadcrumb
181
+ * @property {string} [url]
182
+ * @property {Action} [action]
142
183
  */
143
184
 
144
185
  /**
145
- * @typedef CreatedBySchema
146
- * @property {string} [id]
186
+ * @typedef DateMeta
187
+ * @property {string} [created_on]
188
+ * @property {string} [modified_on]
147
189
  */
148
190
 
149
191
  /**
150
- * @typedef CronSchedule
151
- * @property {string} [cron]
152
- * @property {number} [duration]
153
- * @property {string} [end]
154
- * @property {string} [start]
192
+ * @typedef LocaleLanguage
193
+ * @property {Language} [hi]
194
+ * @property {Language} [ar]
195
+ * @property {Language} [en_us]
155
196
  */
156
197
 
157
198
  /**
158
- * @typedef CustomFieldSchema
159
- * @property {string} [_id]
160
- * @property {string} [application_id]
161
- * @property {string} [company_id]
162
- * @property {string} [created_at]
163
- * @property {string} [created_by]
164
- * @property {string} [creator]
165
- * @property {string} [definition_id]
166
- * @property {boolean} [has_invalid_values]
167
- * @property {Object[]} [invalid_value_errors]
168
- * @property {boolean} [is_deleted]
169
- * @property {string} [key]
170
- * @property {boolean} [multi_value]
171
- * @property {string} [namespace]
172
- * @property {string} [resource]
173
- * @property {string} [resource_id]
199
+ * @typedef Language
200
+ * @property {string} [display]
201
+ */
202
+
203
+ /**
204
+ * @typedef Action
205
+ * @property {ActionPage} [page]
206
+ * @property {ActionPage} [popup]
174
207
  * @property {string} [type]
175
- * @property {string} [updated_at]
176
- * @property {CustomFieldValue[]} [value]
177
208
  */
178
209
 
179
210
  /**
180
- * @typedef CustomFieldsResponseByResourceIdSchema
181
- * @property {CustomFieldSchema[]} [items]
211
+ * @typedef ActionPage
212
+ * @property {Object} [params]
213
+ * @property {Object} [query]
214
+ * @property {string} [url]
215
+ * @property {PageType} type
182
216
  */
183
217
 
184
218
  /**
185
- * @typedef CustomFieldValue
186
- * @property {Object} [value]
219
+ * @typedef NavigationReference
220
+ * @property {string[]} [acl]
221
+ * @property {string[]} [tags]
222
+ * @property {LocaleLanguage} [_locale_language]
223
+ * @property {string} [image]
224
+ * @property {string} [type]
225
+ * @property {Action} [action]
226
+ * @property {boolean} [active]
227
+ * @property {string} [display]
228
+ * @property {number} [sort_order]
229
+ * @property {NavigationReference[]} [sub_navigation]
187
230
  */
188
231
 
189
232
  /**
190
- * @typedef CustomMetaTag
191
- * @property {string} [_id]
192
- * @property {string} [content]
193
- * @property {string} [name]
233
+ * @typedef ConfigurationSchema
234
+ * @property {number} [sleep_time]
235
+ * @property {boolean} [start_on_launch]
236
+ * @property {number} [duration]
237
+ * @property {string} [slide_direction]
194
238
  */
195
239
 
196
240
  /**
197
- * @typedef CustomObjectByIdSchema
198
- * @property {string} [_id]
199
- * @property {CustomObjectListItemDefinationSchema} [definition]
200
- * @property {string} [display_name]
201
- * @property {CustomObjectFieldSchema[]} [fields]
202
- * @property {Object[]} [references]
203
- * @property {string} [status]
204
- */
205
-
206
- /**
207
- * @typedef CustomObjectFieldSchema
208
- * @property {string} [_id]
209
- * @property {string} [definition_id]
210
- * @property {string} [key]
241
+ * @typedef SlideshowMedia
211
242
  * @property {string} [type]
212
- * @property {CustomObjectFieldValue[]} [value]
243
+ * @property {string} [url]
244
+ * @property {string} [bg_color]
245
+ * @property {number} [duration]
246
+ * @property {boolean} [auto_decide_duration]
247
+ * @property {Action} [action]
213
248
  */
214
249
 
215
250
  /**
216
- * @typedef CustomObjectFieldValue
217
- * @property {Object} [value]
251
+ * @typedef AnnouncementsResponseSchema
252
+ * @property {Object} [announcements]
253
+ * @property {number} [refresh_rate] - Number of seconds after which api should
254
+ * hit again to fetch new announcements
255
+ * @property {string[]} [refresh_pages] - List of page slugs on which
256
+ * announcement should be fetched as soon as they are loaded
218
257
  */
219
258
 
220
259
  /**
221
- * @typedef CustomObjectListItemDefinationSchema
222
- * @property {string} [_id]
223
- * @property {string} [name]
224
- * @property {string} [type]
260
+ * @typedef FaqResponseSchema
261
+ * @property {FaqSchema[]} [faqs]
225
262
  */
226
263
 
227
264
  /**
228
265
  * @typedef DataLoaderSchema
229
- * @property {DataLoaderSourceSchema} [__source]
230
- * @property {string} [_id]
231
- * @property {string} [content]
232
266
  * @property {string} [name]
233
- * @property {string} [operation_id]
234
267
  * @property {string} [service]
268
+ * @property {string} [operation_id]
235
269
  * @property {string} [type]
236
270
  * @property {string} [url]
271
+ * @property {string} [content]
272
+ * @property {DataLoaderSourceSchema} [__source]
273
+ * @property {string} [_id]
237
274
  */
238
275
 
239
276
  /**
240
277
  * @typedef DataLoaderSourceSchema
241
- * @property {string} [id]
242
278
  * @property {string} [type]
279
+ * @property {string} [id]
243
280
  */
244
281
 
245
282
  /**
@@ -248,58 +285,72 @@ const Joi = require("joi");
248
285
  */
249
286
 
250
287
  /**
251
- * @typedef DateMeta
252
- * @property {string} [created_on]
253
- * @property {string} [modified_on]
288
+ * @typedef ContentAPIError
289
+ * @property {string} [message]
290
+ * @property {number} [status]
291
+ * @property {string} [code]
292
+ * @property {string} [exception]
293
+ * @property {string} [info]
294
+ * @property {string} [request_id]
295
+ * @property {string} [stack_trace]
296
+ * @property {Object} [meta]
254
297
  */
255
298
 
256
299
  /**
257
- * @typedef Detail
258
- * @property {string} [description]
259
- * @property {string} [image_url]
260
- * @property {string} [title]
300
+ * @typedef CommonError
301
+ * @property {string} [message]
261
302
  */
262
303
 
263
304
  /**
264
- * @typedef EmailProperties
265
- * @property {string} [key]
266
- * @property {string} [value]
305
+ * @typedef CategorySchema
306
+ * @property {number} [index]
307
+ * @property {string} [title]
308
+ * @property {string} [description]
309
+ * @property {string[]} [children]
310
+ * @property {string} [_id]
311
+ * @property {string} [slug]
312
+ * @property {string} [application]
313
+ * @property {string} [icon_url]
314
+ * @property {Object} [_custom_json]
267
315
  */
268
316
 
269
317
  /**
270
- * @typedef EmailSchema
271
- * @property {boolean} [active]
272
- * @property {EmailProperties[]} [email]
318
+ * @typedef ChildrenSchema
319
+ * @property {string} [question]
320
+ * @property {string} [answer]
321
+ * @property {string} [slug]
322
+ * @property {string} [application]
323
+ * @property {string} [_id]
273
324
  */
274
325
 
275
326
  /**
276
327
  * @typedef FAQCategorySchema
277
- * @property {Object} [_custom_json]
328
+ * @property {number} [index]
329
+ * @property {string} [title]
330
+ * @property {string} [description]
331
+ * @property {ChildrenSchema[]} [children]
278
332
  * @property {string} [_id]
333
+ * @property {string} [slug]
279
334
  * @property {string} [application]
280
- * @property {ChildrenSchema[]} [children]
281
- * @property {string} [description]
282
335
  * @property {string} [icon_url]
283
- * @property {number} [index]
284
- * @property {string} [slug]
285
- * @property {string} [title]
286
- */
287
-
288
- /**
289
- * @typedef FaqResponseSchema
290
- * @property {FaqSchema[]} [faqs]
336
+ * @property {Object} [_custom_json]
291
337
  */
292
338
 
293
339
  /**
294
340
  * @typedef FaqSchema
295
- * @property {string} [_id]
296
- * @property {string} [answer]
341
+ * @property {string} [slug]
297
342
  * @property {string} [application]
343
+ * @property {string} [_id]
298
344
  * @property {string} [question]
299
- * @property {string} [slug]
345
+ * @property {string} [answer]
300
346
  * @property {string[]} [tags]
301
347
  */
302
348
 
349
+ /**
350
+ * @typedef GetFaqSchema
351
+ * @property {FaqSchema[]} [faqs]
352
+ */
353
+
303
354
  /**
304
355
  * @typedef GetFaqCategoriesSchema
305
356
  * @property {CategorySchema[]} [categories]
@@ -311,33 +362,27 @@ const Joi = require("joi");
311
362
  */
312
363
 
313
364
  /**
314
- * @typedef GetFaqSchema
315
- * @property {FaqSchema[]} [faqs]
365
+ * @typedef Page
366
+ * @property {number} [item_total]
367
+ * @property {string} [next_id]
368
+ * @property {boolean} [has_previous]
369
+ * @property {boolean} [has_next]
370
+ * @property {number} [current]
371
+ * @property {string} type
372
+ * @property {number} [size]
316
373
  */
317
374
 
318
375
  /**
319
376
  * @typedef LandingPageSchema
320
- * @property {Object} [_custom_json]
321
- * @property {string} [_id]
377
+ * @property {string} [slug]
322
378
  * @property {Action} [action]
323
- * @property {string} [application]
324
- * @property {boolean} [archived]
379
+ * @property {string[]} [platform]
325
380
  * @property {CreatedBySchema} [created_by]
326
381
  * @property {DateMeta} [date_meta]
327
- * @property {string[]} [platform]
328
- * @property {string} [slug]
329
- */
330
-
331
- /**
332
- * @typedef Language
333
- * @property {string} [display]
334
- */
335
-
336
- /**
337
- * @typedef LocaleLanguage
338
- * @property {Language} [ar]
339
- * @property {Language} [en_us]
340
- * @property {Language} [hi]
382
+ * @property {string} [_id]
383
+ * @property {string} [application]
384
+ * @property {boolean} [archived]
385
+ * @property {Object} [_custom_json]
341
386
  */
342
387
 
343
388
  /**
@@ -347,17 +392,9 @@ const Joi = require("joi");
347
392
  */
348
393
 
349
394
  /**
350
- * @typedef NavigationReference
351
- * @property {LocaleLanguage} [_locale_language]
352
- * @property {string[]} [acl]
353
- * @property {Action} [action]
354
- * @property {boolean} [active]
355
- * @property {string} [display]
356
- * @property {string} [image]
357
- * @property {number} [sort_order]
358
- * @property {NavigationReference[]} [sub_navigation]
359
- * @property {string[]} [tags]
360
- * @property {string} [type]
395
+ * @typedef Orientation
396
+ * @property {string[]} [portrait]
397
+ * @property {string[]} [landscape]
361
398
  */
362
399
 
363
400
  /**
@@ -365,37 +402,14 @@ const Joi = require("joi");
365
402
  * @property {string} [_id]
366
403
  * @property {string} [application]
367
404
  * @property {boolean} [archived]
405
+ * @property {string} [name]
406
+ * @property {string} [slug]
407
+ * @property {string[]} [platform]
368
408
  * @property {CreatedBySchema} [created_by]
369
409
  * @property {DateMeta} [date_meta]
370
- * @property {string} [name]
371
- * @property {NavigationReference[]} [navigation]
372
410
  * @property {Orientation} [orientation]
373
- * @property {string[]} [platform]
374
- * @property {string} [slug]
375
411
  * @property {number} [version]
376
- */
377
-
378
- /**
379
- * @typedef NextSchedule
380
- * @property {string} [end]
381
- * @property {string} [start]
382
- */
383
-
384
- /**
385
- * @typedef Orientation
386
- * @property {string[]} [landscape]
387
- * @property {string[]} [portrait]
388
- */
389
-
390
- /**
391
- * @typedef Page
392
- * @property {number} [current]
393
- * @property {boolean} [has_next]
394
- * @property {boolean} [has_previous]
395
- * @property {number} [item_total]
396
- * @property {string} [next_id]
397
- * @property {number} [size]
398
- * @property {string} type
412
+ * @property {NavigationReference[]} [navigation]
399
413
  */
400
414
 
401
415
  /**
@@ -406,11 +420,8 @@ const Joi = require("joi");
406
420
 
407
421
  /**
408
422
  * @typedef PageSchema
409
- * @property {Object} [_custom_json]
410
423
  * @property {string} [_id]
411
- * @property {ScheduleSchema} [_schedule]
412
424
  * @property {string} [application]
413
- * @property {boolean} [archived]
414
425
  * @property {string[]} [component_ids] - Components can be used to store
415
426
  * multiple components
416
427
  * @property {Object[]} [content]
@@ -419,22 +430,69 @@ const Joi = require("joi");
419
430
  * @property {DateMeta} [date_meta]
420
431
  * @property {string} [description]
421
432
  * @property {Asset} [feature_image]
422
- * @property {string} [orientation]
423
433
  * @property {Object[]} [page_meta]
434
+ * @property {ScheduleSchema} [_schedule]
435
+ * @property {Object} [_custom_json]
436
+ * @property {string} [orientation]
424
437
  * @property {string} [platform]
425
438
  * @property {boolean} [published]
426
- * @property {SEO} [seo]
427
439
  * @property {string} [slug]
428
440
  * @property {string[]} [tags]
429
441
  * @property {string} [title]
430
442
  * @property {string} [type]
443
+ * @property {SEO} [seo]
431
444
  * @property {Object} [visibility]
445
+ * @property {boolean} [archived]
446
+ */
447
+
448
+ /**
449
+ * @typedef CreatedBySchema
450
+ * @property {string} [id]
451
+ */
452
+
453
+ /**
454
+ * @typedef CronSchedule
455
+ * @property {string} [cron]
456
+ * @property {string} [start]
457
+ * @property {string} [end]
458
+ * @property {number} [duration]
459
+ */
460
+
461
+ /**
462
+ * @typedef SlideshowGetResponse
463
+ * @property {SlideshowSchema[]} [items]
464
+ * @property {Page} [page]
465
+ */
466
+
467
+ /**
468
+ * @typedef SlideshowSchema
469
+ * @property {string} [_id]
470
+ * @property {string} [slug]
471
+ * @property {DateMeta} [date_meta]
472
+ * @property {string} [application]
473
+ * @property {string} [platform]
474
+ * @property {ConfigurationSchema} [configuration]
475
+ * @property {SlideshowMedia[]} [media]
476
+ * @property {boolean} [active]
477
+ * @property {boolean} [archived]
478
+ * @property {Object} [_custom_json]
479
+ */
480
+
481
+ /**
482
+ * @typedef Support
483
+ * @property {boolean} [created]
484
+ * @property {string} [_id]
485
+ * @property {string} [config_type]
486
+ * @property {string} [application]
487
+ * @property {string} [created_at]
488
+ * @property {string} [updated_at]
489
+ * @property {ContactSchema} [contact]
432
490
  */
433
491
 
434
492
  /**
435
493
  * @typedef PhoneProperties
436
- * @property {string} [code]
437
494
  * @property {string} [key]
495
+ * @property {string} [code]
438
496
  * @property {string} [number]
439
497
  */
440
498
 
@@ -445,169 +503,111 @@ const Joi = require("joi");
445
503
  */
446
504
 
447
505
  /**
448
- * @typedef ResourceContent
449
- * @property {string} [type]
506
+ * @typedef EmailProperties
507
+ * @property {string} [key]
450
508
  * @property {string} [value]
451
509
  */
452
510
 
453
511
  /**
454
- * @typedef ScheduleSchema
455
- * @property {string} [cron]
456
- * @property {number} [duration]
457
- * @property {string} [end]
458
- * @property {NextSchedule[]} [next_schedule]
459
- * @property {string} [start]
460
- */
461
-
462
- /**
463
- * @typedef ScheduleStartSchema
464
- * @property {string} [end]
465
- * @property {string} [start]
466
- */
467
-
468
- /**
469
- * @typedef SEO
470
- * @property {SEObreadcrumb[]} [breadcrumb]
471
- * @property {string} [canonical_url]
472
- * @property {string} [description]
473
- * @property {SEOImage} [image]
474
- * @property {SEOMetaItem[]} [meta_tags]
475
- * @property {SEOSitemap} [sitemap]
476
- * @property {string} [title]
512
+ * @typedef EmailSchema
513
+ * @property {boolean} [active]
514
+ * @property {EmailProperties[]} [email]
477
515
  */
478
516
 
479
517
  /**
480
- * @typedef SEObreadcrumb
481
- * @property {Action} [action]
482
- * @property {string} [url]
518
+ * @typedef ContactSchema
519
+ * @property {PhoneSchema} [phone]
520
+ * @property {EmailSchema} [email]
483
521
  */
484
522
 
485
523
  /**
486
- * @typedef SeoComponent
487
- * @property {SeoSchema} [seo]
524
+ * @typedef TagsSchema
525
+ * @property {string} [application]
526
+ * @property {string} [_id]
527
+ * @property {TagSchema[]} [tags]
488
528
  */
489
529
 
490
530
  /**
491
- * @typedef SEOImage
531
+ * @typedef TagSchema
532
+ * @property {string} [name]
492
533
  * @property {string} [url]
493
- */
494
-
495
- /**
496
- * @typedef SEOMetaItem
497
- * @property {SEOMetaItems[]} [items]
498
- * @property {string} [title]
499
- */
500
-
501
- /**
502
- * @typedef SEOMetaItems
503
- * @property {string} [key]
504
- * @property {string} [value]
505
- */
506
-
507
- /**
508
- * @typedef SeoSchema
534
+ * @property {string} [type]
535
+ * @property {string} [sub_type]
509
536
  * @property {string} [_id]
510
- * @property {string} [additonal_sitemap]
511
- * @property {string} [app]
512
- * @property {boolean} [cannonical_enabled]
513
- * @property {string} [created_at]
514
- * @property {CustomMetaTag[]} [custom_meta_tags]
515
- * @property {Detail} [details]
516
- * @property {string} [robots_txt]
517
- * @property {boolean} [sitemap_enabled]
518
- * @property {string} [updated_at]
519
- */
520
-
521
- /**
522
- * @typedef SeoSchemaComponent
523
- * @property {SEOSchemaMarkupTemplate[]} [items]
537
+ * @property {string} [position]
538
+ * @property {Object} [attributes]
539
+ * @property {string} [content]
540
+ * @property {Object[]} [pages]
541
+ * @property {TagSourceSchema} [__source]
524
542
  */
525
543
 
526
544
  /**
527
- * @typedef SEOSchemaMarkupTemplate
528
- * @property {boolean} [active]
529
- * @property {string} [application]
530
- * @property {string} [created_at]
531
- * @property {string} [description]
545
+ * @typedef TagSourceSchema
546
+ * @property {string} [type]
532
547
  * @property {string} [id]
533
- * @property {string} [page_type]
534
- * @property {string} [schema]
535
- * @property {string} [title]
536
- * @property {string} [updated_at]
537
- */
538
-
539
- /**
540
- * @typedef SEOSitemap
541
- * @property {string} [frequency]
542
- * @property {number} [priority]
543
548
  */
544
549
 
545
550
  /**
546
- * @typedef SlideshowGetResponse
547
- * @property {SlideshowSchema[]} [items]
548
- * @property {Page} [page]
551
+ * @typedef CustomObjectFieldValue
552
+ * @property {Object} [value]
549
553
  */
550
554
 
551
555
  /**
552
- * @typedef SlideshowMedia
553
- * @property {Action} [action]
554
- * @property {boolean} [auto_decide_duration]
555
- * @property {string} [bg_color]
556
- * @property {number} [duration]
556
+ * @typedef CustomObjectListItemDefinationSchema
557
+ * @property {string} [_id]
558
+ * @property {string} [name]
557
559
  * @property {string} [type]
558
- * @property {string} [url]
559
560
  */
560
561
 
561
562
  /**
562
- * @typedef SlideshowSchema
563
- * @property {Object} [_custom_json]
563
+ * @typedef CustomObjectFieldSchema
564
564
  * @property {string} [_id]
565
- * @property {boolean} [active]
566
- * @property {string} [application]
567
- * @property {boolean} [archived]
568
- * @property {ConfigurationSchema} [configuration]
569
- * @property {DateMeta} [date_meta]
570
- * @property {SlideshowMedia[]} [media]
571
- * @property {string} [platform]
572
- * @property {string} [slug]
565
+ * @property {string} [key]
566
+ * @property {CustomObjectFieldValue[]} [value]
567
+ * @property {string} [type]
568
+ * @property {string} [definition_id]
573
569
  */
574
570
 
575
571
  /**
576
- * @typedef Support
572
+ * @typedef CustomObjectByIdSchema
577
573
  * @property {string} [_id]
578
- * @property {string} [application]
579
- * @property {string} [config_type]
580
- * @property {ContactSchema} [contact]
581
- * @property {boolean} [created]
582
- * @property {string} [created_at]
583
- * @property {string} [updated_at]
574
+ * @property {string} [status]
575
+ * @property {string} [display_name]
576
+ * @property {CustomObjectListItemDefinationSchema} [definition]
577
+ * @property {Object[]} [references]
578
+ * @property {CustomObjectFieldSchema[]} [fields]
584
579
  */
585
580
 
586
581
  /**
587
- * @typedef TagSchema
588
- * @property {TagSourceSchema} [__source]
589
- * @property {string} [_id]
590
- * @property {Object} [attributes]
591
- * @property {string} [content]
592
- * @property {string} [name]
593
- * @property {Object[]} [pages]
594
- * @property {string} [position]
595
- * @property {string} [sub_type]
596
- * @property {string} [type]
597
- * @property {string} [url]
582
+ * @typedef CustomFieldValue
583
+ * @property {Object} [value]
598
584
  */
599
585
 
600
586
  /**
601
- * @typedef TagSourceSchema
602
- * @property {string} [id]
587
+ * @typedef CustomFieldSchema
588
+ * @property {string} [_id]
589
+ * @property {string} [namespace]
590
+ * @property {string} [key]
591
+ * @property {string} [resource]
592
+ * @property {string} [creator]
593
+ * @property {CustomFieldValue[]} [value]
594
+ * @property {string} [resource_id]
603
595
  * @property {string} [type]
596
+ * @property {boolean} [multi_value]
597
+ * @property {string} [company_id]
598
+ * @property {string} [application_id]
599
+ * @property {string} [definition_id]
600
+ * @property {boolean} [has_invalid_values]
601
+ * @property {Object[]} [invalid_value_errors]
602
+ * @property {string} [created_by]
603
+ * @property {boolean} [is_deleted]
604
+ * @property {string} [created_at]
605
+ * @property {string} [updated_at]
604
606
  */
605
607
 
606
608
  /**
607
- * @typedef TagsSchema
608
- * @property {string} [_id]
609
- * @property {string} [application]
610
- * @property {TagSchema[]} [tags]
609
+ * @typedef CustomFieldsResponseByResourceIdSchema
610
+ * @property {CustomFieldSchema[]} [items]
611
611
  */
612
612
 
613
613
  /**
@@ -660,89 +660,128 @@ const Joi = require("joi");
660
660
  */
661
661
 
662
662
  class ContentApplicationModel {
663
- /** @returns {Action} */
664
- static Action() {
663
+ /** @returns {ApplicationLegal} */
664
+ static ApplicationLegal() {
665
665
  return Joi.object({
666
- page: ContentApplicationModel.ActionPage(),
667
- popup: ContentApplicationModel.ActionPage(),
668
- type: Joi.string().allow(""),
666
+ application: Joi.string().allow(""),
667
+ tnc: Joi.string().allow(""),
668
+ policy: Joi.string().allow(""),
669
+ shipping: Joi.string().allow(""),
670
+ returns: Joi.string().allow(""),
671
+ faq: Joi.array().items(ContentApplicationModel.ApplicationLegalFAQ()),
672
+ _id: Joi.string().allow(""),
673
+ updated_at: Joi.string().allow(""),
674
+ created_at: Joi.string().allow(""),
669
675
  });
670
676
  }
671
677
 
672
- /** @returns {ActionPage} */
673
- static ActionPage() {
678
+ /** @returns {ApplicationLegalFAQ} */
679
+ static ApplicationLegalFAQ() {
674
680
  return Joi.object({
675
- params: Joi.object().pattern(
676
- /\S/,
677
- Joi.array().items(Joi.string().allow(""))
678
- ),
679
- query: Joi.object().pattern(
680
- /\S/,
681
- Joi.array().items(Joi.string().allow(""))
682
- ),
683
- type: ContentApplicationModel.PageType().required(),
684
- url: Joi.string().allow(""),
681
+ question: Joi.string().allow(""),
682
+ answer: Joi.string().allow(""),
685
683
  });
686
684
  }
687
685
 
688
- /** @returns {AnnouncementSchema} */
689
- static AnnouncementSchema() {
686
+ /** @returns {SeoComponent} */
687
+ static SeoComponent() {
690
688
  return Joi.object({
691
- announcement: Joi.string().allow(""),
692
- schedule: ContentApplicationModel.ScheduleStartSchema(),
689
+ seo: ContentApplicationModel.SeoSchema(),
693
690
  });
694
691
  }
695
692
 
696
- /** @returns {AnnouncementsResponseSchema} */
697
- static AnnouncementsResponseSchema() {
693
+ /** @returns {SeoSchema} */
694
+ static SeoSchema() {
698
695
  return Joi.object({
699
- announcements: Joi.object().pattern(
700
- /\S/,
701
- Joi.array().items(ContentApplicationModel.AnnouncementSchema())
696
+ app: Joi.string().allow(""),
697
+ _id: Joi.string().allow(""),
698
+ robots_txt: Joi.string().allow(""),
699
+ sitemap_enabled: Joi.boolean(),
700
+ additonal_sitemap: Joi.string().allow(""),
701
+ cannonical_enabled: Joi.boolean(),
702
+ custom_meta_tags: Joi.array().items(
703
+ ContentApplicationModel.CustomMetaTag()
702
704
  ),
703
- refresh_pages: Joi.array().items(Joi.string().allow("")),
704
- refresh_rate: Joi.number(),
705
+ details: ContentApplicationModel.Detail(),
706
+ created_at: Joi.string().allow(""),
707
+ updated_at: Joi.string().allow(""),
705
708
  });
706
709
  }
707
710
 
708
- /** @returns {ApplicationLegal} */
709
- static ApplicationLegal() {
711
+ /** @returns {CustomMetaTag} */
712
+ static CustomMetaTag() {
710
713
  return Joi.object({
714
+ name: Joi.string().allow(""),
715
+ content: Joi.string().allow(""),
711
716
  _id: Joi.string().allow(""),
712
- application: Joi.string().allow(""),
713
- created_at: Joi.string().allow(""),
714
- faq: Joi.array().items(ContentApplicationModel.ApplicationLegalFAQ()),
715
- policy: Joi.string().allow(""),
716
- returns: Joi.string().allow(""),
717
- shipping: Joi.string().allow(""),
718
- tnc: Joi.string().allow(""),
719
- updated_at: Joi.string().allow(""),
720
717
  });
721
718
  }
722
719
 
723
- /** @returns {ApplicationLegalFAQ} */
724
- static ApplicationLegalFAQ() {
720
+ /** @returns {Detail} */
721
+ static Detail() {
725
722
  return Joi.object({
726
- answer: Joi.string().allow(""),
727
- question: Joi.string().allow(""),
723
+ title: Joi.string().allow(""),
724
+ description: Joi.string().allow(""),
725
+ image_url: Joi.string().allow(""),
728
726
  });
729
727
  }
730
728
 
731
- /** @returns {Asset} */
732
- static Asset() {
729
+ /** @returns {SeoSchemaComponent} */
730
+ static SeoSchemaComponent() {
733
731
  return Joi.object({
734
- aspect_ratio: Joi.string().allow(""),
735
- id: Joi.string().allow(""),
736
- secure_url: Joi.string().allow(""),
732
+ items: Joi.array().items(
733
+ ContentApplicationModel.SEOSchemaMarkupTemplate()
734
+ ),
737
735
  });
738
736
  }
739
737
 
740
- /** @returns {Author} */
741
- static Author() {
738
+ /** @returns {SEOSchemaMarkupTemplate} */
739
+ static SEOSchemaMarkupTemplate() {
742
740
  return Joi.object({
743
- designation: Joi.string().allow(""),
744
741
  id: Joi.string().allow(""),
745
- name: Joi.string().allow(""),
742
+ title: Joi.string().allow(""),
743
+ page_type: Joi.string().allow(""),
744
+ description: Joi.string().allow(""),
745
+ schema: Joi.string().allow(""),
746
+ active: Joi.boolean(),
747
+ created_at: Joi.string().allow(""),
748
+ updated_at: Joi.string().allow(""),
749
+ application: Joi.string().allow(""),
750
+ });
751
+ }
752
+
753
+ /** @returns {ScheduleSchema} */
754
+ static ScheduleSchema() {
755
+ return Joi.object({
756
+ cron: Joi.string().allow(""),
757
+ start: Joi.string().allow(""),
758
+ end: Joi.string().allow(""),
759
+ duration: Joi.number(),
760
+ next_schedule: Joi.array().items(ContentApplicationModel.NextSchedule()),
761
+ });
762
+ }
763
+
764
+ /** @returns {NextSchedule} */
765
+ static NextSchedule() {
766
+ return Joi.object({
767
+ start: Joi.string().allow(""),
768
+ end: Joi.string().allow(""),
769
+ });
770
+ }
771
+
772
+ /** @returns {AnnouncementSchema} */
773
+ static AnnouncementSchema() {
774
+ return Joi.object({
775
+ announcement: Joi.string().allow(""),
776
+ schedule: ContentApplicationModel.ScheduleStartSchema(),
777
+ });
778
+ }
779
+
780
+ /** @returns {ScheduleStartSchema} */
781
+ static ScheduleStartSchema() {
782
+ return Joi.object({
783
+ start: Joi.string().allow(""),
784
+ end: Joi.string().allow(""),
746
785
  });
747
786
  }
748
787
 
@@ -754,218 +793,230 @@ class ContentApplicationModel {
754
793
  });
755
794
  }
756
795
 
796
+ /** @returns {ResourceContent} */
797
+ static ResourceContent() {
798
+ return Joi.object({
799
+ type: Joi.string().allow(""),
800
+ value: Joi.string().allow(""),
801
+ });
802
+ }
803
+
804
+ /** @returns {Asset} */
805
+ static Asset() {
806
+ return Joi.object({
807
+ aspect_ratio: Joi.string().allow(""),
808
+ id: Joi.string().allow(""),
809
+ secure_url: Joi.string().allow(""),
810
+ });
811
+ }
812
+
813
+ /** @returns {Author} */
814
+ static Author() {
815
+ return Joi.object({
816
+ designation: Joi.string().allow(""),
817
+ id: Joi.string().allow(""),
818
+ name: Joi.string().allow(""),
819
+ });
820
+ }
821
+
757
822
  /** @returns {BlogSchema} */
758
823
  static BlogSchema() {
759
824
  return Joi.object({
760
- _custom_json: Joi.any(),
761
825
  _id: Joi.string().allow(""),
762
- _schedule: ContentApplicationModel.CronSchedule(),
826
+ _custom_json: Joi.any(),
763
827
  application: Joi.string().allow(""),
764
828
  archived: Joi.boolean(),
765
829
  author: ContentApplicationModel.Author(),
766
830
  content: Joi.array().items(ContentApplicationModel.ResourceContent()),
767
- date_meta: ContentApplicationModel.DateMeta(),
768
831
  feature_image: ContentApplicationModel.Asset(),
769
832
  published: Joi.boolean(),
770
833
  reading_time: Joi.string().allow(""),
771
- seo: ContentApplicationModel.SEO(),
772
834
  slug: Joi.string().allow(""),
773
835
  tags: Joi.array().items(Joi.string().allow("")),
836
+ seo: ContentApplicationModel.SEO(),
837
+ _schedule: ContentApplicationModel.CronSchedule(),
774
838
  title: Joi.string().allow(""),
839
+ date_meta: ContentApplicationModel.DateMeta(),
775
840
  });
776
841
  }
777
842
 
778
- /** @returns {CategorySchema} */
779
- static CategorySchema() {
843
+ /** @returns {SEO} */
844
+ static SEO() {
780
845
  return Joi.object({
781
- _custom_json: Joi.any(),
782
- _id: Joi.string().allow(""),
783
- application: Joi.string().allow(""),
784
- children: Joi.array().items(Joi.string().allow("")),
785
846
  description: Joi.string().allow(""),
786
- icon_url: Joi.string().allow(""),
787
- index: Joi.number(),
788
- slug: Joi.string().allow(""),
847
+ image: ContentApplicationModel.SEOImage(),
789
848
  title: Joi.string().allow(""),
849
+ meta_tags: Joi.array().items(ContentApplicationModel.SEOMetaItem()),
850
+ sitemap: ContentApplicationModel.SEOSitemap(),
851
+ breadcrumb: Joi.array().items(ContentApplicationModel.SEObreadcrumb()),
852
+ canonical_url: Joi.string().allow(""),
790
853
  });
791
854
  }
792
855
 
793
- /** @returns {ChildrenSchema} */
794
- static ChildrenSchema() {
856
+ /** @returns {SEOImage} */
857
+ static SEOImage() {
795
858
  return Joi.object({
796
- _id: Joi.string().allow(""),
797
- answer: Joi.string().allow(""),
798
- application: Joi.string().allow(""),
799
- question: Joi.string().allow(""),
800
- slug: Joi.string().allow(""),
859
+ url: Joi.string().allow(""),
801
860
  });
802
861
  }
803
862
 
804
- /** @returns {CommonError} */
805
- static CommonError() {
863
+ /** @returns {SEOMetaItem} */
864
+ static SEOMetaItem() {
806
865
  return Joi.object({
807
- message: Joi.string().allow(""),
866
+ title: Joi.string().allow(""),
867
+ items: Joi.array().items(ContentApplicationModel.SEOMetaItems()),
808
868
  });
809
869
  }
810
870
 
811
- /** @returns {ConfigurationSchema} */
812
- static ConfigurationSchema() {
871
+ /** @returns {SEOMetaItems} */
872
+ static SEOMetaItems() {
813
873
  return Joi.object({
814
- duration: Joi.number(),
815
- sleep_time: Joi.number(),
816
- slide_direction: Joi.string().allow(""),
817
- start_on_launch: Joi.boolean(),
874
+ key: Joi.string().allow(""),
875
+ value: Joi.string().allow(""),
818
876
  });
819
877
  }
820
878
 
821
- /** @returns {ContactSchema} */
822
- static ContactSchema() {
879
+ /** @returns {SEOSitemap} */
880
+ static SEOSitemap() {
823
881
  return Joi.object({
824
- email: ContentApplicationModel.EmailSchema(),
825
- phone: ContentApplicationModel.PhoneSchema(),
882
+ priority: Joi.number(),
883
+ frequency: Joi.string().allow(""),
826
884
  });
827
885
  }
828
886
 
829
- /** @returns {ContentAPIError} */
830
- static ContentAPIError() {
887
+ /** @returns {SEObreadcrumb} */
888
+ static SEObreadcrumb() {
831
889
  return Joi.object({
832
- code: Joi.string().allow(""),
833
- exception: Joi.string().allow(""),
834
- info: Joi.string().allow(""),
835
- message: Joi.string().allow(""),
836
- meta: Joi.any(),
837
- request_id: Joi.string().allow(""),
838
- stack_trace: Joi.string().allow(""),
839
- status: Joi.number(),
890
+ url: Joi.string().allow(""),
891
+ action: ContentApplicationModel.Action(),
840
892
  });
841
893
  }
842
894
 
843
- /** @returns {CreatedBySchema} */
844
- static CreatedBySchema() {
895
+ /** @returns {DateMeta} */
896
+ static DateMeta() {
845
897
  return Joi.object({
846
- id: Joi.string().allow(""),
898
+ created_on: Joi.string().allow(""),
899
+ modified_on: Joi.string().allow(""),
847
900
  });
848
901
  }
849
902
 
850
- /** @returns {CronSchedule} */
851
- static CronSchedule() {
903
+ /** @returns {LocaleLanguage} */
904
+ static LocaleLanguage() {
852
905
  return Joi.object({
853
- cron: Joi.string().allow(""),
854
- duration: Joi.number(),
855
- end: Joi.string().allow(""),
856
- start: Joi.string().allow(""),
906
+ hi: ContentApplicationModel.Language(),
907
+ ar: ContentApplicationModel.Language(),
908
+ en_us: ContentApplicationModel.Language(),
857
909
  });
858
910
  }
859
911
 
860
- /** @returns {CustomFieldSchema} */
861
- static CustomFieldSchema() {
912
+ /** @returns {Language} */
913
+ static Language() {
862
914
  return Joi.object({
863
- _id: Joi.string().allow(""),
864
- application_id: Joi.string().allow(""),
865
- company_id: Joi.string().allow(""),
866
- created_at: Joi.string().allow(""),
867
- created_by: Joi.string().allow(""),
868
- creator: Joi.string().allow(""),
869
- definition_id: Joi.string().allow(""),
870
- has_invalid_values: Joi.boolean(),
871
- invalid_value_errors: Joi.array().items(Joi.any()),
872
- is_deleted: Joi.boolean(),
873
- key: Joi.string().allow(""),
874
- multi_value: Joi.boolean(),
875
- namespace: Joi.string().allow(""),
876
- resource: Joi.string().allow(""),
877
- resource_id: Joi.string().allow(""),
878
- type: Joi.string().allow(""),
879
- updated_at: Joi.string().allow(""),
880
- value: Joi.array().items(ContentApplicationModel.CustomFieldValue()),
915
+ display: Joi.string().allow(""),
881
916
  });
882
917
  }
883
918
 
884
- /** @returns {CustomFieldsResponseByResourceIdSchema} */
885
- static CustomFieldsResponseByResourceIdSchema() {
919
+ /** @returns {Action} */
920
+ static Action() {
886
921
  return Joi.object({
887
- items: Joi.array().items(ContentApplicationModel.CustomFieldSchema()),
922
+ page: ContentApplicationModel.ActionPage(),
923
+ popup: ContentApplicationModel.ActionPage(),
924
+ type: Joi.string().allow(""),
888
925
  });
889
926
  }
890
927
 
891
- /** @returns {CustomFieldValue} */
892
- static CustomFieldValue() {
928
+ /** @returns {ActionPage} */
929
+ static ActionPage() {
893
930
  return Joi.object({
894
- value: Joi.any(),
931
+ params: Joi.object().pattern(
932
+ /\S/,
933
+ Joi.array().items(Joi.string().allow(""))
934
+ ),
935
+ query: Joi.object().pattern(
936
+ /\S/,
937
+ Joi.array().items(Joi.string().allow(""))
938
+ ),
939
+ url: Joi.string().allow(""),
940
+ type: ContentApplicationModel.PageType().required(),
895
941
  });
896
942
  }
897
943
 
898
- /** @returns {CustomMetaTag} */
899
- static CustomMetaTag() {
944
+ /** @returns {NavigationReference} */
945
+ static NavigationReference() {
900
946
  return Joi.object({
901
- _id: Joi.string().allow(""),
902
- content: Joi.string().allow(""),
903
- name: Joi.string().allow(""),
904
- });
947
+ acl: Joi.array().items(Joi.string().allow("")),
948
+ tags: Joi.array().items(Joi.string().allow("")),
949
+ _locale_language: ContentApplicationModel.LocaleLanguage(),
950
+ image: Joi.string().allow(""),
951
+ type: Joi.string().allow(""),
952
+ action: ContentApplicationModel.Action(),
953
+ active: Joi.boolean(),
954
+ display: Joi.string().allow(""),
955
+ sort_order: Joi.number(),
956
+ sub_navigation: Joi.array().items(Joi.link("#NavigationReference")),
957
+ }).id("NavigationReference");
905
958
  }
906
959
 
907
- /** @returns {CustomObjectByIdSchema} */
908
- static CustomObjectByIdSchema() {
960
+ /** @returns {ConfigurationSchema} */
961
+ static ConfigurationSchema() {
909
962
  return Joi.object({
910
- _id: Joi.string().allow(""),
911
- definition: ContentApplicationModel.CustomObjectListItemDefinationSchema(),
912
- display_name: Joi.string().allow(""),
913
- fields: Joi.array().items(
914
- ContentApplicationModel.CustomObjectFieldSchema()
915
- ),
916
- references: Joi.array().items(Joi.any()),
917
- status: Joi.string().allow(""),
963
+ sleep_time: Joi.number(),
964
+ start_on_launch: Joi.boolean(),
965
+ duration: Joi.number(),
966
+ slide_direction: Joi.string().allow(""),
918
967
  });
919
968
  }
920
969
 
921
- /** @returns {CustomObjectFieldSchema} */
922
- static CustomObjectFieldSchema() {
970
+ /** @returns {SlideshowMedia} */
971
+ static SlideshowMedia() {
923
972
  return Joi.object({
924
- _id: Joi.string().allow(""),
925
- definition_id: Joi.string().allow(""),
926
- key: Joi.string().allow(""),
927
973
  type: Joi.string().allow(""),
928
- value: Joi.array().items(
929
- ContentApplicationModel.CustomObjectFieldValue()
930
- ),
974
+ url: Joi.string().allow(""),
975
+ bg_color: Joi.string().allow(""),
976
+ duration: Joi.number(),
977
+ auto_decide_duration: Joi.boolean(),
978
+ action: ContentApplicationModel.Action(),
931
979
  });
932
980
  }
933
981
 
934
- /** @returns {CustomObjectFieldValue} */
935
- static CustomObjectFieldValue() {
982
+ /** @returns {AnnouncementsResponseSchema} */
983
+ static AnnouncementsResponseSchema() {
936
984
  return Joi.object({
937
- value: Joi.any(),
985
+ announcements: Joi.object().pattern(
986
+ /\S/,
987
+ Joi.array().items(ContentApplicationModel.AnnouncementSchema())
988
+ ),
989
+ refresh_rate: Joi.number(),
990
+ refresh_pages: Joi.array().items(Joi.string().allow("")),
938
991
  });
939
992
  }
940
993
 
941
- /** @returns {CustomObjectListItemDefinationSchema} */
942
- static CustomObjectListItemDefinationSchema() {
994
+ /** @returns {FaqResponseSchema} */
995
+ static FaqResponseSchema() {
943
996
  return Joi.object({
944
- _id: Joi.string().allow(""),
945
- name: Joi.string().allow(""),
946
- type: Joi.string().allow(""),
997
+ faqs: Joi.array().items(ContentApplicationModel.FaqSchema()),
947
998
  });
948
999
  }
949
1000
 
950
1001
  /** @returns {DataLoaderSchema} */
951
1002
  static DataLoaderSchema() {
952
1003
  return Joi.object({
953
- __source: ContentApplicationModel.DataLoaderSourceSchema(),
954
- _id: Joi.string().allow(""),
955
- content: Joi.string().allow(""),
956
1004
  name: Joi.string().allow(""),
957
- operation_id: Joi.string().allow(""),
958
1005
  service: Joi.string().allow(""),
1006
+ operation_id: Joi.string().allow(""),
959
1007
  type: Joi.string().allow(""),
960
1008
  url: Joi.string().allow(""),
1009
+ content: Joi.string().allow(""),
1010
+ __source: ContentApplicationModel.DataLoaderSourceSchema(),
1011
+ _id: Joi.string().allow(""),
961
1012
  });
962
1013
  }
963
1014
 
964
1015
  /** @returns {DataLoaderSourceSchema} */
965
1016
  static DataLoaderSourceSchema() {
966
1017
  return Joi.object({
967
- id: Joi.string().allow(""),
968
1018
  type: Joi.string().allow(""),
1019
+ id: Joi.string().allow(""),
969
1020
  });
970
1021
  }
971
1022
 
@@ -976,73 +1027,87 @@ class ContentApplicationModel {
976
1027
  });
977
1028
  }
978
1029
 
979
- /** @returns {DateMeta} */
980
- static DateMeta() {
1030
+ /** @returns {ContentAPIError} */
1031
+ static ContentAPIError() {
981
1032
  return Joi.object({
982
- created_on: Joi.string().allow(""),
983
- modified_on: Joi.string().allow(""),
1033
+ message: Joi.string().allow(""),
1034
+ status: Joi.number(),
1035
+ code: Joi.string().allow(""),
1036
+ exception: Joi.string().allow(""),
1037
+ info: Joi.string().allow(""),
1038
+ request_id: Joi.string().allow(""),
1039
+ stack_trace: Joi.string().allow(""),
1040
+ meta: Joi.any(),
984
1041
  });
985
1042
  }
986
1043
 
987
- /** @returns {Detail} */
988
- static Detail() {
1044
+ /** @returns {CommonError} */
1045
+ static CommonError() {
989
1046
  return Joi.object({
990
- description: Joi.string().allow(""),
991
- image_url: Joi.string().allow(""),
992
- title: Joi.string().allow(""),
1047
+ message: Joi.string().allow(""),
993
1048
  });
994
1049
  }
995
1050
 
996
- /** @returns {EmailProperties} */
997
- static EmailProperties() {
1051
+ /** @returns {CategorySchema} */
1052
+ static CategorySchema() {
998
1053
  return Joi.object({
999
- key: Joi.string().allow(""),
1000
- value: Joi.string().allow(""),
1054
+ index: Joi.number(),
1055
+ title: Joi.string().allow(""),
1056
+ description: Joi.string().allow(""),
1057
+ children: Joi.array().items(Joi.string().allow("")),
1058
+ _id: Joi.string().allow(""),
1059
+ slug: Joi.string().allow(""),
1060
+ application: Joi.string().allow(""),
1061
+ icon_url: Joi.string().allow(""),
1062
+ _custom_json: Joi.any(),
1001
1063
  });
1002
1064
  }
1003
1065
 
1004
- /** @returns {EmailSchema} */
1005
- static EmailSchema() {
1066
+ /** @returns {ChildrenSchema} */
1067
+ static ChildrenSchema() {
1006
1068
  return Joi.object({
1007
- active: Joi.boolean(),
1008
- email: Joi.array().items(ContentApplicationModel.EmailProperties()),
1069
+ question: Joi.string().allow(""),
1070
+ answer: Joi.string().allow(""),
1071
+ slug: Joi.string().allow(""),
1072
+ application: Joi.string().allow(""),
1073
+ _id: Joi.string().allow(""),
1009
1074
  });
1010
1075
  }
1011
1076
 
1012
1077
  /** @returns {FAQCategorySchema} */
1013
1078
  static FAQCategorySchema() {
1014
1079
  return Joi.object({
1015
- _custom_json: Joi.any(),
1080
+ index: Joi.number(),
1081
+ title: Joi.string().allow(""),
1082
+ description: Joi.string().allow(""),
1083
+ children: Joi.array().items(ContentApplicationModel.ChildrenSchema()),
1016
1084
  _id: Joi.string().allow(""),
1085
+ slug: Joi.string().allow(""),
1017
1086
  application: Joi.string().allow(""),
1018
- children: Joi.array().items(ContentApplicationModel.ChildrenSchema()),
1019
- description: Joi.string().allow(""),
1020
1087
  icon_url: Joi.string().allow(""),
1021
- index: Joi.number(),
1022
- slug: Joi.string().allow(""),
1023
- title: Joi.string().allow(""),
1024
- });
1025
- }
1026
-
1027
- /** @returns {FaqResponseSchema} */
1028
- static FaqResponseSchema() {
1029
- return Joi.object({
1030
- faqs: Joi.array().items(ContentApplicationModel.FaqSchema()),
1088
+ _custom_json: Joi.any(),
1031
1089
  });
1032
1090
  }
1033
1091
 
1034
1092
  /** @returns {FaqSchema} */
1035
1093
  static FaqSchema() {
1036
1094
  return Joi.object({
1037
- _id: Joi.string().allow(""),
1038
- answer: Joi.string().allow(""),
1095
+ slug: Joi.string().allow(""),
1039
1096
  application: Joi.string().allow(""),
1097
+ _id: Joi.string().allow(""),
1040
1098
  question: Joi.string().allow(""),
1041
- slug: Joi.string().allow(""),
1099
+ answer: Joi.string().allow(""),
1042
1100
  tags: Joi.array().items(Joi.string().allow("")),
1043
1101
  });
1044
1102
  }
1045
1103
 
1104
+ /** @returns {GetFaqSchema} */
1105
+ static GetFaqSchema() {
1106
+ return Joi.object({
1107
+ faqs: Joi.array().items(ContentApplicationModel.FaqSchema()),
1108
+ });
1109
+ }
1110
+
1046
1111
  /** @returns {GetFaqCategoriesSchema} */
1047
1112
  static GetFaqCategoriesSchema() {
1048
1113
  return Joi.object({
@@ -1057,41 +1122,31 @@ class ContentApplicationModel {
1057
1122
  });
1058
1123
  }
1059
1124
 
1060
- /** @returns {GetFaqSchema} */
1061
- static GetFaqSchema() {
1125
+ /** @returns {Page} */
1126
+ static Page() {
1062
1127
  return Joi.object({
1063
- faqs: Joi.array().items(ContentApplicationModel.FaqSchema()),
1128
+ item_total: Joi.number(),
1129
+ next_id: Joi.string().allow(""),
1130
+ has_previous: Joi.boolean(),
1131
+ has_next: Joi.boolean(),
1132
+ current: Joi.number(),
1133
+ type: Joi.string().allow("").required(),
1134
+ size: Joi.number(),
1064
1135
  });
1065
1136
  }
1066
1137
 
1067
1138
  /** @returns {LandingPageSchema} */
1068
1139
  static LandingPageSchema() {
1069
1140
  return Joi.object({
1070
- _custom_json: Joi.any(),
1071
- _id: Joi.string().allow(""),
1141
+ slug: Joi.string().allow(""),
1072
1142
  action: ContentApplicationModel.Action(),
1073
- application: Joi.string().allow(""),
1074
- archived: Joi.boolean(),
1143
+ platform: Joi.array().items(Joi.string().allow("")),
1075
1144
  created_by: ContentApplicationModel.CreatedBySchema(),
1076
1145
  date_meta: ContentApplicationModel.DateMeta(),
1077
- platform: Joi.array().items(Joi.string().allow("")),
1078
- slug: Joi.string().allow(""),
1079
- });
1080
- }
1081
-
1082
- /** @returns {Language} */
1083
- static Language() {
1084
- return Joi.object({
1085
- display: Joi.string().allow(""),
1086
- });
1087
- }
1088
-
1089
- /** @returns {LocaleLanguage} */
1090
- static LocaleLanguage() {
1091
- return Joi.object({
1092
- ar: ContentApplicationModel.Language(),
1093
- en_us: ContentApplicationModel.Language(),
1094
- hi: ContentApplicationModel.Language(),
1146
+ _id: Joi.string().allow(""),
1147
+ application: Joi.string().allow(""),
1148
+ archived: Joi.boolean(),
1149
+ _custom_json: Joi.any(),
1095
1150
  });
1096
1151
  }
1097
1152
 
@@ -1103,20 +1158,12 @@ class ContentApplicationModel {
1103
1158
  });
1104
1159
  }
1105
1160
 
1106
- /** @returns {NavigationReference} */
1107
- static NavigationReference() {
1161
+ /** @returns {Orientation} */
1162
+ static Orientation() {
1108
1163
  return Joi.object({
1109
- _locale_language: ContentApplicationModel.LocaleLanguage(),
1110
- acl: Joi.array().items(Joi.string().allow("")),
1111
- action: ContentApplicationModel.Action(),
1112
- active: Joi.boolean(),
1113
- display: Joi.string().allow(""),
1114
- image: Joi.string().allow(""),
1115
- sort_order: Joi.number(),
1116
- sub_navigation: Joi.array().items(Joi.link("#NavigationReference")),
1117
- tags: Joi.array().items(Joi.string().allow("")),
1118
- type: Joi.string().allow(""),
1119
- }).id("NavigationReference");
1164
+ portrait: Joi.array().items(Joi.string().allow("")),
1165
+ landscape: Joi.array().items(Joi.string().allow("")),
1166
+ });
1120
1167
  }
1121
1168
 
1122
1169
  /** @returns {NavigationSchema} */
@@ -1125,45 +1172,16 @@ class ContentApplicationModel {
1125
1172
  _id: Joi.string().allow(""),
1126
1173
  application: Joi.string().allow(""),
1127
1174
  archived: Joi.boolean(),
1175
+ name: Joi.string().allow(""),
1176
+ slug: Joi.string().allow(""),
1177
+ platform: Joi.array().items(Joi.string().allow("")),
1128
1178
  created_by: ContentApplicationModel.CreatedBySchema(),
1129
1179
  date_meta: ContentApplicationModel.DateMeta(),
1130
- name: Joi.string().allow(""),
1180
+ orientation: ContentApplicationModel.Orientation(),
1181
+ version: Joi.number(),
1131
1182
  navigation: Joi.array().items(
1132
1183
  ContentApplicationModel.NavigationReference()
1133
1184
  ),
1134
- orientation: ContentApplicationModel.Orientation(),
1135
- platform: Joi.array().items(Joi.string().allow("")),
1136
- slug: Joi.string().allow(""),
1137
- version: Joi.number(),
1138
- });
1139
- }
1140
-
1141
- /** @returns {NextSchedule} */
1142
- static NextSchedule() {
1143
- return Joi.object({
1144
- end: Joi.string().allow(""),
1145
- start: Joi.string().allow(""),
1146
- });
1147
- }
1148
-
1149
- /** @returns {Orientation} */
1150
- static Orientation() {
1151
- return Joi.object({
1152
- landscape: Joi.array().items(Joi.string().allow("")),
1153
- portrait: Joi.array().items(Joi.string().allow("")),
1154
- });
1155
- }
1156
-
1157
- /** @returns {Page} */
1158
- static Page() {
1159
- return Joi.object({
1160
- current: Joi.number(),
1161
- has_next: Joi.boolean(),
1162
- has_previous: Joi.boolean(),
1163
- item_total: Joi.number(),
1164
- next_id: Joi.string().allow(""),
1165
- size: Joi.number(),
1166
- type: Joi.string().allow("").required(),
1167
1185
  });
1168
1186
  }
1169
1187
 
@@ -1178,11 +1196,8 @@ class ContentApplicationModel {
1178
1196
  /** @returns {PageSchema} */
1179
1197
  static PageSchema() {
1180
1198
  return Joi.object({
1181
- _custom_json: Joi.any(),
1182
1199
  _id: Joi.string().allow(""),
1183
- _schedule: ContentApplicationModel.ScheduleSchema(),
1184
1200
  application: Joi.string().allow(""),
1185
- archived: Joi.boolean(),
1186
1201
  component_ids: Joi.array().items(Joi.string().allow("")),
1187
1202
  content: Joi.array().items(Joi.any()),
1188
1203
  content_path: Joi.string().allow(""),
@@ -1190,243 +1205,228 @@ class ContentApplicationModel {
1190
1205
  date_meta: ContentApplicationModel.DateMeta(),
1191
1206
  description: Joi.string().allow(""),
1192
1207
  feature_image: ContentApplicationModel.Asset(),
1193
- orientation: Joi.string().allow(""),
1194
1208
  page_meta: Joi.array().items(Joi.any()),
1209
+ _schedule: ContentApplicationModel.ScheduleSchema(),
1210
+ _custom_json: Joi.any(),
1211
+ orientation: Joi.string().allow(""),
1195
1212
  platform: Joi.string().allow(""),
1196
1213
  published: Joi.boolean(),
1197
- seo: ContentApplicationModel.SEO(),
1198
1214
  slug: Joi.string().allow(""),
1199
1215
  tags: Joi.array().items(Joi.string().allow("")),
1200
1216
  title: Joi.string().allow(""),
1201
1217
  type: Joi.string().allow(""),
1218
+ seo: ContentApplicationModel.SEO(),
1202
1219
  visibility: Joi.any(),
1220
+ archived: Joi.boolean(),
1203
1221
  });
1204
1222
  }
1205
1223
 
1206
- /** @returns {PhoneProperties} */
1207
- static PhoneProperties() {
1208
- return Joi.object({
1209
- code: Joi.string().allow(""),
1210
- key: Joi.string().allow(""),
1211
- number: Joi.string().allow(""),
1212
- });
1213
- }
1214
-
1215
- /** @returns {PhoneSchema} */
1216
- static PhoneSchema() {
1217
- return Joi.object({
1218
- active: Joi.boolean(),
1219
- phone: Joi.array().items(ContentApplicationModel.PhoneProperties()),
1220
- });
1221
- }
1222
-
1223
- /** @returns {ResourceContent} */
1224
- static ResourceContent() {
1224
+ /** @returns {CreatedBySchema} */
1225
+ static CreatedBySchema() {
1225
1226
  return Joi.object({
1226
- type: Joi.string().allow(""),
1227
- value: Joi.string().allow(""),
1227
+ id: Joi.string().allow(""),
1228
1228
  });
1229
1229
  }
1230
1230
 
1231
- /** @returns {ScheduleSchema} */
1232
- static ScheduleSchema() {
1231
+ /** @returns {CronSchedule} */
1232
+ static CronSchedule() {
1233
1233
  return Joi.object({
1234
1234
  cron: Joi.string().allow(""),
1235
- duration: Joi.number(),
1236
- end: Joi.string().allow(""),
1237
- next_schedule: Joi.array().items(ContentApplicationModel.NextSchedule()),
1238
1235
  start: Joi.string().allow(""),
1239
- });
1240
- }
1241
-
1242
- /** @returns {ScheduleStartSchema} */
1243
- static ScheduleStartSchema() {
1244
- return Joi.object({
1245
1236
  end: Joi.string().allow(""),
1246
- start: Joi.string().allow(""),
1237
+ duration: Joi.number(),
1247
1238
  });
1248
1239
  }
1249
1240
 
1250
- /** @returns {SEO} */
1251
- static SEO() {
1241
+ /** @returns {SlideshowGetResponse} */
1242
+ static SlideshowGetResponse() {
1252
1243
  return Joi.object({
1253
- breadcrumb: Joi.array().items(ContentApplicationModel.SEObreadcrumb()),
1254
- canonical_url: Joi.string().allow(""),
1255
- description: Joi.string().allow(""),
1256
- image: ContentApplicationModel.SEOImage(),
1257
- meta_tags: Joi.array().items(ContentApplicationModel.SEOMetaItem()),
1258
- sitemap: ContentApplicationModel.SEOSitemap(),
1259
- title: Joi.string().allow(""),
1244
+ items: Joi.array().items(ContentApplicationModel.SlideshowSchema()),
1245
+ page: ContentApplicationModel.Page(),
1260
1246
  });
1261
1247
  }
1262
1248
 
1263
- /** @returns {SEObreadcrumb} */
1264
- static SEObreadcrumb() {
1249
+ /** @returns {SlideshowSchema} */
1250
+ static SlideshowSchema() {
1265
1251
  return Joi.object({
1266
- action: ContentApplicationModel.Action(),
1267
- url: Joi.string().allow(""),
1252
+ _id: Joi.string().allow(""),
1253
+ slug: Joi.string().allow(""),
1254
+ date_meta: ContentApplicationModel.DateMeta(),
1255
+ application: Joi.string().allow(""),
1256
+ platform: Joi.string().allow(""),
1257
+ configuration: ContentApplicationModel.ConfigurationSchema(),
1258
+ media: Joi.array().items(ContentApplicationModel.SlideshowMedia()),
1259
+ active: Joi.boolean(),
1260
+ archived: Joi.boolean(),
1261
+ _custom_json: Joi.any(),
1268
1262
  });
1269
1263
  }
1270
1264
 
1271
- /** @returns {SeoComponent} */
1272
- static SeoComponent() {
1265
+ /** @returns {Support} */
1266
+ static Support() {
1273
1267
  return Joi.object({
1274
- seo: ContentApplicationModel.SeoSchema(),
1268
+ created: Joi.boolean(),
1269
+ _id: Joi.string().allow(""),
1270
+ config_type: Joi.string().allow(""),
1271
+ application: Joi.string().allow(""),
1272
+ created_at: Joi.string().allow(""),
1273
+ updated_at: Joi.string().allow(""),
1274
+ contact: ContentApplicationModel.ContactSchema(),
1275
1275
  });
1276
1276
  }
1277
1277
 
1278
- /** @returns {SEOImage} */
1279
- static SEOImage() {
1278
+ /** @returns {PhoneProperties} */
1279
+ static PhoneProperties() {
1280
1280
  return Joi.object({
1281
- url: Joi.string().allow(""),
1281
+ key: Joi.string().allow(""),
1282
+ code: Joi.string().allow(""),
1283
+ number: Joi.string().allow(""),
1282
1284
  });
1283
1285
  }
1284
1286
 
1285
- /** @returns {SEOMetaItem} */
1286
- static SEOMetaItem() {
1287
+ /** @returns {PhoneSchema} */
1288
+ static PhoneSchema() {
1287
1289
  return Joi.object({
1288
- items: Joi.array().items(ContentApplicationModel.SEOMetaItems()),
1289
- title: Joi.string().allow(""),
1290
+ active: Joi.boolean(),
1291
+ phone: Joi.array().items(ContentApplicationModel.PhoneProperties()),
1290
1292
  });
1291
1293
  }
1292
1294
 
1293
- /** @returns {SEOMetaItems} */
1294
- static SEOMetaItems() {
1295
+ /** @returns {EmailProperties} */
1296
+ static EmailProperties() {
1295
1297
  return Joi.object({
1296
1298
  key: Joi.string().allow(""),
1297
1299
  value: Joi.string().allow(""),
1298
1300
  });
1299
1301
  }
1300
1302
 
1301
- /** @returns {SeoSchema} */
1302
- static SeoSchema() {
1303
+ /** @returns {EmailSchema} */
1304
+ static EmailSchema() {
1303
1305
  return Joi.object({
1304
- _id: Joi.string().allow(""),
1305
- additonal_sitemap: Joi.string().allow(""),
1306
- app: Joi.string().allow(""),
1307
- cannonical_enabled: Joi.boolean(),
1308
- created_at: Joi.string().allow(""),
1309
- custom_meta_tags: Joi.array().items(
1310
- ContentApplicationModel.CustomMetaTag()
1311
- ),
1312
- details: ContentApplicationModel.Detail(),
1313
- robots_txt: Joi.string().allow(""),
1314
- sitemap_enabled: Joi.boolean(),
1315
- updated_at: Joi.string().allow(""),
1306
+ active: Joi.boolean(),
1307
+ email: Joi.array().items(ContentApplicationModel.EmailProperties()),
1316
1308
  });
1317
1309
  }
1318
1310
 
1319
- /** @returns {SeoSchemaComponent} */
1320
- static SeoSchemaComponent() {
1311
+ /** @returns {ContactSchema} */
1312
+ static ContactSchema() {
1321
1313
  return Joi.object({
1322
- items: Joi.array().items(
1323
- ContentApplicationModel.SEOSchemaMarkupTemplate()
1324
- ),
1314
+ phone: ContentApplicationModel.PhoneSchema(),
1315
+ email: ContentApplicationModel.EmailSchema(),
1325
1316
  });
1326
1317
  }
1327
1318
 
1328
- /** @returns {SEOSchemaMarkupTemplate} */
1329
- static SEOSchemaMarkupTemplate() {
1319
+ /** @returns {TagsSchema} */
1320
+ static TagsSchema() {
1330
1321
  return Joi.object({
1331
- active: Joi.boolean(),
1332
1322
  application: Joi.string().allow(""),
1333
- created_at: Joi.string().allow(""),
1334
- description: Joi.string().allow(""),
1335
- id: Joi.string().allow(""),
1336
- page_type: Joi.string().allow(""),
1337
- schema: Joi.string().allow(""),
1338
- title: Joi.string().allow(""),
1339
- updated_at: Joi.string().allow(""),
1323
+ _id: Joi.string().allow(""),
1324
+ tags: Joi.array().items(ContentApplicationModel.TagSchema()),
1340
1325
  });
1341
1326
  }
1342
1327
 
1343
- /** @returns {SEOSitemap} */
1344
- static SEOSitemap() {
1328
+ /** @returns {TagSchema} */
1329
+ static TagSchema() {
1345
1330
  return Joi.object({
1346
- frequency: Joi.string().allow(""),
1347
- priority: Joi.number(),
1331
+ name: Joi.string().allow(""),
1332
+ url: Joi.string().allow(""),
1333
+ type: Joi.string().allow(""),
1334
+ sub_type: Joi.string().allow(""),
1335
+ _id: Joi.string().allow(""),
1336
+ position: Joi.string().allow(""),
1337
+ attributes: Joi.any(),
1338
+ content: Joi.string().allow(""),
1339
+ pages: Joi.array().items(Joi.any()),
1340
+ __source: ContentApplicationModel.TagSourceSchema(),
1348
1341
  });
1349
1342
  }
1350
1343
 
1351
- /** @returns {SlideshowGetResponse} */
1352
- static SlideshowGetResponse() {
1344
+ /** @returns {TagSourceSchema} */
1345
+ static TagSourceSchema() {
1353
1346
  return Joi.object({
1354
- items: Joi.array().items(ContentApplicationModel.SlideshowSchema()),
1355
- page: ContentApplicationModel.Page(),
1347
+ type: Joi.string().allow(""),
1348
+ id: Joi.string().allow(""),
1356
1349
  });
1357
1350
  }
1358
1351
 
1359
- /** @returns {SlideshowMedia} */
1360
- static SlideshowMedia() {
1352
+ /** @returns {CustomObjectFieldValue} */
1353
+ static CustomObjectFieldValue() {
1361
1354
  return Joi.object({
1362
- action: ContentApplicationModel.Action(),
1363
- auto_decide_duration: Joi.boolean(),
1364
- bg_color: Joi.string().allow(""),
1365
- duration: Joi.number(),
1366
- type: Joi.string().allow(""),
1367
- url: Joi.string().allow(""),
1355
+ value: Joi.any(),
1368
1356
  });
1369
1357
  }
1370
1358
 
1371
- /** @returns {SlideshowSchema} */
1372
- static SlideshowSchema() {
1359
+ /** @returns {CustomObjectListItemDefinationSchema} */
1360
+ static CustomObjectListItemDefinationSchema() {
1373
1361
  return Joi.object({
1374
- _custom_json: Joi.any(),
1375
1362
  _id: Joi.string().allow(""),
1376
- active: Joi.boolean(),
1377
- application: Joi.string().allow(""),
1378
- archived: Joi.boolean(),
1379
- configuration: ContentApplicationModel.ConfigurationSchema(),
1380
- date_meta: ContentApplicationModel.DateMeta(),
1381
- media: Joi.array().items(ContentApplicationModel.SlideshowMedia()),
1382
- platform: Joi.string().allow(""),
1383
- slug: Joi.string().allow(""),
1363
+ name: Joi.string().allow(""),
1364
+ type: Joi.string().allow(""),
1384
1365
  });
1385
1366
  }
1386
1367
 
1387
- /** @returns {Support} */
1388
- static Support() {
1368
+ /** @returns {CustomObjectFieldSchema} */
1369
+ static CustomObjectFieldSchema() {
1389
1370
  return Joi.object({
1390
1371
  _id: Joi.string().allow(""),
1391
- application: Joi.string().allow(""),
1392
- config_type: Joi.string().allow(""),
1393
- contact: ContentApplicationModel.ContactSchema(),
1394
- created: Joi.boolean(),
1395
- created_at: Joi.string().allow(""),
1396
- updated_at: Joi.string().allow(""),
1372
+ key: Joi.string().allow(""),
1373
+ value: Joi.array().items(
1374
+ ContentApplicationModel.CustomObjectFieldValue()
1375
+ ),
1376
+ type: Joi.string().allow(""),
1377
+ definition_id: Joi.string().allow(""),
1397
1378
  });
1398
1379
  }
1399
1380
 
1400
- /** @returns {TagSchema} */
1401
- static TagSchema() {
1381
+ /** @returns {CustomObjectByIdSchema} */
1382
+ static CustomObjectByIdSchema() {
1402
1383
  return Joi.object({
1403
- __source: ContentApplicationModel.TagSourceSchema(),
1404
1384
  _id: Joi.string().allow(""),
1405
- attributes: Joi.any(),
1406
- content: Joi.string().allow(""),
1407
- name: Joi.string().allow(""),
1408
- pages: Joi.array().items(Joi.any()),
1409
- position: Joi.string().allow(""),
1410
- sub_type: Joi.string().allow(""),
1411
- type: Joi.string().allow(""),
1412
- url: Joi.string().allow(""),
1385
+ status: Joi.string().allow(""),
1386
+ display_name: Joi.string().allow(""),
1387
+ definition: ContentApplicationModel.CustomObjectListItemDefinationSchema(),
1388
+ references: Joi.array().items(Joi.any()),
1389
+ fields: Joi.array().items(
1390
+ ContentApplicationModel.CustomObjectFieldSchema()
1391
+ ),
1413
1392
  });
1414
1393
  }
1415
1394
 
1416
- /** @returns {TagSourceSchema} */
1417
- static TagSourceSchema() {
1395
+ /** @returns {CustomFieldValue} */
1396
+ static CustomFieldValue() {
1418
1397
  return Joi.object({
1419
- id: Joi.string().allow(""),
1420
- type: Joi.string().allow(""),
1398
+ value: Joi.any(),
1421
1399
  });
1422
1400
  }
1423
1401
 
1424
- /** @returns {TagsSchema} */
1425
- static TagsSchema() {
1402
+ /** @returns {CustomFieldSchema} */
1403
+ static CustomFieldSchema() {
1426
1404
  return Joi.object({
1427
1405
  _id: Joi.string().allow(""),
1428
- application: Joi.string().allow(""),
1429
- tags: Joi.array().items(ContentApplicationModel.TagSchema()),
1406
+ namespace: Joi.string().allow(""),
1407
+ key: Joi.string().allow(""),
1408
+ resource: Joi.string().allow(""),
1409
+ creator: Joi.string().allow(""),
1410
+ value: Joi.array().items(ContentApplicationModel.CustomFieldValue()),
1411
+ resource_id: Joi.string().allow(""),
1412
+ type: Joi.string().allow(""),
1413
+ multi_value: Joi.boolean(),
1414
+ company_id: Joi.string().allow(""),
1415
+ application_id: Joi.string().allow(""),
1416
+ definition_id: Joi.string().allow(""),
1417
+ has_invalid_values: Joi.boolean(),
1418
+ invalid_value_errors: Joi.array().items(Joi.any()),
1419
+ created_by: Joi.string().allow(""),
1420
+ is_deleted: Joi.boolean(),
1421
+ created_at: Joi.string().allow(""),
1422
+ updated_at: Joi.string().allow(""),
1423
+ });
1424
+ }
1425
+
1426
+ /** @returns {CustomFieldsResponseByResourceIdSchema} */
1427
+ static CustomFieldsResponseByResourceIdSchema() {
1428
+ return Joi.object({
1429
+ items: Joi.array().items(ContentApplicationModel.CustomFieldSchema()),
1430
1430
  });
1431
1431
  }
1432
1432