openai_compat/resources/
moderations.rs1use reqwest::Method;
4
5use crate::client::Client;
6use crate::error::OpenAIError;
7use crate::request::RequestOptions;
8use crate::types::moderations::{ModerationRequest, ModerationResponse};
9
10#[derive(Debug, Clone)]
12pub struct Moderations {
13 client: Client,
14}
15
16impl Moderations {
17 pub(crate) fn new(client: Client) -> Self {
18 Self { client }
19 }
20
21 pub async fn create(
23 &self,
24 request: ModerationRequest,
25 ) -> Result<ModerationResponse, OpenAIError> {
26 let body = serde_json::to_value(&request)?;
27 self.client
28 .execute(Method::POST, "/moderations", RequestOptions::json(body))
29 .await
30 }
31}