moderation_api 3.1.1 → 3.2.0

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 (282) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moderation_api/analytics.rb +1746 -0
  3. data/lib/moderation_api/apikeys.rb +313 -0
  4. data/lib/moderation_api/authors.rb +1 -2
  5. data/lib/moderation_api/feedback.rb +264 -0
  6. data/lib/moderation_api/items.rb +275 -31
  7. data/lib/moderation_api/models/components/badrequesterror_code.rb +3 -1
  8. data/lib/moderation_api/models/components/label.rb +85 -0
  9. data/lib/moderation_api/models/components/label.rbi +44 -0
  10. data/lib/moderation_api/models/components/notfounderror_code.rb +2 -0
  11. data/lib/moderation_api/models/components/projectapikey.rb +65 -0
  12. data/lib/moderation_api/models/components/projectapikey.rbi +38 -0
  13. data/lib/moderation_api/models/components/publicauthor.rb +3 -3
  14. data/lib/moderation_api/models/components/{status.rb → publicauthor_status.rb} +2 -2
  15. data/lib/moderation_api/models/components/publicauthor_status.rbi +9 -0
  16. data/lib/moderation_api/models/components/queue.rb +55 -0
  17. data/lib/moderation_api/models/components/queue.rbi +32 -0
  18. data/lib/moderation_api/models/{operations/listqueueitems_data.rb → components/queueitem.rb} +76 -37
  19. data/lib/moderation_api/models/{operations/listqueueitems_data.rbi → components/queueitem.rbi} +16 -10
  20. data/lib/moderation_api/models/components/queueitem_audio.rb +43 -0
  21. data/lib/moderation_api/models/components/queueitem_audio.rbi +20 -0
  22. data/lib/moderation_api/models/components/queueitem_brand_impersonation.rb +42 -0
  23. data/lib/moderation_api/models/components/queueitem_brand_impersonation.rbi +20 -0
  24. data/lib/moderation_api/models/components/queueitem_content.rb +25 -0
  25. data/lib/moderation_api/models/components/queueitem_content.rbi +9 -0
  26. data/lib/moderation_api/models/components/queueitem_content_leaf.rb +25 -0
  27. data/lib/moderation_api/models/components/queueitem_content_leaf.rbi +9 -0
  28. data/lib/moderation_api/models/components/queueitem_content_leaf_audio.rb +43 -0
  29. data/lib/moderation_api/models/components/queueitem_content_leaf_audio.rbi +20 -0
  30. data/lib/moderation_api/models/components/queueitem_content_leaf_image.rb +54 -0
  31. data/lib/moderation_api/models/components/queueitem_content_leaf_image.rbi +26 -0
  32. data/lib/moderation_api/models/components/queueitem_content_leaf_text.rb +47 -0
  33. data/lib/moderation_api/models/components/queueitem_content_leaf_text.rbi +20 -0
  34. data/lib/moderation_api/models/components/queueitem_content_leaf_video.rb +43 -0
  35. data/lib/moderation_api/models/components/queueitem_content_leaf_video.rbi +20 -0
  36. data/lib/moderation_api/models/components/queueitem_image.rb +54 -0
  37. data/lib/moderation_api/models/components/queueitem_image.rbi +26 -0
  38. data/lib/moderation_api/models/components/queueitem_match.rb +122 -0
  39. data/lib/moderation_api/models/components/queueitem_match.rbi +62 -0
  40. data/lib/moderation_api/models/components/queueitem_object.rb +72 -0
  41. data/lib/moderation_api/models/components/queueitem_object.rbi +20 -0
  42. data/lib/moderation_api/models/components/queueitem_signals.rb +126 -0
  43. data/lib/moderation_api/models/components/queueitem_signals.rbi +62 -0
  44. data/lib/moderation_api/models/{operations/casebookagreement.rb → components/queueitem_status.rb} +5 -6
  45. data/lib/moderation_api/models/components/queueitem_status.rbi +9 -0
  46. data/lib/moderation_api/models/components/queueitem_text.rb +47 -0
  47. data/lib/moderation_api/models/components/queueitem_text.rbi +20 -0
  48. data/lib/moderation_api/models/components/queueitem_video.rb +43 -0
  49. data/lib/moderation_api/models/components/queueitem_video.rbi +20 -0
  50. data/lib/moderation_api/models/{operations/queue.rb → components/queuewithcounts.rb} +32 -31
  51. data/lib/moderation_api/models/{operations/queue.rbi → components/queuewithcounts.rbi} +10 -10
  52. data/lib/moderation_api/models/components.rb +21 -1
  53. data/lib/moderation_api/models/errors/badrequesterror.rb +2 -1
  54. data/lib/moderation_api/models/errors/notfounderror.rb +1 -0
  55. data/lib/moderation_api/models/operations/{getqueue_recommendationaction.rb → action_response.rb} +2 -2
  56. data/lib/moderation_api/models/operations/action_response.rbi +9 -0
  57. data/lib/moderation_api/models/operations/addwordlistwords_request.rb +1 -1
  58. data/lib/moderation_api/models/operations/{checkstatus.rb → bucket.rb} +4 -5
  59. data/lib/moderation_api/models/{components/status.rbi → operations/bucket.rbi} +2 -2
  60. data/lib/moderation_api/models/operations/{listqueueitems_action.rb → channel.rb} +23 -32
  61. data/lib/moderation_api/models/operations/channel.rbi +38 -0
  62. data/lib/moderation_api/models/operations/classifier_output.rb +2 -2
  63. data/lib/moderation_api/models/operations/createaction_request.rb +1 -1
  64. data/lib/moderation_api/models/operations/createauthor_request.rb +1 -1
  65. data/lib/moderation_api/models/operations/createfeedback_request.rb +38 -0
  66. data/lib/moderation_api/models/operations/createfeedback_request.rbi +20 -0
  67. data/lib/moderation_api/models/operations/createfeedback_requestbody.rb +82 -0
  68. data/lib/moderation_api/models/operations/createfeedback_requestbody.rbi +32 -0
  69. data/lib/moderation_api/models/operations/createfeedback_response.rb +51 -0
  70. data/lib/moderation_api/models/operations/createfeedback_response.rbi +32 -0
  71. data/lib/moderation_api/models/operations/createfeedback_responsebody.rb +43 -0
  72. data/lib/moderation_api/models/operations/createfeedback_responsebody.rbi +20 -0
  73. data/lib/moderation_api/models/operations/createfeedback_type.rb +19 -0
  74. data/lib/moderation_api/models/operations/createfeedback_type.rbi +9 -0
  75. data/lib/moderation_api/models/operations/createprojectapikey_request.rb +35 -0
  76. data/lib/moderation_api/models/operations/createprojectapikey_request.rbi +20 -0
  77. data/lib/moderation_api/models/operations/{resolvequeueitem_requestbody.rb → createprojectapikey_requestbody.rb} +8 -8
  78. data/lib/moderation_api/models/operations/createprojectapikey_requestbody.rbi +14 -0
  79. data/lib/moderation_api/models/operations/createprojectapikey_response.rb +51 -0
  80. data/lib/moderation_api/models/operations/createprojectapikey_response.rbi +32 -0
  81. data/lib/moderation_api/models/operations/createwebhook_request.rb +1 -1
  82. data/lib/moderation_api/models/operations/createwordlist_request.rb +38 -0
  83. data/lib/moderation_api/models/operations/createwordlist_request.rbi +20 -0
  84. data/lib/moderation_api/models/operations/createwordlist_requestbody.rb +67 -0
  85. data/lib/moderation_api/models/operations/createwordlist_requestbody.rbi +32 -0
  86. data/lib/moderation_api/models/operations/createwordlist_response.rb +51 -0
  87. data/lib/moderation_api/models/operations/createwordlist_response.rbi +32 -0
  88. data/lib/moderation_api/models/operations/createwordlist_responsebody.rb +90 -0
  89. data/lib/moderation_api/models/operations/createwordlist_responsebody.rbi +50 -0
  90. data/lib/moderation_api/models/operations/dailyreviewcount.rb +4 -4
  91. data/lib/moderation_api/models/operations/deleteaction_request.rb +1 -1
  92. data/lib/moderation_api/models/operations/deleteauthor_request.rb +1 -1
  93. data/lib/moderation_api/models/operations/deletewebhook_request.rb +1 -1
  94. data/lib/moderation_api/models/operations/executeaction_request.rb +1 -1
  95. data/lib/moderation_api/models/operations/flagratespike.rb +76 -0
  96. data/lib/moderation_api/models/operations/flagratespike.rbi +38 -0
  97. data/lib/moderation_api/models/operations/getaccount_request.rb +1 -1
  98. data/lib/moderation_api/models/operations/getaction_request.rb +1 -1
  99. data/lib/moderation_api/models/operations/getanalyticsauthors_author.rb +51 -0
  100. data/lib/moderation_api/models/operations/getanalyticsauthors_author.rbi +26 -0
  101. data/lib/moderation_api/models/operations/getanalyticsauthors_queryparam_range.rb +20 -0
  102. data/lib/moderation_api/models/operations/getanalyticsauthors_queryparam_range.rbi +9 -0
  103. data/lib/moderation_api/models/operations/{casebookanswer.rb → getanalyticsauthors_range_response.rb} +6 -6
  104. data/lib/moderation_api/models/operations/getanalyticsauthors_range_response.rbi +9 -0
  105. data/lib/moderation_api/models/operations/getanalyticsauthors_request.rb +71 -0
  106. data/lib/moderation_api/models/operations/getanalyticsauthors_request.rbi +32 -0
  107. data/lib/moderation_api/models/operations/getanalyticsauthors_response.rb +51 -0
  108. data/lib/moderation_api/models/operations/getanalyticsauthors_response.rbi +32 -0
  109. data/lib/moderation_api/models/operations/getanalyticsauthors_responsebody.rb +67 -0
  110. data/lib/moderation_api/models/operations/getanalyticsauthors_responsebody.rbi +26 -0
  111. data/lib/moderation_api/models/operations/getanalyticsautomation_queryparam_range.rb +20 -0
  112. data/lib/moderation_api/models/operations/getanalyticsautomation_queryparam_range.rbi +9 -0
  113. data/lib/moderation_api/models/operations/getanalyticsautomation_range_response.rb +23 -0
  114. data/lib/moderation_api/models/operations/getanalyticsautomation_range_response.rbi +9 -0
  115. data/lib/moderation_api/models/operations/getanalyticsautomation_request.rb +61 -0
  116. data/lib/moderation_api/models/operations/getanalyticsautomation_request.rbi +26 -0
  117. data/lib/moderation_api/models/operations/getanalyticsautomation_response.rb +51 -0
  118. data/lib/moderation_api/models/operations/getanalyticsautomation_response.rbi +32 -0
  119. data/lib/moderation_api/models/operations/getanalyticsautomation_responsebody.rb +186 -0
  120. data/lib/moderation_api/models/operations/getanalyticsautomation_responsebody.rbi +92 -0
  121. data/lib/moderation_api/models/operations/getanalyticschannels_queryparam_range.rb +20 -0
  122. data/lib/moderation_api/models/operations/getanalyticschannels_queryparam_range.rbi +9 -0
  123. data/lib/moderation_api/models/operations/getanalyticschannels_range_response.rb +23 -0
  124. data/lib/moderation_api/models/operations/getanalyticschannels_range_response.rbi +9 -0
  125. data/lib/moderation_api/models/operations/getanalyticschannels_request.rb +49 -0
  126. data/lib/moderation_api/models/operations/getanalyticschannels_request.rbi +20 -0
  127. data/lib/moderation_api/models/operations/getanalyticschannels_response.rb +51 -0
  128. data/lib/moderation_api/models/operations/getanalyticschannels_response.rbi +32 -0
  129. data/lib/moderation_api/models/operations/getanalyticschannels_responsebody.rb +58 -0
  130. data/lib/moderation_api/models/operations/getanalyticschannels_responsebody.rbi +20 -0
  131. data/lib/moderation_api/models/operations/{listqueueitems_label.rb → getanalyticspolicies_policy.rb} +14 -14
  132. data/lib/moderation_api/models/operations/{listqueueitems_label.rbi → getanalyticspolicies_policy.rbi} +6 -6
  133. data/lib/moderation_api/models/operations/getanalyticspolicies_queryparam_range.rb +20 -0
  134. data/lib/moderation_api/models/operations/getanalyticspolicies_queryparam_range.rbi +9 -0
  135. data/lib/moderation_api/models/operations/getanalyticspolicies_range_response.rb +23 -0
  136. data/lib/moderation_api/models/operations/getanalyticspolicies_range_response.rbi +9 -0
  137. data/lib/moderation_api/models/operations/getanalyticspolicies_request.rb +71 -0
  138. data/lib/moderation_api/models/operations/getanalyticspolicies_request.rbi +32 -0
  139. data/lib/moderation_api/models/operations/getanalyticspolicies_response.rb +51 -0
  140. data/lib/moderation_api/models/operations/getanalyticspolicies_response.rbi +32 -0
  141. data/lib/moderation_api/models/operations/getanalyticspolicies_responsebody.rb +67 -0
  142. data/lib/moderation_api/models/operations/getanalyticspolicies_responsebody.rbi +26 -0
  143. data/lib/moderation_api/models/operations/getanalyticssummary_queryparam_range.rb +20 -0
  144. data/lib/moderation_api/models/operations/getanalyticssummary_queryparam_range.rbi +9 -0
  145. data/lib/moderation_api/models/operations/getanalyticssummary_range_response.rb +23 -0
  146. data/lib/moderation_api/models/operations/getanalyticssummary_range_response.rbi +9 -0
  147. data/lib/moderation_api/models/operations/getanalyticssummary_request.rb +61 -0
  148. data/lib/moderation_api/models/operations/getanalyticssummary_request.rbi +26 -0
  149. data/lib/moderation_api/models/operations/getanalyticssummary_response.rb +51 -0
  150. data/lib/moderation_api/models/operations/getanalyticssummary_response.rbi +32 -0
  151. data/lib/moderation_api/models/operations/getanalyticssummary_responsebody.rb +94 -0
  152. data/lib/moderation_api/models/operations/getanalyticssummary_responsebody.rbi +44 -0
  153. data/lib/moderation_api/models/operations/getanalyticsvolumes_queryparam_range.rb +20 -0
  154. data/lib/moderation_api/models/operations/getanalyticsvolumes_queryparam_range.rbi +9 -0
  155. data/lib/moderation_api/models/operations/getanalyticsvolumes_range_response.rb +23 -0
  156. data/lib/moderation_api/models/operations/getanalyticsvolumes_range_response.rbi +9 -0
  157. data/lib/moderation_api/models/operations/getanalyticsvolumes_request.rb +61 -0
  158. data/lib/moderation_api/models/operations/getanalyticsvolumes_request.rbi +26 -0
  159. data/lib/moderation_api/models/operations/getanalyticsvolumes_response.rb +51 -0
  160. data/lib/moderation_api/models/operations/getanalyticsvolumes_response.rbi +32 -0
  161. data/lib/moderation_api/models/operations/getanalyticsvolumes_responsebody.rb +82 -0
  162. data/lib/moderation_api/models/operations/getanalyticsvolumes_responsebody.rbi +32 -0
  163. data/lib/moderation_api/models/operations/getauthor_request.rb +1 -1
  164. data/lib/moderation_api/models/operations/getqueue_request.rb +2 -2
  165. data/lib/moderation_api/models/operations/getqueue_responsebody.rb +2 -2
  166. data/lib/moderation_api/models/operations/getqueuestats_request.rb +2 -2
  167. data/lib/moderation_api/models/operations/getqueuestats_responsebody.rb +2 -11
  168. data/lib/moderation_api/models/operations/getqueuestats_responsebody.rbi +0 -6
  169. data/lib/moderation_api/models/operations/getwebhook_request.rb +1 -1
  170. data/lib/moderation_api/models/operations/getwebhooksecret_request.rb +1 -1
  171. data/lib/moderation_api/models/operations/getwordlist_request.rb +1 -1
  172. data/lib/moderation_api/models/operations/getwordlistembeddingstatus_request.rb +1 -1
  173. data/lib/moderation_api/models/operations/{submitcontent_label.rb → label.rb} +1 -1
  174. data/lib/moderation_api/models/operations/{submitcontent_label.rbi → label.rbi} +2 -2
  175. data/lib/moderation_api/models/operations/listactions_request.rb +1 -1
  176. data/lib/moderation_api/models/operations/listauthors_request.rb +4 -14
  177. data/lib/moderation_api/models/operations/listauthors_request.rbi +0 -6
  178. data/lib/moderation_api/models/operations/listqueueitems_request.rb +39 -49
  179. data/lib/moderation_api/models/operations/listqueueitems_request.rbi +16 -22
  180. data/lib/moderation_api/models/operations/listqueueitems_responsebody.rb +2 -5
  181. data/lib/moderation_api/models/operations/listqueues_request.rb +53 -0
  182. data/lib/moderation_api/models/operations/listqueues_request.rbi +26 -0
  183. data/lib/moderation_api/models/operations/listqueues_response.rb +63 -0
  184. data/lib/moderation_api/models/operations/listqueues_response.rbi +32 -0
  185. data/lib/moderation_api/models/operations/listqueues_responsebody.rb +43 -0
  186. data/lib/moderation_api/models/operations/listqueues_responsebody.rbi +20 -0
  187. data/lib/moderation_api/models/operations/listwebhooks_request.rb +1 -1
  188. data/lib/moderation_api/models/operations/listwordlists_request.rb +1 -1
  189. data/lib/moderation_api/models/operations/previousperiod.rb +112 -0
  190. data/lib/moderation_api/models/operations/previousperiod.rbi +56 -0
  191. data/lib/moderation_api/models/operations/recommendation.rb +3 -6
  192. data/lib/moderation_api/models/operations/removewordlistwords_request.rb +1 -1
  193. data/lib/moderation_api/models/operations/resolvequeueitem_request.rb +5 -17
  194. data/lib/moderation_api/models/operations/resolvequeueitem_request.rbi +0 -6
  195. data/lib/moderation_api/models/operations/resolvequeueitem_responsebody.rb +3 -11
  196. data/lib/moderation_api/models/operations/resolvequeueitem_responsebody.rbi +0 -6
  197. data/lib/moderation_api/models/operations/resolvequeueitems_request.rb +46 -0
  198. data/lib/moderation_api/models/operations/resolvequeueitems_request.rbi +26 -0
  199. data/lib/moderation_api/models/operations/{unresolvequeueitem_requestbody.rb → resolvequeueitems_requestbody.rb} +9 -9
  200. data/lib/moderation_api/models/operations/resolvequeueitems_requestbody.rbi +14 -0
  201. data/lib/moderation_api/models/operations/resolvequeueitems_response.rb +51 -0
  202. data/lib/moderation_api/models/operations/resolvequeueitems_response.rbi +32 -0
  203. data/lib/moderation_api/models/operations/resolvequeueitems_responsebody.rb +43 -0
  204. data/lib/moderation_api/models/operations/resolvequeueitems_responsebody.rbi +20 -0
  205. data/lib/moderation_api/models/operations/reviewstats.rb +6 -14
  206. data/lib/moderation_api/models/operations/reviewstats.rbi +0 -6
  207. data/lib/moderation_api/models/operations/{flaggedcontenttrend.rb → rule.rb} +14 -14
  208. data/lib/moderation_api/models/operations/rule.rbi +20 -0
  209. data/lib/moderation_api/models/operations/{listqueueitems_sortdirection.rb → sort.rb} +6 -4
  210. data/lib/moderation_api/models/operations/{mediatype.rbi → sort.rbi} +2 -2
  211. data/lib/moderation_api/models/operations/sortby.rb +0 -1
  212. data/lib/moderation_api/models/operations/{listauthors_sortdirection.rb → sortdirection.rb} +2 -2
  213. data/lib/moderation_api/models/operations/sortdirection.rbi +9 -0
  214. data/lib/moderation_api/models/operations/source.rb +20 -0
  215. data/lib/moderation_api/models/operations/{isflagged.rbi → source.rbi} +2 -2
  216. data/lib/moderation_api/models/operations/{author.rb → submitcontent_author.rb} +1 -1
  217. data/lib/moderation_api/models/operations/{author.rbi → submitcontent_author.rbi} +2 -2
  218. data/lib/moderation_api/models/operations/{policy_response.rb → submitcontent_policy_response.rb} +1 -1
  219. data/lib/moderation_api/models/operations/submitcontent_policy_response.rbi +9 -0
  220. data/lib/moderation_api/models/operations/submitcontent_request.rb +1 -1
  221. data/lib/moderation_api/models/operations/submitcontent_requestbody.rb +1 -1
  222. data/lib/moderation_api/models/operations/submitcontent_responsebody.rb +2 -2
  223. data/lib/moderation_api/models/operations/topreviewer.rb +14 -48
  224. data/lib/moderation_api/models/operations/topreviewer.rbi +4 -22
  225. data/lib/moderation_api/models/operations/totals.rb +122 -0
  226. data/lib/moderation_api/models/operations/totals.rbi +62 -0
  227. data/lib/moderation_api/models/operations/trends.rb +3 -16
  228. data/lib/moderation_api/models/operations/trends.rbi +0 -6
  229. data/lib/moderation_api/models/operations/unresolvequeueitem_request.rb +5 -17
  230. data/lib/moderation_api/models/operations/unresolvequeueitem_request.rbi +0 -6
  231. data/lib/moderation_api/models/operations/unresolvequeueitem_responsebody.rb +17 -5
  232. data/lib/moderation_api/models/operations/{listqueueitems_status.rb → unresolvequeueitem_status.rb} +2 -2
  233. data/lib/moderation_api/models/operations/unresolvequeueitem_status.rbi +9 -0
  234. data/lib/moderation_api/models/operations/updateaction_request.rb +1 -1
  235. data/lib/moderation_api/models/operations/updateauthor_request.rb +1 -1
  236. data/lib/moderation_api/models/operations/updatewebhook_request.rb +1 -1
  237. data/lib/moderation_api/models/operations/updatewordlist_request.rb +1 -1
  238. data/lib/moderation_api/models/operations/updatewordlist_requestbody.rb +1 -1
  239. data/lib/moderation_api/models/operations/volume.rb +76 -0
  240. data/lib/moderation_api/models/operations/volume.rbi +38 -0
  241. data/lib/moderation_api/models/operations.rb +111 -32
  242. data/lib/moderation_api/moderationapi.rb +4 -0
  243. data/lib/moderation_api/projects.rb +7 -0
  244. data/lib/moderation_api/queue.rb +319 -2
  245. data/lib/moderation_api/sdkconfiguration.rb +2 -2
  246. data/lib/moderation_api/wordlist.rb +225 -1
  247. data/lib/moderation_api.rb +3 -0
  248. metadata +179 -62
  249. data/lib/moderation_api/models/operations/actionstat.rb +0 -59
  250. data/lib/moderation_api/models/operations/actionstat.rbi +0 -32
  251. data/lib/moderation_api/models/operations/casebookagreement.rbi +0 -9
  252. data/lib/moderation_api/models/operations/casebookanswer.rbi +0 -9
  253. data/lib/moderation_api/models/operations/checkstatus.rbi +0 -9
  254. data/lib/moderation_api/models/operations/filter.rb +0 -306
  255. data/lib/moderation_api/models/operations/filter.rbi +0 -158
  256. data/lib/moderation_api/models/operations/filterlabel.rb +0 -72
  257. data/lib/moderation_api/models/operations/filterlabel.rbi +0 -32
  258. data/lib/moderation_api/models/operations/flaggedcontenttrend.rbi +0 -20
  259. data/lib/moderation_api/models/operations/getqueue_contenttype.rb +0 -28
  260. data/lib/moderation_api/models/operations/getqueue_contenttype.rbi +0 -9
  261. data/lib/moderation_api/models/operations/getqueue_recommendationaction.rbi +0 -9
  262. data/lib/moderation_api/models/operations/getqueue_type.rb +0 -23
  263. data/lib/moderation_api/models/operations/getqueue_type.rbi +0 -9
  264. data/lib/moderation_api/models/operations/isflagged.rb +0 -23
  265. data/lib/moderation_api/models/operations/listauthors_sortdirection.rbi +0 -9
  266. data/lib/moderation_api/models/operations/listqueueitems_action.rbi +0 -38
  267. data/lib/moderation_api/models/operations/listqueueitems_sortdirection.rbi +0 -9
  268. data/lib/moderation_api/models/operations/listqueueitems_status.rbi +0 -9
  269. data/lib/moderation_api/models/operations/mediatype.rb +0 -24
  270. data/lib/moderation_api/models/operations/metadatafilter.rb +0 -38
  271. data/lib/moderation_api/models/operations/metadatafilter.rbi +0 -20
  272. data/lib/moderation_api/models/operations/policy_response.rbi +0 -9
  273. data/lib/moderation_api/models/operations/resolvequeueitem_requestbody.rbi +0 -14
  274. data/lib/moderation_api/models/operations/sortfield.rb +0 -19
  275. data/lib/moderation_api/models/operations/sortfield.rbi +0 -9
  276. data/lib/moderation_api/models/operations/submitcontent_recommendation_action.rb +0 -22
  277. data/lib/moderation_api/models/operations/submitcontent_recommendation_action.rbi +0 -9
  278. data/lib/moderation_api/models/operations/topaction.rb +0 -51
  279. data/lib/moderation_api/models/operations/topaction.rbi +0 -26
  280. data/lib/moderation_api/models/operations/unresolvequeueitem_requestbody.rbi +0 -14
  281. data/lib/moderation_api/models/operations/withinunit.rb +0 -25
  282. data/lib/moderation_api/models/operations/withinunit.rbi +0 -9
