@gofynd/fdk-client-javascript 1.4.2-beta.1 → 1.4.2-beta.10

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 (265) hide show
  1. package/README.md +1 -1
  2. package/package.json +3 -2
  3. package/sdk/application/ApplicationClient.js +20 -0
  4. package/sdk/application/Cart/CartApplicationClient.d.ts +1 -1
  5. package/sdk/application/Cart/CartApplicationClient.js +3 -5
  6. package/sdk/application/Cart/CartApplicationModel.d.ts +1634 -1742
  7. package/sdk/application/Cart/CartApplicationModel.js +1388 -1464
  8. package/sdk/application/Cart/CartApplicationValidator.d.ts +0 -4
  9. package/sdk/application/Cart/CartApplicationValidator.js +0 -4
  10. package/sdk/application/Catalog/CatalogApplicationClient.d.ts +6 -3
  11. package/sdk/application/Catalog/CatalogApplicationClient.js +20 -7
  12. package/sdk/application/Catalog/CatalogApplicationModel.d.ts +1917 -1917
  13. package/sdk/application/Catalog/CatalogApplicationModel.js +1613 -1613
  14. package/sdk/application/Catalog/CatalogApplicationValidator.d.ts +14 -0
  15. package/sdk/application/Catalog/CatalogApplicationValidator.js +6 -0
  16. package/sdk/application/Common/CommonApplicationModel.d.ts +235 -235
  17. package/sdk/application/Common/CommonApplicationModel.js +172 -172
  18. package/sdk/application/Communication/CommunicationApplicationModel.d.ts +72 -72
  19. package/sdk/application/Communication/CommunicationApplicationModel.js +64 -64
  20. package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +1492 -1626
  21. package/sdk/application/Configuration/ConfigurationApplicationModel.js +1038 -1180
  22. package/sdk/application/Content/ContentApplicationClient.d.ts +0 -36
  23. package/sdk/application/Content/ContentApplicationClient.js +0 -246
  24. package/sdk/application/Content/ContentApplicationModel.d.ts +546 -753
  25. package/sdk/application/Content/ContentApplicationModel.js +565 -817
  26. package/sdk/application/Content/ContentApplicationValidator.d.ts +1 -40
  27. package/sdk/application/Content/ContentApplicationValidator.js +0 -41
  28. package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +79 -79
  29. package/sdk/application/FileStorage/FileStorageApplicationModel.js +84 -84
  30. package/sdk/application/Lead/LeadApplicationModel.d.ts +417 -417
  31. package/sdk/application/Lead/LeadApplicationModel.js +301 -301
  32. package/sdk/application/Logistic/LogisticApplicationClient.d.ts +0 -67
  33. package/sdk/application/Logistic/LogisticApplicationClient.js +0 -547
  34. package/sdk/application/Logistic/LogisticApplicationModel.d.ts +257 -712
  35. package/sdk/application/Logistic/LogisticApplicationModel.js +267 -755
  36. package/sdk/application/Logistic/LogisticApplicationValidator.d.ts +1 -211
  37. package/sdk/application/Logistic/LogisticApplicationValidator.js +0 -131
  38. package/sdk/application/Order/OrderApplicationClient.d.ts +3 -3
  39. package/sdk/application/Order/OrderApplicationClient.js +8 -32
  40. package/sdk/application/Order/OrderApplicationModel.d.ts +845 -853
  41. package/sdk/application/Order/OrderApplicationModel.js +816 -824
  42. package/sdk/application/Order/OrderApplicationValidator.d.ts +0 -20
  43. package/sdk/application/Order/OrderApplicationValidator.js +0 -8
  44. package/sdk/application/Payment/PaymentApplicationClient.d.ts +2 -46
  45. package/sdk/application/Payment/PaymentApplicationClient.js +10 -341
  46. package/sdk/application/Payment/PaymentApplicationModel.d.ts +1892 -2199
  47. package/sdk/application/Payment/PaymentApplicationModel.js +1235 -1506
  48. package/sdk/application/Payment/PaymentApplicationValidator.d.ts +14 -59
  49. package/sdk/application/Payment/PaymentApplicationValidator.js +10 -64
  50. package/sdk/application/PosCart/PosCartApplicationModel.d.ts +1396 -1429
  51. package/sdk/application/PosCart/PosCartApplicationModel.js +1233 -1257
  52. package/sdk/application/Rewards/RewardsApplicationModel.d.ts +214 -214
  53. package/sdk/application/Rewards/RewardsApplicationModel.js +211 -211
  54. package/sdk/application/Share/ShareApplicationModel.d.ts +114 -114
  55. package/sdk/application/Share/ShareApplicationModel.js +121 -121
  56. package/sdk/application/Theme/ThemeApplicationClient.d.ts +1 -1
  57. package/sdk/application/Theme/ThemeApplicationClient.js +3 -7
  58. package/sdk/application/Theme/ThemeApplicationModel.d.ts +783 -969
  59. package/sdk/application/Theme/ThemeApplicationModel.js +571 -867
  60. package/sdk/application/Theme/ThemeApplicationValidator.d.ts +0 -10
  61. package/sdk/application/Theme/ThemeApplicationValidator.js +0 -4
  62. package/sdk/application/User/UserApplicationClient.d.ts +0 -33
  63. package/sdk/application/User/UserApplicationClient.js +0 -239
  64. package/sdk/application/User/UserApplicationModel.d.ts +753 -768
  65. package/sdk/application/User/UserApplicationModel.js +731 -755
  66. package/sdk/application/User/UserApplicationValidator.d.ts +1 -34
  67. package/sdk/application/User/UserApplicationValidator.js +0 -36
  68. package/sdk/common/Clickstream.d.ts +1 -0
  69. package/sdk/common/Clickstream.js +254 -0
  70. package/sdk/common/Utility.js +1 -4
  71. package/sdk/partner/FileStorage/FileStoragePartnerModel.d.ts +72 -60
  72. package/sdk/partner/FileStorage/FileStoragePartnerModel.js +70 -58
  73. package/sdk/partner/PartnerClient.d.ts +0 -6
  74. package/sdk/partner/PartnerClient.js +0 -9
  75. package/sdk/partner/Theme/ThemePartnerClient.d.ts +0 -10
  76. package/sdk/partner/Theme/ThemePartnerClient.js +0 -80
  77. package/sdk/partner/Theme/ThemePartnerModel.d.ts +1178 -1153
  78. package/sdk/partner/Theme/ThemePartnerModel.js +830 -974
  79. package/sdk/partner/Theme/ThemePartnerValidator.d.ts +0 -1
  80. package/sdk/partner/Theme/ThemePartnerValidator.js +0 -9
  81. package/sdk/partner/index.d.ts +0 -3
  82. package/sdk/partner/index.js +0 -6
  83. package/sdk/platform/AuditTrail/AuditTrailPlatformClient.js +2 -2
  84. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.d.ts +123 -123
  85. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.js +109 -109
  86. package/sdk/platform/Billing/BillingPlatformClient.d.ts +1 -11
  87. package/sdk/platform/Billing/BillingPlatformClient.js +3 -110
  88. package/sdk/platform/Billing/BillingPlatformModel.d.ts +734 -800
  89. package/sdk/platform/Billing/BillingPlatformModel.js +732 -810
  90. package/sdk/platform/Billing/BillingPlatformValidator.d.ts +4 -43
  91. package/sdk/platform/Billing/BillingPlatformValidator.js +2 -29
  92. package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +11 -1
  93. package/sdk/platform/Cart/CartPlatformApplicationClient.js +81 -7
  94. package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +13 -5
  95. package/sdk/platform/Cart/CartPlatformApplicationValidator.js +12 -4
  96. package/sdk/platform/Cart/CartPlatformModel.d.ts +3223 -3328
  97. package/sdk/platform/Cart/CartPlatformModel.js +2875 -2946
  98. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +11 -15
  99. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +21 -52
  100. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +0 -27
  101. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +0 -11
  102. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +15 -27
  103. package/sdk/platform/Catalog/CatalogPlatformClient.js +93 -189
  104. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +617 -920
  105. package/sdk/platform/Catalog/CatalogPlatformModel.js +584 -919
  106. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +27 -41
  107. package/sdk/platform/Catalog/CatalogPlatformValidator.js +19 -31
  108. package/sdk/platform/Common/CommonPlatformModel.d.ts +255 -255
  109. package/sdk/platform/Common/CommonPlatformModel.js +187 -187
  110. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.d.ts +37 -139
  111. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +52 -737
  112. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.d.ts +3 -133
  113. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.js +1 -113
  114. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +1079 -1228
  115. package/sdk/platform/Communication/CommunicationPlatformModel.js +1090 -1262
  116. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.d.ts +2 -8
  117. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.js +4 -32
  118. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +629 -658
  119. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +641 -675
  120. package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.d.ts +0 -14
  121. package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.js +0 -6
  122. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.d.ts +8 -8
  123. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.js +4 -4
  124. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +2992 -3231
  125. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +2092 -2303
  126. package/sdk/platform/Configuration/ConfigurationPlatformValidator.d.ts +2 -2
  127. package/sdk/platform/Configuration/ConfigurationPlatformValidator.js +2 -2
  128. package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +0 -391
  129. package/sdk/platform/Content/ContentPlatformApplicationClient.js +1074 -3656
  130. package/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +1 -351
  131. package/sdk/platform/Content/ContentPlatformApplicationValidator.js +0 -410
  132. package/sdk/platform/Content/ContentPlatformModel.d.ts +972 -2071
  133. package/sdk/platform/Content/ContentPlatformModel.js +1039 -2355
  134. package/sdk/platform/Discount/DiscountPlatformClient.d.ts +2 -2
  135. package/sdk/platform/Discount/DiscountPlatformClient.js +2 -2
  136. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +174 -259
  137. package/sdk/platform/Discount/DiscountPlatformModel.js +163 -257
  138. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.d.ts +6 -16
  139. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.js +8 -117
  140. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.d.ts +4 -55
  141. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.js +2 -39
  142. package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +821 -892
  143. package/sdk/platform/FileStorage/FileStoragePlatformModel.js +833 -901
  144. package/sdk/platform/Finance/FinancePlatformClient.d.ts +0 -33
  145. package/sdk/platform/Finance/FinancePlatformClient.js +0 -240
  146. package/sdk/platform/Finance/FinancePlatformModel.d.ts +910 -1056
  147. package/sdk/platform/Finance/FinancePlatformModel.js +884 -1070
  148. package/sdk/platform/Finance/FinancePlatformValidator.d.ts +1 -38
  149. package/sdk/platform/Finance/FinancePlatformValidator.js +0 -38
  150. package/sdk/platform/Inventory/InventoryPlatformModel.d.ts +942 -942
  151. package/sdk/platform/Inventory/InventoryPlatformModel.js +1003 -1003
  152. package/sdk/platform/Lead/LeadPlatformApplicationClient.d.ts +28 -38
  153. package/sdk/platform/Lead/LeadPlatformApplicationClient.js +56 -137
  154. package/sdk/platform/Lead/LeadPlatformApplicationValidator.d.ts +29 -41
  155. package/sdk/platform/Lead/LeadPlatformApplicationValidator.js +21 -33
  156. package/sdk/platform/Lead/LeadPlatformModel.d.ts +601 -610
  157. package/sdk/platform/Lead/LeadPlatformModel.js +457 -471
  158. package/sdk/platform/Order/OrderPlatformApplicationClient.d.ts +1 -11
  159. package/sdk/platform/Order/OrderPlatformApplicationClient.js +1 -93
  160. package/sdk/platform/Order/OrderPlatformApplicationValidator.d.ts +1 -28
  161. package/sdk/platform/Order/OrderPlatformApplicationValidator.js +0 -18
  162. package/sdk/platform/Order/OrderPlatformClient.d.ts +22 -143
  163. package/sdk/platform/Order/OrderPlatformClient.js +160 -1190
  164. package/sdk/platform/Order/OrderPlatformModel.d.ts +4451 -5275
  165. package/sdk/platform/Order/OrderPlatformModel.js +4039 -4994
  166. package/sdk/platform/Order/OrderPlatformValidator.d.ts +21 -257
  167. package/sdk/platform/Order/OrderPlatformValidator.js +15 -216
  168. package/sdk/platform/Partner/PartnerPlatformModel.d.ts +22 -22
  169. package/sdk/platform/Partner/PartnerPlatformModel.js +22 -22
  170. package/sdk/platform/Payment/PaymentPlatformApplicationClient.d.ts +13 -119
  171. package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +40 -750
  172. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.d.ts +7 -143
  173. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.js +6 -133
  174. package/sdk/platform/Payment/PaymentPlatformClient.d.ts +1 -1
  175. package/sdk/platform/Payment/PaymentPlatformClient.js +1 -1
  176. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +2067 -2929
  177. package/sdk/platform/Payment/PaymentPlatformModel.js +1427 -2090
  178. package/sdk/platform/PlatformApplicationClient.d.ts +2 -2
  179. package/sdk/platform/PlatformApplicationClient.js +4 -4
  180. package/sdk/platform/PlatformClient.d.ts +2 -4
  181. package/sdk/platform/PlatformClient.js +4 -8
  182. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +204 -204
  183. package/sdk/platform/Rewards/RewardsPlatformModel.js +199 -199
  184. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts +66 -142
  185. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js +147 -645
  186. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.d.ts +63 -131
  187. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.js +47 -126
  188. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.d.ts +105 -217
  189. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.js +349 -1138
  190. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +989 -1588
  191. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +977 -1695
  192. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.d.ts +133 -382
  193. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.js +102 -266
  194. package/sdk/platform/Share/SharePlatformModel.d.ts +147 -147
  195. package/sdk/platform/Share/SharePlatformModel.js +139 -139
  196. package/sdk/platform/Theme/ThemePlatformClient.d.ts +1 -11
  197. package/sdk/platform/Theme/ThemePlatformClient.js +3 -87
  198. package/sdk/platform/Theme/ThemePlatformModel.d.ts +765 -1133
  199. package/sdk/platform/Theme/ThemePlatformModel.js +561 -1009
  200. package/sdk/platform/Theme/ThemePlatformValidator.d.ts +4 -28
  201. package/sdk/platform/Theme/ThemePlatformValidator.js +2 -21
  202. package/sdk/platform/User/UserPlatformApplicationClient.d.ts +1 -116
  203. package/sdk/platform/User/UserPlatformApplicationClient.js +86 -932
  204. package/sdk/platform/User/UserPlatformApplicationValidator.d.ts +7 -224
  205. package/sdk/platform/User/UserPlatformApplicationValidator.js +5 -173
  206. package/sdk/platform/User/UserPlatformModel.d.ts +428 -765
  207. package/sdk/platform/User/UserPlatformModel.js +428 -679
  208. package/sdk/platform/Webhook/WebhookPlatformClient.d.ts +37 -45
  209. package/sdk/platform/Webhook/WebhookPlatformClient.js +57 -61
  210. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +403 -448
  211. package/sdk/platform/Webhook/WebhookPlatformModel.js +309 -369
  212. package/sdk/platform/Webhook/WebhookPlatformValidator.d.ts +10 -7
  213. package/sdk/platform/Webhook/WebhookPlatformValidator.js +6 -6
  214. package/sdk/platform/index.d.ts +1 -1
  215. package/sdk/platform/index.js +2 -2
  216. package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +237 -237
  217. package/sdk/public/Configuration/ConfigurationPublicModel.js +174 -174
  218. package/sdk/public/Inventory/InventoryPublicModel.d.ts +237 -237
  219. package/sdk/public/Inventory/InventoryPublicModel.js +257 -257
  220. package/sdk/public/Partner/PartnerPublicModel.d.ts +104 -104
  221. package/sdk/public/Partner/PartnerPublicModel.js +113 -113
  222. package/sdk/public/PublicClient.d.ts +0 -4
  223. package/sdk/public/PublicClient.js +0 -8
  224. package/sdk/public/Webhook/WebhookPublicClient.d.ts +0 -33
  225. package/sdk/public/Webhook/WebhookPublicClient.js +0 -242
  226. package/sdk/public/Webhook/WebhookPublicModel.d.ts +15 -161
  227. package/sdk/public/Webhook/WebhookPublicModel.js +13 -189
  228. package/sdk/public/Webhook/WebhookPublicValidator.d.ts +1 -23
  229. package/sdk/public/Webhook/WebhookPublicValidator.js +0 -31
  230. package/sdk/public/index.d.ts +0 -2
  231. package/sdk/public/index.js +0 -4
  232. package/sdk/partner/Lead/LeadPartnerClient.d.ts +0 -125
  233. package/sdk/partner/Lead/LeadPartnerClient.js +0 -785
  234. package/sdk/partner/Lead/LeadPartnerModel.d.ts +0 -1127
  235. package/sdk/partner/Lead/LeadPartnerModel.js +0 -896
  236. package/sdk/partner/Lead/LeadPartnerValidator.d.ts +0 -12
  237. package/sdk/partner/Lead/LeadPartnerValidator.js +0 -67
  238. package/sdk/partner/Logistics/LogisticsPartnerClient.d.ts +0 -155
  239. package/sdk/partner/Logistics/LogisticsPartnerClient.js +0 -1195
  240. package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +0 -372
  241. package/sdk/partner/Logistics/LogisticsPartnerModel.js +0 -442
  242. package/sdk/partner/Logistics/LogisticsPartnerValidator.d.ts +0 -16
  243. package/sdk/partner/Logistics/LogisticsPartnerValidator.js +0 -123
  244. package/sdk/partner/Webhook/WebhookPartnerClient.d.ts +0 -99
  245. package/sdk/partner/Webhook/WebhookPartnerClient.js +0 -753
  246. package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +0 -566
  247. package/sdk/partner/Webhook/WebhookPartnerModel.js +0 -583
  248. package/sdk/partner/Webhook/WebhookPartnerValidator.d.ts +0 -12
  249. package/sdk/partner/Webhook/WebhookPartnerValidator.js +0 -74
  250. package/sdk/platform/Content/ContentPlatformClient.d.ts +0 -277
  251. package/sdk/platform/Content/ContentPlatformClient.js +0 -2011
  252. package/sdk/platform/Content/ContentPlatformValidator.d.ts +0 -247
  253. package/sdk/platform/Content/ContentPlatformValidator.js +0 -319
  254. package/sdk/public/Billing/BillingPublicClient.d.ts +0 -23
  255. package/sdk/public/Billing/BillingPublicClient.js +0 -116
  256. package/sdk/public/Billing/BillingPublicModel.d.ts +0 -92
  257. package/sdk/public/Billing/BillingPublicModel.js +0 -96
  258. package/sdk/public/Billing/BillingPublicValidator.d.ts +0 -18
  259. package/sdk/public/Billing/BillingPublicValidator.js +0 -19
  260. package/sdk/public/Content/ContentPublicClient.d.ts +0 -22
  261. package/sdk/public/Content/ContentPublicClient.js +0 -114
  262. package/sdk/public/Content/ContentPublicModel.d.ts +0 -53
  263. package/sdk/public/Content/ContentPublicModel.js +0 -60
  264. package/sdk/public/Content/ContentPublicValidator.d.ts +0 -18
  265. package/sdk/public/Content/ContentPublicValidator.js +0 -19
