use crate::api::models::groups::{GroupCreate, GroupUpdate};
use crate::types::{GroupId, UserId};
use chrono::{DateTime, Utc};
#[derive(Debug, Clone)]
pub struct GroupCreateDBRequest {
pub name: String,
pub description: Option<String>,
pub created_by: UserId,
}
impl GroupCreateDBRequest {
pub fn new(created_by: UserId, create: GroupCreate) -> Self {
Self {
name: create.name,
description: create.description,
created_by,
}
}
}
#[derive(Debug, Clone)]
pub struct GroupUpdateDBRequest {
pub name: Option<String>,
pub description: Option<String>,
}
impl From<GroupUpdate> for GroupUpdateDBRequest {
fn from(update: GroupUpdate) -> Self {
Self {
name: update.name,
description: update.description,
}
}
}
#[derive(Debug, Clone)]
pub struct GroupDBResponse {
pub id: GroupId,
pub name: String,
pub description: Option<String>,
pub created_by: UserId,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub source: String,
}