openai_rust_sdk/models/moderations/
request.rs1use super::ModerationInput;
4use crate::{De, Ser};
5
6#[derive(Debug, Clone, Ser, De)]
8pub struct ModerationRequest {
9 pub input: ModerationInput,
11
12 #[serde(skip_serializing_if = "Option::is_none")]
14 pub model: Option<String>,
15}
16
17impl ModerationRequest {
18 pub fn new(input: impl Into<String>) -> Self {
20 Self {
21 input: ModerationInput::String(input.into()),
22 model: None,
23 }
24 }
25
26 #[must_use]
28 pub fn new_batch(inputs: Vec<String>) -> Self {
29 Self {
30 input: ModerationInput::StringArray(inputs),
31 model: None,
32 }
33 }
34
35 pub fn with_model(mut self, model: impl Into<String>) -> Self {
37 self.model = Some(model.into());
38 self
39 }
40}