moderation_api 1.2.1 → 2.0.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 (435) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +28 -0
  4. data/README.md +200 -62
  5. data/SECURITY.md +27 -0
  6. data/lib/moderation_api/client.rb +98 -0
  7. data/lib/moderation_api/errors.rb +228 -0
  8. data/lib/moderation_api/file_part.rb +58 -0
  9. data/lib/moderation_api/internal/transport/base_client.rb +577 -0
  10. data/lib/moderation_api/internal/transport/pooled_net_requester.rb +208 -0
  11. data/lib/moderation_api/internal/type/array_of.rb +168 -0
  12. data/lib/moderation_api/internal/type/base_model.rb +534 -0
  13. data/lib/moderation_api/internal/type/base_page.rb +55 -0
  14. data/lib/moderation_api/internal/type/boolean.rb +77 -0
  15. data/lib/moderation_api/internal/type/converter.rb +327 -0
  16. data/lib/moderation_api/internal/type/enum.rb +131 -0
  17. data/lib/moderation_api/internal/type/file_input.rb +111 -0
  18. data/lib/moderation_api/internal/type/hash_of.rb +188 -0
  19. data/lib/moderation_api/internal/type/request_parameters.rb +42 -0
  20. data/lib/moderation_api/internal/type/union.rb +243 -0
  21. data/lib/moderation_api/internal/type/unknown.rb +81 -0
  22. data/lib/moderation_api/internal/util.rb +915 -0
  23. data/lib/moderation_api/internal.rb +20 -0
  24. data/lib/moderation_api/models/account_list_params.rb +14 -0
  25. data/lib/moderation_api/models/account_list_response.rb +68 -0
  26. data/lib/moderation_api/models/action_create_params.rb +217 -0
  27. data/lib/moderation_api/models/action_create_response.rb +188 -0
  28. data/lib/moderation_api/models/action_delete_params.rb +14 -0
  29. data/lib/moderation_api/models/action_delete_response.rb +25 -0
  30. data/lib/moderation_api/models/action_list_params.rb +20 -0
  31. data/lib/moderation_api/models/action_list_response.rb +247 -0
  32. data/lib/moderation_api/models/action_retrieve_params.rb +14 -0
  33. data/lib/moderation_api/models/action_retrieve_response.rb +244 -0
  34. data/lib/moderation_api/models/action_update_params.rb +217 -0
  35. data/lib/moderation_api/models/action_update_response.rb +188 -0
  36. data/lib/moderation_api/models/actions/execute_execute_by_id_params.rb +48 -0
  37. data/lib/moderation_api/models/actions/execute_execute_by_id_response.rb +35 -0
  38. data/lib/moderation_api/models/actions/execute_execute_params.rb +64 -0
  39. data/lib/moderation_api/models/actions/execute_execute_response.rb +21 -0
  40. data/lib/moderation_api/models/auth_create_params.rb +14 -0
  41. data/lib/moderation_api/models/auth_create_response.rb +33 -0
  42. data/lib/moderation_api/models/auth_retrieve_params.rb +14 -0
  43. data/lib/moderation_api/models/auth_retrieve_response.rb +25 -0
  44. data/lib/moderation_api/models/author_create_params.rb +127 -0
  45. data/lib/moderation_api/models/author_create_response.rb +272 -0
  46. data/lib/moderation_api/models/author_delete_params.rb +14 -0
  47. data/lib/moderation_api/models/author_delete_response.rb +16 -0
  48. data/lib/moderation_api/models/author_list_params.rb +93 -0
  49. data/lib/moderation_api/models/author_list_response.rb +326 -0
  50. data/lib/moderation_api/models/author_retrieve_params.rb +14 -0
  51. data/lib/moderation_api/models/author_retrieve_response.rb +274 -0
  52. data/lib/moderation_api/models/author_update_params.rb +119 -0
  53. data/lib/moderation_api/models/author_update_response.rb +272 -0
  54. data/lib/moderation_api/models/content_submit_params.rb +871 -0
  55. data/lib/moderation_api/models/content_submit_response.rb +742 -0
  56. data/lib/moderation_api/models/queue/item_list_params.rb +118 -0
  57. data/lib/moderation_api/models/queue/item_list_response.rb +235 -0
  58. data/lib/moderation_api/models/queue/item_resolve_params.rb +32 -0
  59. data/lib/moderation_api/models/queue/item_resolve_response.rb +34 -0
  60. data/lib/moderation_api/models/queue/item_unresolve_params.rb +32 -0
  61. data/lib/moderation_api/models/queue/item_unresolve_response.rb +34 -0
  62. data/lib/moderation_api/models/queue_get_stats_params.rb +22 -0
  63. data/lib/moderation_api/models/queue_get_stats_response.rb +251 -0
  64. data/lib/moderation_api/models/queue_retrieve_params.rb +14 -0
  65. data/lib/moderation_api/models/queue_retrieve_response.rb +190 -0
  66. data/lib/moderation_api/models/wordlist/word_add_params.rb +24 -0
  67. data/lib/moderation_api/models/wordlist/word_add_response.rb +35 -0
  68. data/lib/moderation_api/models/wordlist/word_remove_params.rb +24 -0
  69. data/lib/moderation_api/models/wordlist/word_remove_response.rb +35 -0
  70. data/lib/moderation_api/models/wordlist_get_embedding_status_params.rb +14 -0
  71. data/lib/moderation_api/models/wordlist_get_embedding_status_response.rb +35 -0
  72. data/lib/moderation_api/models/wordlist_list_params.rb +14 -0
  73. data/lib/moderation_api/models/wordlist_list_response.rb +52 -0
  74. data/lib/moderation_api/models/wordlist_retrieve_params.rb +14 -0
  75. data/lib/moderation_api/models/wordlist_retrieve_response.rb +65 -0
  76. data/lib/moderation_api/models/wordlist_update_params.rb +58 -0
  77. data/lib/moderation_api/models/wordlist_update_response.rb +65 -0
  78. data/lib/moderation_api/models.rb +90 -0
  79. data/lib/moderation_api/request_options.rb +78 -0
  80. data/lib/moderation_api/resources/account.rb +32 -0
  81. data/lib/moderation_api/resources/actions/execute.rb +80 -0
  82. data/lib/moderation_api/resources/actions.rb +175 -0
  83. data/lib/moderation_api/resources/auth.rb +50 -0
  84. data/lib/moderation_api/resources/authors.rb +179 -0
  85. data/lib/moderation_api/resources/content.rb +53 -0
  86. data/lib/moderation_api/resources/queue/items.rb +131 -0
  87. data/lib/moderation_api/resources/queue.rb +63 -0
  88. data/lib/moderation_api/resources/wordlist/words.rb +64 -0
  89. data/lib/moderation_api/resources/wordlist.rb +111 -0
  90. data/lib/moderation_api/version.rb +2 -12
  91. data/lib/moderation_api.rb +115 -89
  92. data/manifest.yaml +17 -0
  93. data/rbi/moderation_api/client.rbi +67 -0
  94. data/rbi/moderation_api/errors.rbi +205 -0
  95. data/rbi/moderation_api/file_part.rbi +37 -0
  96. data/rbi/moderation_api/internal/transport/base_client.rbi +305 -0
  97. data/rbi/moderation_api/internal/transport/pooled_net_requester.rbi +84 -0
  98. data/rbi/moderation_api/internal/type/array_of.rbi +104 -0
  99. data/rbi/moderation_api/internal/type/base_model.rbi +314 -0
  100. data/rbi/moderation_api/internal/type/base_page.rbi +43 -0
  101. data/rbi/moderation_api/internal/type/boolean.rbi +58 -0
  102. data/rbi/moderation_api/internal/type/converter.rbi +225 -0
  103. data/rbi/moderation_api/internal/type/enum.rbi +82 -0
  104. data/rbi/moderation_api/internal/type/file_input.rbi +59 -0
  105. data/rbi/moderation_api/internal/type/hash_of.rbi +104 -0
  106. data/rbi/moderation_api/internal/type/request_parameters.rbi +31 -0
  107. data/rbi/moderation_api/internal/type/union.rbi +128 -0
  108. data/rbi/moderation_api/internal/type/unknown.rbi +58 -0
  109. data/rbi/moderation_api/internal/util.rbi +487 -0
  110. data/rbi/moderation_api/internal.rbi +18 -0
  111. data/rbi/moderation_api/models/account_list_params.rbi +32 -0
  112. data/rbi/moderation_api/models/account_list_response.rbi +115 -0
  113. data/rbi/moderation_api/models/action_create_params.rbi +433 -0
  114. data/rbi/moderation_api/models/action_create_response.rbi +354 -0
  115. data/rbi/moderation_api/models/action_delete_params.rbi +32 -0
  116. data/rbi/moderation_api/models/action_delete_response.rbi +36 -0
  117. data/rbi/moderation_api/models/action_list_params.rbi +41 -0
  118. data/rbi/moderation_api/models/action_list_response.rbi +450 -0
  119. data/rbi/moderation_api/models/action_retrieve_params.rbi +32 -0
  120. data/rbi/moderation_api/models/action_retrieve_response.rbi +442 -0
  121. data/rbi/moderation_api/models/action_update_params.rbi +436 -0
  122. data/rbi/moderation_api/models/action_update_response.rbi +354 -0
  123. data/rbi/moderation_api/models/actions/execute_execute_by_id_params.rbi +84 -0
  124. data/rbi/moderation_api/models/actions/execute_execute_by_id_response.rbi +54 -0
  125. data/rbi/moderation_api/models/actions/execute_execute_params.rbi +103 -0
  126. data/rbi/moderation_api/models/actions/execute_execute_response.rbi +33 -0
  127. data/rbi/moderation_api/models/auth_create_params.rbi +32 -0
  128. data/rbi/moderation_api/models/auth_create_response.rbi +48 -0
  129. data/rbi/moderation_api/models/auth_retrieve_params.rbi +32 -0
  130. data/rbi/moderation_api/models/auth_retrieve_response.rbi +36 -0
  131. data/rbi/moderation_api/models/author_create_params.rbi +184 -0
  132. data/rbi/moderation_api/models/author_create_response.rbi +467 -0
  133. data/rbi/moderation_api/models/author_delete_params.rbi +32 -0
  134. data/rbi/moderation_api/models/author_delete_response.rbi +26 -0
  135. data/rbi/moderation_api/models/author_list_params.rbi +213 -0
  136. data/rbi/moderation_api/models/author_list_response.rbi +593 -0
  137. data/rbi/moderation_api/models/author_retrieve_params.rbi +32 -0
  138. data/rbi/moderation_api/models/author_retrieve_response.rbi +472 -0
  139. data/rbi/moderation_api/models/author_update_params.rbi +176 -0
  140. data/rbi/moderation_api/models/author_update_response.rbi +467 -0
  141. data/rbi/moderation_api/models/content_submit_params.rbi +1641 -0
  142. data/rbi/moderation_api/models/content_submit_response.rbi +1456 -0
  143. data/rbi/moderation_api/models/queue/item_list_params.rbi +237 -0
  144. data/rbi/moderation_api/models/queue/item_list_response.rbi +440 -0
  145. data/rbi/moderation_api/models/queue/item_resolve_params.rbi +59 -0
  146. data/rbi/moderation_api/models/queue/item_resolve_response.rbi +55 -0
  147. data/rbi/moderation_api/models/queue/item_unresolve_params.rbi +59 -0
  148. data/rbi/moderation_api/models/queue/item_unresolve_response.rbi +52 -0
  149. data/rbi/moderation_api/models/queue_get_stats_params.rbi +49 -0
  150. data/rbi/moderation_api/models/queue_get_stats_response.rbi +466 -0
  151. data/rbi/moderation_api/models/queue_retrieve_params.rbi +32 -0
  152. data/rbi/moderation_api/models/queue_retrieve_response.rbi +411 -0
  153. data/rbi/moderation_api/models/wordlist/word_add_params.rbi +48 -0
  154. data/rbi/moderation_api/models/wordlist/word_add_response.rbi +58 -0
  155. data/rbi/moderation_api/models/wordlist/word_remove_params.rbi +48 -0
  156. data/rbi/moderation_api/models/wordlist/word_remove_response.rbi +58 -0
  157. data/rbi/moderation_api/models/wordlist_get_embedding_status_params.rbi +32 -0
  158. data/rbi/moderation_api/models/wordlist_get_embedding_status_response.rbi +53 -0
  159. data/rbi/moderation_api/models/wordlist_list_params.rbi +32 -0
  160. data/rbi/moderation_api/models/wordlist_list_response.rbi +80 -0
  161. data/rbi/moderation_api/models/wordlist_retrieve_params.rbi +32 -0
  162. data/rbi/moderation_api/models/wordlist_retrieve_response.rbi +88 -0
  163. data/rbi/moderation_api/models/wordlist_update_params.rbi +95 -0
  164. data/rbi/moderation_api/models/wordlist_update_response.rbi +88 -0
  165. data/rbi/moderation_api/models.rbi +50 -0
  166. data/rbi/moderation_api/request_options.rbi +59 -0
  167. data/rbi/moderation_api/resources/account.rbi +21 -0
  168. data/rbi/moderation_api/resources/actions/execute.rbi +69 -0
  169. data/rbi/moderation_api/resources/actions.rbi +164 -0
  170. data/rbi/moderation_api/resources/auth.rbi +28 -0
  171. data/rbi/moderation_api/resources/authors.rbi +143 -0
  172. data/rbi/moderation_api/resources/content.rbi +84 -0
  173. data/rbi/moderation_api/resources/queue/items.rbi +95 -0
  174. data/rbi/moderation_api/resources/queue.rbi +47 -0
  175. data/rbi/moderation_api/resources/wordlist/words.rbi +48 -0
  176. data/rbi/moderation_api/resources/wordlist.rbi +82 -0
  177. data/rbi/moderation_api/version.rbi +5 -0
  178. data/sig/moderation_api/client.rbs +38 -0
  179. data/sig/moderation_api/errors.rbs +117 -0
  180. data/sig/moderation_api/file_part.rbs +21 -0
  181. data/sig/moderation_api/internal/transport/base_client.rbs +133 -0
  182. data/sig/moderation_api/internal/transport/pooled_net_requester.rbs +48 -0
  183. data/sig/moderation_api/internal/type/array_of.rbs +48 -0
  184. data/sig/moderation_api/internal/type/base_model.rbs +104 -0
  185. data/sig/moderation_api/internal/type/base_page.rbs +24 -0
  186. data/sig/moderation_api/internal/type/boolean.rbs +26 -0
  187. data/sig/moderation_api/internal/type/converter.rbs +79 -0
  188. data/sig/moderation_api/internal/type/enum.rbs +32 -0
  189. data/sig/moderation_api/internal/type/file_input.rbs +25 -0
  190. data/sig/moderation_api/internal/type/hash_of.rbs +48 -0
  191. data/sig/moderation_api/internal/type/request_parameters.rbs +19 -0
  192. data/sig/moderation_api/internal/type/union.rbs +52 -0
  193. data/sig/moderation_api/internal/type/unknown.rbs +26 -0
  194. data/sig/moderation_api/internal/util.rbs +185 -0
  195. data/sig/moderation_api/internal.rbs +10 -0
  196. data/sig/moderation_api/models/account_list_params.rbs +15 -0
  197. data/sig/moderation_api/models/account_list_response.rbs +56 -0
  198. data/sig/moderation_api/models/action_create_params.rbs +195 -0
  199. data/sig/moderation_api/models/action_create_response.rbs +143 -0
  200. data/sig/moderation_api/models/action_delete_params.rbs +15 -0
  201. data/sig/moderation_api/models/action_delete_response.rbs +15 -0
  202. data/sig/moderation_api/models/action_list_params.rbs +25 -0
  203. data/sig/moderation_api/models/action_list_response.rbs +190 -0
  204. data/sig/moderation_api/models/action_retrieve_params.rbs +15 -0
  205. data/sig/moderation_api/models/action_retrieve_response.rbs +185 -0
  206. data/sig/moderation_api/models/action_update_params.rbs +197 -0
  207. data/sig/moderation_api/models/action_update_response.rbs +143 -0
  208. data/sig/moderation_api/models/actions/execute_execute_by_id_params.rbs +51 -0
  209. data/sig/moderation_api/models/actions/execute_execute_by_id_response.rbs +28 -0
  210. data/sig/moderation_api/models/actions/execute_execute_params.rbs +63 -0
  211. data/sig/moderation_api/models/actions/execute_execute_response.rbs +15 -0
  212. data/sig/moderation_api/models/auth_create_params.rbs +15 -0
  213. data/sig/moderation_api/models/auth_create_response.rbs +18 -0
  214. data/sig/moderation_api/models/auth_retrieve_params.rbs +15 -0
  215. data/sig/moderation_api/models/auth_retrieve_response.rbs +15 -0
  216. data/sig/moderation_api/models/author_create_params.rbs +106 -0
  217. data/sig/moderation_api/models/author_create_response.rbs +195 -0
  218. data/sig/moderation_api/models/author_delete_params.rbs +15 -0
  219. data/sig/moderation_api/models/author_delete_response.rbs +13 -0
  220. data/sig/moderation_api/models/author_list_params.rbs +110 -0
  221. data/sig/moderation_api/models/author_list_response.rbs +254 -0
  222. data/sig/moderation_api/models/author_retrieve_params.rbs +15 -0
  223. data/sig/moderation_api/models/author_retrieve_response.rbs +195 -0
  224. data/sig/moderation_api/models/author_update_params.rbs +101 -0
  225. data/sig/moderation_api/models/author_update_response.rbs +195 -0
  226. data/sig/moderation_api/models/content_submit_params.rbs +733 -0
  227. data/sig/moderation_api/models/content_submit_response.rbs +599 -0
  228. data/sig/moderation_api/models/queue/item_list_params.rbs +127 -0
  229. data/sig/moderation_api/models/queue/item_list_response.rbs +209 -0
  230. data/sig/moderation_api/models/queue/item_resolve_params.rbs +32 -0
  231. data/sig/moderation_api/models/queue/item_resolve_response.rbs +26 -0
  232. data/sig/moderation_api/models/queue/item_unresolve_params.rbs +32 -0
  233. data/sig/moderation_api/models/queue/item_unresolve_response.rbs +24 -0
  234. data/sig/moderation_api/models/queue_get_stats_params.rbs +26 -0
  235. data/sig/moderation_api/models/queue_get_stats_response.rbs +207 -0
  236. data/sig/moderation_api/models/queue_retrieve_params.rbs +15 -0
  237. data/sig/moderation_api/models/queue_retrieve_response.rbs +207 -0
  238. data/sig/moderation_api/models/wordlist/word_add_params.rbs +26 -0
  239. data/sig/moderation_api/models/wordlist/word_add_response.rbs +28 -0
  240. data/sig/moderation_api/models/wordlist/word_remove_params.rbs +26 -0
  241. data/sig/moderation_api/models/wordlist/word_remove_response.rbs +32 -0
  242. data/sig/moderation_api/models/wordlist_get_embedding_status_params.rbs +15 -0
  243. data/sig/moderation_api/models/wordlist_get_embedding_status_response.rbs +26 -0
  244. data/sig/moderation_api/models/wordlist_list_params.rbs +15 -0
  245. data/sig/moderation_api/models/wordlist_list_response.rbs +45 -0
  246. data/sig/moderation_api/models/wordlist_retrieve_params.rbs +15 -0
  247. data/sig/moderation_api/models/wordlist_retrieve_response.rbs +50 -0
  248. data/sig/moderation_api/models/wordlist_update_params.rbs +56 -0
  249. data/sig/moderation_api/models/wordlist_update_response.rbs +50 -0
  250. data/sig/moderation_api/models.rbs +47 -0
  251. data/sig/moderation_api/request_options.rbs +36 -0
  252. data/sig/moderation_api/resources/account.rbs +11 -0
  253. data/sig/moderation_api/resources/actions/execute.rbs +28 -0
  254. data/sig/moderation_api/resources/actions.rbs +57 -0
  255. data/sig/moderation_api/resources/auth.rbs +15 -0
  256. data/sig/moderation_api/resources/authors.rbs +54 -0
  257. data/sig/moderation_api/resources/content.rbs +20 -0
  258. data/sig/moderation_api/resources/queue/items.rbs +39 -0
  259. data/sig/moderation_api/resources/queue.rbs +20 -0
  260. data/sig/moderation_api/resources/wordlist/words.rbs +21 -0
  261. data/sig/moderation_api/resources/wordlist.rbs +33 -0
  262. data/sig/moderation_api/version.rbs +3 -0
  263. metadata +277 -299
  264. data/Gemfile +0 -9
  265. data/Rakefile +0 -10
  266. data/docs/AccountApi.md +0 -74
  267. data/docs/AccountGet200Response.md +0 -26
  268. data/docs/AccountGet200ResponseCurrentProject.md +0 -20
  269. data/docs/ActionsCreateRequest.md +0 -36
  270. data/docs/ActionsCreateRequestWebhooksInner.md +0 -24
  271. data/docs/ActionsDelete200Response.md +0 -20
  272. data/docs/ActionsExecute200Response.md +0 -22
  273. data/docs/ActionsExecuteDeprecatedRequest.md +0 -22
  274. data/docs/ActionsExecuteRequest.md +0 -24
  275. data/docs/ActionsGet200Response.md +0 -40
  276. data/docs/ActionsGet200ResponseWebhooksInner.md +0 -26
  277. data/docs/ActionsList200ResponseInner.md +0 -38
  278. data/docs/ActionsList200ResponseInnerPossibleValuesInner.md +0 -18
  279. data/docs/ActionsList400Response.md +0 -22
  280. data/docs/ActionsList400ResponseIssuesInner.md +0 -18
  281. data/docs/ActionsUpdateRequest.md +0 -36
  282. data/docs/ModerateApi.md +0 -357
  283. data/docs/ModerationAudioRequest.md +0 -28
  284. data/docs/ModerationImage200Response.md +0 -28
  285. data/docs/ModerationImage200ResponseLabelsInner.md +0 -20
  286. data/docs/ModerationImageRequest.md +0 -28
  287. data/docs/ModerationObject200Response.md +0 -36
  288. data/docs/ModerationObject200ResponseAllOfEntitiesInner.md +0 -22
  289. data/docs/ModerationObject200ResponseAllOfFieldsInner.md +0 -22
  290. data/docs/ModerationObject200ResponseAllOfLabelsInner.md +0 -22
  291. data/docs/ModerationObjectRequest.md +0 -28
  292. data/docs/ModerationObjectRequestValue.md +0 -20
  293. data/docs/ModerationObjectRequestValueDataValue.md +0 -22
  294. data/docs/ModerationText200Response.md +0 -64
  295. data/docs/ModerationText200ResponseAllOfAddress.md +0 -28
  296. data/docs/ModerationText200ResponseAllOfEmail.md +0 -28
  297. data/docs/ModerationText200ResponseAllOfName.md +0 -28
  298. data/docs/ModerationText200ResponseAllOfNsfw.md +0 -26
  299. data/docs/ModerationText200ResponseAllOfNsfwLabelScores.md +0 -22
  300. data/docs/ModerationText200ResponseAllOfPhone.md +0 -28
  301. data/docs/ModerationText200ResponseAllOfProfanity.md +0 -28
  302. data/docs/ModerationText200ResponseAllOfPropriety.md +0 -26
  303. data/docs/ModerationText200ResponseAllOfProprietyLabelScores.md +0 -22
  304. data/docs/ModerationText200ResponseAllOfQuality.md +0 -26
  305. data/docs/ModerationText200ResponseAllOfQualityLabelScores.md +0 -24
  306. data/docs/ModerationText200ResponseAllOfRequest.md +0 -20
  307. data/docs/ModerationText200ResponseAllOfSensitive.md +0 -28
  308. data/docs/ModerationText200ResponseAllOfSentiment.md +0 -26
  309. data/docs/ModerationText200ResponseAllOfSentimentLabelScores.md +0 -22
  310. data/docs/ModerationText200ResponseAllOfToxicity.md +0 -26
  311. data/docs/ModerationText200ResponseAllOfToxicityLabelScores.md +0 -30
  312. data/docs/ModerationText200ResponseAllOfUrl.md +0 -28
  313. data/docs/ModerationText200ResponseAllOfUsername.md +0 -28
  314. data/docs/ModerationText200ResponseAllOfWordlist.md +0 -28
  315. data/docs/ModerationText200ResponseAllOfWordlistsInner.md +0 -36
  316. data/docs/ModerationTextRequest.md +0 -28
  317. data/docs/ModerationVideo200Response.md +0 -24
  318. data/docs/ModerationVideoRequest.md +0 -28
  319. data/docs/QueueActionsApi.md +0 -503
  320. data/git_push.sh +0 -57
  321. data/lib/moderation_api/api/account_api.rb +0 -79
  322. data/lib/moderation_api/api/moderate_api.rb +0 -362
  323. data/lib/moderation_api/api/queue_actions_api.rb +0 -492
  324. data/lib/moderation_api/api_client.rb +0 -437
  325. data/lib/moderation_api/api_error.rb +0 -58
  326. data/lib/moderation_api/configuration.rb +0 -392
  327. data/lib/moderation_api/models/account_get200_response.rb +0 -278
  328. data/lib/moderation_api/models/account_get200_response_current_project.rb +0 -237
  329. data/lib/moderation_api/models/actions_create_request.rb +0 -374
  330. data/lib/moderation_api/models/actions_create_request_webhooks_inner.rb +0 -260
  331. data/lib/moderation_api/models/actions_delete200_response.rb +0 -239
  332. data/lib/moderation_api/models/actions_execute200_response.rb +0 -258
  333. data/lib/moderation_api/models/actions_execute_deprecated_request.rb +0 -244
  334. data/lib/moderation_api/models/actions_execute_request.rb +0 -261
  335. data/lib/moderation_api/models/actions_get200_response.rb +0 -408
  336. data/lib/moderation_api/models/actions_get200_response_webhooks_inner.rb +0 -278
  337. data/lib/moderation_api/models/actions_list200_response_inner.rb +0 -396
  338. data/lib/moderation_api/models/actions_list200_response_inner_possible_values_inner.rb +0 -222
  339. data/lib/moderation_api/models/actions_list400_response.rb +0 -248
  340. data/lib/moderation_api/models/actions_list400_response_issues_inner.rb +0 -221
  341. data/lib/moderation_api/models/actions_update_request.rb +0 -367
  342. data/lib/moderation_api/models/moderation_audio_request.rb +0 -302
  343. data/lib/moderation_api/models/moderation_image200_response.rb +0 -296
  344. data/lib/moderation_api/models/moderation_image200_response_labels_inner.rb +0 -301
  345. data/lib/moderation_api/models/moderation_image_request.rb +0 -302
  346. data/lib/moderation_api/models/moderation_object200_response.rb +0 -368
  347. data/lib/moderation_api/models/moderation_object200_response_all_of_entities_inner.rb +0 -251
  348. data/lib/moderation_api/models/moderation_object200_response_all_of_fields_inner.rb +0 -258
  349. data/lib/moderation_api/models/moderation_object200_response_all_of_labels_inner.rb +0 -284
  350. data/lib/moderation_api/models/moderation_object_request.rb +0 -301
  351. data/lib/moderation_api/models/moderation_object_request_value.rb +0 -275
  352. data/lib/moderation_api/models/moderation_object_request_value_data_value.rb +0 -285
  353. data/lib/moderation_api/models/moderation_text200_response.rb +0 -488
  354. data/lib/moderation_api/models/moderation_text200_response_all_of_address.rb +0 -303
  355. data/lib/moderation_api/models/moderation_text200_response_all_of_email.rb +0 -303
  356. data/lib/moderation_api/models/moderation_text200_response_all_of_name.rb +0 -303
  357. data/lib/moderation_api/models/moderation_text200_response_all_of_nsfw.rb +0 -255
  358. data/lib/moderation_api/models/moderation_text200_response_all_of_nsfw_label_scores.rb +0 -235
  359. data/lib/moderation_api/models/moderation_text200_response_all_of_phone.rb +0 -303
  360. data/lib/moderation_api/models/moderation_text200_response_all_of_profanity.rb +0 -303
  361. data/lib/moderation_api/models/moderation_text200_response_all_of_propriety.rb +0 -255
  362. data/lib/moderation_api/models/moderation_text200_response_all_of_propriety_label_scores.rb +0 -235
  363. data/lib/moderation_api/models/moderation_text200_response_all_of_quality.rb +0 -255
  364. data/lib/moderation_api/models/moderation_text200_response_all_of_quality_label_scores.rb +0 -245
  365. data/lib/moderation_api/models/moderation_text200_response_all_of_request.rb +0 -240
  366. data/lib/moderation_api/models/moderation_text200_response_all_of_sensitive.rb +0 -303
  367. data/lib/moderation_api/models/moderation_text200_response_all_of_sentiment.rb +0 -255
  368. data/lib/moderation_api/models/moderation_text200_response_all_of_sentiment_label_scores.rb +0 -235
  369. data/lib/moderation_api/models/moderation_text200_response_all_of_toxicity.rb +0 -262
  370. data/lib/moderation_api/models/moderation_text200_response_all_of_toxicity_label_scores.rb +0 -275
  371. data/lib/moderation_api/models/moderation_text200_response_all_of_url.rb +0 -303
  372. data/lib/moderation_api/models/moderation_text200_response_all_of_username.rb +0 -303
  373. data/lib/moderation_api/models/moderation_text200_response_all_of_wordlist.rb +0 -303
  374. data/lib/moderation_api/models/moderation_text200_response_all_of_wordlists_inner.rb +0 -377
  375. data/lib/moderation_api/models/moderation_text_request.rb +0 -330
  376. data/lib/moderation_api/models/moderation_video200_response.rb +0 -265
  377. data/lib/moderation_api/models/moderation_video_request.rb +0 -302
  378. data/lib/moderation_api/webhook.rb +0 -41
  379. data/moderation_api-1.2.0.gem +0 -0
  380. data/moderation_api.gemspec +0 -45
  381. data/spec/api/account_api_spec.rb +0 -46
  382. data/spec/api/moderate_api_spec.rb +0 -95
  383. data/spec/api/queue_actions_api_spec.rb +0 -121
  384. data/spec/models/account_get200_response_current_project_spec.rb +0 -42
  385. data/spec/models/account_get200_response_spec.rb +0 -60
  386. data/spec/models/actions_create_request_spec.rb +0 -98
  387. data/spec/models/actions_create_request_webhooks_inner_spec.rb +0 -54
  388. data/spec/models/actions_delete200_response_spec.rb +0 -42
  389. data/spec/models/actions_execute200_response_spec.rb +0 -48
  390. data/spec/models/actions_execute_deprecated_request_spec.rb +0 -48
  391. data/spec/models/actions_execute_request_spec.rb +0 -54
  392. data/spec/models/actions_get200_response_spec.rb +0 -110
  393. data/spec/models/actions_get200_response_webhooks_inner_spec.rb +0 -60
  394. data/spec/models/actions_list200_response_inner_possible_values_inner_spec.rb +0 -36
  395. data/spec/models/actions_list200_response_inner_spec.rb +0 -104
  396. data/spec/models/actions_list400_response_issues_inner_spec.rb +0 -36
  397. data/spec/models/actions_list400_response_spec.rb +0 -48
  398. data/spec/models/actions_update_request_spec.rb +0 -98
  399. data/spec/models/moderation_audio_request_spec.rb +0 -66
  400. data/spec/models/moderation_image200_response_labels_inner_spec.rb +0 -46
  401. data/spec/models/moderation_image200_response_spec.rb +0 -66
  402. data/spec/models/moderation_image_request_spec.rb +0 -66
  403. data/spec/models/moderation_object200_response_all_of_entities_inner_spec.rb +0 -48
  404. data/spec/models/moderation_object200_response_all_of_fields_inner_spec.rb +0 -48
  405. data/spec/models/moderation_object200_response_all_of_labels_inner_spec.rb +0 -48
  406. data/spec/models/moderation_object200_response_spec.rb +0 -90
  407. data/spec/models/moderation_object_request_spec.rb +0 -66
  408. data/spec/models/moderation_object_request_value_data_value_spec.rb +0 -52
  409. data/spec/models/moderation_object_request_value_spec.rb +0 -46
  410. data/spec/models/moderation_text200_response_all_of_address_spec.rb +0 -70
  411. data/spec/models/moderation_text200_response_all_of_email_spec.rb +0 -70
  412. data/spec/models/moderation_text200_response_all_of_name_spec.rb +0 -70
  413. data/spec/models/moderation_text200_response_all_of_nsfw_label_scores_spec.rb +0 -48
  414. data/spec/models/moderation_text200_response_all_of_nsfw_spec.rb +0 -60
  415. data/spec/models/moderation_text200_response_all_of_phone_spec.rb +0 -70
  416. data/spec/models/moderation_text200_response_all_of_profanity_spec.rb +0 -70
  417. data/spec/models/moderation_text200_response_all_of_propriety_label_scores_spec.rb +0 -48
  418. data/spec/models/moderation_text200_response_all_of_propriety_spec.rb +0 -60
  419. data/spec/models/moderation_text200_response_all_of_quality_label_scores_spec.rb +0 -54
  420. data/spec/models/moderation_text200_response_all_of_quality_spec.rb +0 -60
  421. data/spec/models/moderation_text200_response_all_of_request_spec.rb +0 -42
  422. data/spec/models/moderation_text200_response_all_of_sensitive_spec.rb +0 -70
  423. data/spec/models/moderation_text200_response_all_of_sentiment_label_scores_spec.rb +0 -48
  424. data/spec/models/moderation_text200_response_all_of_sentiment_spec.rb +0 -60
  425. data/spec/models/moderation_text200_response_all_of_toxicity_label_scores_spec.rb +0 -72
  426. data/spec/models/moderation_text200_response_all_of_toxicity_spec.rb +0 -60
  427. data/spec/models/moderation_text200_response_all_of_url_spec.rb +0 -70
  428. data/spec/models/moderation_text200_response_all_of_username_spec.rb +0 -70
  429. data/spec/models/moderation_text200_response_all_of_wordlist_spec.rb +0 -70
  430. data/spec/models/moderation_text200_response_all_of_wordlists_inner_spec.rb +0 -94
  431. data/spec/models/moderation_text200_response_spec.rb +0 -174
  432. data/spec/models/moderation_text_request_spec.rb +0 -66
  433. data/spec/models/moderation_video200_response_spec.rb +0 -54
  434. data/spec/models/moderation_video_request_spec.rb +0 -66
  435. data/spec/spec_helper.rb +0 -111