@@ -47,8 +47,8 @@ module ModerationApi
47
47
  .returns(Models::Operations::ListQueueItemsResponse)
48
48
  }
49
49
  def list(request:, timeout_ms: nil, http_headers: nil)
50
- # list - Get queue items
51
- # Get paginated list of items in a moderation queue with filtering options
50
+ # list - List queue items
51
+ # List the items of a review queue, with the filters and the date window of the queue applied. By default only pending items. The list is paginated. Use the item `id` to resolve or unresolve an item.
52
52
  url, params = @sdk_configuration.get_server_details
53
53
  base_url = Utils.template_url(url, params)
54
54
  url = Utils.generate_url(
@@ -175,15 +175,14 @@ module ModerationApi
175
175
  id: request.id,
176
176
  page: next_page,
177
177
  page_size: request.page_size,
178
- sort_field: request.sort_field,
179
- sort_direction: request.sort_direction,
178
+ sort: request.sort,
179
+ include_resolved: request.include_resolved,
180
180
  conversation_ids: request.conversation_ids,
181
181
  labels: request.labels,
182
- after_date: request.after_date,
183
- before_date: request.before_date,
184
- include_resolved: request.include_resolved,
185
182
  author_id: request.author_id,
186
183
  filtered_action_ids: request.filtered_action_ids,
184
+ after_date: request.after_date,
185
+ before_date: request.before_date,
187
186
  project_id: request.project_id
188
187
  ),
