Constant MODELS
Source pub const MODELS: &str = r#"use chrono::{DateTime, Utc};
use mongodb::bson::oid::ObjectId;
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct UserDocument {
#[serde(rename = "_id")]
pub id: ObjectId,
pub username: String,
pub email: String,
pub password: String,
#[serde(
with = "bson::serde_helpers::chrono_datetime_as_bson_datetime",
rename = "createdAt"
)]
pub created_at: DateTime<Utc>,
}
#[derive(Debug, Serialize, Deserialize, JsonSchema, Clone)]
pub struct User {
#[serde(rename = "_id")]
pub id: String,
pub username: String,
pub email: String,
pub password: String,
#[serde(rename = "createdAt")]
pub created_at: String,
}
#[derive(Debug, Serialize, Deserialize, JsonSchema, Clone)]
pub struct UserInfo {
#[serde(rename = "_id")]
pub id: String,
pub username: String,
pub email: String,
#[serde(rename = "createdAt")]
pub created_at: String,
}
#[derive(Debug, Serialize, Deserialize, JsonSchema, Clone)]
pub struct LoginCredentials {
pub email: String,
pub password: String,
}
#[derive(Debug, Serialize, Deserialize, JsonSchema, Clone)]
pub struct RegistrationCredentials {
pub username: String,
pub email: String,
pub password: String,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct SuccessResponse {
pub status: u16,
pub message: String,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct ErrorResponse {
pub status: u16,
pub message: String,
}
"#;