@@ -1,35 +1,205 @@
1
1
  const Joi = require("joi");
2
2
 
3
3
  /**
4
- * @typedef ArchiveConfig
5
- * @property {boolean} [archive]
6
- * @property {string} [archive_dir]
7
- * @property {boolean} [delete]
4
+ * @typedef DataTresholdDTO
5
+ * @property {number} [min_price]
6
+ * @property {number} [safe_stock]
7
+ * @property {number} [period_threshold]
8
+ * @property {string} [period_threshold_type]
9
+ * @property {GenericDTO[]} [period_type_list]
8
10
  */
9
11
 
10
12
  /**
11
- * @typedef Audit
12
- * @property {string} [created_by]
13
+ * @typedef GenericDTO
14
+ * @property {string} [text]
15
+ * @property {Object} [value]
16
+ */
17
+
18
+ /**
19
+ * @typedef JobConfigDTO
20
+ * @property {Object} [integration_data]
21
+ * @property {string} [company_name]
22
+ * @property {string} integration
23
+ * @property {number} company_id
24
+ * @property {TaskDTO} [task_details]
25
+ * @property {DataTresholdDTO} [threshold_details]
26
+ * @property {string} [job_code]
27
+ * @property {string} [alias]
28
+ */
29
+
30
+ /**
31
+ * @typedef TaskDTO
32
+ * @property {number} [type]
33
+ * @property {GenericDTO[]} [group_list]
34
+ */
35
+
36
+ /**
37
+ * @typedef Page
38
+ * @property {number} [item_total]
39
+ * @property {string} [next_id]
40
+ * @property {boolean} [has_previous]
41
+ * @property {boolean} [has_next]
42
+ * @property {number} [current]
43
+ * @property {string} type
44
+ * @property {number} [size]
45
+ */
46
+
47
+ /**
48
+ * @typedef ResponseEnvelopeString
49
+ * @property {string} [timestamp]
50
+ * @property {number} [status]
51
+ * @property {string} [error]
52
+ * @property {string} [exception]
53
+ * @property {string} [message]
54
+ * @property {number} [total_time_taken_in_millis]
55
+ * @property {string} [http_status]
56
+ * @property {string} [items]
57
+ * @property {string} [payload]
58
+ * @property {string} [trace_id]
59
+ * @property {Page} [page]
60
+ */
61
+
62
+ /**
63
+ * @typedef KafkaMetaModel
64
+ * @property {string} [job_type]
65
+ * @property {number} [batch_id]
66
+ * @property {string} [action]
67
+ * @property {string[]} [trace]
13
68
  * @property {string} [created_on]
14
- * @property {string} [modified_by]
15
- * @property {string} [modified_on]
69
+ * @property {number} [created_timestamp]
70
+ */
71
+
72
+ /**
73
+ * @typedef SuppressStoreModel
74
+ * @property {number[]} [stores]
75
+ */
76
+
77
+ /**
78
+ * @typedef SuppressStorePayload
79
+ * @property {SuppressStoreModel[]} [payload]
80
+ * @property {KafkaMetaModel} [meta]
81
+ */
82
+
83
+ /**
84
+ * @typedef KafkaResponse
85
+ * @property {number} [offset]
86
+ * @property {number} [partition]
87
+ */
88
+
89
+ /**
90
+ * @typedef ResponseEnvelopeKafkaResponse
91
+ * @property {string} [timestamp]
92
+ * @property {number} [status]
93
+ * @property {string} [error]
94
+ * @property {string} [exception]
95
+ * @property {string} [message]
96
+ * @property {number} [total_time_taken_in_millis]
97
+ * @property {string} [http_status]
98
+ * @property {KafkaResponse} [items]
99
+ * @property {KafkaResponse} [payload]
100
+ * @property {string} [trace_id]
101
+ * @property {Page} [page]
102
+ */
103
+
104
+ /**
105
+ * @typedef GCompany
106
+ * @property {string} [_id]
107
+ * @property {string} [integration]
108
+ * @property {string} [level]
109
+ * @property {number} [uid]
110
+ * @property {boolean} [opted]
111
+ * @property {string[]} [permissions]
112
+ * @property {string} [token]
113
+ * @property {string} [name]
114
+ * @property {GStore[]} [stores]
115
+ */
116
+
117
+ /**
118
+ * @typedef GStore
119
+ * @property {string} [_id]
120
+ * @property {string} [integration]
121
+ * @property {string} [level]
122
+ * @property {number} [uid]
123
+ * @property {boolean} [opted]
124
+ * @property {string[]} [permissions]
125
+ * @property {string} [token]
126
+ * @property {string} [code]
127
+ * @property {string} [name]
128
+ * @property {StoreData} [data]
129
+ */
130
+
131
+ /**
132
+ * @typedef Metum
133
+ * @property {string} [_id]
134
+ * @property {string} [name]
135
+ * @property {string} [value]
136
+ */
137
+
138
+ /**
139
+ * @typedef ResponseEnvelopeListSlingshotConfigurationDetail
140
+ * @property {string} [timestamp]
141
+ * @property {number} [status]
142
+ * @property {string} [error]
143
+ * @property {string} [exception]
144
+ * @property {string} [message]
145
+ * @property {number} [total_time_taken_in_millis]
146
+ * @property {string} [http_status]
147
+ * @property {SlingshotConfigurationDetail[]} [items]
148
+ * @property {SlingshotConfigurationDetail[]} [payload]
149
+ * @property {string} [trace_id]
150
+ * @property {Page} [page]
151
+ */
152
+
153
+ /**
154
+ * @typedef SlingshotConfigurationDetail
155
+ * @property {SlingshotIntegration} [integration]
156
+ * @property {GCompany[]} [companies]
157
+ */
158
+
159
+ /**
160
+ * @typedef SlingshotIntegration
161
+ * @property {string} [_id]
162
+ * @property {string} [description]
163
+ * @property {string} [name]
164
+ * @property {string} [slug]
165
+ * @property {Metum[]} [meta]
166
+ */
167
+
168
+ /**
169
+ * @typedef StoreData
170
+ * @property {string} [location_id]
16
171
  */
17
172
 
18
173
  /**
19
174
  * @typedef AWSS3config
20
- * @property {string} [access_key]
21
- * @property {boolean} [archive]
22
- * @property {ArchiveConfig} [archive_config]
23
- * @property {string} [archive_path]
24
175
  * @property {string} [bucket]
25
- * @property {boolean} [delete]
26
- * @property {string} [dir]
27
- * @property {string} [file_regex]
28
- * @property {string} [local_file_path]
29
176
  * @property {string} [region]
177
+ * @property {string} [dir]
178
+ * @property {string} [access_key]
30
179
  * @property {string} [secret_key]
180
+ * @property {string} [local_file_path]
181
+ * @property {string} [archive_path]
182
+ * @property {boolean} [archive]
183
+ * @property {boolean} [delete]
31
184
  * @property {boolean} [unzip]
32
185
  * @property {string} [zip_format]
186
+ * @property {string} [file_regex]
187
+ * @property {ArchiveConfig} [archive_config]
188
+ */
189
+
190
+ /**
191
+ * @typedef ArchiveConfig
192
+ * @property {boolean} [delete]
193
+ * @property {boolean} [archive]
194
+ * @property {string} [archive_dir]
195
+ */
196
+
197
+ /**
198
+ * @typedef Audit
199
+ * @property {string} [created_by]
200
+ * @property {string} [modified_by]
201
+ * @property {string} [created_on]
202
+ * @property {string} [modified_on]
33
203
  */
34
204
 
35
205
  /**
@@ -40,35 +210,26 @@ const Joi = require("joi");
40
210
  /**
41
211
  * @typedef CompanyConfig
42
212
  * @property {number} [company_id]
43
- * @property {number} [delete_quantity_threshold]
44
213
  * @property {number[]} [exclude_steps]
45
214
  * @property {string[]} [hidden_closet_keys]
46
215
  * @property {Object} [open_tags]
47
216
  * @property {string[]} [tax_identifiers]
48
- */
49
-
50
- /**
51
- * @typedef DataTresholdDTO
52
- * @property {number} [min_price]
53
- * @property {number} [period_threshold]
54
- * @property {string} [period_threshold_type]
55
- * @property {GenericDTO[]} [period_type_list]
56
- * @property {number} [safe_stock]
217
+ * @property {number} [delete_quantity_threshold]
57
218
  */
58
219
 
59
220
  /**
60
221
  * @typedef DBConfig
222
+ * @property {string} [vendor]
223
+ * @property {string} [host]
224
+ * @property {number} [port]
225
+ * @property {string} [username]
226
+ * @property {string} [password]
61
227
  * @property {string} [dbname]
228
+ * @property {string} [query]
229
+ * @property {boolean} [procedure]
62
230
  * @property {string} [driver_class]
63
- * @property {string} [host]
64
231
  * @property {string} [jdbc_url]
65
232
  * @property {Object} [optional_properties]
66
- * @property {string} [password]
67
- * @property {number} [port]
68
- * @property {boolean} [procedure]
69
- * @property {string} [query]
70
- * @property {string} [username]
71
- * @property {string} [vendor]
72
233
  */
73
234
 
74
235
  /**
@@ -83,243 +244,147 @@ const Joi = require("joi");
83
244
 
84
245
  /**
85
246
  * @typedef DefaultHeadersDTO
247
+ * @property {PropBeanDTO} [store]
86
248
  * @property {PropBeanDTO} [intf_article_id]
87
249
  * @property {PropBeanDTO} [price_effective]
88
250
  * @property {PropBeanDTO} [quantity]
89
- * @property {PropBeanDTO} [store]
90
251
  */
91
252
 
92
253
  /**
93
254
  * @typedef DocMappingConfig
94
- * @property {DefaultHeadersDTO} [default_headers]
255
+ * @property {Object} [properties]
95
256
  * @property {number} [junk_data_threshold_count]
96
257
  * @property {PropBeanConfig[]} [prop_bean_configs]
97
- * @property {Object} [properties]
98
258
  * @property {string} [unwind_field]
259
+ * @property {DefaultHeadersDTO} [default_headers]
99
260
  */
100
261
 
101
262
  /**
102
263
  * @typedef EmailConfig
103
- * @property {ArchiveConfig} [archive_config]
104
- * @property {boolean} [attachment_mandate]
105
- * @property {string} [attachment_regex]
106
- * @property {string} [body_content_regex]
107
- * @property {string} [content_type]
108
- * @property {boolean} [downloadable_link]
109
- * @property {boolean} [filter_based_on_recepients]
110
- * @property {boolean} [filter_files_after_extraction]
111
- * @property {string[]} [folder_name_hierarchies]
264
+ * @property {string} [recepient]
112
265
  * @property {string} [host]
113
- * @property {string} [local_dir]
266
+ * @property {string} [username]
114
267
  * @property {string} [password]
115
- * @property {boolean} [password_protected]
116
- * @property {string} [pcol]
117
- * @property {Object} [properties]
118
- * @property {boolean} [read_all_unread_mails]
268
+ * @property {boolean} [unzip]
119
269
  * @property {boolean} [read_from_content]
120
- * @property {string} [recepient]
121
- * @property {string} [sender_address]
270
+ * @property {boolean} [filter_based_on_recepients]
271
+ * @property {string} [pcol]
122
272
  * @property {string} [subject_line_regex]
123
- * @property {boolean} [unzip]
124
- * @property {string} [username]
273
+ * @property {string} [sender_address]
274
+ * @property {string} [local_dir]
275
+ * @property {string[]} [folder_name_hierarchies]
276
+ * @property {string} [attachment_regex]
277
+ * @property {string} [body_content_regex]
278
+ * @property {boolean} [password_protected]
125
279
  * @property {string} [zip_format]
126
- */
127
-
128
- /**
129
- * @typedef FileConfig
130
- * @property {string} [charset]
131
- * @property {number} [data_start_index]
132
- * @property {DefaultHeadersDTO} [default_headers]
133
- * @property {string} [delimiter]
134
- * @property {string} [escape_char]
135
- * @property {boolean} [file_has_header]
136
- * @property {string} [file_type]
137
- * @property {string[]} [header_array]
138
- * @property {number} [header_index]
139
- * @property {number} [junk_data_threshold_count]
140
- * @property {boolean} [line_validity_check]
141
- * @property {PropBeanConfig[]} [prop_bean_configs]
280
+ * @property {boolean} [attachment_mandate]
281
+ * @property {boolean} [filter_files_after_extraction]
282
+ * @property {ArchiveConfig} [archive_config]
283
+ * @property {boolean} [read_all_unread_mails]
284
+ * @property {string} [content_type]
285
+ * @property {boolean} [downloadable_link]
142
286
  * @property {Object} [properties]
143
- * @property {string} [quote_char]
144
- * @property {boolean} [read_all_sheets]
145
- * @property {string[]} [sheet_names]
146
287
  */