189
188
  http_headers: http_headers
@@ -366,7 +365,6 @@ module ModerationApi
366
365
 
367
366
  sig {
368
367
  params(
369
- body: Models::Operations::ResolveQueueItemRequestBody,
370
368
  id: ::String,
371
369
  item_id: ::String,
372
370
  project_id: T.nilable(::String),
@@ -375,13 +373,12 @@ module ModerationApi
375
373
  )
376
374
  .returns(Models::Operations::ResolveQueueItemResponse)
377
375
  }
378
- def resolve(body:, id:, item_id:, project_id: nil, timeout_ms: nil, http_headers: nil)
376
+ def resolve(id:, item_id:, project_id: nil, timeout_ms: nil, http_headers: nil)
379
377
  # resolve - Resolve a queue item
380
- # Mark a queue item as resolved with a specific moderation action
378
+ # Mark an item of a queue as resolved. It is the same as a check-off in the dashboard: the item leaves the pending list and a QUEUE_ITEM_COMPLETED webhook is sent. To also take a moderation action, use `POST /actions/execute`.
381
379
  request = Models::Operations::ResolveQueueItemRequest.new(
382
380
  id: id,
383
381
  item_id: item_id,
384
- body: body,
385
382
  project_id: project_id
386
383
  )
387
384
  url, params = @sdk_configuration.get_server_details
