assignmentlib/dto/
question_response.rsuse common::enums::status::Status;
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use crate::enums::question_simplicity_type::QuestionSimplicityType;
use crate::enums::question_type::QuestionType;
use crate::jsonb::question_option_group::QuestionOptionGroup;
#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct QuestionResponse {
pub id: Uuid,
#[serde(rename = "question")]
pub question_body: String,
pub value: f32,
#[serde(skip_serializing_if = "Option::is_none")]
pub ver: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub marking_comment: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub picture_path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub video_path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub file_path: Option<String>,
#[serde(rename = "type")]
pub question_type: QuestionType,
#[serde(skip_serializing_if = "Option::is_none")]
pub options_groups: Option<Vec<QuestionOptionGroup>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub banks: Option<Vec<Uuid>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub copyright_license: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub copyright_author: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<Status>,
#[serde(skip_serializing_if = "Option::is_none")]
pub hint: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}