147
288
 
148
289
  /**
149
290
  * @typedef FTPConfig
150
- * @property {ArchiveConfig} [archive_config]
151
- * @property {string} [file_regex]
152
291
  * @property {string} [host]
292
+ * @property {number} [port]
293
+ * @property {string} [username]
294
+ * @property {string} [password]
295
+ * @property {boolean} [unzip]
296
+ * @property {number} [retries]
153
297
  * @property {number} [interval]
154
298
  * @property {string} [local_dir]
155
- * @property {string} [password]
156
- * @property {number} [port]
157
- * @property {boolean} [read_all_files]
158
299
  * @property {string} [remote_dir]
159
- * @property {number} [retries]
160
- * @property {boolean} [unzip]
161
- * @property {string} [username]
162
300
  * @property {string} [zip_file_regex]
301
+ * @property {ArchiveConfig} [archive_config]
302
+ * @property {string} [file_regex]
163
303
  * @property {string} [zip_format]
304
+ * @property {boolean} [read_all_files]
164
305
  */
165
306
 
166
307
  /**
167
- * @typedef GCompany
168
- * @property {string} [_id]
169
- * @property {string} [integration]
170
- * @property {string} [level]
171
- * @property {string} [name]
172
- * @property {boolean} [opted]
173
- * @property {string[]} [permissions]
174
- * @property {GStore[]} [stores]
175
- * @property {string} [token]
176
- * @property {number} [uid]
177
- */
178
-
179
- /**
180
- * @typedef GenericDTO
181
- * @property {string} [text]
182
- * @property {Object} [value]
308
+ * @typedef FileConfig
309
+ * @property {string} [delimiter]
310
+ * @property {string} [charset]
311
+ * @property {Object} [properties]
312
+ * @property {boolean} [file_has_header]
313
+ * @property {number} [header_index]
314
+ * @property {string[]} [header_array]
315
+ * @property {number} [data_start_index]
316
+ * @property {PropBeanConfig[]} [prop_bean_configs]
317
+ * @property {number} [junk_data_threshold_count]
318
+ * @property {string} [file_type]
319
+ * @property {boolean} [line_validity_check]
320
+ * @property {string[]} [sheet_names]
321
+ * @property {boolean} [read_all_sheets]
322
+ * @property {string} [quote_char]
323
+ * @property {string} [escape_char]
324
+ * @property {DefaultHeadersDTO} [default_headers]
183
325
  */
184
326
 
185
327
  /**
186
328
  * @typedef GoogleSpreadSheetConfig
187
- * @property {ArchiveConfig} [archive_config]
329
+ * @property {string} [range]
330
+ * @property {string} [sheet_id]
188
331
  * @property {string} [client_secret_location]
189
332
  * @property {string} [cred_storage_directory]
190
333
  * @property {string} [local_dir]
191
- * @property {string} [range]
192
- * @property {string} [sheet_id]
193
- */
194
-
195
- /**
196
- * @typedef GStore
197
- * @property {string} [_id]
198
- * @property {string} [code]
199
- * @property {StoreData} [data]
200
- * @property {string} [integration]
201
- * @property {string} [level]
202
- * @property {string} [name]
203
- * @property {boolean} [opted]
204
- * @property {string[]} [permissions]
205
- * @property {string} [token]
206
- * @property {number} [uid]
334
+ * @property {ArchiveConfig} [archive_config]
207
335
  */
208
336
 
209
337
  /**
210
338
  * @typedef HttpConfig
211
- * @property {ArchiveConfig} [archive_config]
212
339
  * @property {string} [hosturl]
213
- * @property {string} [http_method]
214
- * @property {string} [local_path]
340
+ * @property {string} [username]
215
341
  * @property {string} [password]
216
342
  * @property {Object} [request_params]
343
+ * @property {string} [http_method]
217
344
  * @property {string} [request_payload]
218
- * @property {string} [username]
345
+ * @property {string} [local_path]
346
+ * @property {ArchiveConfig} [archive_config]
219
347
  */
220
348
 
221
349
  /**
222
350
  * @typedef JobConfig
223
351
  * @property {number} [_id]
224
- * @property {string[]} [aggregator_types]
225
- * @property {string} [alias]
226
- * @property {Audit} [audit]
227
- * @property {CatalogMasterConfig} [catalog_master_config]
352
+ * @property {string} [job_code]
353
+ * @property {string} [task_type]
354
+ * @property {number} [sync_delay]
355
+ * @property {string} [cron_expression]
356
+ * @property {StoreFilter} [store_filter]
357
+ * @property {ProcessConfig} [process_config]
358
+ * @property {StoreConfig[]} [store_config]
359
+ * @property {Object} [properties]
360
+ * @property {boolean} [immediate_first_run]
361
+ * @property {boolean} [disable]
362
+ * @property {string[]} [dependent_job_codes]
228
363
  * @property {CompanyConfig[]} [company_config]
229
364
  * @property {number[]} [company_ids]
230
- * @property {string} [cron_expression]
365
+ * @property {string[]} [tax_identifiers]
366
+ * @property {string} [priority]
367
+ * @property {number} [period_threshold]
368
+ * @property {string} [period_threshold_type]
231
369
  * @property {DBConnectionProfile} [db_connection_profile]
370
+ * @property {Object} [params]
371
+ * @property {Object} [open_tags]
232
372
  * @property {number} [delete_quantity_threshold]
233
- * @property {string[]} [dependent_job_codes]
234
- * @property {boolean} [disable]
235
- * @property {boolean} [immediate_first_run]
373
+ * @property {CatalogMasterConfig} [catalog_master_config]
374
+ * @property {string[]} [aggregator_types]
236
375
  * @property {string} [integration_type]
237
- * @property {string} [job_code]
238
376
  * @property {number} [min_price]
239
- * @property {Object} [open_tags]
240
- * @property {Object} [params]
241
- * @property {number} [period_threshold]
242
- * @property {string} [period_threshold_type]
243
- * @property {string} [priority]
244
- * @property {ProcessConfig} [process_config]
245
- * @property {Object} [properties]
246
- * @property {StoreConfig[]} [store_config]
247
- * @property {StoreFilter} [store_filter]
248
- * @property {number} [sync_delay]
249
- * @property {string} [task_type]
250
- * @property {string[]} [tax_identifiers]
377
+ * @property {Audit} [audit]
251
378
  * @property {number} [version]
252
- */
253
-
254
- /**
255
- * @typedef JobConfigDTO
256
- * @property {string} [alias]
257
- * @property {number} company_id
258
- * @property {string} [company_name]
259
- * @property {string} integration
260
- * @property {Object} [integration_data]
261
- * @property {string} [job_code]
262
- * @property {TaskDTO} [task_details]
263
- * @property {DataTresholdDTO} [threshold_details]
264
- */
265
-
266
- /**
267
- * @typedef JobConfigListDTO
268
- * @property {boolean} [active]
269
379
  * @property {string} [alias]
270
- * @property {string} [code]
271
- * @property {string} [created_by]
272
- * @property {string} [created_on]
273
- * @property {string} [modified_by]
274
- * @property {string} [modified_on]
275
- * @property {string} [type]
276
380
  */
277
381
 
278
382
  /**
279
383
  * @typedef JobConfigRawDTO
280
- * @property {number} company_id
281
384
  * @property {string} company_name
282
- * @property {JobConfig} [data]
283
385
  * @property {string} integration
284
- */
285
-
286
- /**
287
- * @typedef JobHistoryDto
288
- * @property {string} [error_type]
289
- * @property {string[]} [filename]
290
- * @property {string} [job_code]
291
- * @property {number} [job_id]
292
- * @property {string} [message]
293
- * @property {string} [processed_on]
294
- * @property {string} [status]
295
- * @property {number} [total_added_count]
296
- * @property {number} [total_initial_count]
297
- * @property {number} [total_suppressed_count]
298
- * @property {number} [total_updated_count]
299
- */
300
-
301
- /**
302
- * @typedef JobMetricsDto
303
- * @property {string} [is_run_more_than_usual]
304
- * @property {string} [job_code]
305
- * @property {JobHistoryDto[]} [job_history]
306
- * @property {number} [total_failure_count]
307
- * @property {number} [total_job_runs]
308
- * @property {number} [total_success_count]
309
- * @property {number} [total_suppressed_count]
310
- * @property {number} [total_warning_count]
311
- */
312
-
313
- /**
314
- * @typedef JobStepsDTO
315
- * @property {number} [deleted_count]
316
- * @property {number} [end_count]
317
- * @property {string} [processed_at]
318
- * @property {string} [processed_start_time]
319
- * @property {number} [start_count]
320
- * @property {number} [step_execution_time]
321
- * @property {string} [step_name]
322
- * @property {string} [type]
386
+ * @property {number} company_id
387
+ * @property {JobConfig} [data]
323
388
  */
324
389
 
325
390
  /**
@@ -327,419 +392,564 @@ const Joi = require("joi");
327
392
  * @property {PropBeanConfig[]} [prop_bean_configs]
328
393
  */
329
394
 
330
- /**
331
- * @typedef KafkaMetaModel
332
- * @property {string} [action]
333
- * @property {number} [batch_id]
334
- * @property {string} [created_on]
335
- * @property {number} [created_timestamp]
336
- * @property {string} [job_type]
337
- * @property {string[]} [trace]
338
- */
339
-
340
- /**
341
- * @typedef KafkaResponse
342
- * @property {number} [offset]
343
- * @property {number} [partition]
344
- */
345
-
346
395
  /**
347
396
  * @typedef LocalFileConfig
348
- * @property {ArchiveConfig} [archive_config]
349
- * @property {string} [file_regex]
397
+ * @property {number} [retries]
350
398
  * @property {number} [interval]
351
399
  * @property {string} [local_dir]
352
- * @property {boolean} [read_all_files]
353
- * @property {number} [retries]
354
- * @property {boolean} [unzip]
355
400
  * @property {string} [working_dir]
401
+ * @property {boolean} [unzip]
356
402
  * @property {string} [zip_file_regex]
403
+ * @property {string} [file_regex]
357
404
  * @property {string} [zip_format]
358
- */
359
-
360
- /**
361
- * @typedef Metum
362
- * @property {string} [_id]
363
- * @property {string} [name]
364
- * @property {string} [value]
405
+ * @property {ArchiveConfig} [archive_config]
406
+ * @property {boolean} [read_all_files]
365
407
  */
366
408
 
367
409
  /**
368
410
  * @typedef MongoDocConfig
369
- * @property {Object[]} [aggregate_pipeline]
370
411
  * @property {string} [collection_name]
371
412
  * @property {Object} [find_query]
372
413
  * @property {Object} [projection_query]
373
414
  * @property {PropBeanConfig[]} [prop_bean_configs]
415
+ * @property {Object[]} [aggregate_pipeline]
374
416
  * @property {boolean} [skip_save]
375
417
  */
376
418
 
377
419
  /**
378
420
  * @typedef OAuthConfig
379
- * @property {string} [consumer_key]
380
- * @property {string} [consumer_secret]
381
- * @property {string} [function_name]
382
- * @property {number} [interval]
383
421
  * @property {number} [limit]
384
422
  * @property {number} [pages]
385
- * @property {string} [rest_base_url]
386
- * @property {string} [rest_url]
423
+ * @property {number} [interval]
424
+ * @property {string} [consumer_key]
425
+ * @property {string} [consumer_secret]
387
426
  * @property {string} [token]
388
427
  * @property {string} [token_secret]
389
- */
390
-
391
- /**
392
- * @typedef Page
393
- * @property {number} [current]
394
- * @property {boolean} [has_next]
395
- * @property {boolean} [has_previous]
396
- * @property {number} [item_total]
397
- * @property {string} [next_id]
398
- * @property {number} [size]
399
- * @property {string} type
428
+ * @property {string} [rest_url]
429
+ * @property {string} [rest_base_url]
430
+ * @property {string} [function_name]
400
431
  */
401
432
 
402
433
  /**
403
434
  * @typedef ProcessConfig
404
- * @property {AWSS3config} [aws_s3_config]
405
435
  * @property {DBConfig} [db_config]
406
436
  * @property {DBParamConfig} [db_param_config]
407
- * @property {DocMappingConfig} [doc_mapping_config]
437
+ * @property {SFTPConfig} [sftp_config]
438
+ * @property {AWSS3config} [aws_s3_config]
439
+ * @property {MongoDocConfig} [mongo_doc_config]
440
+ * @property {FTPConfig} [ftp_config]
408
441
  * @property {EmailConfig} [email_config]
409
442
  * @property {FileConfig} [file_config]
410
- * @property {FTPConfig} [ftp_config]
411
- * @property {GoogleSpreadSheetConfig} [google_spreadsheet_config]
412
- * @property {HttpConfig} [http_config]
413
443
  * @property {JsonDocConfig} [json_doc_config]
444
+ * @property {DocMappingConfig} [doc_mapping_config]
445
+ * @property {TaskStepConfig} [task_step_config]
446
+ * @property {HttpConfig} [http_config]
414
447
  * @property {LocalFileConfig} [local_file_config]
415
- * @property {MongoDocConfig} [mongo_doc_config]
416
448
  * @property {OAuthConfig} [oauth_config]
417
- * @property {SFTPConfig} [sftp_config]
418
- * @property {TaskStepConfig} [task_step_config]
449
+ * @property {GoogleSpreadSheetConfig} [google_spreadsheet_config]
419
450
  */
420
451
 
421
452
  /**
422
453
  * @typedef PropBeanConfig
423
- * @property {string} [all_param_function_name]
424
- * @property {string} [concat_str]
425
- * @property {Object} [const_value]
426
- * @property {string} [data_type]
427
- * @property {Object} [default_value]
428
- * @property {string} [destination_field]
429
- * @property {boolean} [enrich_from_master]
430
- * @property {string} [function_name]
431
- * @property {string} [identifier_type]
432
- * @property {boolean} [ignore_if_not_exists]
433
- * @property {boolean} [include]
434
- * @property {string} [index_field]
435
- * @property {boolean} [optional]
436
- * @property {Object} [projection_query]
437
454
  * @property {boolean} [required]
455
+ * @property {boolean} [optional]
438
456
  * @property {Send} [send]
457
+ * @property {Object[]} [validations]
458
+ * @property {string[]} [values]
459
+ * @property {boolean} [include]
439
460
  * @property {string} [source_field]
440
461
  * @property {string[]} [source_fields]
441
- * @property {string} [sub_separator]
462
+ * @property {string} [destination_field]
463
+ * @property {string} [data_type]
464
+ * @property {Object} [default_value]
465
+ * @property {Object} [const_value]
466
+ * @property {string} [concat_str]
467
+ * @property {string} [function_name]
442
468
  * @property {string} [transformer_name]
443
- * @property {Object[]} [validations]
444
- * @property {string[]} [values]
469
+ * @property {string} [all_param_function_name]
470
+ * @property {string} [sub_separator]
471
+ * @property {string} [index_field]
472
+ * @property {boolean} [ignore_if_not_exists]
473
+ * @property {string} [identifier_type]
474
+ * @property {Object} [projection_query]
475
+ * @property {boolean} [enrich_from_master]
445
476
  */