@@ -394,6 +391,268 @@ module ModerationApi
394
391
  )
395
392
  headers = Utils.get_headers(request)
396
393
  headers = T.cast(headers, T::Hash[String, String])
394
+ headers["Accept"] = "application/json"
395
+ headers["user-agent"] = @sdk_configuration.user_agent
396
+
397
+ security = @sdk_configuration.security_source&.call
398
+
399
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
400
+ timeout ||= @sdk_configuration.timeout
401
+
402
+ connection = @sdk_configuration.client
403
+
404
+ hook_ctx = SDKHooks::HookContext.new(
405
+ config: @sdk_configuration,
406
+ base_url: base_url,
407
+ oauth2_scopes: nil,
408
+ operation_id: "resolveQueueItem",
409
+ security_source: @sdk_configuration.security_source
410
+ )
411
+
412
+ error = T.let(nil, T.nilable(StandardError))
413
+ http_response = T.let(nil, T.nilable(Faraday::Response))
414
+
415
+ begin
416
+ http_response = T.must(connection).post(url) do |req|
417
+ req.headers.merge!(headers)
418
+ req.options.timeout = timeout unless timeout.nil?
419
+ Utils.configure_request_security(req, security)
420
+ http_headers&.each do |key, value|
421
+ req.headers[key.to_s] = value
422
+ end
423
+
424
+ @sdk_configuration.hooks.before_request(
425
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
426
+ hook_ctx: hook_ctx
427
+ ),
428
+ request: req
429
+ )
430
+ end
431
+
432
+ rescue StandardError => e
433
+ error = e
434
+ ensure
435
+ if http_response.nil? || Utils.error_status?(http_response.status)
436
+ http_response = @sdk_configuration.hooks.after_error(
437
+ error: error,
438
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
439
+ hook_ctx: hook_ctx
440
+ ),
441
+ response: http_response
442
+ )
443
+ else
444
+ http_response = @sdk_configuration.hooks.after_success(
445
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
446
+ hook_ctx: hook_ctx
447
+ ),
448
+ response: http_response
449
+ )
450
+ end
451
+
452
+ if http_response.nil?
453
+ raise error if !error.nil?
454
+ raise "no response"
455
+ end
456
+ end
457
+
458
+ content_type = http_response.headers.fetch("Content-Type", "application/octet-stream")
459
+ if Utils.match_status_code(http_response.status, ["200"])
460
+ if Utils.match_content_type(content_type, "application/json")
461
+ http_response = @sdk_configuration.hooks.after_success(
462
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
463
+ hook_ctx: hook_ctx
464
+ ),
465
+ response: http_response
466
+ )
467
+ response_data = http_response.env.response_body
468
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::ResolveQueueItemResponseBody)
469
+ response = Models::Operations::ResolveQueueItemResponse.new(
470
+ status_code: http_response.status,
471
+ content_type: content_type,
472
+ raw_response: http_response,
473
+ object: T.unsafe(obj)
474
+ )
475
+
476
+ return response
477
+ else
478
+ raise(
479
+ ::ModerationApi::Models::Errors::APIError.new(
480
+ status_code: http_response.status,
481
+ body: http_response.env.response_body,
482
+ raw_response: http_response
483
+ ),
484
+ "Unknown content type received"
485
+ )
486
+ end
487
+ elsif Utils.match_status_code(http_response.status, ["400"])
488
+ if Utils.match_content_type(content_type, "application/json")
489
+ http_response = @sdk_configuration.hooks.after_success(
490
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
491
+ hook_ctx: hook_ctx
492
+ ),
493
+ response: http_response
494
+ )
495
+ response_data = http_response.env.response_body
496
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
497
+ obj.raw_response = http_response
498
+ raise obj
499
+ else
500
+ raise(
501
+ ::ModerationApi::Models::Errors::APIError.new(
502
+ status_code: http_response.status,
503
+ body: http_response.env.response_body,
504
+ raw_response: http_response
505
+ ),
506
+ "Unknown content type received"
507
+ )
508
+ end
509
+ elsif Utils.match_status_code(http_response.status, ["401"])
510
+ if Utils.match_content_type(content_type, "application/json")
511
+ http_response = @sdk_configuration.hooks.after_success(
512
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
513
+ hook_ctx: hook_ctx
514
+ ),
515
+ response: http_response
516
+ )
517
+ response_data = http_response.env.response_body
518
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::AuthenticationError)
519
+ obj.raw_response = http_response
520
+ raise obj
521
+ else
522
+ raise(
523
+ ::ModerationApi::Models::Errors::APIError.new(
524
+ status_code: http_response.status,
525
+ body: http_response.env.response_body,
526
+ raw_response: http_response
527
+ ),
528
+ "Unknown content type received"
529
+ )
530
+ end
531
+ elsif Utils.match_status_code(http_response.status, ["403"])
532
+ if Utils.match_content_type(content_type, "application/json")
533
+ http_response = @sdk_configuration.hooks.after_success(
534
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
535
+ hook_ctx: hook_ctx
536
+ ),
537
+ response: http_response
538
+ )
539
+ response_data = http_response.env.response_body
540
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::PermissionDeniedError)
541
+ obj.raw_response = http_response
542
+ raise obj
543
+ else
544
+ raise(
545
+ ::ModerationApi::Models::Errors::APIError.new(
546
+ status_code: http_response.status,
547
+ body: http_response.env.response_body,
548
+ raw_response: http_response
549
+ ),
550
+ "Unknown content type received"
551
+ )
552
+ end
553
+ elsif Utils.match_status_code(http_response.status, ["429"])
554
+ if Utils.match_content_type(content_type, "application/json")
555
+ http_response = @sdk_configuration.hooks.after_success(
556
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
557
+ hook_ctx: hook_ctx
558
+ ),
559
+ response: http_response
560
+ )
561
+ response_data = http_response.env.response_body
562
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::RateLimitError)
563
+ obj.raw_response = http_response
564
+ raise obj
565
+ else
566
+ raise(
567
+ ::ModerationApi::Models::Errors::APIError.new(
568
+ status_code: http_response.status,
569
+ body: http_response.env.response_body,
570
+ raw_response: http_response
571
+ ),
572
+ "Unknown content type received"
573
+ )
574
+ end
575
+ elsif Utils.match_status_code(http_response.status, ["500"])
576
+ if Utils.match_content_type(content_type, "application/json")
577
+ http_response = @sdk_configuration.hooks.after_success(
578
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
579
+ hook_ctx: hook_ctx
580
+ ),
581
+ response: http_response
582
+ )
583
+ response_data = http_response.env.response_body
584
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InternalServerError)
585
+ obj.raw_response = http_response
586
+ raise obj
587
+ else
588
+ raise(
589
+ ::ModerationApi::Models::Errors::APIError.new(
590
+ status_code: http_response.status,
591
+ body: http_response.env.response_body,
592
+ raw_response: http_response
593
+ ),
594
+ "Unknown content type received"
595
+ )
596
+ end
597
+ elsif Utils.match_status_code(http_response.status, ["4XX"])
598
+ raise(
599
+ ::ModerationApi::Models::Errors::APIError.new(
600
+ status_code: http_response.status,
601
+ body: http_response.env.response_body,
602
+ raw_response: http_response
603
+ ),
604
+ "API error occurred"
605
+ )
606
+ elsif Utils.match_status_code(http_response.status, ["5XX"])
607
+ raise(
608
+ ::ModerationApi::Models::Errors::APIError.new(
609
+ status_code: http_response.status,
610
+ body: http_response.env.response_body,
611
+ raw_response: http_response
612
+ ),
613
+ "API error occurred"
614
+ )
615
+ else
616
+ raise(
617
+ ::ModerationApi::Models::Errors::APIError.new(
618
+ status_code: http_response.status,
619
+ body: http_response.env.response_body,
620
+ raw_response: http_response
621
+ ),
622
+ "Unknown status code received"
623
+ )
624
+
625
+ end
626
+ end
627
+
628
+ sig {
629
+ params(
630
+ body: Models::Operations::ResolveQueueItemsRequestBody,
631
+ id: ::String,
632
+ project_id: T.nilable(::String),
633
+ timeout_ms: T.nilable(Integer),
634
+ http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
635
+ )
636
+ .returns(Models::Operations::ResolveQueueItemsResponse)
637
+ }
638
+ def resolve_many(body:, id:, project_id: nil, timeout_ms: nil, http_headers: nil)
639
+ # resolve_many - Resolve queue items
640
+ # Mark up to 100 items of a queue as resolved in one request. Each item is resolved the same as with `POST /queue/{id}/items/{itemId}/resolve`. IDs that do not exist in the project are skipped and returned in `notFoundIds`.
641
+ request = Models::Operations::ResolveQueueItemsRequest.new(
642
+ id: id,
643
+ body: body,
644
+ project_id: project_id
645
+ )
646
+ url, params = @sdk_configuration.get_server_details
647
+ base_url = Utils.template_url(url, params)
648
+ url = Utils.generate_url(
649
+ Models::Operations::ResolveQueueItemsRequest,
650
+ base_url,
651
+ "/queue/{id}/items/resolve",
652
+ request
653
+ )
654
+ headers = Utils.get_headers(request)
655
+ headers = T.cast(headers, T::Hash[String, String])
397
656
  req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
