@gofynd/fdk-client-javascript 1.4.2-beta.1 → 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.
- package/README.md +1 -1
- package/package.json +1 -1
- package/sdk/application/Cart/CartApplicationModel.d.ts +1742 -1726
- package/sdk/application/Cart/CartApplicationModel.js +1497 -1481
- package/sdk/application/Catalog/CatalogApplicationModel.d.ts +1917 -1917
- package/sdk/application/Catalog/CatalogApplicationModel.js +1611 -1611
- package/sdk/application/Common/CommonApplicationModel.d.ts +235 -235
- package/sdk/application/Common/CommonApplicationModel.js +172 -172
- package/sdk/application/Communication/CommunicationApplicationModel.d.ts +72 -72
- package/sdk/application/Communication/CommunicationApplicationModel.js +64 -64
- package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +1614 -1614
- package/sdk/application/Configuration/ConfigurationApplicationModel.js +1151 -1151
- package/sdk/application/Content/ContentApplicationModel.d.ts +797 -797
- package/sdk/application/Content/ContentApplicationModel.js +757 -757
- package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +79 -79
- package/sdk/application/FileStorage/FileStorageApplicationModel.js +84 -84
- package/sdk/application/Lead/LeadApplicationModel.d.ts +417 -417
- package/sdk/application/Lead/LeadApplicationModel.js +301 -301
- package/sdk/application/Logistic/LogisticApplicationModel.d.ts +666 -666
- package/sdk/application/Logistic/LogisticApplicationModel.js +601 -601
- package/sdk/application/Order/OrderApplicationModel.d.ts +846 -846
- package/sdk/application/Order/OrderApplicationModel.js +822 -822
- package/sdk/application/Payment/PaymentApplicationClient.d.ts +5 -5
- package/sdk/application/Payment/PaymentApplicationClient.js +10 -10
- package/sdk/application/Payment/PaymentApplicationModel.d.ts +2155 -2150
- package/sdk/application/Payment/PaymentApplicationModel.js +1460 -1458
- package/sdk/application/Payment/PaymentApplicationValidator.d.ts +5 -5
- package/sdk/application/Payment/PaymentApplicationValidator.js +3 -3
- package/sdk/application/PosCart/PosCartApplicationModel.d.ts +1462 -1462
- package/sdk/application/PosCart/PosCartApplicationModel.js +1260 -1260
- package/sdk/application/Rewards/RewardsApplicationModel.d.ts +214 -214
- package/sdk/application/Rewards/RewardsApplicationModel.js +211 -211
- package/sdk/application/Share/ShareApplicationModel.d.ts +114 -114
- package/sdk/application/Share/ShareApplicationModel.js +121 -121
- package/sdk/application/Theme/ThemeApplicationModel.d.ts +895 -895
- package/sdk/application/Theme/ThemeApplicationModel.js +684 -684
- package/sdk/application/User/UserApplicationModel.d.ts +762 -762
- package/sdk/application/User/UserApplicationModel.js +738 -738
- package/sdk/partner/FileStorage/FileStoragePartnerModel.d.ts +63 -63
- package/sdk/partner/FileStorage/FileStoragePartnerModel.js +65 -65
- package/sdk/partner/Lead/LeadPartnerModel.d.ts +661 -661
- package/sdk/partner/Lead/LeadPartnerModel.js +491 -491
- package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +223 -223
- package/sdk/partner/Logistics/LogisticsPartnerModel.js +235 -235
- package/sdk/partner/Theme/ThemePartnerModel.d.ts +1087 -1087
- package/sdk/partner/Theme/ThemePartnerModel.js +819 -819
- package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +386 -386
- package/sdk/partner/Webhook/WebhookPartnerModel.js +342 -342
- package/sdk/platform/AuditTrail/AuditTrailPlatformModel.d.ts +123 -123
- package/sdk/platform/AuditTrail/AuditTrailPlatformModel.js +109 -109
- package/sdk/platform/Billing/BillingPlatformModel.d.ts +801 -801
- package/sdk/platform/Billing/BillingPlatformModel.js +783 -783
- package/sdk/platform/Cart/CartPlatformModel.d.ts +3333 -3317
- package/sdk/platform/Cart/CartPlatformModel.js +2936 -2920
- package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +1013 -1013
- package/sdk/platform/Catalog/CatalogPlatformModel.js +923 -923
- package/sdk/platform/Common/CommonPlatformModel.d.ts +255 -255
- package/sdk/platform/Common/CommonPlatformModel.js +187 -187
- package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +1238 -1238
- package/sdk/platform/Communication/CommunicationPlatformModel.js +1273 -1273
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +661 -661
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +692 -692
- package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +3198 -3198
- package/sdk/platform/Configuration/ConfigurationPlatformModel.js +2247 -2247
- package/sdk/platform/Content/ContentPlatformModel.d.ts +1833 -1833
- package/sdk/platform/Content/ContentPlatformModel.js +1837 -1837
- package/sdk/platform/Discount/DiscountPlatformModel.d.ts +245 -245
- package/sdk/platform/Discount/DiscountPlatformModel.js +248 -248
- package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +865 -865
- package/sdk/platform/FileStorage/FileStoragePlatformModel.js +877 -877
- package/sdk/platform/Finance/FinancePlatformModel.d.ts +1044 -1044
- package/sdk/platform/Finance/FinancePlatformModel.js +974 -974
- package/sdk/platform/Inventory/InventoryPlatformModel.d.ts +942 -942
- package/sdk/platform/Inventory/InventoryPlatformModel.js +1003 -1003
- package/sdk/platform/Lead/LeadPlatformModel.d.ts +608 -608
- package/sdk/platform/Lead/LeadPlatformModel.js +465 -465
- package/sdk/platform/Order/OrderPlatformModel.d.ts +5180 -5176
- package/sdk/platform/Order/OrderPlatformModel.js +4740 -4736
- package/sdk/platform/Partner/PartnerPlatformModel.d.ts +22 -22
- package/sdk/platform/Partner/PartnerPlatformModel.js +22 -22
- package/sdk/platform/Payment/PaymentPlatformModel.d.ts +2670 -2660
- package/sdk/platform/Payment/PaymentPlatformModel.js +1831 -1827
- package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +204 -204
- package/sdk/platform/Rewards/RewardsPlatformModel.js +199 -199
- package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +1505 -1507
- package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +1532 -1536
- package/sdk/platform/Share/SharePlatformModel.d.ts +147 -147
- package/sdk/platform/Share/SharePlatformModel.js +139 -139
- package/sdk/platform/Theme/ThemePlatformModel.d.ts +1046 -1046
- package/sdk/platform/Theme/ThemePlatformModel.js +789 -789
- package/sdk/platform/User/UserPlatformModel.d.ts +758 -758
- package/sdk/platform/User/UserPlatformModel.js +643 -643
- package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +439 -439
- package/sdk/platform/Webhook/WebhookPlatformModel.js +364 -364
- package/sdk/public/Billing/BillingPublicModel.d.ts +55 -55
- package/sdk/public/Billing/BillingPublicModel.js +51 -51
- package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +237 -237
- package/sdk/public/Configuration/ConfigurationPublicModel.js +174 -174
- package/sdk/public/Content/ContentPublicModel.d.ts +26 -26
- package/sdk/public/Content/ContentPublicModel.js +28 -28
- package/sdk/public/Inventory/InventoryPublicModel.d.ts +237 -237
- package/sdk/public/Inventory/InventoryPublicModel.js +257 -257
- package/sdk/public/Partner/PartnerPublicModel.d.ts +104 -104
- package/sdk/public/Partner/PartnerPublicModel.js +113 -113
- package/sdk/public/Webhook/WebhookPublicModel.d.ts +87 -87
- package/sdk/public/Webhook/WebhookPublicModel.js +93 -93
|
@@ -1,225 +1,225 @@
|
|
|
1
1
|
const Joi = require("joi");
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @typedef
|
|
5
|
-
* @property {Object}
|
|
6
|
-
* @property {
|
|
7
|
-
* @property {TicketContent} content
|
|
8
|
-
* @property {Object} [created_by] - Creator of the ticket
|
|
9
|
-
* @property {PriorityEnum} [priority]
|
|
10
|
-
* @property {string} [status] - Status of the ticket
|
|
11
|
-
* @property {string[]} [subscribers]
|
|
4
|
+
* @typedef TicketHistoryPayload
|
|
5
|
+
* @property {Object} value - Details of history event
|
|
6
|
+
* @property {HistoryTypeEnum} type
|
|
12
7
|
*/
|
|
13
8
|
|
|
14
9
|
/**
|
|
15
|
-
* @typedef
|
|
16
|
-
* @property {
|
|
10
|
+
* @typedef CustomFormSubmissionPayload
|
|
11
|
+
* @property {Object[]} response - Form response
|
|
12
|
+
* @property {TicketAsset[]} [attachments] - List of all attachments related to the form
|
|
17
13
|
*/
|
|
18
14
|
|
|
19
15
|
/**
|
|
20
|
-
* @typedef
|
|
21
|
-
* @property {string}
|
|
22
|
-
* @property {string} application_id - Application ID for form
|
|
23
|
-
* @property {CreatedOn} [created_on]
|
|
24
|
-
* @property {string} [description] - Form description that will be shown to the user
|
|
25
|
-
* @property {string} [header_image] - Form header image that will be shown to the user
|
|
26
|
-
* @property {Object[]} inputs - List of all the form fields
|
|
27
|
-
* @property {boolean} login_required - Denotes if login is required to make a
|
|
28
|
-
* form response submission
|
|
29
|
-
* @property {PollForAssignment} [poll_for_assignment]
|
|
30
|
-
* @property {Priority} priority
|
|
31
|
-
* @property {boolean} should_notify - Denotes if new response submission for
|
|
32
|
-
* the form should be notified to the assignees
|
|
33
|
-
* @property {string} slug - Slug for the form, which is to be used for accessing the form
|
|
34
|
-
* @property {SubmitButton} [submit_button]
|
|
35
|
-
* @property {string} [success_message] - Message that is to be shown on
|
|
36
|
-
* succesfull form response submission
|
|
37
|
-
* @property {string} title - Form title that will be shown to the user
|
|
16
|
+
* @typedef GetTokenForVideoRoomResponse
|
|
17
|
+
* @property {string} access_token - Access token to be used for video room
|
|
38
18
|
*/
|
|
39
19
|
|
|
40
20
|
/**
|
|
41
|
-
* @typedef
|
|
42
|
-
* @property {
|
|
43
|
-
* @property {Object[]} response - Form response
|
|
21
|
+
* @typedef GetParticipantsInsideVideoRoomResponse
|
|
22
|
+
* @property {Participant[]} participants - List of participants of the video room
|
|
44
23
|
*/
|
|
45
24
|
|
|
46
25
|
/**
|
|
47
|
-
* @typedef
|
|
48
|
-
* @property {
|
|
49
|
-
* @property {string} [
|
|
26
|
+
* @typedef Participant
|
|
27
|
+
* @property {UserSchema} [user]
|
|
28
|
+
* @property {string} [identity] - Unique identifier of participant
|
|
29
|
+
* @property {string} [status] - Status of participant
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @typedef UserSchema
|
|
34
|
+
* @property {string} [application_id]
|
|
35
|
+
* @property {string} [user_id]
|
|
36
|
+
* @property {string} [first_name]
|
|
37
|
+
* @property {Object} [meta]
|
|
38
|
+
* @property {string} [last_name]
|
|
39
|
+
* @property {PhoneNumber[]} [phone_numbers]
|
|
40
|
+
* @property {Email[]} [emails]
|
|
41
|
+
* @property {string} [gender]
|
|
42
|
+
* @property {string} [dob]
|
|
43
|
+
* @property {boolean} [active]
|
|
44
|
+
* @property {string} [profile_pic_url]
|
|
45
|
+
* @property {string} [username]
|
|
46
|
+
* @property {string} [account_type]
|
|
47
|
+
* @property {string} [_id]
|
|
48
|
+
* @property {string} [created_at]
|
|
49
|
+
* @property {string} [updated_at]
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @typedef PhoneNumber
|
|
54
|
+
* @property {boolean} [active] - Denotes if the phone number is active
|
|
55
|
+
* @property {boolean} [primary] - Denotes it's the primary phone number for the account
|
|
56
|
+
* @property {boolean} [verified] - Denotes it's a verified phone number
|
|
57
|
+
* @property {string} [phone] - Phone number
|
|
58
|
+
* @property {number} [country_code] - Country code
|
|
50
59
|
*/
|
|
51
60
|
|
|
52
61
|
/**
|
|
53
62
|
* @typedef Email
|
|
54
|
-
* @property {boolean} [active] - Denotes if the email is active
|
|
55
|
-
* @property {string} [email] - Email Address
|
|
56
63
|
* @property {boolean} [primary] - Denotes it's the primary email for the account
|
|
57
64
|
* @property {boolean} [verified] - Denotes it's a verified email
|
|
65
|
+
* @property {string} [email] - Email Address
|
|
66
|
+
* @property {boolean} [active] - Denotes if the email is active
|
|
58
67
|
*/
|
|
59
68
|
|
|
60
69
|
/**
|
|
61
|
-
* @typedef
|
|
62
|
-
* @property {
|
|
63
|
-
* @property {
|
|
64
|
-
* @property {string} [title] - Title for the feed back form
|
|
70
|
+
* @typedef Debug
|
|
71
|
+
* @property {string} [source] - Source of user
|
|
72
|
+
* @property {string} [platform] - Platform of user
|
|
65
73
|
*/
|
|
66
74
|
|
|
67
75
|
/**
|
|
68
|
-
* @typedef
|
|
69
|
-
* @property {
|
|
76
|
+
* @typedef SubmitCustomFormResponse
|
|
77
|
+
* @property {string} message - Success message for form submission
|
|
78
|
+
* @property {Ticket} [ticket]
|
|
70
79
|
*/
|
|
71
80
|
|
|
72
81
|
/**
|
|
73
|
-
* @typedef
|
|
74
|
-
* @property {string}
|
|
82
|
+
* @typedef TicketContext
|
|
83
|
+
* @property {string} [application_id] - Application ID related to the ticket
|
|
84
|
+
* @property {string} company_id - Company ID related to the ticket
|
|
75
85
|
*/
|
|
76
86
|
|
|
77
87
|
/**
|
|
78
|
-
* @typedef
|
|
79
|
-
* @property {string}
|
|
80
|
-
* @property {string} [status] - Status of participant
|
|
81
|
-
* @property {UserSchema} [user]
|
|
88
|
+
* @typedef CreatedOn
|
|
89
|
+
* @property {string} user_agent - Useragent details
|
|
82
90
|
*/
|
|
83
91
|
|
|
84
92
|
/**
|
|
85
|
-
* @typedef
|
|
86
|
-
* @property {
|
|
87
|
-
* @property {
|
|
88
|
-
* @property {
|
|
89
|
-
* @property {boolean} [primary] - Denotes it's the primary phone number for the account
|
|
90
|
-
* @property {boolean} [verified] - Denotes it's a verified phone number
|
|
93
|
+
* @typedef TicketAsset
|
|
94
|
+
* @property {string} [display] - Display text for asset
|
|
95
|
+
* @property {string} value - To be used for details
|
|
96
|
+
* @property {TicketAssetTypeEnum} type
|
|
91
97
|
*/
|
|
92
98
|
|
|
93
99
|
/**
|
|
94
|
-
* @typedef
|
|
95
|
-
* @property {
|
|
96
|
-
* @property {string}
|
|
97
|
-
* @property {
|
|
98
|
-
|
|
100
|
+
* @typedef TicketContent
|
|
101
|
+
* @property {string} title - Title for ticket
|
|
102
|
+
* @property {string} [description] - Long description of issue
|
|
103
|
+
* @property {TicketAsset[]} [attachments] - List of all attachments related to the ticket
|
|
104
|
+
*/
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* @typedef AddTicketPayload
|
|
108
|
+
* @property {Object} [created_by] - Creator of the ticket
|
|
109
|
+
* @property {string} [status] - Status of the ticket
|
|
110
|
+
* @property {PriorityEnum} [priority]
|
|
111
|
+
* @property {string} category - Category of the ticket
|
|
112
|
+
* @property {TicketContent} content
|
|
113
|
+
* @property {Object} [_custom_json] - Optional custom data that needs to be sent
|
|
114
|
+
* @property {string[]} [subscribers]
|
|
99
115
|
*/
|
|
100
116
|
|
|
101
117
|
/**
|
|
102
118
|
* @typedef Priority
|
|
103
|
-
* @property {string} color - Color for priority
|
|
104
|
-
* @property {string} display - Display text for priority
|
|
105
119
|
* @property {PriorityEnum} key
|
|
120
|
+
* @property {string} display - Display text for priority
|
|
121
|
+
* @property {string} color - Color for priority
|
|
106
122
|
*/
|
|
107
123
|
|
|
108
124
|
/**
|
|
109
125
|
* @typedef Status
|
|
110
|
-
* @property {string} color - Color for status
|
|
111
|
-
* @property {string} display - Display text for status
|
|
112
126
|
* @property {string} key - Key for status
|
|
127
|
+
* @property {string} display - Display text for status
|
|
128
|
+
* @property {string} color - Color for status
|
|
113
129
|
*/
|
|
114
130
|
|
|
115
131
|
/**
|
|
116
132
|
* @typedef SubmitButton
|
|
117
|
-
* @property {string} background_color - Color for submit button
|
|
118
133
|
* @property {string} title - Title for submit button
|
|
119
134
|
* @property {string} title_color - Title color submit button
|
|
135
|
+
* @property {string} background_color - Color for submit button
|
|
120
136
|
*/
|
|
121
137
|
|
|
122
138
|
/**
|
|
123
|
-
* @typedef
|
|
124
|
-
* @property {
|
|
125
|
-
* @property {
|
|
139
|
+
* @typedef PollForAssignment
|
|
140
|
+
* @property {number} duration - Duration for polling of staff
|
|
141
|
+
* @property {string} message - Message for polling
|
|
142
|
+
* @property {string} success_message - Message for successful polling
|
|
143
|
+
* @property {string} failure_message - Message if polling failed
|
|
126
144
|
*/
|
|
127
145
|
|
|
128
146
|
/**
|
|
129
|
-
* @typedef
|
|
130
|
-
* @property {
|
|
131
|
-
* @property {string}
|
|
132
|
-
* @property {
|
|
133
|
-
* @property {
|
|
134
|
-
* @property {
|
|
135
|
-
* @property {TicketContext} [context]
|
|
136
|
-
* @property {string} [created_at] - Time when the ticket was created
|
|
137
|
-
* @property {Object} [created_by] - User details of ticket creator
|
|
138
|
-
* @property {CreatedOn} [created_on]
|
|
139
|
-
* @property {Object} [integration] - Integration type and its details of the ticket
|
|
140
|
-
* @property {boolean} [is_feedback_pending] - Denotes if feedback submission is
|
|
141
|
-
* pending for the ticket
|
|
147
|
+
* @typedef CustomForm
|
|
148
|
+
* @property {string} application_id - Application ID for form
|
|
149
|
+
* @property {string} slug - Slug for the form, which is to be used for accessing the form
|
|
150
|
+
* @property {string} [header_image] - Form header image that will be shown to the user
|
|
151
|
+
* @property {string} title - Form title that will be shown to the user
|
|
152
|
+
* @property {string} [description] - Form description that will be shown to the user
|
|
142
153
|
* @property {Priority} priority
|
|
143
|
-
* @property {
|
|
144
|
-
*
|
|
145
|
-
* @property {
|
|
146
|
-
*
|
|
147
|
-
* @property {string} [
|
|
148
|
-
*
|
|
149
|
-
* @property {
|
|
154
|
+
* @property {boolean} login_required - Denotes if login is required to make a
|
|
155
|
+
* form response submission
|
|
156
|
+
* @property {boolean} should_notify - Denotes if new response submission for
|
|
157
|
+
* the form should be notified to the assignees
|
|
158
|
+
* @property {string} [success_message] - Message that is to be shown on
|
|
159
|
+
* succesfull form response submission
|
|
160
|
+
* @property {SubmitButton} [submit_button]
|
|
161
|
+
* @property {Object[]} inputs - List of all the form fields
|
|
162
|
+
* @property {CreatedOn} [created_on]
|
|
163
|
+
* @property {PollForAssignment} [poll_for_assignment]
|
|
164
|
+
* @property {string} _id - Unique identifier for the form
|
|
150
165
|
*/
|
|
151
166
|
|
|
152
167
|
/**
|
|
153
|
-
* @typedef
|
|
154
|
-
* @property {
|
|
155
|
-
* @property {
|
|
156
|
-
* @property {
|
|
168
|
+
* @typedef FeedbackForm
|
|
169
|
+
* @property {Object} [inputs] - Input details for the feed back form
|
|
170
|
+
* @property {string} [title] - Title for the feed back form
|
|
171
|
+
* @property {Object} [timestamps] - Gives details of category releted data
|
|
157
172
|
*/
|
|
158
173
|
|
|
159
174
|
/**
|
|
160
175
|
* @typedef TicketCategory
|
|
161
176
|
* @property {string} display - Category display value identifier
|
|
162
|
-
* @property {FeedbackForm} [feedback_form]
|
|
163
|
-
* @property {number} [group_id] - Group id of category releted data
|
|
164
177
|
* @property {string} key - Category key value identifier
|
|
165
178
|
* @property {TicketCategory} [sub_categories]
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* @typedef TicketContent
|
|
170
|
-
* @property {TicketAsset[]} [attachments] - List of all attachments related to the ticket
|
|
171
|
-
* @property {string} [description] - Long description of issue
|
|
172
|
-
* @property {string} title - Title for ticket
|
|
173
|
-
*/
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* @typedef TicketContext
|
|
177
|
-
* @property {string} [application_id] - Application ID related to the ticket
|
|
178
|
-
* @property {string} company_id - Company ID related to the ticket
|
|
179
|
+
* @property {number} [group_id] - Group id of category releted data
|
|
180
|
+
* @property {FeedbackForm} [feedback_form]
|
|
179
181
|
*/
|
|
180
182
|
|
|
181
183
|
/**
|
|
182
184
|
* @typedef TicketHistory
|
|
183
|
-
* @property {string} _id - Unique identifier of the history event
|
|
184
|
-
* @property {string} [created_at] - Time of creation of the history event
|
|
185
|
-
* @property {Object} [created_by] - User who created the history event
|
|
186
|
-
* @property {CreatedOn} [created_on]
|
|
187
|
-
* @property {string} ticket_id - Readable ticket number
|
|
188
185
|
* @property {string} type - Type of the history event
|
|
189
|
-
* @property {string} [updated_at] - Time of last update of the history event
|
|
190
186
|
* @property {Object} value - Data of the history event
|
|
187
|
+
* @property {string} ticket_id - Readable ticket number
|
|
188
|
+
* @property {CreatedOn} [created_on]
|
|
189
|
+
* @property {Object} [created_by] - User who created the history event
|
|
190
|
+
* @property {string} _id - Unique identifier of the history event
|
|
191
|
+
* @property {string} [updated_at] - Time of last update of the history event
|
|
192
|
+
* @property {string} [created_at] - Time of creation of the history event
|
|
191
193
|
*/
|
|
192
194
|
|
|
193
195
|
/**
|
|
194
|
-
* @typedef
|
|
195
|
-
* @property {
|
|
196
|
-
* @property {
|
|
196
|
+
* @typedef Ticket
|
|
197
|
+
* @property {TicketContext} [context]
|
|
198
|
+
* @property {CreatedOn} [created_on]
|
|
199
|
+
* @property {string} [response_id] - Details of company and application
|
|
200
|
+
* realated to the ticket
|
|
201
|
+
* @property {TicketContent} [content]
|
|
202
|
+
* @property {TicketCategory} category
|
|
203
|
+
* @property {string} [sub_category] - Sub-category assigned to the ticket
|
|
204
|
+
* @property {TicketSourceEnum} source
|
|
205
|
+
* @property {Status} status
|
|
206
|
+
* @property {Priority} priority
|
|
207
|
+
* @property {Object} [created_by] - User details of ticket creator
|
|
208
|
+
* @property {Object} [assigned_to] - Details of support staff to whom ticket is assigned
|
|
209
|
+
* @property {string[]} [tags] - Tags relevant to ticket
|
|
210
|
+
* @property {Object} [_custom_json] - Custom json relevant to the ticket
|
|
211
|
+
* @property {boolean} [is_feedback_pending] - Denotes if feedback submission is
|
|
212
|
+
* pending for the ticket
|
|
213
|
+
* @property {Object} [integration] - Integration type and its details of the ticket
|
|
214
|
+
* @property {string} _id - Unique identifier for the ticket
|
|
215
|
+
* @property {string} [updated_at] - Time when the ticket was last updated
|
|
216
|
+
* @property {string} [created_at] - Time when the ticket was created
|
|
197
217
|
*/
|
|
198
218
|
|
|
199
|
-
/**
|
|
200
|
-
* @typedef UserSchema
|
|
201
|
-
* @property {string} [_id]
|
|
202
|
-
* @property {string} [account_type]
|
|
203
|
-
* @property {boolean} [active]
|
|
204
|
-
* @property {string} [application_id]
|
|
205
|
-
* @property {string} [created_at]
|
|
206
|
-
* @property {string} [dob]
|
|
207
|
-
* @property {Email[]} [emails]
|
|
208
|
-
* @property {string} [first_name]
|
|
209
|
-
* @property {string} [gender]
|
|
210
|
-
* @property {string} [last_name]
|
|
211
|
-
* @property {Object} [meta]
|
|
212
|
-
* @property {PhoneNumber[]} [phone_numbers]
|
|
213
|
-
* @property {string} [profile_pic_url]
|
|
214
|
-
* @property {string} [updated_at]
|
|
215
|
-
* @property {string} [user_id]
|
|
216
|
-
* @property {string} [username]
|
|
217
|
-
*/
|
|
219
|
+
/** @typedef {"low" | "medium" | "high" | "urgent"} PriorityEnum */
|
|
218
220
|
|
|
219
221
|
/** @typedef {"rating" | "log" | "comment" | "thread"} HistoryTypeEnum */
|
|
220
222
|
|
|
221
|
-
/** @typedef {"low" | "medium" | "high" | "urgent"} PriorityEnum */
|
|
222
|
-
|
|
223
223
|
/**
|
|
224
224
|
* @typedef {| "image"
|
|
225
225
|
* | "video"
|
|
@@ -235,192 +235,215 @@ const Joi = require("joi");
|
|
|
235
235
|
/** @typedef {"platform_panel" | "sales_channel"} TicketSourceEnum */
|
|
236
236
|
|
|
237
237
|
class LeadApplicationModel {
|
|
238
|
-
/** @returns {
|
|
239
|
-
static
|
|
238
|
+
/** @returns {TicketHistoryPayload} */
|
|
239
|
+
static TicketHistoryPayload() {
|
|
240
240
|
return Joi.object({
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
content: LeadApplicationModel.TicketContent().required(),
|
|
244
|
-
created_by: Joi.any(),
|
|
245
|
-
priority: LeadApplicationModel.PriorityEnum(),
|
|
246
|
-
status: Joi.string().allow(""),
|
|
247
|
-
subscribers: Joi.array().items(Joi.string().allow("")),
|
|
241
|
+
value: Joi.any().required(),
|
|
242
|
+
type: LeadApplicationModel.HistoryTypeEnum().required(),
|
|
248
243
|
});
|
|
249
244
|
}
|
|
250
245
|
|
|
251
|
-
/** @returns {
|
|
252
|
-
static
|
|
246
|
+
/** @returns {CustomFormSubmissionPayload} */
|
|
247
|
+
static CustomFormSubmissionPayload() {
|
|
253
248
|
return Joi.object({
|
|
254
|
-
|
|
249
|
+
response: Joi.array().items(Joi.any()).required(),
|
|
250
|
+
attachments: Joi.array().items(LeadApplicationModel.TicketAsset()),
|
|
255
251
|
});
|
|
256
252
|
}
|
|
257
253
|
|
|
258
|
-
/** @returns {
|
|
259
|
-
static
|
|
254
|
+
/** @returns {GetTokenForVideoRoomResponse} */
|
|
255
|
+
static GetTokenForVideoRoomResponse() {
|
|
260
256
|
return Joi.object({
|
|
261
|
-
|
|
262
|
-
application_id: Joi.string().allow("").required(),
|
|
263
|
-
created_on: LeadApplicationModel.CreatedOn(),
|
|
264
|
-
description: Joi.string().allow(""),
|
|
265
|
-
header_image: Joi.string().allow(""),
|
|
266
|
-
inputs: Joi.array().items(Joi.any()).required(),
|
|
267
|
-
login_required: Joi.boolean().required(),
|
|
268
|
-
poll_for_assignment: LeadApplicationModel.PollForAssignment(),
|
|
269
|
-
priority: LeadApplicationModel.Priority().required(),
|
|
270
|
-
should_notify: Joi.boolean().required(),
|
|
271
|
-
slug: Joi.string().allow("").required(),
|
|
272
|
-
submit_button: LeadApplicationModel.SubmitButton(),
|
|
273
|
-
success_message: Joi.string().allow(""),
|
|
274
|
-
title: Joi.string().allow("").required(),
|
|
257
|
+
access_token: Joi.string().allow("").required(),
|
|
275
258
|
});
|
|
276
259
|
}
|
|
277
260
|
|
|
278
|
-
/** @returns {
|
|
279
|
-
static
|
|
261
|
+
/** @returns {GetParticipantsInsideVideoRoomResponse} */
|
|
262
|
+
static GetParticipantsInsideVideoRoomResponse() {
|
|
280
263
|
return Joi.object({
|
|
281
|
-
|
|
282
|
-
|
|
264
|
+
participants: Joi.array()
|
|
265
|
+
.items(LeadApplicationModel.Participant())
|
|
266
|
+
.required(),
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
/** @returns {Participant} */
|
|
271
|
+
static Participant() {
|
|
272
|
+
return Joi.object({
|
|
273
|
+
user: LeadApplicationModel.UserSchema(),
|
|
274
|
+
identity: Joi.string().allow(""),
|
|
275
|
+
status: Joi.string().allow(""),
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/** @returns {UserSchema} */
|
|
280
|
+
static UserSchema() {
|
|
281
|
+
return Joi.object({
|
|
282
|
+
application_id: Joi.string().allow(""),
|
|
283
|
+
user_id: Joi.string().allow(""),
|
|
284
|
+
first_name: Joi.string().allow(""),
|
|
285
|
+
meta: Joi.any(),
|
|
286
|
+
last_name: Joi.string().allow(""),
|
|
287
|
+
phone_numbers: Joi.array().items(LeadApplicationModel.PhoneNumber()),
|
|
288
|
+
emails: Joi.array().items(LeadApplicationModel.Email()),
|
|
289
|
+
gender: Joi.string().allow(""),
|
|
290
|
+
dob: Joi.string().allow(""),
|
|
291
|
+
active: Joi.boolean(),
|
|
292
|
+
profile_pic_url: Joi.string().allow(""),
|
|
293
|
+
username: Joi.string().allow(""),
|
|
294
|
+
account_type: Joi.string().allow(""),
|
|
295
|
+
_id: Joi.string().allow(""),
|
|
296
|
+
created_at: Joi.string().allow(""),
|
|
297
|
+
updated_at: Joi.string().allow(""),
|
|
283
298
|
});
|
|
284
299
|
}
|
|
285
300
|
|
|
286
|
-
/** @returns {
|
|
287
|
-
static
|
|
301
|
+
/** @returns {PhoneNumber} */
|
|
302
|
+
static PhoneNumber() {
|
|
288
303
|
return Joi.object({
|
|
289
|
-
|
|
290
|
-
|
|
304
|
+
active: Joi.boolean(),
|
|
305
|
+
primary: Joi.boolean(),
|
|
306
|
+
verified: Joi.boolean(),
|
|
307
|
+
phone: Joi.string().allow(""),
|
|
308
|
+
country_code: Joi.number(),
|
|
291
309
|
});
|
|
292
310
|
}
|
|
293
311
|
|
|
294
312
|
/** @returns {Email} */
|
|
295
313
|
static Email() {
|
|
296
314
|
return Joi.object({
|
|
297
|
-
active: Joi.boolean(),
|
|
298
|
-
email: Joi.string().allow(""),
|
|
299
315
|
primary: Joi.boolean(),
|
|
300
316
|
verified: Joi.boolean(),
|
|
317
|
+
email: Joi.string().allow(""),
|
|
318
|
+
active: Joi.boolean(),
|
|
301
319
|
});
|
|
302
320
|
}
|
|
303
321
|
|
|
304
|
-
/** @returns {
|
|
305
|
-
static
|
|
322
|
+
/** @returns {Debug} */
|
|
323
|
+
static Debug() {
|
|
306
324
|
return Joi.object({
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
title: Joi.string().allow(""),
|
|
325
|
+
source: Joi.string().allow(""),
|
|
326
|
+
platform: Joi.string().allow(""),
|
|
310
327
|
});
|
|
311
328
|
}
|
|
312
329
|
|
|
313
|
-
/** @returns {
|
|
314
|
-
static
|
|
330
|
+
/** @returns {SubmitCustomFormResponse} */
|
|
331
|
+
static SubmitCustomFormResponse() {
|
|
315
332
|
return Joi.object({
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
.required(),
|
|
333
|
+
message: Joi.string().allow("").required(),
|
|
334
|
+
ticket: LeadApplicationModel.Ticket(),
|
|
319
335
|
});
|
|
320
336
|
}
|
|
321
337
|
|
|
322
|
-
/** @returns {
|
|
323
|
-
static
|
|
338
|
+
/** @returns {TicketContext} */
|
|
339
|
+
static TicketContext() {
|
|
324
340
|
return Joi.object({
|
|
325
|
-
|
|
341
|
+
application_id: Joi.string().allow(""),
|
|
342
|
+
company_id: Joi.string().allow("").required(),
|
|
326
343
|
});
|
|
327
344
|
}
|
|
328
345
|
|
|
329
|
-
/** @returns {
|
|
330
|
-
static
|
|
346
|
+
/** @returns {CreatedOn} */
|
|
347
|
+
static CreatedOn() {
|
|
331
348
|
return Joi.object({
|
|
332
|
-
|
|
333
|
-
status: Joi.string().allow(""),
|
|
334
|
-
user: LeadApplicationModel.UserSchema(),
|
|
349
|
+
user_agent: Joi.string().allow("").required(),
|
|
335
350
|
});
|
|
336
351
|
}
|
|
337
352
|
|
|
338
|
-
/** @returns {
|
|
339
|
-
static
|
|
353
|
+
/** @returns {TicketAsset} */
|
|
354
|
+
static TicketAsset() {
|
|
340
355
|
return Joi.object({
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
primary: Joi.boolean(),
|
|
345
|
-
verified: Joi.boolean(),
|
|
356
|
+
display: Joi.string().allow(""),
|
|
357
|
+
value: Joi.string().allow("").required(),
|
|
358
|
+
type: LeadApplicationModel.TicketAssetTypeEnum().required(),
|
|
346
359
|
});
|
|
347
360
|
}
|
|
348
361
|
|
|
349
|
-
/** @returns {
|
|
350
|
-
static
|
|
362
|
+
/** @returns {TicketContent} */
|
|
363
|
+
static TicketContent() {
|
|
351
364
|
return Joi.object({
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
365
|
+
title: Joi.string().allow("").required(),
|
|
366
|
+
description: Joi.string().allow(""),
|
|
367
|
+
attachments: Joi.array().items(LeadApplicationModel.TicketAsset()),
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/** @returns {AddTicketPayload} */
|
|
372
|
+
static AddTicketPayload() {
|
|
373
|
+
return Joi.object({
|
|
374
|
+
created_by: Joi.any(),
|
|
375
|
+
status: Joi.string().allow(""),
|
|
376
|
+
priority: LeadApplicationModel.PriorityEnum(),
|
|
377
|
+
category: Joi.string().allow("").required(),
|
|
378
|
+
content: LeadApplicationModel.TicketContent().required(),
|
|
379
|
+
_custom_json: Joi.any(),
|
|
380
|
+
subscribers: Joi.array().items(Joi.string().allow("")),
|
|
356
381
|
});
|
|
357
382
|
}
|
|
358
383
|
|
|
359
384
|
/** @returns {Priority} */
|
|
360
385
|
static Priority() {
|
|
361
386
|
return Joi.object({
|
|
362
|
-
color: Joi.string().allow("").required(),
|
|
363
|
-
display: Joi.string().allow("").required(),
|
|
364
387
|
key: LeadApplicationModel.PriorityEnum().required(),
|
|
388
|
+
display: Joi.string().allow("").required(),
|
|
389
|
+
color: Joi.string().allow("").required(),
|
|
365
390
|
});
|
|
366
391
|
}
|
|
367
392
|
|
|
368
393
|
/** @returns {Status} */
|
|
369
394
|
static Status() {
|
|
370
395
|
return Joi.object({
|
|
371
|
-
color: Joi.string().allow("").required(),
|
|
372
|
-
display: Joi.string().allow("").required(),
|
|
373
396
|
key: Joi.string().allow("").required(),
|
|
397
|
+
display: Joi.string().allow("").required(),
|
|
398
|
+
color: Joi.string().allow("").required(),
|
|
374
399
|
});
|
|
375
400
|
}
|
|
376
401
|
|
|
377
402
|
/** @returns {SubmitButton} */
|
|
378
403
|
static SubmitButton() {
|
|
379
404
|
return Joi.object({
|
|
380
|
-
background_color: Joi.string().allow("").required(),
|
|
381
405
|
title: Joi.string().allow("").required(),
|
|
382
406
|
title_color: Joi.string().allow("").required(),
|
|
407
|
+
background_color: Joi.string().allow("").required(),
|
|
383
408
|
});
|
|
384
409
|
}
|
|
385
410
|
|
|
386
|
-
/** @returns {
|
|
387
|
-
static
|
|
411
|
+
/** @returns {PollForAssignment} */
|
|
412
|
+
static PollForAssignment() {
|
|
388
413
|
return Joi.object({
|
|
414
|
+
duration: Joi.number().required(),
|
|
389
415
|
message: Joi.string().allow("").required(),
|
|
390
|
-
|
|
416
|
+
success_message: Joi.string().allow("").required(),
|
|
417
|
+
failure_message: Joi.string().allow("").required(),
|
|
391
418
|
});
|
|
392
419
|
}
|
|
393
420
|
|
|
394
|
-
/** @returns {
|
|
395
|
-
static
|
|
421
|
+
/** @returns {CustomForm} */
|
|
422
|
+
static CustomForm() {
|
|
396
423
|
return Joi.object({
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
context: LeadApplicationModel.TicketContext(),
|
|
403
|
-
created_at: Joi.string().allow(""),
|
|
404
|
-
created_by: Joi.any(),
|
|
405
|
-
created_on: LeadApplicationModel.CreatedOn(),
|
|
406
|
-
integration: Joi.any(),
|
|
407
|
-
is_feedback_pending: Joi.boolean(),
|
|
424
|
+
application_id: Joi.string().allow("").required(),
|
|
425
|
+
slug: Joi.string().allow("").required(),
|
|
426
|
+
header_image: Joi.string().allow(""),
|
|
427
|
+
title: Joi.string().allow("").required(),
|
|
428
|
+
description: Joi.string().allow(""),
|
|
408
429
|
priority: LeadApplicationModel.Priority().required(),
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
430
|
+
login_required: Joi.boolean().required(),
|
|
431
|
+
should_notify: Joi.boolean().required(),
|
|
432
|
+
success_message: Joi.string().allow(""),
|
|
433
|
+
submit_button: LeadApplicationModel.SubmitButton(),
|
|
434
|
+
inputs: Joi.array().items(Joi.any()).required(),
|
|
435
|
+
created_on: LeadApplicationModel.CreatedOn(),
|
|
436
|
+
poll_for_assignment: LeadApplicationModel.PollForAssignment(),
|
|
437
|
+
_id: Joi.string().allow("").required(),
|
|
415
438
|
});
|
|
416
439
|
}
|
|
417
440
|
|
|
418
|
-
/** @returns {
|
|
419
|
-
static
|
|
441
|
+
/** @returns {FeedbackForm} */
|
|
442
|
+
static FeedbackForm() {
|
|
420
443
|
return Joi.object({
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
444
|
+
inputs: Joi.any(),
|
|
445
|
+
title: Joi.string().allow(""),
|
|
446
|
+
timestamps: Joi.any(),
|
|
424
447
|
});
|
|
425
448
|
}
|
|
426
449
|
|
|
@@ -428,105 +451,82 @@ class LeadApplicationModel {
|
|
|
428
451
|
static TicketCategory() {
|
|
429
452
|
return Joi.object({
|
|
430
453
|
display: Joi.string().allow("").required(),
|
|
431
|
-
feedback_form: LeadApplicationModel.FeedbackForm(),
|
|
432
|
-
group_id: Joi.number(),
|
|
433
454
|
key: Joi.string().allow("").required(),
|
|
434
455
|
sub_categories: Joi.link("#TicketCategory"),
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
/** @returns {TicketContent} */
|
|
439
|
-
static TicketContent() {
|
|
440
|
-
return Joi.object({
|
|
441
|
-
attachments: Joi.array().items(LeadApplicationModel.TicketAsset()),
|
|
442
|
-
description: Joi.string().allow(""),
|
|
443
|
-
title: Joi.string().allow("").required(),
|
|
444
|
-
});
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
/** @returns {TicketContext} */
|
|
448
|
-
static TicketContext() {
|
|
449
|
-
return Joi.object({
|
|
450
|
-
application_id: Joi.string().allow(""),
|
|
451
|
-
company_id: Joi.string().allow("").required(),
|
|
456
|
+
group_id: Joi.number(),
|
|
457
|
+
feedback_form: LeadApplicationModel.FeedbackForm(),
|
|
452
458
|
});
|
|
453
459
|
}
|
|
454
460
|
|
|
455
461
|
/** @returns {TicketHistory} */
|
|
456
462
|
static TicketHistory() {
|
|
457
463
|
return Joi.object({
|
|
458
|
-
_id: Joi.string().allow("").required(),
|
|
459
|
-
created_at: Joi.string().allow(""),
|
|
460
|
-
created_by: Joi.any(),
|
|
461
|
-
created_on: LeadApplicationModel.CreatedOn(),
|
|
462
|
-
ticket_id: Joi.string().allow("").required(),
|
|
463
464
|
type: Joi.string().allow("").required(),
|
|
464
|
-
updated_at: Joi.string().allow(""),
|
|
465
|
-
value: Joi.any().required(),
|
|
466
|
-
});
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
/** @returns {TicketHistoryPayload} */
|
|
470
|
-
static TicketHistoryPayload() {
|
|
471
|
-
return Joi.object({
|
|
472
|
-
type: LeadApplicationModel.HistoryTypeEnum().required(),
|
|
473
465
|
value: Joi.any().required(),
|
|
466
|
+
ticket_id: Joi.string().allow("").required(),
|
|
467
|
+
created_on: LeadApplicationModel.CreatedOn(),
|
|
468
|
+
created_by: Joi.any(),
|
|
469
|
+
_id: Joi.string().allow("").required(),
|
|
470
|
+
updated_at: Joi.string().allow(""),
|
|
471
|
+
created_at: Joi.string().allow(""),
|
|
474
472
|
});
|
|
475
473
|
}
|
|
476
474
|
|
|
477
|
-
/** @returns {
|
|
478
|
-
static
|
|
475
|
+
/** @returns {Ticket} */
|
|
476
|
+
static Ticket() {
|
|
479
477
|
return Joi.object({
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
478
|
+
context: LeadApplicationModel.TicketContext(),
|
|
479
|
+
created_on: LeadApplicationModel.CreatedOn(),
|
|
480
|
+
response_id: Joi.string().allow(""),
|
|
481
|
+
content: LeadApplicationModel.TicketContent(),
|
|
482
|
+
category: LeadApplicationModel.TicketCategory().required(),
|
|
483
|
+
sub_category: Joi.string().allow(""),
|
|
484
|
+
source: LeadApplicationModel.TicketSourceEnum().required(),
|
|
485
|
+
status: LeadApplicationModel.Status().required(),
|
|
486
|
+
priority: LeadApplicationModel.Priority().required(),
|
|
487
|
+
created_by: Joi.any(),
|
|
488
|
+
assigned_to: Joi.any(),
|
|
489
|
+
tags: Joi.array().items(Joi.string().allow("")),
|
|
490
|
+
_custom_json: Joi.any(),
|
|
491
|
+
is_feedback_pending: Joi.boolean(),
|
|
492
|
+
integration: Joi.any(),
|
|
493
|
+
_id: Joi.string().allow("").required(),
|
|
493
494
|
updated_at: Joi.string().allow(""),
|
|
494
|
-
|
|
495
|
-
username: Joi.string().allow(""),
|
|
495
|
+
created_at: Joi.string().allow(""),
|
|
496
496
|
});
|
|
497
497
|
}
|
|
498
498
|
|
|
499
499
|
/**
|
|
500
|
-
* Enum:
|
|
500
|
+
* Enum: PriorityEnum Used By: Lead
|
|
501
501
|
*
|
|
502
|
-
* @returns {
|
|
502
|
+
* @returns {PriorityEnum}
|
|
503
503
|
*/
|
|
504
|
-
static
|
|
504
|
+
static PriorityEnum() {
|
|
505
505
|
return Joi.string().valid(
|
|
506
|
-
"
|
|
506
|
+
"low",
|
|
507
507
|
|
|
508
|
-
"
|
|
508
|
+
"medium",
|
|
509
509
|
|
|
510
|
-
"
|
|
510
|
+
"high",
|
|
511
511
|
|
|
512
|
-
"
|
|
512
|
+
"urgent"
|
|
513
513
|
);
|
|
514
514
|
}
|
|
515
515
|
|
|
516
516
|
/**
|
|
517
|
-
* Enum:
|
|
517
|
+
* Enum: HistoryTypeEnum Used By: Lead
|
|
518
518
|
*
|
|
519
|
-
* @returns {
|
|
519
|
+
* @returns {HistoryTypeEnum}
|
|
520
520
|
*/
|
|
521
|
-
static
|
|
521
|
+
static HistoryTypeEnum() {
|
|
522
522
|
return Joi.string().valid(
|
|
523
|
-
"
|
|
523
|
+
"rating",
|
|
524
524
|
|
|
525
|
-
"
|
|
525
|
+
"log",
|
|
526
526
|
|
|
527
|
-
"
|
|
527
|
+
"comment",
|
|
528
528
|
|
|
529
|
-
"
|
|
529
|
+
"thread"
|
|
530
530
|
);
|
|
531
531
|
}
|
|
532
532
|
|