@@ -0,0 +1,175 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ModerationAPI
4
+ module Resources
5
+ class Actions
6
+ # @return [ModerationAPI::Resources::Actions::Execute]
7
+ attr_reader :execute
8
+
9
+ # Some parameter documentations has been truncated, see
10
+ # {ModerationAPI::Models::ActionCreateParams} for more details.
11
+ #
12
+ # Create an action.
13
+ #
14
+ # @overload create(name:, built_in: nil, description: nil, filter_in_queue_ids: nil, free_text: nil, key: nil, position: nil, possible_values: nil, queue_behaviour: nil, type: nil, value_required: nil, webhooks: nil, request_options: {})
15
+ #
16
+ # @param name [String] The name of the action.
17
+ #
18
+ # @param built_in [Boolean, nil] Whether the action is a built-in action or a custom one.
19
+ #
20
+ # @param description [String, nil] The description of the action.
21
+ #
22
+ # @param filter_in_queue_ids [Array<String>] The IDs of the queues the action is available in.
23
+ #
24
+ # @param free_text [Boolean] Whether the action allows any text to be entered as a value or if it must be one
25
+ #
26
+ # @param key [String, nil] User defined key of the action.
27
+ #
28
+ # @param position [Symbol, ModerationAPI::Models::ActionCreateParams::Position] Show the action in all queues, selected queues or no queues (to use via API only
29
+ #
30
+ # @param possible_values [Array<ModerationAPI::Models::ActionCreateParams::PossibleValue>] The possible values of the action. The user will be prompted to select one of th
31
+ #
32
+ # @param queue_behaviour [Symbol, ModerationAPI::Models::ActionCreateParams::QueueBehaviour] Whether the action resolves and removes the item, unresolves and re-add it to th
33
+ #
34
+ # @param type [Symbol, ModerationAPI::Models::ActionCreateParams::Type, nil] The type of the action.
35
+ #
36
+ # @param value_required [Boolean] Whether the action requires a value to be executed.
37
+ #
38
+ # @param webhooks [Array<ModerationAPI::Models::ActionCreateParams::Webhook>] The action's webhooks.
39
+ #
40
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
41
+ #
42
+ # @return [ModerationAPI::Models::ActionCreateResponse]
43
+ #
44
+ # @see ModerationAPI::Models::ActionCreateParams
45
+ def create(params)
46
+ parsed, options = ModerationAPI::ActionCreateParams.dump_request(params)
47
+ @client.request(
48
+ method: :post,
49
+ path: "actions",
50
+ body: parsed,
51
+ model: ModerationAPI::Models::ActionCreateResponse,
52
+ options: options
53
+ )
54
+ end
55
+
56
+ # Get an action by ID.
57
+ #
58
+ # @overload retrieve(id, request_options: {})
59
+ #
60
+ # @param id [String] The ID of the action to get.
61
+ #
62
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
63
+ #
64
+ # @return [ModerationAPI::Models::ActionRetrieveResponse]
65
+ #
66
+ # @see ModerationAPI::Models::ActionRetrieveParams
67
+ def retrieve(id, params = {})
68
+ @client.request(
69
+ method: :get,
70
+ path: ["actions/%1$s", id],
71
+ model: ModerationAPI::Models::ActionRetrieveResponse,
72
+ options: params[:request_options]
73
+ )
74
+ end
75
+
76
+ # Some parameter documentations has been truncated, see
77
+ # {ModerationAPI::Models::ActionUpdateParams} for more details.
78
+ #
79
+ # Update an action.
80
+ #
81
+ # @overload update(id, built_in: nil, description: nil, filter_in_queue_ids: nil, free_text: nil, key: nil, name: nil, position: nil, possible_values: nil, queue_behaviour: nil, type: nil, value_required: nil, webhooks: nil, request_options: {})
82
+ #
83
+ # @param id [String] The ID of the action to update.
84
+ #
85
+ # @param built_in [Boolean, nil] Whether the action is a built-in action or a custom one.
86
+ #
87
+ # @param description [String, nil] The description of the action.
88
+ #
89
+ # @param filter_in_queue_ids [Array<String>] The IDs of the queues the action is available in.
90
+ #
91
+ # @param free_text [Boolean] Whether the action allows any text to be entered as a value or if it must be one
92
+ #
93
+ # @param key [String, nil] User defined key of the action.
94
+ #
95
+ # @param name [String] The name of the action.
96
+ #
97
+ # @param position [Symbol, ModerationAPI::Models::ActionUpdateParams::Position] Show the action in all queues, selected queues or no queues (to use via API only
98
+ #
99
+ # @param possible_values [Array<ModerationAPI::Models::ActionUpdateParams::PossibleValue>] The possible values of the action. The user will be prompted to select one of th
100
+ #
101
+ # @param queue_behaviour [Symbol, ModerationAPI::Models::ActionUpdateParams::QueueBehaviour] Whether the action resolves and removes the item, unresolves and re-add it to th
102
+ #
103
+ # @param type [Symbol, ModerationAPI::Models::ActionUpdateParams::Type, nil] The type of the action.
104
+ #
105
+ # @param value_required [Boolean] Whether the action requires a value to be executed.
106
+ #
107
+ # @param webhooks [Array<ModerationAPI::Models::ActionUpdateParams::Webhook>] The action's webhooks.
108
+ #
109
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
110
+ #
111
+ # @return [ModerationAPI::Models::ActionUpdateResponse]
112
+ #
113
+ # @see ModerationAPI::Models::ActionUpdateParams
114
+ def update(id, params = {})
115
+ parsed, options = ModerationAPI::ActionUpdateParams.dump_request(params)
116
+ @client.request(
117
+ method: :put,
118
+ path: ["actions/%1$s", id],
119
+ body: parsed,
120
+ model: ModerationAPI::Models::ActionUpdateResponse,
121
+ options: options
122
+ )
123
+ end
124
+
125
+ # List all available moderation actions for the authenticated organization.
126
+ #
127
+ # @overload list(queue_id: nil, request_options: {})
128
+ #
129
+ # @param queue_id [String]
130
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
131
+ #
132
+ # @return [Array<ModerationAPI::Models::ActionListResponseItem>]
133
+ #
134
+ # @see ModerationAPI::Models::ActionListParams
135
+ def list(params = {})
136
+ parsed, options = ModerationAPI::ActionListParams.dump_request(params)
137
+ @client.request(
138
+ method: :get,
139
+ path: "actions",
140
+ query: parsed.transform_keys(queue_id: "queueId"),
141
+ model: ModerationAPI::Internal::Type::ArrayOf[ModerationAPI::Models::ActionListResponseItem],
142
+ options: options
143
+ )
144
+ end
145
+
146
+ # Delete an action and all of its webhooks.
147
+ #
148
+ # @overload delete(id, request_options: {})
149
+ #
150
+ # @param id [String] The ID of the action to delete.
151
+ #
152
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
153
+ #
154
+ # @return [ModerationAPI::Models::ActionDeleteResponse]
155
+ #
156
+ # @see ModerationAPI::Models::ActionDeleteParams
157
+ def delete(id, params = {})
158
+ @client.request(
159
+ method: :delete,
160
+ path: ["actions/%1$s", id],
161
+ model: ModerationAPI::Models::ActionDeleteResponse,
162
+ options: params[:request_options]
163
+ )
164
+ end
165
+
166
+ # @api private
167
+ #
168
+ # @param client [ModerationAPI::Client]
169
+ def initialize(client:)
170
+ @client = client
171
+ @execute = ModerationAPI::Resources::Actions::Execute.new(client: client)
172
+ end
173
+ end
174
+ end
175
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ModerationAPI
4
+ module Resources
5
+ class Auth
6
+ # @deprecated
7
+ #
8
+ # @overload create(request_options: {})
9
+ #
10
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
11
+ #
12
+ # @return [ModerationAPI::Models::AuthCreateResponse]
13
+ #
14
+ # @see ModerationAPI::Models::AuthCreateParams
15
+ def create(params = {})
16
+ @client.request(
17
+ method: :post,
18
+ path: "auth",
19
+ model: ModerationAPI::Models::AuthCreateResponse,
20
+ options: params[:request_options]
21
+ )
22
+ end
23
+
24
+ # @deprecated
25
+ #
26
+ # @overload retrieve(request_options: {})
27
+ #
28
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
29
+ #
30
+ # @return [ModerationAPI::Models::AuthRetrieveResponse]
31
+ #
32
+ # @see ModerationAPI::Models::AuthRetrieveParams
33
+ def retrieve(params = {})
34
+ @client.request(
35
+ method: :get,
36
+ path: "auth",
37
+ model: ModerationAPI::Models::AuthRetrieveResponse,
38
+ options: params[:request_options]
39
+ )
40
+ end
41
+
42
+ # @api private
43
+ #
44
+ # @param client [ModerationAPI::Client]
45
+ def initialize(client:)
46
+ @client = client
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,179 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ModerationAPI
4
+ module Resources
5
+ class Authors
6
+ # Some parameter documentations has been truncated, see
7
+ # {ModerationAPI::Models::AuthorCreateParams} for more details.
8
+ #
9
+ # Create a new author. Typically not needed as authors are created automatically
10
+ # when content is moderated.
11
+ #
12
+ # @overload create(external_id:, email: nil, external_link: nil, first_seen: nil, last_seen: nil, manual_trust_level: nil, metadata: nil, name: nil, profile_picture: nil, request_options: {})
13
+ #
14
+ # @param external_id [String] External ID of the user, typically the ID of the author in your database.
15
+ #
16
+ # @param email [String, nil] Author email address
17
+ #
18
+ # @param external_link [String, nil] URL of the author's external profile
19
+ #
20
+ # @param first_seen [Float] Timestamp when author first appeared
21
+ #
22
+ # @param last_seen [Float] Timestamp of last activity
23
+ #
24
+ # @param manual_trust_level [Float, nil]
25
+ #
26
+ # @param metadata [ModerationAPI::Models::AuthorCreateParams::Metadata] Additional metadata provided by your system. We recommend including any relevant
27
+ #
28
+ # @param name [String, nil] Author name or identifier
29
+ #
30
+ # @param profile_picture [String, nil] URL of the author's profile picture
31
+ #
32
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
33
+ #
34
+ # @return [ModerationAPI::Models::AuthorCreateResponse]
35
+ #
36
+ # @see ModerationAPI::Models::AuthorCreateParams
37
+ def create(params)
38
+ parsed, options = ModerationAPI::AuthorCreateParams.dump_request(params)
39
+ @client.request(
40
+ method: :post,
41
+ path: "authors",
42
+ body: parsed,
43
+ model: ModerationAPI::Models::AuthorCreateResponse,
44
+ options: options
45
+ )
46
+ end
47
+
48
+ # Get detailed information about a specific author including historical data and
49
+ # analysis
50
+ #
51
+ # @overload retrieve(id, request_options: {})
52
+ #
53
+ # @param id [String] Either external ID or the ID assigned by moderation API.
54
+ #
55
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
56
+ #
57
+ # @return [ModerationAPI::Models::AuthorRetrieveResponse]
58
+ #
59
+ # @see ModerationAPI::Models::AuthorRetrieveParams
60
+ def retrieve(id, params = {})
61
+ @client.request(
62
+ method: :get,
63
+ path: ["authors/%1$s", id],
64
+ model: ModerationAPI::Models::AuthorRetrieveResponse,
65
+ options: params[:request_options]
66
+ )
67
+ end
68
+
69
+ # Some parameter documentations has been truncated, see
70
+ # {ModerationAPI::Models::AuthorUpdateParams} for more details.
71
+ #
72
+ # Update the details of a specific author
73
+ #
74
+ # @overload update(id, email: nil, external_link: nil, first_seen: nil, last_seen: nil, manual_trust_level: nil, metadata: nil, name: nil, profile_picture: nil, request_options: {})
75
+ #
76
+ # @param id [String] Either external ID or the ID assigned by moderation API.
77
+ #
78
+ # @param email [String, nil] Author email address
79
+ #
80
+ # @param external_link [String, nil] URL of the author's external profile
81
+ #
82
+ # @param first_seen [Float] Timestamp when author first appeared
83
+ #
84
+ # @param last_seen [Float] Timestamp of last activity
85
+ #
86
+ # @param manual_trust_level [Float, nil]
87
+ #
88
+ # @param metadata [ModerationAPI::Models::AuthorUpdateParams::Metadata] Additional metadata provided by your system. We recommend including any relevant
89
+ #
90
+ # @param name [String, nil] Author name or identifier
91
+ #
92
+ # @param profile_picture [String, nil] URL of the author's profile picture
93
+ #
94
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
95
+ #
96
+ # @return [ModerationAPI::Models::AuthorUpdateResponse]
97
+ #
98
+ # @see ModerationAPI::Models::AuthorUpdateParams
99
+ def update(id, params = {})
100
+ parsed, options = ModerationAPI::AuthorUpdateParams.dump_request(params)
101
+ @client.request(
102
+ method: :put,
103
+ path: ["authors/%1$s", id],
104
+ body: parsed,
105
+ model: ModerationAPI::Models::AuthorUpdateResponse,
106
+ options: options
107
+ )
108
+ end
109
+
110
+ # Get a paginated list of authors with their activity metrics and reputation
111
+ #
112
+ # @overload list(content_types: nil, last_active_date: nil, member_since_date: nil, page_number: nil, page_size: nil, sort_by: nil, sort_direction: nil, request_options: {})
113
+ #
114
+ # @param content_types [String]
115
+ #
116
+ # @param last_active_date [String]
117
+ #
118
+ # @param member_since_date [String]
119
+ #
120
+ # @param page_number [Float] Page number to fetch
121
+ #
122
+ # @param page_size [Float] Number of authors per page
123
+ #
124
+ # @param sort_by [Symbol, ModerationAPI::Models::AuthorListParams::SortBy]
125
+ #
126
+ # @param sort_direction [Symbol, ModerationAPI::Models::AuthorListParams::SortDirection] Sort direction
127
+ #
128
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
129
+ #
130
+ # @return [ModerationAPI::Models::AuthorListResponse]
131
+ #
132
+ # @see ModerationAPI::Models::AuthorListParams
133
+ def list(params = {})
134
+ parsed, options = ModerationAPI::AuthorListParams.dump_request(params)
135
+ @client.request(
136
+ method: :get,
137
+ path: "authors",
138
+ query: parsed.transform_keys(
139
+ content_types: "contentTypes",
140
+ last_active_date: "lastActiveDate",
141
+ member_since_date: "memberSinceDate",
142
+ page_number: "pageNumber",
143
+ page_size: "pageSize",
144
+ sort_by: "sortBy",
145
+ sort_direction: "sortDirection"
146
+ ),
147
+ model: ModerationAPI::Models::AuthorListResponse,
148
+ options: options
149
+ )
150
+ end
151
+
152
+ # Delete a specific author
153
+ #
154
+ # @overload delete(id, request_options: {})
155
+ #
156
+ # @param id [String]
157
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
158
+ #
159
+ # @return [ModerationAPI::Models::AuthorDeleteResponse]
160
+ #
161
+ # @see ModerationAPI::Models::AuthorDeleteParams
162
+ def delete(id, params = {})
163
+ @client.request(
164
+ method: :delete,
165
+ path: ["authors/%1$s", id],
166
+ model: ModerationAPI::Models::AuthorDeleteResponse,
167
+ options: params[:request_options]
168
+ )
169
+ end
170
+
171
+ # @api private
172
+ #
173
+ # @param client [ModerationAPI::Client]
174
+ def initialize(client:)
175
+ @client = client
176
+ end
177
+ end
178
+ end
179
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ModerationAPI
4
+ module Resources
5
+ class Content
6
+ # Some parameter documentations has been truncated, see
7
+ # {ModerationAPI::Models::ContentSubmitParams} for more details.
8
+ #
9
+ # @overload submit(content:, author_id: nil, channel: nil, content_id: nil, conversation_id: nil, do_not_store: nil, metadata: nil, meta_type: nil, policies: nil, request_options: {})
10
+ #
11
+ # @param content [ModerationAPI::Models::ContentSubmitParams::Content::Text, ModerationAPI::Models::ContentSubmitParams::Content::Image, ModerationAPI::Models::ContentSubmitParams::Content::Video, ModerationAPI::Models::ContentSubmitParams::Content::Audio, ModerationAPI::Models::ContentSubmitParams::Content::Object] The content sent for moderation
12
+ #
13
+ # @param author_id [String] The author of the content.
14
+ #
15
+ # @param channel [String] Provide a channel ID or key. Will use the project's default channel if not provi
16
+ #
17
+ # @param content_id [String] The unique ID of the content in your database.
18
+ #
19
+ # @param conversation_id [String] For example the ID of a chat room or a post
20
+ #
21
+ # @param do_not_store [Boolean] Do not store the content. The content won't enter the review queue
22
+ #
23
+ # @param metadata [Hash{Symbol=>Object}] Any metadata you want to store with the content
24
+ #
25
+ # @param meta_type [Symbol, ModerationAPI::Models::ContentSubmitParams::MetaType] The meta type of content being moderated
26
+ #
27
+ # @param policies [Array<ModerationAPI::Models::ContentSubmitParams::Policy::Toxicity, ModerationAPI::Models::ContentSubmitParams::Policy::PersonalInformation, ModerationAPI::Models::ContentSubmitParams::Policy::ToxicitySevere, ModerationAPI::Models::ContentSubmitParams::Policy::Hate, ModerationAPI::Models::ContentSubmitParams::Policy::Illicit, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitDrugs, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitAlcohol, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitFirearms, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitTobacco, ModerationAPI::Models::ContentSubmitParams::Policy::IllicitGambling, ModerationAPI::Models::ContentSubmitParams::Policy::Sexual, ModerationAPI::Models::ContentSubmitParams::Policy::Flirtation, ModerationAPI::Models::ContentSubmitParams::Policy::Profanity, ModerationAPI::Models::ContentSubmitParams::Policy::Violence, ModerationAPI::Models::ContentSubmitParams::Policy::SelfHarm, ModerationAPI::Models::ContentSubmitParams::Policy::Spam, ModerationAPI::Models::ContentSubmitParams::Policy::SelfPromotion, ModerationAPI::Models::ContentSubmitParams::Policy::Political, ModerationAPI::Models::ContentSubmitParams::Policy::Religion, ModerationAPI::Models::ContentSubmitParams::Policy::CodeAbuse, ModerationAPI::Models::ContentSubmitParams::Policy::PiiMasking, ModerationAPI::Models::ContentSubmitParams::Policy::URLMasking, ModerationAPI::Models::ContentSubmitParams::Policy::Guideline>] (Enterprise) override the channel policies for this moderation request only.
28
+ #
29
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
30
+ #
31
+ # @return [ModerationAPI::Models::ContentSubmitResponse]
32
+ #
33
+ # @see ModerationAPI::Models::ContentSubmitParams
34
+ def submit(params)
35
+ parsed, options = ModerationAPI::ContentSubmitParams.dump_request(params)
36
+ @client.request(
37
+ method: :post,
38
+ path: "moderate",
39
+ body: parsed,
40
+ model: ModerationAPI::Models::ContentSubmitResponse,
41
+ options: options
42
+ )
43
+ end
44
+
45
+ # @api private
46
+ #
47
+ # @param client [ModerationAPI::Client]
48
+ def initialize(client:)
49
+ @client = client
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,131 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ModerationAPI
4
+ module Resources
5
+ class Queue
6
+ class Items
7
+ # Get paginated list of items in a moderation queue with filtering options
8
+ #
9
+ # @overload list(id, after_date: nil, author_id: nil, before_date: nil, conversation_ids: nil, filtered_action_ids: nil, include_resolved: nil, labels: nil, page_number: nil, page_size: nil, sort_direction: nil, sort_field: nil, request_options: {})
10
+ #
11
+ # @param id [String] The queue ID
12
+ #
13
+ # @param after_date [String]
14
+ #
15
+ # @param author_id [String]
16
+ #
17
+ # @param before_date [String]
18
+ #
19
+ # @param conversation_ids [String]
20
+ #
21
+ # @param filtered_action_ids [String]
22
+ #
23
+ # @param include_resolved [String]
24
+ #
25
+ # @param labels [String]
26
+ #
27
+ # @param page_number [Float] Page number to fetch
28
+ #
29
+ # @param page_size [Float] Number of items per page
30
+ #
31
+ # @param sort_direction [Symbol, ModerationAPI::Models::Queue::ItemListParams::SortDirection] Sort direction
32
+ #
33
+ # @param sort_field [Symbol, ModerationAPI::Models::Queue::ItemListParams::SortField]
34
+ #
35
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
36
+ #
37
+ # @return [ModerationAPI::Models::Queue::ItemListResponse]
38
+ #
39
+ # @see ModerationAPI::Models::Queue::ItemListParams
40
+ def list(id, params = {})
41
+ parsed, options = ModerationAPI::Queue::ItemListParams.dump_request(params)
42
+ @client.request(
43
+ method: :get,
44
+ path: ["queue/%1$s/items", id],
45
+ query: parsed.transform_keys(
46
+ after_date: "afterDate",
47
+ author_id: "authorId",
48
+ before_date: "beforeDate",
49
+ conversation_ids: "conversationIds",
50
+ filtered_action_ids: "filteredActionIds",
51
+ include_resolved: "includeResolved",
52
+ page_number: "pageNumber",
53
+ page_size: "pageSize",
54
+ sort_direction: "sortDirection",
55
+ sort_field: "sortField"
56
+ ),
57
+ model: ModerationAPI::Models::Queue::ItemListResponse,
58
+ options: options
59
+ )
60
+ end
61
+
62
+ # Mark a queue item as resolved with a specific moderation action
63
+ #
64
+ # @overload resolve(item_id, id:, comment: nil, request_options: {})
65
+ #
66
+ # @param item_id [String] Path param: The item ID to resolve
67
+ #
68
+ # @param id [String] Path param: The queue ID
69
+ #
70
+ # @param comment [String] Body param: Optional comment
71
+ #
72
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
73
+ #
74
+ # @return [ModerationAPI::Models::Queue::ItemResolveResponse]
75
+ #
76
+ # @see ModerationAPI::Models::Queue::ItemResolveParams
77
+ def resolve(item_id, params)
78
+ parsed, options = ModerationAPI::Queue::ItemResolveParams.dump_request(params)
79
+ id =
80
+ parsed.delete(:id) do
81
+ raise ArgumentError.new("missing required path argument #{_1}")
82
+ end
83
+ @client.request(
84
+ method: :post,
85
+ path: ["queue/%1$s/items/%2$s/resolve", id, item_id],
86
+ body: parsed,
87
+ model: ModerationAPI::Models::Queue::ItemResolveResponse,
88
+ options: options
89
+ )
90
+ end
91
+
92
+ # Mark a previously resolved queue item as unresolved/pending
93
+ #
94
+ # @overload unresolve(item_id, id:, comment: nil, request_options: {})
95
+ #
96
+ # @param item_id [String] Path param: The item ID to unresolve
97
+ #
98
+ # @param id [String] Path param: The queue ID
99
+ #
100
+ # @param comment [String] Body param: Optional reason for unresolving the item
101
+ #
102
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
103
+ #
104
+ # @return [ModerationAPI::Models::Queue::ItemUnresolveResponse]
105
+ #
106
+ # @see ModerationAPI::Models::Queue::ItemUnresolveParams
107
+ def unresolve(item_id, params)
108
+ parsed, options = ModerationAPI::Queue::ItemUnresolveParams.dump_request(params)
109
+ id =
110
+ parsed.delete(:id) do
111
+ raise ArgumentError.new("missing required path argument #{_1}")
112
+ end
113
+ @client.request(
114
+ method: :post,
115
+ path: ["queue/%1$s/items/%2$s/unresolve", id, item_id],
116
+ body: parsed,
117
+ model: ModerationAPI::Models::Queue::ItemUnresolveResponse,
118
+ options: options
119
+ )
120
+ end
121
+
122
+ # @api private
123
+ #
124
+ # @param client [ModerationAPI::Client]
125
+ def initialize(client:)
126
+ @client = client
127
+ end
128
+ end
129
+ end
130
+ end
131
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ModerationAPI
4
+ module Resources
5
+ class Queue
6
+ # @return [ModerationAPI::Resources::Queue::Items]
7
+ attr_reader :items
8
+
9
+ # Get a queue
10
+ #
11
+ # @overload retrieve(id, request_options: {})
12
+ #
13
+ # @param id [String] The queue ID
14
+ #
15
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
16
+ #
17
+ # @return [ModerationAPI::Models::QueueRetrieveResponse]
18
+ #
19
+ # @see ModerationAPI::Models::QueueRetrieveParams
20
+ def retrieve(id, params = {})
21
+ @client.request(
22
+ method: :get,
23
+ path: ["queue/%1$s", id],
24
+ model: ModerationAPI::Models::QueueRetrieveResponse,
25
+ options: params[:request_options]
26
+ )
27
+ end
28
+
29
+ # Get detailed statistics about a moderation queue including review times, action
30
+ # counts, and trends
31
+ #
32
+ # @overload get_stats(id, within_days: nil, request_options: {})
33
+ #
34
+ # @param id [String] The queue ID
35
+ #
36
+ # @param within_days [String] Number of days to analyze statistics for
37
+ #
38
+ # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil]
39
+ #
40
+ # @return [ModerationAPI::Models::QueueGetStatsResponse]
41
+ #
42
+ # @see ModerationAPI::Models::QueueGetStatsParams
43
+ def get_stats(id, params = {})
44
+ parsed, options = ModerationAPI::QueueGetStatsParams.dump_request(params)
45
+ @client.request(
46
+ method: :get,
47
+ path: ["queue/%1$s/stats", id],
48
+ query: parsed.transform_keys(within_days: "withinDays"),
49
+ model: ModerationAPI::Models::QueueGetStatsResponse,
50
+ options: options
51
+ )
52
+ end
53
+
54
+ # @api private
55
+ #
56
+ # @param client [ModerationAPI::Client]
57
+ def initialize(client:)
58
+ @client = client
59
+ @items = ModerationAPI::Resources::Queue::Items.new(client: client)
60
+ end
61
+ end
62
+ end
63
+ end