398
657
  headers["content-type"] = req_content_type
399
658
  raise StandardError, "request body is required" if data.nil? && form.nil?
@@ -420,7 +679,7 @@ module ModerationApi
420
679
  config: @sdk_configuration,
421
680
  base_url: base_url,
422
681
  oauth2_scopes: nil,
423
- operation_id: "resolveQueueItem",
682
+ operation_id: "resolveQueueItems",
424
683
  security_source: @sdk_configuration.security_source
425
684
  )
426
685
 
@@ -481,8 +740,8 @@ module ModerationApi
481
740
  response: http_response
482
741
  )
483
742
  response_data = http_response.env.response_body
484
- obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::ResolveQueueItemResponseBody)
485
- response = Models::Operations::ResolveQueueItemResponse.new(
743
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::ResolveQueueItemsResponseBody)
744
+ response = Models::Operations::ResolveQueueItemsResponse.new(
486
745
  status_code: http_response.status,
487
746
  content_type: content_type,
488
747
  raw_response: http_response,
@@ -643,7 +902,6 @@ module ModerationApi
643
902
 
644
903
  sig {
645
904
  params(
646
- body: Models::Operations::UnresolveQueueItemRequestBody,
647
905
  id: ::String,
648
906
  item_id: ::String,
649
907
  project_id: T.nilable(::String),
@@ -652,13 +910,12 @@ module ModerationApi
652
910
  )
653
911
  .returns(Models::Operations::UnresolveQueueItemResponse)
654
912
  }
655
- def unresolve(body:, id:, item_id:, project_id: nil, timeout_ms: nil, http_headers: nil)
913
+ def unresolve(id:, item_id:, project_id: nil, timeout_ms: nil, http_headers: nil)
656
914
  # unresolve - Unresolve a queue item
657
- # Mark a previously resolved queue item as unresolved/pending
915
+ # Mark a resolved item of a queue as pending again. It is the same as removing a check-off in the dashboard: the item comes back in the pending list.
658
916
  request = Models::Operations::UnresolveQueueItemRequest.new(
659
917
  id: id,
660
918
  item_id: item_id,
661
- body: body,
662
919
  project_id: project_id
663
920
  )
664
921
  url, params = @sdk_configuration.get_server_details
@@ -671,18 +928,6 @@ module ModerationApi
671
928
  )