446
477
 
447
478
  /**
448
479
  * @typedef PropBeanDTO
449
- * @property {string} [all_param_function_name]
450
- * @property {string} [concat_str]
451
- * @property {Object} [const_value]
480
+ * @property {boolean} [required]
481
+ * @property {boolean} [optional]
482
+ * @property {boolean} [include]
483
+ * @property {string} [source_field]
484
+ * @property {string[]} [source_fields]
485
+ * @property {string} [destination_field]
452
486
  * @property {string} [data_type]
453
487
  * @property {Object} [default_value]
454
- * @property {string} [destination_field]
455
- * @property {boolean} [enrich_from_master]
488
+ * @property {Object} [const_value]
489
+ * @property {string} [concat_str]
456
490
  * @property {string} [function_name]
457
- * @property {string} [identifier_type]
458
- * @property {boolean} [ignore_if_not_exists]
459
- * @property {boolean} [include]
491
+ * @property {string} [transformer_name]
492
+ * @property {string} [all_param_function_name]
493
+ * @property {string} [sub_separator]
460
494
  * @property {string} [index_field]
461
- * @property {boolean} [optional]
495
+ * @property {boolean} [ignore_if_not_exists]
496
+ * @property {string} [identifier_type]
462
497
  * @property {Object} [projection_query]
463
- * @property {boolean} [required]
464
- * @property {string} [source_field]
465
- * @property {string[]} [source_fields]
466
- * @property {string} [sub_separator]
467
- * @property {string} [transformer_name]
498
+ * @property {boolean} [enrich_from_master]
468
499
  */
469
500
 
470
501
  /**
471
- * @typedef ResponseEnvelopeJobConfigDTO
502
+ * @typedef ResponseEnvelopeListJobConfigRawDTO
503
+ * @property {string} [timestamp]
504
+ * @property {number} [status]
472
505
  * @property {string} [error]
473
506
  * @property {string} [exception]
474
- * @property {string} [http_status]
475
- * @property {JobConfigDTO} [items]
476
507
  * @property {string} [message]
477
- * @property {Page} [page]
478
- * @property {JobConfigDTO} [payload]
479
- * @property {number} [status]
480
- * @property {string} [timestamp]
481
508
  * @property {number} [total_time_taken_in_millis]
509
+ * @property {string} [http_status]
510
+ * @property {JobConfigRawDTO[]} [items]
511
+ * @property {JobConfigRawDTO[]} [payload]
482
512
  * @property {string} [trace_id]
513
+ * @property {Page} [page]
483
514
  */
484
515
 
485
516
  /**
486
- * @typedef ResponseEnvelopeJobMetricsDto
487
- * @property {string} [error]
488
- * @property {string} [exception]
489
- * @property {string} [http_status]
490
- * @property {JobMetricsDto} [items]
491
- * @property {string} [message]
492
- * @property {Page} [page]
493
- * @property {JobMetricsDto} [payload]
494
- * @property {number} [status]
495
- * @property {string} [timestamp]
496
- * @property {number} [total_time_taken_in_millis]
497
- * @property {string} [trace_id]
517
+ * @typedef SFTPConfig
518
+ * @property {string} [host]
519
+ * @property {number} [port]
520
+ * @property {string} [username]
521
+ * @property {string} [password]
522
+ * @property {boolean} [unzip]
523
+ * @property {number} [retries]
524
+ * @property {number} [interval]
525
+ * @property {string} [private_key_path]
526
+ * @property {boolean} [strict_host_key_checking]
527
+ * @property {string} [local_dir]
528
+ * @property {string} [remote_dir]
529
+ * @property {boolean} [password_protected]
530
+ * @property {string} [zip_file_regex]
531
+ * @property {string} [file_regex]
532
+ * @property {string} [zip_format]
533
+ * @property {ArchiveConfig} [archive_config]
534
+ * @property {boolean} [read_all_files]
498
535
  */
499
536
 
500
537
  /**
501
- * @typedef ResponseEnvelopeKafkaResponse
502
- * @property {string} [error]
503
- * @property {string} [exception]
504
- * @property {string} [http_status]
505
- * @property {KafkaResponse} [items]
506
- * @property {string} [message]
507
- * @property {Page} [page]
508
- * @property {KafkaResponse} [payload]
509
- * @property {number} [status]
510
- * @property {string} [timestamp]
511
- * @property {number} [total_time_taken_in_millis]
512
- * @property {string} [trace_id]
538
+ * @typedef Send
539
+ * @property {boolean} [raw]
540
+ * @property {boolean} [processed]
513
541
  */
514
542
 
515
543
  /**
516
- * @typedef ResponseEnvelopeListJobConfigDTO
517
- * @property {string} [error]
518
- * @property {string} [exception]
519
- * @property {string} [http_status]
520
- * @property {JobConfigDTO[]} [items]
521
- * @property {string} [message]
522
- * @property {Page} [page]
523
- * @property {JobConfigDTO[]} [payload]
524
- * @property {number} [status]
525
- * @property {string} [timestamp]
526
- * @property {number} [total_time_taken_in_millis]
527
- * @property {string} [trace_id]
544
+ * @typedef StoreConfig
545
+ * @property {string} [job_code]
546
+ * @property {string} [storeid]
547
+ * @property {string} [store_alias]
548
+ * @property {string} [store_file_regex]
549
+ * @property {string} [store_file_name]
550
+ * @property {ProcessConfig} [process_config]
551
+ * @property {Object} [properties]
528
552
  */
529
553
 
530
554
  /**
531
- * @typedef ResponseEnvelopeListJobConfigListDTO
532
- * @property {string} [error]
533
- * @property {string} [exception]
534
- * @property {string} [http_status]
535
- * @property {JobConfigListDTO[]} [items]
536
- * @property {string} [message]
537
- * @property {Page} [page]
538
- * @property {JobConfigListDTO[]} [payload]
539
- * @property {number} [status]
540
- * @property {string} [timestamp]
541
- * @property {number} [total_time_taken_in_millis]
542
- * @property {string} [trace_id]
555
+ * @typedef StoreFilter
556
+ * @property {string[]} [include_tags]
557
+ * @property {string[]} [exclude_tags]
558
+ * @property {Object} [query]
543
559
  */
544
560
 
545
561
  /**
546
- * @typedef ResponseEnvelopeListJobConfigRawDTO
547
- * @property {string} [error]
548
- * @property {string} [exception]
549
- * @property {string} [http_status]
550
- * @property {JobConfigRawDTO[]} [items]
551
- * @property {string} [message]
552
- * @property {Page} [page]
553
- * @property {JobConfigRawDTO[]} [payload]
554
- * @property {number} [status]
555
- * @property {string} [timestamp]
556
- * @property {number} [total_time_taken_in_millis]
557
- * @property {string} [trace_id]
562
+ * @typedef TaskConfig
563
+ * @property {string} [name]
564
+ * @property {number} [task_config_id]
565
+ * @property {TaskParam[]} [task_params]
566
+ */
567
+
568
+ /**
569
+ * @typedef TaskParam
570
+ * @property {string} [name]
571
+ * @property {Object} [value]
572
+ */
573
+
574
+ /**
575
+ * @typedef TaskStepConfig
576
+ * @property {TaskConfig[]} [task_configs]
577
+ * @property {number[]} [task_config_ids]
578
+ * @property {number[]} [task_config_group_ids]
579
+ */
580
+
581
+ /**
582
+ * @typedef JobStepsDTO
583
+ * @property {string} [step_name]
584
+ * @property {string} [type]
585
+ * @property {number} [step_execution_time]
586
+ * @property {number} [start_count]
587
+ * @property {number} [end_count]
588
+ * @property {number} [deleted_count]
589
+ * @property {string} [processed_start_time]
590
+ * @property {string} [processed_at]
558
591
  */
559
592
 
560
593
  /**
561
594
  * @typedef ResponseEnvelopeListJobStepsDTO
595
+ * @property {string} [timestamp]
596
+ * @property {number} [status]
562
597
  * @property {string} [error]
563
598
  * @property {string} [exception]
599
+ * @property {string} [message]
600
+ * @property {number} [total_time_taken_in_millis]
564
601
  * @property {string} [http_status]
565
602
  * @property {JobStepsDTO[]} [items]
566
- * @property {string} [message]
567
- * @property {Page} [page]
568
603
  * @property {JobStepsDTO[]} [payload]
569
- * @property {number} [status]
570
- * @property {string} [timestamp]
571
- * @property {number} [total_time_taken_in_millis]
572
604
  * @property {string} [trace_id]
605
+ * @property {Page} [page]
573
606
  */
574
607
 
575
608
  /**
576
- * @typedef ResponseEnvelopeListSlingshotConfigurationDetail
609
+ * @typedef ResponseEnvelopeListJobConfigDTO
610
+ * @property {string} [timestamp]
611
+ * @property {number} [status]
577
612
  * @property {string} [error]
578
613
  * @property {string} [exception]
579
- * @property {string} [http_status]
580
- * @property {SlingshotConfigurationDetail[]} [items]
581
614
  * @property {string} [message]
582
- * @property {Page} [page]
583
- * @property {SlingshotConfigurationDetail[]} [payload]
584
- * @property {number} [status]
585
- * @property {string} [timestamp]
586
615
  * @property {number} [total_time_taken_in_millis]
616
+ * @property {string} [http_status]
617
+ * @property {JobConfigDTO[]} [items]
618
+ * @property {JobConfigDTO[]} [payload]
587
619
  * @property {string} [trace_id]
620
+ * @property {Page} [page]
588
621
  */
589
622
 
590
623
  /**
591
- * @typedef ResponseEnvelopeString
624
+ * @typedef ResponseEnvelopeJobConfigDTO
625
+ * @property {string} [timestamp]
626
+ * @property {number} [status]
592
627
  * @property {string} [error]
593
628
  * @property {string} [exception]
594
- * @property {string} [http_status]
595
- * @property {string} [items]
596
629
  * @property {string} [message]
597
- * @property {Page} [page]
598
- * @property {string} [payload]
599
- * @property {number} [status]
600
- * @property {string} [timestamp]
601
630
  * @property {number} [total_time_taken_in_millis]
631
+ * @property {string} [http_status]
632
+ * @property {JobConfigDTO} [items]
633
+ * @property {JobConfigDTO} [payload]
602
634
  * @property {string} [trace_id]
635
+ * @property {Page} [page]
603
636
  */
604
637
 
605
638
  /**
606
- * @typedef Send
607
- * @property {boolean} [processed]
608
- * @property {boolean} [raw]
639
+ * @typedef JobHistoryDto
640
+ * @property {number} [total_added_count]
641
+ * @property {number} [total_updated_count]
642
+ * @property {number} [total_suppressed_count]
643
+ * @property {number} [total_initial_count]
644
+ * @property {number} [job_id]
645
+ * @property {string} [status]
646
+ * @property {string} [job_code]
647
+ * @property {string} [processed_on]
648
+ * @property {string[]} [filename]
649
+ * @property {string} [error_type]
650
+ * @property {string} [message]
609
651
  */
610
652
 
611
653
  /**
612
- * @typedef SFTPConfig
613
- * @property {ArchiveConfig} [archive_config]
614
- * @property {string} [file_regex]
615
- * @property {string} [host]
616
- * @property {number} [interval]
617
- * @property {string} [local_dir]
618
- * @property {string} [password]
619
- * @property {boolean} [password_protected]
620
- * @property {number} [port]
621
- * @property {string} [private_key_path]
622
- * @property {boolean} [read_all_files]
623
- * @property {string} [remote_dir]
624
- * @property {number} [retries]
625
- * @property {boolean} [strict_host_key_checking]
626
- * @property {boolean} [unzip]
627
- * @property {string} [username]
628
- * @property {string} [zip_file_regex]
629
- * @property {string} [zip_format]
654
+ * @typedef JobMetricsDto
655
+ * @property {string} [job_code]
656
+ * @property {string} [is_run_more_than_usual]
657
+ * @property {JobHistoryDto[]} [job_history]
658
+ * @property {number} [total_success_count]
659
+ * @property {number} [total_failure_count]
660
+ * @property {number} [total_warning_count]
661
+ * @property {number} [total_suppressed_count]
662
+ * @property {number} [total_job_runs]
630
663
  */
631
664
 
632
665
  /**
633
- * @typedef SlingshotConfigurationDetail
634
- * @property {GCompany[]} [companies]
635
- * @property {SlingshotIntegration} [integration]
666
+ * @typedef ResponseEnvelopeJobMetricsDto
667
+ * @property {string} [timestamp]
668
+ * @property {number} [status]
669
+ * @property {string} [error]
670
+ * @property {string} [exception]
671
+ * @property {string} [message]
672
+ * @property {number} [total_time_taken_in_millis]
673
+ * @property {string} [http_status]
674
+ * @property {JobMetricsDto} [items]
675
+ * @property {JobMetricsDto} [payload]
676
+ * @property {string} [trace_id]
677
+ * @property {Page} [page]
636
678
  */
637
679
 
638
680
  /**
639
- * @typedef SlingshotIntegration
640
- * @property {string} [_id]
641
- * @property {string} [description]
642
- * @property {Metum[]} [meta]
643
- * @property {string} [name]
644
- * @property {string} [slug]
681
+ * @typedef JobConfigListDTO
682
+ * @property {string} [code]
683
+ * @property {string} [alias]
684
+ * @property {string} [modified_by]
685
+ * @property {string} [created_by]
686
+ * @property {string} [modified_on]
687
+ * @property {string} [created_on]
688
+ * @property {boolean} [active]
689
+ * @property {string} [type]
645
690
  */
646
691
 
647
692
  /**
648
- * @typedef StoreConfig
649
- * @property {string} [job_code]
650
- * @property {ProcessConfig} [process_config]
651
- * @property {Object} [properties]
652
- * @property {string} [store_alias]
653
- * @property {string} [store_file_name]
654
- * @property {string} [store_file_regex]
655
- * @property {string} [storeid]
693
+ * @typedef ResponseEnvelopeListJobConfigListDTO
694
+ * @property {string} [timestamp]
695
+ * @property {number} [status]
696
+ * @property {string} [error]
697
+ * @property {string} [exception]
698
+ * @property {string} [message]
699
+ * @property {number} [total_time_taken_in_millis]
700
+ * @property {string} [http_status]
701
+ * @property {JobConfigListDTO[]} [items]
702
+ * @property {JobConfigListDTO[]} [payload]
703
+ * @property {string} [trace_id]
704
+ * @property {Page} [page]
656
705
  */
657
706
 