672
929
  headers = Utils.get_headers(request)
673
930
  headers = T.cast(headers, T::Hash[String, String])
674
- req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
675
- headers["content-type"] = req_content_type
676
- raise StandardError, "request body is required" if data.nil? && form.nil?
677
-
678
- if form && !form.empty?
679
- body = Utils.encode_form(form)
680
- elsif Utils.match_content_type(req_content_type, "application/x-www-form-urlencoded")
681
- body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
682
- else
683
- body = data
684
- end
685
-
686
931
  headers["Accept"] = "application/json"
687
932
  headers["user-agent"] = @sdk_configuration.user_agent
688
933
 
@@ -706,7 +951,6 @@ module ModerationApi
706
951
 
707
952
  begin
708
953
  http_response = T.must(connection).post(url) do |req|
709
- req.body = body
710
954
  req.headers.merge!(headers)
711
955
  req.options.timeout = timeout unless timeout.nil?
712
956
  Utils.configure_request_security(req, security)
@@ -9,13 +9,15 @@ module ModerationApi
9
9
  # BadRequestErrorCode - Exactly what went wrong. Stable; safe to branch on. New codes may be added.
10
10
  #
11
11
  # - `invalid_request`: A parameter is invalid. `message` says which one.
12
- # - `project_id_required`: An organization key called a project endpoint without naming the project in `Project-Id`, and the organization has more than one project.
12
+ # - `project_id_required`: An organization key called a project endpoint without naming the project in `Project-Id`, and the key reaches more than one project. `message` lists the projects it reaches.
13
+ # - `project_name_ambiguous`: The name in `Project-Id` fits more than one project the key reaches. `message` lists them; name the project by ID instead.
13
14
  # - `validation_failed`: The request body does not match the schema. `issues` lists each problem with its `path`.
14
15
  class BadRequestErrorCode
15
16
  include ::Crystalline::Enum
16
17
  enums do
17
18
  INVALID_REQUEST = new("invalid_request")
18
19
  PROJECT_ID_REQUIRED = new("project_id_required")
20
+ PROJECT_NAME_AMBIGUOUS = new("project_name_ambiguous")
19
21
  VALIDATION_FAILED = new("validation_failed")
20
22
  end
21
23
 
@@ -0,0 +1,85 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module ModerationApi
7
+ module Models
8
+ module Components
9
+
10
+ class Label
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # The label name
15
+ field(
16
+ :label,
17
+ ::String,
18
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("label"), required: true}}
19
+ )
20
+ # Confidence score between 0 and 1
21
+ field(
22
+ :score,
23
+ ::Float,
24
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("score"), required: true}}
25
+ )
26
+ # True if the label was applied manually by a moderator
27
+ field(
28
+ :manual,
29
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
30
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("manual")}}
31
+ )
32
+ # Whether this label crossed its flagging threshold
33
+ field(
34
+ :flagged,
35
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
36
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("flagged")}}
37
+ )
38
+ # Whether this label crossed its threshold under a shadowed policy — reported for visibility, never counted toward a flagging decision
39
+ field(
40
+ :shadow_flagged,
41
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
42
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("shadow_flagged")}}
43
+ )
44
+
45
+ field(
46
+ :matches,
47
+ Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::QueueItemMatch)),
48
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("matches")}}
49
+ )
50
+
51
+ sig {
52
+ params(
53
+ label: ::String,
54
+ score: ::Float,
55
+ manual: T.nilable(T::Boolean),
56
+ flagged: T.nilable(T::Boolean),
57
+ shadow_flagged: T.nilable(T::Boolean),
58
+ matches: T.nilable(T::Array[Models::Components::QueueItemMatch])
59
+ )
60
+ .void
61
+ }
62
+ def initialize(label:, score:, manual: nil, flagged: nil, shadow_flagged: nil, matches: nil)
63
+ @label = label
64
+ @score = score
65
+ @manual = manual
66
+ @flagged = flagged
67
+ @shadow_flagged = shadow_flagged
68
+ @matches = matches
69
+ end
70
+
71
+ sig { params(other: T.untyped).returns(T::Boolean) }
72
+ def ==(other)
73
+ return false unless other.is_a?(self.class)
74
+ return false unless @label == other.label
75
+ return false unless @score == other.score
76
+ return false unless @manual == other.manual
77
+ return false unless @flagged == other.flagged
78
+ return false unless @shadow_flagged == other.shadow_flagged
79
+ return false unless @matches == other.matches
80
+ true
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,44 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class ModerationApi::Models::Components::Label
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class ModerationApi::Models::Components::Label
9
+ def label
10
+ end
11
+
12
+ def label=(str_)
13
+ end
14
+
15
+ def score
16
+ end
17
+
18
+ def score=(str_)
19
+ end
20
+
21
+ def manual
22
+ end
23
+
24
+ def manual=(str_)
25
+ end
26
+
27
+ def flagged
28
+ end
29
+
30
+ def flagged=(str_)
31
+ end
32
+
33
+ def shadow_flagged
34
+ end
35
+
36
+ def shadow_flagged=(str_)
37
+ end
38
+
39
+ def matches
40
+ end
41
+
42
+ def matches=(str_)
43
+ end
44
+ end
@@ -12,6 +12,7 @@ module ModerationApi
12
12
  # - `action_not_found`: The action does not exist.