658
- /**
659
- * @typedef StoreData
660
- * @property {string} [location_id]
661
- */
707
+ class InventoryPlatformModel {
708
+ /** @returns {DataTresholdDTO} */
709
+ static DataTresholdDTO() {
710
+ return Joi.object({
711
+ min_price: Joi.number(),
712
+ safe_stock: Joi.number(),
713
+ period_threshold: Joi.number(),
714
+ period_threshold_type: Joi.string().allow(""),
715
+ period_type_list: Joi.array().items(InventoryPlatformModel.GenericDTO()),
716
+ });
717
+ }
662
718
 
663
- /**
664
- * @typedef StoreFilter
665
- * @property {string[]} [exclude_tags]
666
- * @property {string[]} [include_tags]
667
- * @property {Object} [query]
668
- */
719
+ /** @returns {GenericDTO} */
720
+ static GenericDTO() {
721
+ return Joi.object({
722
+ text: Joi.string().allow(""),
723
+ value: Joi.any(),
724
+ });
725
+ }
669
726
 
670
- /**
671
- * @typedef SuppressStoreModel
672
- * @property {number[]} [stores]
673
- */
727
+ /** @returns {JobConfigDTO} */
728
+ static JobConfigDTO() {
729
+ return Joi.object({
730
+ integration_data: Joi.object().pattern(/\S/, Joi.any()),
731
+ company_name: Joi.string().allow(""),
732
+ integration: Joi.string().allow("").required(),
733
+ company_id: Joi.number().required(),
734
+ task_details: InventoryPlatformModel.TaskDTO(),
735
+ threshold_details: InventoryPlatformModel.DataTresholdDTO(),
736
+ job_code: Joi.string().allow(""),
737
+ alias: Joi.string().allow(""),
738
+ });
739
+ }
674
740
 
675
- /**
676
- * @typedef SuppressStorePayload
677
- * @property {KafkaMetaModel} [meta]
678
- * @property {SuppressStoreModel[]} [payload]
679
- */
741
+ /** @returns {TaskDTO} */
742
+ static TaskDTO() {
743
+ return Joi.object({
744
+ type: Joi.number(),
745
+ group_list: Joi.array().items(InventoryPlatformModel.GenericDTO()),
746
+ });
747
+ }
680
748
 
681
- /**
682
- * @typedef TaskConfig
683
- * @property {string} [name]
684
- * @property {number} [task_config_id]
685
- * @property {TaskParam[]} [task_params]
686
- */
749
+ /** @returns {Page} */
750
+ static Page() {
751
+ return Joi.object({
752
+ item_total: Joi.number(),
753
+ next_id: Joi.string().allow(""),
754
+ has_previous: Joi.boolean(),
755
+ has_next: Joi.boolean(),
756
+ current: Joi.number(),
757
+ type: Joi.string().allow("").required(),
758
+ size: Joi.number(),
759
+ });
760
+ }
687
761
 
688
- /**
689
- * @typedef TaskDTO
690
- * @property {GenericDTO[]} [group_list]
691
- * @property {number} [type]
692
- */
762
+ /** @returns {ResponseEnvelopeString} */
763
+ static ResponseEnvelopeString() {
764
+ return Joi.object({
765
+ timestamp: Joi.string().allow(""),
766
+ status: Joi.number(),
767
+ error: Joi.string().allow(""),
768
+ exception: Joi.string().allow(""),
769
+ message: Joi.string().allow(""),
770
+ total_time_taken_in_millis: Joi.number(),
771
+ http_status: Joi.string().allow(""),
772
+ items: Joi.string().allow(""),
773
+ payload: Joi.string().allow(""),
774
+ trace_id: Joi.string().allow(""),
775
+ page: InventoryPlatformModel.Page(),
776
+ });
777
+ }
693
778
 
694
- /**
695
- * @typedef TaskParam
696
- * @property {string} [name]
697
- * @property {Object} [value]
698
- */
779
+ /** @returns {KafkaMetaModel} */
780
+ static KafkaMetaModel() {
781
+ return Joi.object({
782
+ job_type: Joi.string().allow(""),
783
+ batch_id: Joi.number(),
784
+ action: Joi.string().allow(""),
785
+ trace: Joi.array().items(Joi.string().allow("")),
786
+ created_on: Joi.string().allow(""),
787
+ created_timestamp: Joi.number(),
788
+ });
789
+ }
699
790
 
700
- /**
701
- * @typedef TaskStepConfig
702
- * @property {number[]} [task_config_group_ids]
703
- * @property {number[]} [task_config_ids]
704
- * @property {TaskConfig[]} [task_configs]
705
- */
791
+ /** @returns {SuppressStoreModel} */
792
+ static SuppressStoreModel() {
793
+ return Joi.object({
794
+ stores: Joi.array().items(Joi.number()),
795
+ });
796
+ }
706
797
 
707
- class InventoryPlatformModel {
708
- /** @returns {ArchiveConfig} */
709
- static ArchiveConfig() {
798
+ /** @returns {SuppressStorePayload} */
799
+ static SuppressStorePayload() {
710
800
  return Joi.object({
711
- archive: Joi.boolean(),
712
- archive_dir: Joi.string().allow(""),
713
- delete: Joi.boolean(),
801
+ payload: Joi.array().items(InventoryPlatformModel.SuppressStoreModel()),
802
+ meta: InventoryPlatformModel.KafkaMetaModel(),
714
803
  });
715
804
  }
716
805
 
717
- /** @returns {Audit} */
718
- static Audit() {
806
+ /** @returns {KafkaResponse} */
807
+ static KafkaResponse() {
719
808
  return Joi.object({
720
- created_by: Joi.string().allow(""),
721
- created_on: Joi.string().allow(""),
722
- modified_by: Joi.string().allow(""),
723
- modified_on: Joi.string().allow(""),
809
+ offset: Joi.number(),
810
+ partition: Joi.number(),
811
+ });
812
+ }
813
+
814
+ /** @returns {ResponseEnvelopeKafkaResponse} */
815
+ static ResponseEnvelopeKafkaResponse() {
816
+ return Joi.object({
817
+ timestamp: Joi.string().allow(""),
818
+ status: Joi.number(),
819
+ error: Joi.string().allow(""),
820
+ exception: Joi.string().allow(""),
821
+ message: Joi.string().allow(""),
822
+ total_time_taken_in_millis: Joi.number(),
823
+ http_status: Joi.string().allow(""),
824
+ items: InventoryPlatformModel.KafkaResponse(),
825
+ payload: InventoryPlatformModel.KafkaResponse(),
826
+ trace_id: Joi.string().allow(""),
827
+ page: InventoryPlatformModel.Page(),
828
+ });
829
+ }
830
+
831
+ /** @returns {GCompany} */
832
+ static GCompany() {
833
+ return Joi.object({
834
+ _id: Joi.string().allow(""),
835
+ integration: Joi.string().allow(""),
836
+ level: Joi.string().allow(""),
837
+ uid: Joi.number(),
838
+ opted: Joi.boolean(),
839
+ permissions: Joi.array().items(Joi.string().allow("")),
840
+ token: Joi.string().allow(""),
841
+ name: Joi.string().allow(""),
842
+ stores: Joi.array().items(InventoryPlatformModel.GStore()),
843
+ });
844
+ }
845
+
846
+ /** @returns {GStore} */
847
+ static GStore() {
848
+ return Joi.object({
849
+ _id: Joi.string().allow(""),
850
+ integration: Joi.string().allow(""),
851
+ level: Joi.string().allow(""),
852
+ uid: Joi.number(),
853
+ opted: Joi.boolean(),
854
+ permissions: Joi.array().items(Joi.string().allow("")),
855
+ token: Joi.string().allow(""),
856
+ code: Joi.string().allow(""),
857
+ name: Joi.string().allow(""),
858
+ data: InventoryPlatformModel.StoreData(),
859
+ });
860
+ }
861
+
862
+ /** @returns {Metum} */
863
+ static Metum() {
864
+ return Joi.object({
865
+ _id: Joi.string().allow(""),
866
+ name: Joi.string().allow(""),
867
+ value: Joi.string().allow(""),
868
+ });
869
+ }
870
+
871
+ /** @returns {ResponseEnvelopeListSlingshotConfigurationDetail} */
872
+ static ResponseEnvelopeListSlingshotConfigurationDetail() {
873
+ return Joi.object({
874
+ timestamp: Joi.string().allow(""),
875
+ status: Joi.number(),
876
+ error: Joi.string().allow(""),
877
+ exception: Joi.string().allow(""),
878
+ message: Joi.string().allow(""),
879
+ total_time_taken_in_millis: Joi.number(),
880
+ http_status: Joi.string().allow(""),
881
+ items: Joi.array().items(
882
+ InventoryPlatformModel.SlingshotConfigurationDetail()
883
+ ),
884
+ payload: Joi.array().items(
885
+ InventoryPlatformModel.SlingshotConfigurationDetail()
886
+ ),
887
+ trace_id: Joi.string().allow(""),
888
+ page: InventoryPlatformModel.Page(),
889
+ });
890
+ }
891
+
892
+ /** @returns {SlingshotConfigurationDetail} */
893
+ static SlingshotConfigurationDetail() {
894
+ return Joi.object({
895
+ integration: InventoryPlatformModel.SlingshotIntegration(),
896
+ companies: Joi.array().items(InventoryPlatformModel.GCompany()),
897
+ });
898
+ }
899
+
900
+ /** @returns {SlingshotIntegration} */
901
+ static SlingshotIntegration() {
902
+ return Joi.object({
903
+ _id: Joi.string().allow(""),
904
+ description: Joi.string().allow(""),
905
+ name: Joi.string().allow(""),
906
+ slug: Joi.string().allow(""),
907
+ meta: Joi.array().items(InventoryPlatformModel.Metum()),
908
+ });
909
+ }
910
+
911
+ /** @returns {StoreData} */
912
+ static StoreData() {
913
+ return Joi.object({
914
+ location_id: Joi.string().allow(""),
724
915
  });
725
916
  }
726
917
 
727
918
  /** @returns {AWSS3config} */
728
919
  static AWSS3config() {
729
920
  return Joi.object({
730
- access_key: Joi.string().allow(""),
731
- archive: Joi.boolean(),
732
- archive_config: InventoryPlatformModel.ArchiveConfig(),
733
- archive_path: Joi.string().allow(""),
734
921
  bucket: Joi.string().allow(""),
735
- delete: Joi.boolean(),
736
- dir: Joi.string().allow(""),
737
- file_regex: Joi.string().allow(""),
738
- local_file_path: Joi.string().allow(""),
739
922
  region: Joi.string().allow(""),
923
+ dir: Joi.string().allow(""),
924
+ access_key: Joi.string().allow(""),
740
925
  secret_key: Joi.string().allow(""),
926
+ local_file_path: Joi.string().allow(""),
927
+ archive_path: Joi.string().allow(""),
928
+ archive: Joi.boolean(),
929
+ delete: Joi.boolean(),
741
930
  unzip: Joi.boolean(),
742
931
  zip_format: Joi.string().allow(""),
932
+ file_regex: Joi.string().allow(""),
933
+ archive_config: InventoryPlatformModel.ArchiveConfig(),
934
+ });
935
+ }
936
+
937
+ /** @returns {ArchiveConfig} */
938
+ static ArchiveConfig() {
939
+ return Joi.object({
940
+ delete: Joi.boolean(),
941
+ archive: Joi.boolean(),
942
+ archive_dir: Joi.string().allow(""),
943
+ });
944
+ }
945
+
946
+ /** @returns {Audit} */
947
+ static Audit() {
948
+ return Joi.object({
949
+ created_by: Joi.string().allow(""),
950
+ modified_by: Joi.string().allow(""),
951
+ created_on: Joi.string().allow(""),
952
+ modified_on: Joi.string().allow(""),
743
953
  });
744
954
  }
745
955
 
@@ -754,39 +964,28 @@ class InventoryPlatformModel {
754
964
  static CompanyConfig() {
755
965
  return Joi.object({
756
966
  company_id: Joi.number(),
757
- delete_quantity_threshold: Joi.number(),
758
967
  exclude_steps: Joi.array().items(Joi.number()),
759
968
  hidden_closet_keys: Joi.array().items(Joi.string().allow("")),
760
969
  open_tags: Joi.object().pattern(/\S/, Joi.any()),
761
970
  tax_identifiers: Joi.array().items(Joi.string().allow("")),
762
- });
763
- }
764
-
765
- /** @returns {DataTresholdDTO} */
766
- static DataTresholdDTO() {
767
- return Joi.object({
768
- min_price: Joi.number(),
769
- period_threshold: Joi.number(),
770
- period_threshold_type: Joi.string().allow(""),
771
- period_type_list: Joi.array().items(InventoryPlatformModel.GenericDTO()),
772
- safe_stock: Joi.number(),
971
+ delete_quantity_threshold: Joi.number(),
773
972
  });
774
973
  }
775
974
 
776
975
  /** @returns {DBConfig} */
777
976
  static DBConfig() {
778
977
  return Joi.object({
978
+ vendor: Joi.string().allow(""),
979
+ host: Joi.string().allow(""),
980
+ port: Joi.number(),
981
+ username: Joi.string().allow(""),
982
+ password: Joi.string().allow(""),
779
983
  dbname: Joi.string().allow(""),
984
+ query: Joi.string().allow(""),
985
+ procedure: Joi.boolean(),
780
986
  driver_class: Joi.string().allow(""),
781
- host: Joi.string().allow(""),
782
987
  jdbc_url: Joi.string().allow(""),
783
988
  optional_properties: Joi.object().pattern(/\S/, Joi.string().allow("")),
784
- password: Joi.string().allow(""),
785
- port: Joi.number(),
786
- procedure: Joi.boolean(),
787
- query: Joi.string().allow(""),
788
- username: Joi.string().allow(""),
789
- vendor: Joi.string().allow(""),
790
989
  });
791
990
  }
792
991
 
@@ -807,161 +1006,122 @@ class InventoryPlatformModel {
807
1006
  /** @returns {DefaultHeadersDTO} */
808
1007
  static DefaultHeadersDTO() {
809
1008
  return Joi.object({
1009
+ store: InventoryPlatformModel.PropBeanDTO(),
810
1010
  intf_article_id: InventoryPlatformModel.PropBeanDTO(),
811
1011
  price_effective: InventoryPlatformModel.PropBeanDTO(),
812
1012
  quantity: InventoryPlatformModel.PropBeanDTO(),
813
- store: InventoryPlatformModel.PropBeanDTO(),
814
1013
  });
815
1014
  }
816
1015
 
817
1016
  /** @returns {DocMappingConfig} */
818
1017
  static DocMappingConfig() {
819
1018
  return Joi.object({
820
- default_headers: InventoryPlatformModel.DefaultHeadersDTO(),
1019
+ properties: Joi.object().pattern(/\S/, Joi.any()),
821
1020
  junk_data_threshold_count: Joi.number(),
822
1021
  prop_bean_configs: Joi.array().items(
823
1022
  InventoryPlatformModel.PropBeanConfig()
824
1023
  ),
825
- properties: Joi.object().pattern(/\S/, Joi.any()),
826
1024
  unwind_field: Joi.string().allow(""),
1025
+ default_headers: InventoryPlatformModel.DefaultHeadersDTO(),
827
1026
  });
828
1027
  }
829
1028
 
830
1029
  /** @returns {EmailConfig} */
831
1030
  static EmailConfig() {
832
1031
  return Joi.object({
833
- archive_config: InventoryPlatformModel.ArchiveConfig(),
834
- attachment_mandate: Joi.boolean(),
835
- attachment_regex: Joi.string().allow(""),
836
- body_content_regex: Joi.string().allow(""),
837
- content_type: Joi.string().allow(""),
838
- downloadable_link: Joi.boolean(),
839
- filter_based_on_recepients: Joi.boolean(),
840
- filter_files_after_extraction: Joi.boolean(),
841
- folder_name_hierarchies: Joi.array().items(Joi.string().allow("")),
1032
+ recepient: Joi.string().allow(""),
842
1033
  host: Joi.string().allow(""),
843
- local_dir: Joi.string().allow(""),
1034
+ username: Joi.string().allow(""),
844
1035
  password: Joi.string().allow(""),
845
- password_protected: Joi.boolean(),
846
- pcol: Joi.string().allow(""),
847
- properties: Joi.object().pattern(/\S/, Joi.string().allow("")),
848
- read_all_unread_mails: Joi.boolean(),
849
- read_from_content: Joi.boolean(),
850
- recepient: Joi.string().allow(""),
851
- sender_address: Joi.string().allow(""),
852
- subject_line_regex: Joi.string().allow(""),
853
1036
  unzip: Joi.boolean(),
854
- username: Joi.string().allow(""),
855
- zip_format: Joi.string().allow(""),
856
- });
857
- }
858
-
859
- /** @returns {FileConfig} */
860
- static FileConfig() {
861
- return Joi.object({
862
- charset: Joi.string().allow(""),
863
- data_start_index: Joi.number(),
864
- default_headers: InventoryPlatformModel.DefaultHeadersDTO(),
865
- delimiter: Joi.string().allow(""),
866
- escape_char: Joi.string().allow(""),
867
- file_has_header: Joi.boolean(),
868
- file_type: Joi.string().allow(""),
869
- header_array: Joi.array().items(Joi.string().allow("")),
870
- header_index: Joi.number(),
871
- junk_data_threshold_count: Joi.number(),
872
- line_validity_check: Joi.boolean(),
873
- prop_bean_configs: Joi.array().items(
874
- InventoryPlatformModel.PropBeanConfig()
875
- ),
876
- properties: Joi.object().pattern(/\S/, Joi.any()),
877
- quote_char: Joi.string().allow(""),
878
- read_all_sheets: Joi.boolean(),
879
- sheet_names: Joi.array().items(Joi.string().allow("")),
1037
+ read_from_content: Joi.boolean(),
1038
+ filter_based_on_recepients: Joi.boolean(),
1039
+ pcol: Joi.string().allow(""),
1040
+ subject_line_regex: Joi.string().allow(""),
1041
+ sender_address: Joi.string().allow(""),
1042
+ local_dir: Joi.string().allow(""),
1043
+ folder_name_hierarchies: Joi.array().items(Joi.string().allow("")),
1044
+ attachment_regex: Joi.string().allow(""),
1045
+ body_content_regex: Joi.string().allow(""),
1046
+ password_protected: Joi.boolean(),
1047
+ zip_format: Joi.string().allow(""),
1048
+ attachment_mandate: Joi.boolean(),
1049
+ filter_files_after_extraction: Joi.boolean(),
1050
+ archive_config: InventoryPlatformModel.ArchiveConfig(),
1051
+ read_all_unread_mails: Joi.boolean(),
1052
+ content_type: Joi.string().allow(""),
1053
+ downloadable_link: Joi.boolean(),
1054
+ properties: Joi.object().pattern(/\S/, Joi.string().allow("")),
880
1055
  });
881
1056
  }
882
1057
 
883
1058
  /** @returns {FTPConfig} */
884
1059
  static FTPConfig() {
885
1060
  return Joi.object({
886
- archive_config: InventoryPlatformModel.ArchiveConfig(),
887
- file_regex: Joi.string().allow(""),
888
1061
  host: Joi.string().allow(""),
1062
+ port: Joi.number(),
1063
+ username: Joi.string().allow(""),
1064
+ password: Joi.string().allow(""),
1065
+ unzip: Joi.boolean(),
1066
+ retries: Joi.number(),
889
1067
  interval: Joi.number(),
890
1068
  local_dir: Joi.string().allow(""),
891
- password: Joi.string().allow(""),
892
- port: Joi.number(),
893
- read_all_files: Joi.boolean(),
894
1069
  remote_dir: Joi.string().allow(""),
895
- retries: Joi.number(),
896
- unzip: Joi.boolean(),
897
- username: Joi.string().allow(""),
898
1070
  zip_file_regex: Joi.string().allow(""),
1071
+ archive_config: InventoryPlatformModel.ArchiveConfig(),
1072
+ file_regex: Joi.string().allow(""),
899
1073
  zip_format: Joi.string().allow(""),
1074
+ read_all_files: Joi.boolean(),
900
1075
  });
901
1076
  }
902
1077
 
903
- /** @returns {GCompany} */
904
- static GCompany() {
905
- return Joi.object({
906
- _id: Joi.string().allow(""),
907
- integration: Joi.string().allow(""),
908
- level: Joi.string().allow(""),
909
- name: Joi.string().allow(""),
910
- opted: Joi.boolean(),
911
- permissions: Joi.array().items(Joi.string().allow("")),
912
- stores: Joi.array().items(InventoryPlatformModel.GStore()),
913
- token: Joi.string().allow(""),
914
- uid: Joi.number(),
915
- });
916
- }
917
-
918
- /** @returns {GenericDTO} */
919
- static GenericDTO() {
1078
+ /** @returns {FileConfig} */
1079
+ static FileConfig() {
920
1080
  return Joi.object({
921
- text: Joi.string().allow(""),
922
- value: Joi.any(),
1081
+ delimiter: Joi.string().allow(""),
1082
+ charset: Joi.string().allow(""),
1083
+ properties: Joi.object().pattern(/\S/, Joi.any()),
1084
+ file_has_header: Joi.boolean(),
1085
+ header_index: Joi.number(),
1086
+ header_array: Joi.array().items(Joi.string().allow("")),
1087
+ data_start_index: Joi.number(),
1088
+ prop_bean_configs: Joi.array().items(
1089
+ InventoryPlatformModel.PropBeanConfig()
1090
+ ),
1091
+ junk_data_threshold_count: Joi.number(),
1092
+ file_type: Joi.string().allow(""),
1093
+ line_validity_check: Joi.boolean(),
1094
+ sheet_names: Joi.array().items(Joi.string().allow("")),
1095
+ read_all_sheets: Joi.boolean(),
1096
+ quote_char: Joi.string().allow(""),
1097
+ escape_char: Joi.string().allow(""),
1098
+ default_headers: InventoryPlatformModel.DefaultHeadersDTO(),
923
1099
  });
924
1100
  }
925
1101
 
926
1102
  /** @returns {GoogleSpreadSheetConfig} */
927
1103
  static GoogleSpreadSheetConfig() {
928
1104
  return Joi.object({
929
- archive_config: InventoryPlatformModel.ArchiveConfig(),
1105
+ range: Joi.string().allow(""),
1106
+ sheet_id: Joi.string().allow(""),
930
1107
  client_secret_location: Joi.string().allow(""),
931
1108
  cred_storage_directory: Joi.string().allow(""),
932
1109
  local_dir: Joi.string().allow(""),
933
- range: Joi.string().allow(""),
934
- sheet_id: Joi.string().allow(""),
935
- });
936
- }
937
-
938
- /** @returns {GStore} */
939
- static GStore() {
940
- return Joi.object({
941
- _id: Joi.string().allow(""),
942
- code: Joi.string().allow(""),
943
- data: InventoryPlatformModel.StoreData(),
944
- integration: Joi.string().allow(""),
945
- level: Joi.string().allow(""),
946
- name: Joi.string().allow(""),
947
- opted: Joi.boolean(),
948
- permissions: Joi.array().items(Joi.string().allow("")),
949
- token: Joi.string().allow(""),
950
- uid: Joi.number(),
1110
+ archive_config: InventoryPlatformModel.ArchiveConfig(),
951
1111
  });
952
1112
  }
953
1113
 
954
1114
  /** @returns {HttpConfig} */
955
1115
  static HttpConfig() {
956
1116
  return Joi.object({
957
- archive_config: InventoryPlatformModel.ArchiveConfig(),
958
1117
  hosturl: Joi.string().allow(""),
959
- http_method: Joi.string().allow(""),
960
- local_path: Joi.string().allow(""),
1118
+ username: Joi.string().allow(""),
961
1119
  password: Joi.string().allow(""),
962
1120
  request_params: Joi.object().pattern(/\S/, Joi.string().allow("")),
1121
+ http_method: Joi.string().allow(""),
963
1122
  request_payload: Joi.string().allow(""),
964
- username: Joi.string().allow(""),
1123
+ local_path: Joi.string().allow(""),
1124
+ archive_config: InventoryPlatformModel.ArchiveConfig(),
965
1125
  });
966
1126
  }
967
1127
 
@@ -969,117 +1129,44 @@ class InventoryPlatformModel {
969
1129
  static JobConfig() {
970
1130
  return Joi.object({
971
1131
  _id: Joi.number(),
972
- aggregator_types: Joi.array().items(Joi.string().allow("")),
973
- alias: Joi.string().allow(""),
974
- audit: InventoryPlatformModel.Audit(),
975
- catalog_master_config: InventoryPlatformModel.CatalogMasterConfig(),
1132
+ job_code: Joi.string().allow(""),
1133
+ task_type: Joi.string().allow(""),
1134
+ sync_delay: Joi.number(),
1135
+ cron_expression: Joi.string().allow(""),
1136
+ store_filter: InventoryPlatformModel.StoreFilter(),
1137
+ process_config: InventoryPlatformModel.ProcessConfig(),
1138
+ store_config: Joi.array().items(InventoryPlatformModel.StoreConfig()),
1139
+ properties: Joi.object().pattern(/\S/, Joi.string().allow("")),
1140
+ immediate_first_run: Joi.boolean(),
1141
+ disable: Joi.boolean(),
1142
+ dependent_job_codes: Joi.array().items(Joi.string().allow("")),
976
1143
  company_config: Joi.array().items(InventoryPlatformModel.CompanyConfig()),
977
1144
  company_ids: Joi.array().items(Joi.number()),
978
- cron_expression: Joi.string().allow(""),
1145
+ tax_identifiers: Joi.array().items(Joi.string().allow("")),
1146
+ priority: Joi.string().allow(""),
1147
+ period_threshold: Joi.number(),
1148
+ period_threshold_type: Joi.string().allow(""),
979
1149
  db_connection_profile: InventoryPlatformModel.DBConnectionProfile(),
1150
+ params: Joi.object().pattern(/\S/, Joi.any()),
1151
+ open_tags: Joi.object().pattern(/\S/, Joi.any()),
980
1152
  delete_quantity_threshold: Joi.number(),
981
- dependent_job_codes: Joi.array().items(Joi.string().allow("")),
982
- disable: Joi.boolean(),
983
- immediate_first_run: Joi.boolean(),
1153
+ catalog_master_config: InventoryPlatformModel.CatalogMasterConfig(),
1154
+ aggregator_types: Joi.array().items(Joi.string().allow("")),
984
1155
  integration_type: Joi.string().allow(""),
985
- job_code: Joi.string().allow(""),
986
1156
  min_price: Joi.number(),
987
- open_tags: Joi.object().pattern(/\S/, Joi.any()),
988
- params: Joi.object().pattern(/\S/, Joi.any()),
989
- period_threshold: Joi.number(),
990
- period_threshold_type: Joi.string().allow(""),
991
- priority: Joi.string().allow(""),
992
- process_config: InventoryPlatformModel.ProcessConfig(),
993
- properties: Joi.object().pattern(/\S/, Joi.string().allow("")),
994
- store_config: Joi.array().items(InventoryPlatformModel.StoreConfig()),
995
- store_filter: InventoryPlatformModel.StoreFilter(),
996
- sync_delay: Joi.number(),
997
- task_type: Joi.string().allow(""),
998
- tax_identifiers: Joi.array().items(Joi.string().allow("")),
1157
+ audit: InventoryPlatformModel.Audit(),
999
1158
  version: Joi.number(),
1000
- });
1001
- }
1002
-
1003
- /** @returns {JobConfigDTO} */
1004
- static JobConfigDTO() {
1005
- return Joi.object({
1006
- alias: Joi.string().allow(""),
1007
- company_id: Joi.number().required(),
1008
- company_name: Joi.string().allow(""),
1009
- integration: Joi.string().allow("").required(),
1010
- integration_data: Joi.object().pattern(/\S/, Joi.any()),
1011
- job_code: Joi.string().allow(""),
1012
- task_details: InventoryPlatformModel.TaskDTO(),
1013
- threshold_details: InventoryPlatformModel.DataTresholdDTO(),
1014
- });
1015
- }
1016
-
1017
- /** @returns {JobConfigListDTO} */
1018
- static JobConfigListDTO() {
1019
- return Joi.object({
1020
- active: Joi.boolean(),
1021
1159
  alias: Joi.string().allow(""),
1022
- code: Joi.string().allow(""),
1023
- created_by: Joi.string().allow(""),
1024
- created_on: Joi.string().allow(""),
1025
- modified_by: Joi.string().allow(""),
1026
- modified_on: Joi.string().allow(""),
1027
- type: Joi.string().allow(""),
1028
1160
  });
1029
1161
  }
1030
1162
 
1031
1163
  /** @returns {JobConfigRawDTO} */
1032
1164
  static JobConfigRawDTO() {
1033
1165
  return Joi.object({
1034
- company_id: Joi.number().required(),
1035
1166
  company_name: Joi.string().allow("").required(),
1036
- data: InventoryPlatformModel.JobConfig(),
1037
1167
  integration: Joi.string().allow("").required(),
1038
- });
1039
- }
1040
-
1041
- /** @returns {JobHistoryDto} */
1042
- static JobHistoryDto() {
1043
- return Joi.object({
1044
- error_type: Joi.string().allow(""),
1045
- filename: Joi.array().items(Joi.string().allow("")),
1046
- job_code: Joi.string().allow(""),
1047
- job_id: Joi.number(),
1048
- message: Joi.string().allow(""),
1049
- processed_on: Joi.string().allow(""),
1050
- status: Joi.string().allow(""),
1051
- total_added_count: Joi.number(),
1052
- total_initial_count: Joi.number(),
1053
- total_suppressed_count: Joi.number(),
1054
- total_updated_count: Joi.number(),
1055
- });
1056
- }
1057
-
1058
- /** @returns {JobMetricsDto} */
1059
- static JobMetricsDto() {
1060
- return Joi.object({
1061
- is_run_more_than_usual: Joi.string().allow(""),
1062
- job_code: Joi.string().allow(""),
1063
- job_history: Joi.array().items(InventoryPlatformModel.JobHistoryDto()),
1064
- total_failure_count: Joi.number(),
1065
- total_job_runs: Joi.number(),
1066
- total_success_count: Joi.number(),
1067
- total_suppressed_count: Joi.number(),
1068
- total_warning_count: Joi.number(),
1069
- });
1070
- }
1071
-
1072
- /** @returns {JobStepsDTO} */
1073
- static JobStepsDTO() {
1074
- return Joi.object({
1075
- deleted_count: Joi.number(),
1076
- end_count: Joi.number(),
1077
- processed_at: Joi.string().allow(""),
1078
- processed_start_time: Joi.string().allow(""),
1079
- start_count: Joi.number(),
1080
- step_execution_time: Joi.number(),
1081
- step_name: Joi.string().allow(""),
1082
- type: Joi.string().allow(""),
1168
+ company_id: Joi.number().required(),
1169
+ data: InventoryPlatformModel.JobConfig(),
1083
1170
  });
1084
1171
  }
1085
1172
 
@@ -1092,63 +1179,34 @@ class InventoryPlatformModel {
1092
1179
  });
1093
1180
  }
1094
1181
 
1095
- /** @returns {KafkaMetaModel} */
1096
- static KafkaMetaModel() {
1097
- return Joi.object({
1098
- action: Joi.string().allow(""),
1099
- batch_id: Joi.number(),
1100
- created_on: Joi.string().allow(""),
1101
- created_timestamp: Joi.number(),
1102
- job_type: Joi.string().allow(""),
1103
- trace: Joi.array().items(Joi.string().allow("")),
1104
- });
1105
- }
1106
-
1107
- /** @returns {KafkaResponse} */
1108
- static KafkaResponse() {
1109
- return Joi.object({
1110
- offset: Joi.number(),
1111
- partition: Joi.number(),
1112
- });
1113
- }
1114
-
1115
1182
  /** @returns {LocalFileConfig} */
1116
1183
  static LocalFileConfig() {
1117
1184
  return Joi.object({
1118
- archive_config: InventoryPlatformModel.ArchiveConfig(),
1119
- file_regex: Joi.string().allow(""),
1120
- interval: Joi.number(),
1121
- local_dir: Joi.string().allow(""),
1122
- read_all_files: Joi.boolean(),
1123
1185
  retries: Joi.number(),
1124
- unzip: Joi.boolean(),
1125
- working_dir: Joi.string().allow(""),
1126
- zip_file_regex: Joi.string().allow(""),
1127
- zip_format: Joi.string().allow(""),
1128
- });
1129
- }
1130
-
1131
- /** @returns {Metum} */
1132
- static Metum() {
1133
- return Joi.object({
1134
- _id: Joi.string().allow(""),
1135
- name: Joi.string().allow(""),
1136
- value: Joi.string().allow(""),
1186
+ interval: Joi.number(),
1187
+ local_dir: Joi.string().allow(""),
1188
+ working_dir: Joi.string().allow(""),
1189
+ unzip: Joi.boolean(),
1190
+ zip_file_regex: Joi.string().allow(""),
1191
+ file_regex: Joi.string().allow(""),
1192
+ zip_format: Joi.string().allow(""),
1193
+ archive_config: InventoryPlatformModel.ArchiveConfig(),
1194
+ read_all_files: Joi.boolean(),
1137
1195
  });
1138
1196
  }
1139
1197
 
1140
1198
  /** @returns {MongoDocConfig} */
1141
1199
  static MongoDocConfig() {
1142
1200
  return Joi.object({
1143
- aggregate_pipeline: Joi.array().items(
1144
- Joi.object().pattern(/\S/, Joi.any())
1145
- ),
1146
1201
  collection_name: Joi.string().allow(""),
1147
1202
  find_query: Joi.object().pattern(/\S/, Joi.any()),
1148
1203
  projection_query: Joi.object().pattern(/\S/, Joi.any()),
1149
1204
  prop_bean_configs: Joi.array().items(
1150
1205
  InventoryPlatformModel.PropBeanConfig()
1151
1206
  ),
1207
+ aggregate_pipeline: Joi.array().items(
1208
+ Joi.object().pattern(/\S/, Joi.any())
1209
+ ),
1152
1210
  skip_save: Joi.boolean(),
1153
1211
  });
1154
1212
  }
@@ -1156,310 +1214,138 @@ class InventoryPlatformModel {
1156
1214
  /** @returns {OAuthConfig} */
1157
1215
  static OAuthConfig() {
1158
1216
  return Joi.object({
1159
- consumer_key: Joi.string().allow(""),
1160
- consumer_secret: Joi.string().allow(""),
1161
- function_name: Joi.string().allow(""),
1162
- interval: Joi.number(),
1163
1217
  limit: Joi.number(),
1164
1218
  pages: Joi.number(),
1165
- rest_base_url: Joi.string().allow(""),
1166
- rest_url: Joi.string().allow(""),
1219
+ interval: Joi.number(),
1220
+ consumer_key: Joi.string().allow(""),
1221
+ consumer_secret: Joi.string().allow(""),
1167
1222
  token: Joi.string().allow(""),
1168
1223
  token_secret: Joi.string().allow(""),
1169
- });
1170
- }
1171
-
1172
- /** @returns {Page} */
1173
- static Page() {
1174
- return Joi.object({
1175
- current: Joi.number(),
1176
- has_next: Joi.boolean(),
1177
- has_previous: Joi.boolean(),
1178
- item_total: Joi.number(),
1179
- next_id: Joi.string().allow(""),
1180
- size: Joi.number(),
1181
- type: Joi.string().allow("").required(),
1224
+ rest_url: Joi.string().allow(""),
1225
+ rest_base_url: Joi.string().allow(""),
1226
+ function_name: Joi.string().allow(""),
1182
1227
  });
1183
1228
  }
1184
1229
 
1185
1230
  /** @returns {ProcessConfig} */
1186
1231
  static ProcessConfig() {
1187
1232
  return Joi.object({
1188
- aws_s3_config: InventoryPlatformModel.AWSS3config(),
1189
1233
  db_config: InventoryPlatformModel.DBConfig(),
1190
1234
  db_param_config: InventoryPlatformModel.DBParamConfig(),
1191
- doc_mapping_config: InventoryPlatformModel.DocMappingConfig(),
1235
+ sftp_config: InventoryPlatformModel.SFTPConfig(),
1236
+ aws_s3_config: InventoryPlatformModel.AWSS3config(),
1237
+ mongo_doc_config: InventoryPlatformModel.MongoDocConfig(),
1238
+ ftp_config: InventoryPlatformModel.FTPConfig(),
1192
1239
  email_config: InventoryPlatformModel.EmailConfig(),
1193
1240
  file_config: InventoryPlatformModel.FileConfig(),
1194
- ftp_config: InventoryPlatformModel.FTPConfig(),
1195
- google_spreadsheet_config: InventoryPlatformModel.GoogleSpreadSheetConfig(),
1196
- http_config: InventoryPlatformModel.HttpConfig(),
1197
1241
  json_doc_config: InventoryPlatformModel.JsonDocConfig(),
1242
+ doc_mapping_config: InventoryPlatformModel.DocMappingConfig(),
1243
+ task_step_config: InventoryPlatformModel.TaskStepConfig(),
1244
+ http_config: InventoryPlatformModel.HttpConfig(),
1198
1245
  local_file_config: InventoryPlatformModel.LocalFileConfig(),
1199
- mongo_doc_config: InventoryPlatformModel.MongoDocConfig(),
1200
1246
  oauth_config: InventoryPlatformModel.OAuthConfig(),
1201
- sftp_config: InventoryPlatformModel.SFTPConfig(),
1202
- task_step_config: InventoryPlatformModel.TaskStepConfig(),
1247
+ google_spreadsheet_config: InventoryPlatformModel.GoogleSpreadSheetConfig(),
1203
1248
  });
1204
1249
  }
1205
1250
 
1206
1251
  /** @returns {PropBeanConfig} */
1207
1252
  static PropBeanConfig() {
1208
1253
  return Joi.object({
1209
- all_param_function_name: Joi.string().allow(""),
1210
- concat_str: Joi.string().allow(""),
1211
- const_value: Joi.any(),
1212
- data_type: Joi.string().allow(""),
1213
- default_value: Joi.any(),
1214
- destination_field: Joi.string().allow(""),
1215
- enrich_from_master: Joi.boolean(),
1216
- function_name: Joi.string().allow(""),
1217
- identifier_type: Joi.string().allow(""),
1218
- ignore_if_not_exists: Joi.boolean(),
1219
- include: Joi.boolean(),
1220
- index_field: Joi.string().allow(""),
1221
- optional: Joi.boolean(),
1222
- projection_query: Joi.object().pattern(/\S/, Joi.any()),
1223
1254
  required: Joi.boolean(),
1255
+ optional: Joi.boolean(),
1224
1256
  send: InventoryPlatformModel.Send(),
1257
+ validations: Joi.array().items(Joi.object().pattern(/\S/, Joi.any())),
1258
+ values: Joi.array().items(Joi.string().allow("")),
1259
+ include: Joi.boolean(),
1225
1260
  source_field: Joi.string().allow(""),
1226
1261
  source_fields: Joi.array().items(Joi.string().allow("")),
1227
- sub_separator: Joi.string().allow(""),
1262
+ destination_field: Joi.string().allow(""),
1263
+ data_type: Joi.string().allow(""),
1264
+ default_value: Joi.any(),
1265
+ const_value: Joi.any(),
1266
+ concat_str: Joi.string().allow(""),
1267
+ function_name: Joi.string().allow(""),
1228
1268
  transformer_name: Joi.string().allow(""),
1229
- validations: Joi.array().items(Joi.object().pattern(/\S/, Joi.any())),
1230
- values: Joi.array().items(Joi.string().allow("")),
1269
+ all_param_function_name: Joi.string().allow(""),
1270
+ sub_separator: Joi.string().allow(""),
1271
+ index_field: Joi.string().allow(""),
1272
+ ignore_if_not_exists: Joi.boolean(),
1273
+ identifier_type: Joi.string().allow(""),
1274
+ projection_query: Joi.object().pattern(/\S/, Joi.any()),
1275
+ enrich_from_master: Joi.boolean(),
1231
1276
  });
1232
1277
  }
1233
1278
 
1234
1279
  /** @returns {PropBeanDTO} */
1235
1280
  static PropBeanDTO() {
1236
1281
  return Joi.object({
1237
- all_param_function_name: Joi.string().allow(""),
1238
- concat_str: Joi.string().allow(""),
1239
- const_value: Joi.any(),
1240
- data_type: Joi.string().allow(""),
1241
- default_value: Joi.any(),
1242
- destination_field: Joi.string().allow(""),
1243
- enrich_from_master: Joi.boolean(),
1244
- function_name: Joi.string().allow(""),
1245
- identifier_type: Joi.string().allow(""),
1246
- ignore_if_not_exists: Joi.boolean(),
1247
- include: Joi.boolean(),
1248
- index_field: Joi.string().allow(""),
1249
- optional: Joi.boolean(),
1250
- projection_query: Joi.object().pattern(/\S/, Joi.any()),
1251
1282
  required: Joi.boolean(),
1283
+ optional: Joi.boolean(),
1284
+ include: Joi.boolean(),
1252
1285
  source_field: Joi.string().allow(""),
1253
1286
  source_fields: Joi.array().items(Joi.string().allow("")),
1254
- sub_separator: Joi.string().allow(""),
1287
+ destination_field: Joi.string().allow(""),
1288
+ data_type: Joi.string().allow(""),
1289
+ default_value: Joi.any(),
1290
+ const_value: Joi.any(),
1291
+ concat_str: Joi.string().allow(""),
1292
+ function_name: Joi.string().allow(""),
1255
1293
  transformer_name: Joi.string().allow(""),
1294
+ all_param_function_name: Joi.string().allow(""),
1295
+ sub_separator: Joi.string().allow(""),
1296
+ index_field: Joi.string().allow(""),
1297
+ ignore_if_not_exists: Joi.boolean(),
1298
+ identifier_type: Joi.string().allow(""),
1299
+ projection_query: Joi.object().pattern(/\S/, Joi.any()),
1300
+ enrich_from_master: Joi.boolean(),
1256
1301
  });
1257
1302
  }
1258
1303
 
1259
- /** @returns {ResponseEnvelopeJobConfigDTO} */
1260
- static ResponseEnvelopeJobConfigDTO() {
1261
- return Joi.object({
1262
- error: Joi.string().allow(""),
1263
- exception: Joi.string().allow(""),
1264
- http_status: Joi.string().allow(""),
1265
- items: InventoryPlatformModel.JobConfigDTO(),
1266
- message: Joi.string().allow(""),
1267
- page: InventoryPlatformModel.Page(),
1268
- payload: InventoryPlatformModel.JobConfigDTO(),
1269
- status: Joi.number(),
1270
- timestamp: Joi.string().allow(""),
1271
- total_time_taken_in_millis: Joi.number(),
1272
- trace_id: Joi.string().allow(""),
1273
- });
1274
- }
1275
-
1276
- /** @returns {ResponseEnvelopeJobMetricsDto} */
1277
- static ResponseEnvelopeJobMetricsDto() {
1278
- return Joi.object({
1279
- error: Joi.string().allow(""),
1280
- exception: Joi.string().allow(""),
1281
- http_status: Joi.string().allow(""),
1282
- items: InventoryPlatformModel.JobMetricsDto(),
1283
- message: Joi.string().allow(""),
1284
- page: InventoryPlatformModel.Page(),
1285
- payload: InventoryPlatformModel.JobMetricsDto(),
1286
- status: Joi.number(),
1287
- timestamp: Joi.string().allow(""),
1288
- total_time_taken_in_millis: Joi.number(),
1289
- trace_id: Joi.string().allow(""),
1290
- });
1291
- }
1292
-
1293
- /** @returns {ResponseEnvelopeKafkaResponse} */
1294
- static ResponseEnvelopeKafkaResponse() {
1295
- return Joi.object({
1296
- error: Joi.string().allow(""),
1297
- exception: Joi.string().allow(""),
1298
- http_status: Joi.string().allow(""),
1299
- items: InventoryPlatformModel.KafkaResponse(),
1300
- message: Joi.string().allow(""),
1301
- page: InventoryPlatformModel.Page(),
1302
- payload: InventoryPlatformModel.KafkaResponse(),
1303
- status: Joi.number(),
1304
- timestamp: Joi.string().allow(""),
1305
- total_time_taken_in_millis: Joi.number(),
1306
- trace_id: Joi.string().allow(""),
1307
- });
1308
- }
1309
-
1310
- /** @returns {ResponseEnvelopeListJobConfigDTO} */
1311
- static ResponseEnvelopeListJobConfigDTO() {
1312
- return Joi.object({
1313
- error: Joi.string().allow(""),
1314
- exception: Joi.string().allow(""),
1315
- http_status: Joi.string().allow(""),
1316
- items: Joi.array().items(InventoryPlatformModel.JobConfigDTO()),
1317
- message: Joi.string().allow(""),
1318
- page: InventoryPlatformModel.Page(),
1319
- payload: Joi.array().items(InventoryPlatformModel.JobConfigDTO()),
1320
- status: Joi.number(),
1321
- timestamp: Joi.string().allow(""),
1322
- total_time_taken_in_millis: Joi.number(),
1323
- trace_id: Joi.string().allow(""),
1324
- });
1325
- }
1326
-
1327
- /** @returns {ResponseEnvelopeListJobConfigListDTO} */
1328
- static ResponseEnvelopeListJobConfigListDTO() {
1329
- return Joi.object({
1330
- error: Joi.string().allow(""),
1331
- exception: Joi.string().allow(""),
1332
- http_status: Joi.string().allow(""),
1333
- items: Joi.array().items(InventoryPlatformModel.JobConfigListDTO()),
1334
- message: Joi.string().allow(""),
1335
- page: InventoryPlatformModel.Page(),
1336
- payload: Joi.array().items(InventoryPlatformModel.JobConfigListDTO()),
1337
- status: Joi.number(),
1338
- timestamp: Joi.string().allow(""),
1339
- total_time_taken_in_millis: Joi.number(),
1340
- trace_id: Joi.string().allow(""),
1341
- });
1342
- }
1343
-
1344
- /** @returns {ResponseEnvelopeListJobConfigRawDTO} */
1345
- static ResponseEnvelopeListJobConfigRawDTO() {
1346
- return Joi.object({
1347
- error: Joi.string().allow(""),
1348
- exception: Joi.string().allow(""),
1349
- http_status: Joi.string().allow(""),
1350
- items: Joi.array().items(InventoryPlatformModel.JobConfigRawDTO()),
1351
- message: Joi.string().allow(""),
1352
- page: InventoryPlatformModel.Page(),
1353
- payload: Joi.array().items(InventoryPlatformModel.JobConfigRawDTO()),
1354
- status: Joi.number(),
1355
- timestamp: Joi.string().allow(""),
1356
- total_time_taken_in_millis: Joi.number(),
1357
- trace_id: Joi.string().allow(""),
1358
- });
1359
- }
1360
-
1361
- /** @returns {ResponseEnvelopeListJobStepsDTO} */
1362
- static ResponseEnvelopeListJobStepsDTO() {
1363
- return Joi.object({
1364
- error: Joi.string().allow(""),
1365
- exception: Joi.string().allow(""),
1366
- http_status: Joi.string().allow(""),
1367
- items: Joi.array().items(InventoryPlatformModel.JobStepsDTO()),
1368
- message: Joi.string().allow(""),
1369
- page: InventoryPlatformModel.Page(),
1370
- payload: Joi.array().items(InventoryPlatformModel.JobStepsDTO()),
1371
- status: Joi.number(),
1372
- timestamp: Joi.string().allow(""),
1373
- total_time_taken_in_millis: Joi.number(),
1374
- trace_id: Joi.string().allow(""),
1375
- });
1376
- }
1377
-
1378
- /** @returns {ResponseEnvelopeListSlingshotConfigurationDetail} */
1379
- static ResponseEnvelopeListSlingshotConfigurationDetail() {
1380
- return Joi.object({
1381
- error: Joi.string().allow(""),
1382
- exception: Joi.string().allow(""),
1383
- http_status: Joi.string().allow(""),
1384
- items: Joi.array().items(
1385
- InventoryPlatformModel.SlingshotConfigurationDetail()
1386
- ),
1387
- message: Joi.string().allow(""),
1388
- page: InventoryPlatformModel.Page(),
1389
- payload: Joi.array().items(
1390
- InventoryPlatformModel.SlingshotConfigurationDetail()
1391
- ),
1392
- status: Joi.number(),
1393
- timestamp: Joi.string().allow(""),
1394
- total_time_taken_in_millis: Joi.number(),
1395
- trace_id: Joi.string().allow(""),
1396
- });
1397
- }
1398
-
1399
- /** @returns {ResponseEnvelopeString} */
1400
- static ResponseEnvelopeString() {
1304
+ /** @returns {ResponseEnvelopeListJobConfigRawDTO} */
1305
+ static ResponseEnvelopeListJobConfigRawDTO() {
1401
1306
  return Joi.object({
1307
+ timestamp: Joi.string().allow(""),
1308
+ status: Joi.number(),
1402
1309
  error: Joi.string().allow(""),
1403
1310
  exception: Joi.string().allow(""),
1404
- http_status: Joi.string().allow(""),
1405
- items: Joi.string().allow(""),
1406
1311
  message: Joi.string().allow(""),
1407
- page: InventoryPlatformModel.Page(),
1408
- payload: Joi.string().allow(""),
1409
- status: Joi.number(),
1410
- timestamp: Joi.string().allow(""),
1411
1312
  total_time_taken_in_millis: Joi.number(),
1313
+ http_status: Joi.string().allow(""),
1314
+ items: Joi.array().items(InventoryPlatformModel.JobConfigRawDTO()),
1315
+ payload: Joi.array().items(InventoryPlatformModel.JobConfigRawDTO()),
1412
1316
  trace_id: Joi.string().allow(""),
1413
- });
1414
- }
1415
-
1416
- /** @returns {Send} */
1417
- static Send() {
1418
- return Joi.object({
1419
- processed: Joi.boolean(),
1420
- raw: Joi.boolean(),
1317
+ page: InventoryPlatformModel.Page(),
1421
1318
  });
1422
1319
  }
1423
1320
 
1424
1321
  /** @returns {SFTPConfig} */
1425
1322
  static SFTPConfig() {
1426
1323
  return Joi.object({
1427
- archive_config: InventoryPlatformModel.ArchiveConfig(),
1428
- file_regex: Joi.string().allow(""),
1429
1324
  host: Joi.string().allow(""),
1430
- interval: Joi.number(),
1431
- local_dir: Joi.string().allow(""),
1432
- password: Joi.string().allow(""),
1433
- password_protected: Joi.boolean(),
1434
1325
  port: Joi.number(),
1435
- private_key_path: Joi.string().allow(""),
1436
- read_all_files: Joi.boolean(),
1437
- remote_dir: Joi.string().allow(""),
1326
+ username: Joi.string().allow(""),
1327
+ password: Joi.string().allow(""),
1328
+ unzip: Joi.boolean(),
1438
1329
  retries: Joi.number(),
1330
+ interval: Joi.number(),
1331
+ private_key_path: Joi.string().allow(""),
1439
1332
  strict_host_key_checking: Joi.boolean(),
1440
- unzip: Joi.boolean(),
1441
- username: Joi.string().allow(""),
1333
+ local_dir: Joi.string().allow(""),
1334
+ remote_dir: Joi.string().allow(""),
1335
+ password_protected: Joi.boolean(),
1442
1336
  zip_file_regex: Joi.string().allow(""),
1337
+ file_regex: Joi.string().allow(""),
1443
1338
  zip_format: Joi.string().allow(""),
1339
+ archive_config: InventoryPlatformModel.ArchiveConfig(),
1340
+ read_all_files: Joi.boolean(),
1444
1341
  });
1445
1342
  }
1446
1343
 
1447
- /** @returns {SlingshotConfigurationDetail} */
1448
- static SlingshotConfigurationDetail() {
1449
- return Joi.object({
1450
- companies: Joi.array().items(InventoryPlatformModel.GCompany()),
1451
- integration: InventoryPlatformModel.SlingshotIntegration(),
1452
- });
1453
- }
1454
-
1455
- /** @returns {SlingshotIntegration} */
1456
- static SlingshotIntegration() {
1344
+ /** @returns {Send} */
1345
+ static Send() {
1457
1346
  return Joi.object({
1458
- _id: Joi.string().allow(""),
1459
- description: Joi.string().allow(""),
1460
- meta: Joi.array().items(InventoryPlatformModel.Metum()),
1461
- name: Joi.string().allow(""),
1462
- slug: Joi.string().allow(""),
1347
+ raw: Joi.boolean(),
1348
+ processed: Joi.boolean(),
1463
1349
  });
1464
1350
  }
1465
1351
 
@@ -1467,46 +1353,24 @@ class InventoryPlatformModel {
1467
1353
  static StoreConfig() {
1468
1354
  return Joi.object({
1469
1355
  job_code: Joi.string().allow(""),
1470
- process_config: InventoryPlatformModel.ProcessConfig(),
1471
- properties: Joi.object().pattern(/\S/, Joi.string().allow("")),
1356
+ storeid: Joi.string().allow(""),
1472
1357
  store_alias: Joi.string().allow(""),
1473
- store_file_name: Joi.string().allow(""),
1474
1358
  store_file_regex: Joi.string().allow(""),
1475
- storeid: Joi.string().allow(""),
1476
- });
1477
- }
1478
-
1479
- /** @returns {StoreData} */
1480
- static StoreData() {
1481
- return Joi.object({
1482
- location_id: Joi.string().allow(""),
1359
+ store_file_name: Joi.string().allow(""),
1360
+ process_config: InventoryPlatformModel.ProcessConfig(),
1361
+ properties: Joi.object().pattern(/\S/, Joi.string().allow("")),
1483
1362
  });
1484
1363
  }
1485
1364
 
1486
1365
  /** @returns {StoreFilter} */
1487
1366
  static StoreFilter() {
1488
1367
  return Joi.object({
1489
- exclude_tags: Joi.array().items(Joi.string().allow("")),
1490
1368
  include_tags: Joi.array().items(Joi.string().allow("")),
1369
+ exclude_tags: Joi.array().items(Joi.string().allow("")),
1491
1370
  query: Joi.object().pattern(/\S/, Joi.any()),
1492
1371
  });
1493
1372
  }
1494
1373
 
1495
- /** @returns {SuppressStoreModel} */
1496
- static SuppressStoreModel() {
1497
- return Joi.object({
1498
- stores: Joi.array().items(Joi.number()),
1499
- });
1500
- }
1501
-
1502
- /** @returns {SuppressStorePayload} */
1503
- static SuppressStorePayload() {
1504
- return Joi.object({
1505
- meta: InventoryPlatformModel.KafkaMetaModel(),
1506
- payload: Joi.array().items(InventoryPlatformModel.SuppressStoreModel()),
1507
- });
1508
- }
1509
-
1510
1374
  /** @returns {TaskConfig} */
1511
1375
  static TaskConfig() {
1512
1376
  return Joi.object({
@@ -1516,14 +1380,6 @@ class InventoryPlatformModel {
1516
1380
  });
1517
1381
  }
1518
1382
 
1519
- /** @returns {TaskDTO} */
1520
- static TaskDTO() {
1521
- return Joi.object({
1522
- group_list: Joi.array().items(InventoryPlatformModel.GenericDTO()),
1523
- type: Joi.number(),
1524
- });
1525
- }
1526
-
1527
1383
  /** @returns {TaskParam} */
1528
1384
  static TaskParam() {
1529
1385
  return Joi.object({
@@ -1535,9 +1391,153 @@ class InventoryPlatformModel {
1535
1391
  /** @returns {TaskStepConfig} */
1536
1392
  static TaskStepConfig() {
1537
1393
  return Joi.object({
1538
- task_config_group_ids: Joi.array().items(Joi.number()),
1539
- task_config_ids: Joi.array().items(Joi.number()),
1540
1394
  task_configs: Joi.array().items(InventoryPlatformModel.TaskConfig()),
1395
+ task_config_ids: Joi.array().items(Joi.number()),
1396
+ task_config_group_ids: Joi.array().items(Joi.number()),
1397
+ });
1398
+ }
1399
+
1400
+ /** @returns {JobStepsDTO} */
1401
+ static JobStepsDTO() {
1402
+ return Joi.object({
1403
+ step_name: Joi.string().allow(""),
1404
+ type: Joi.string().allow(""),
1405
+ step_execution_time: Joi.number(),
1406
+ start_count: Joi.number(),
1407
+ end_count: Joi.number(),
1408
+ deleted_count: Joi.number(),
1409
+ processed_start_time: Joi.string().allow(""),
1410
+ processed_at: Joi.string().allow(""),
1411
+ });
1412
+ }
1413
+
1414
+ /** @returns {ResponseEnvelopeListJobStepsDTO} */
1415
+ static ResponseEnvelopeListJobStepsDTO() {
1416
+ return Joi.object({
1417
+ timestamp: Joi.string().allow(""),
1418
+ status: Joi.number(),
1419
+ error: Joi.string().allow(""),
1420
+ exception: Joi.string().allow(""),
1421
+ message: Joi.string().allow(""),
1422
+ total_time_taken_in_millis: Joi.number(),
1423
+ http_status: Joi.string().allow(""),
1424
+ items: Joi.array().items(InventoryPlatformModel.JobStepsDTO()),
1425
+ payload: Joi.array().items(InventoryPlatformModel.JobStepsDTO()),
1426
+ trace_id: Joi.string().allow(""),
1427
+ page: InventoryPlatformModel.Page(),
1428
+ });
1429
+ }
1430
+
1431
+ /** @returns {ResponseEnvelopeListJobConfigDTO} */
1432
+ static ResponseEnvelopeListJobConfigDTO() {
1433
+ return Joi.object({
1434
+ timestamp: Joi.string().allow(""),
1435
+ status: Joi.number(),
1436
+ error: Joi.string().allow(""),
1437
+ exception: Joi.string().allow(""),
1438
+ message: Joi.string().allow(""),
1439
+ total_time_taken_in_millis: Joi.number(),
1440
+ http_status: Joi.string().allow(""),
1441
+ items: Joi.array().items(InventoryPlatformModel.JobConfigDTO()),
1442
+ payload: Joi.array().items(InventoryPlatformModel.JobConfigDTO()),
1443
+ trace_id: Joi.string().allow(""),
1444
+ page: InventoryPlatformModel.Page(),
1445
+ });
1446
+ }
1447
+
1448
+ /** @returns {ResponseEnvelopeJobConfigDTO} */
1449
+ static ResponseEnvelopeJobConfigDTO() {
1450
+ return Joi.object({
1451
+ timestamp: Joi.string().allow(""),
1452
+ status: Joi.number(),
1453
+ error: Joi.string().allow(""),
1454
+ exception: Joi.string().allow(""),
1455
+ message: Joi.string().allow(""),
1456
+ total_time_taken_in_millis: Joi.number(),
1457
+ http_status: Joi.string().allow(""),
1458
+ items: InventoryPlatformModel.JobConfigDTO(),
1459
+ payload: InventoryPlatformModel.JobConfigDTO(),
1460
+ trace_id: Joi.string().allow(""),
1461
+ page: InventoryPlatformModel.Page(),
1462
+ });
1463
+ }
1464
+
1465
+ /** @returns {JobHistoryDto} */
1466
+ static JobHistoryDto() {
1467
+ return Joi.object({
1468
+ total_added_count: Joi.number(),
1469
+ total_updated_count: Joi.number(),
1470
+ total_suppressed_count: Joi.number(),
1471
+ total_initial_count: Joi.number(),
1472
+ job_id: Joi.number(),
1473
+ status: Joi.string().allow(""),
1474
+ job_code: Joi.string().allow(""),
1475
+ processed_on: Joi.string().allow(""),
1476
+ filename: Joi.array().items(Joi.string().allow("")),
1477
+ error_type: Joi.string().allow(""),
1478
+ message: Joi.string().allow(""),
1479
+ });
1480
+ }
1481
+
1482
+ /** @returns {JobMetricsDto} */
1483
+ static JobMetricsDto() {
1484
+ return Joi.object({
1485
+ job_code: Joi.string().allow(""),
1486
+ is_run_more_than_usual: Joi.string().allow(""),
1487
+ job_history: Joi.array().items(InventoryPlatformModel.JobHistoryDto()),
1488
+ total_success_count: Joi.number(),
1489
+ total_failure_count: Joi.number(),
1490
+ total_warning_count: Joi.number(),
1491
+ total_suppressed_count: Joi.number(),
1492
+ total_job_runs: Joi.number(),
1493
+ });
1494
+ }
1495
+
1496
+ /** @returns {ResponseEnvelopeJobMetricsDto} */
1497
+ static ResponseEnvelopeJobMetricsDto() {
1498
+ return Joi.object({
1499
+ timestamp: Joi.string().allow(""),
1500
+ status: Joi.number(),
1501
+ error: Joi.string().allow(""),
1502
+ exception: Joi.string().allow(""),
1503
+ message: Joi.string().allow(""),
1504
+ total_time_taken_in_millis: Joi.number(),
1505
+ http_status: Joi.string().allow(""),
1506
+ items: InventoryPlatformModel.JobMetricsDto(),
1507
+ payload: InventoryPlatformModel.JobMetricsDto(),
1508
+ trace_id: Joi.string().allow(""),
1509
+ page: InventoryPlatformModel.Page(),
1510
+ });
1511
+ }
1512
+
1513
+ /** @returns {JobConfigListDTO} */
1514
+ static JobConfigListDTO() {
1515
+ return Joi.object({
1516
+ code: Joi.string().allow(""),
1517
+ alias: Joi.string().allow(""),
1518
+ modified_by: Joi.string().allow(""),
1519
+ created_by: Joi.string().allow(""),
1520
+ modified_on: Joi.string().allow(""),
1521
+ created_on: Joi.string().allow(""),
1522
+ active: Joi.boolean(),
1523
+ type: Joi.string().allow(""),
1524
+ });
1525
+ }
1526
+
1527
+ /** @returns {ResponseEnvelopeListJobConfigListDTO} */
1528
+ static ResponseEnvelopeListJobConfigListDTO() {
1529
+ return Joi.object({
1530
+ timestamp: Joi.string().allow(""),
1531
+ status: Joi.number(),
1532
+ error: Joi.string().allow(""),
1533
+ exception: Joi.string().allow(""),
1534
+ message: Joi.string().allow(""),
1535
+ total_time_taken_in_millis: Joi.number(),
1536
+ http_status: Joi.string().allow(""),
1537
+ items: Joi.array().items(InventoryPlatformModel.JobConfigListDTO()),
1538
+ payload: Joi.array().items(InventoryPlatformModel.JobConfigListDTO()),
1539
+ trace_id: Joi.string().allow(""),
1540
+ page: InventoryPlatformModel.Page(),
1541
1541
  });
1542
1542
  }
1543
1543
  }