13
13
  # - `author_not_found`: The author does not exist.
14
14
  # - `queue_not_found`: The review queue does not exist.
15
+ # - `queue_item_not_found`: The queue item does not exist in the project.
15
16
  # - `wordlist_not_found`: The wordlist does not exist.
16
17
  # - `webhook_not_found`: The webhook does not exist.
17
18
  # - `project_not_found`: The project does not exist.
@@ -23,6 +24,7 @@ module ModerationApi
23
24
  ACTION_NOT_FOUND = new("action_not_found")
24
25
  AUTHOR_NOT_FOUND = new("author_not_found")
25
26
  QUEUE_NOT_FOUND = new("queue_not_found")
27
+ QUEUE_ITEM_NOT_FOUND = new("queue_item_not_found")
26
28
  WORDLIST_NOT_FOUND = new("wordlist_not_found")
27
29
  WEBHOOK_NOT_FOUND = new("webhook_not_found")
28
30
  PROJECT_NOT_FOUND = new("project_not_found")
@@ -0,0 +1,65 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module ModerationApi
7
+ module Models
8
+ module Components
9
+
10
+ class ProjectApiKey
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # The ID of the API key.
15
+ field :id, ::String, {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("id"), required: true}}
16
+ # The key's name.
17
+ field(
18
+ :name,
19
+ ::String,
20
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("name"), required: true}}
21
+ )
22
+ # The ID of the project the key belongs to.
23
+ field(
24
+ :project_id,
25
+ ::String,
26
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("projectId"), required: true}}
27
+ )
28
+ # When the key was created.
29
+ field(
30
+ :created_at,
31
+ ::String,
32
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("createdAt"), required: true}}
33
+ )
34
+ # The new secret API key. Use it to moderate content in this project. It is also shown in the project's settings.
35
+ field(
36
+ :secret_key,
37
+ ::String,
38
+ {'format_json': {'letter_case': ::ModerationApi::Utils.field_name("secretKey"), required: true}}
39
+ )
40
+
41
+ sig {
42
+ params(id: ::String, name: ::String, project_id: ::String, created_at: ::String, secret_key: ::String).void
43
+ }
44
+ def initialize(id:, name:, project_id:, created_at:, secret_key:)
45
+ @id = id
46
+ @name = name
47
+ @project_id = project_id
48
+ @created_at = created_at
49
+ @secret_key = secret_key
50
+ end
51
+
52
+ sig { params(other: T.untyped).returns(T::Boolean) }
53
+ def ==(other)
54
+ return false unless other.is_a?(self.class)
55
+ return false unless @id == other.id
56
+ return false unless @name == other.name
57
+ return false unless @project_id == other.project_id
58
+ return false unless @created_at == other.created_at
59
+ return false unless @secret_key == other.secret_key
60
+ true
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,38 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class ModerationApi::Models::Components::ProjectApiKey
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class ModerationApi::Models::Components::ProjectApiKey
9
+ def id
10
+ end
11
+
12
+ def id=(str_)
13
+ end
14
+
15
+ def name
16
+ end
17
+
18
+ def name=(str_)
19
+ end
20
+
21
+ def project_id
22
+ end
23
+
24
+ def project_id=(str_)
25
+ end
26
+
27
+ def created_at
28
+ end
29
+
30
+ def created_at=(str_)
31
+ end
32
+
33
+ def secret_key
34
+ end
35
+
36
+ def secret_key=(str_)
37
+ end
38
+ end
@@ -28,12 +28,12 @@ module ModerationApi
28
28
  # Current author status
29
29
  field(
30
30
  :status,
31
- Models::Components::Status,
31
+ Models::Components::PublicAuthorStatus,
32
32
  {
33
33
  'format_json': {
34
34
  'letter_case': ::ModerationApi::Utils.field_name("status"),
35
35
  required: true,
36
- 'decoder': ::ModerationApi::Utils.open_enum_from_string(Models::Components::Status, false)
36
+ 'decoder': ::ModerationApi::Utils.open_enum_from_string(Models::Components::PublicAuthorStatus, false)
37
37
  }
38
38
  }
39
39
  )
@@ -115,7 +115,7 @@ module ModerationApi
115
115
  id: ::String,
116
116
  first_seen: ::Float,
117
117
  last_seen: ::Float,
118
- status: Models::Components::Status,
118
+ status: Models::Components::PublicAuthorStatus,
119
119
  trust_level: Models::Components::TrustLevel,
120
120
  metrics: Models::Components::Metrics,
121
121
  metadata: Models::Components::Metadata,