Files
oxspeak_server/src/routes/server/mapper.rs
T
2026-05-16 17:57:54 +02:00

41 lines
1.4 KiB
Rust

use crate::models::server;
use crate::routes::server::dto::{CreateServerRequest, ServerResponse, UpdateServerRequest};
use sea_orm::Set;
use uuid::Uuid;
pub fn server_model_to_server_response(model: server::Model) -> ServerResponse {
ServerResponse {
id: model.id,
name: model.name,
is_default: model.is_default,
created_at: model.created_at,
updated_at: model.updated_at,
default_server_permissions: model.default_server_permissions,
default_channel_permissions: model.default_channel_permissions,
default_voice_permissions: model.default_voice_permissions,
}
}
pub fn create_request_to_am(req: CreateServerRequest) -> server::ActiveModel {
server::ActiveModel {
id: Set(Uuid::new_v4()),
name: Set(req.name),
password: Set(req.password),
is_default: Set(req.is_default),
..Default::default()
}
}
pub fn update_request_to_am(id: Uuid, req: UpdateServerRequest) -> server::ActiveModel {
server::ActiveModel {
id: Set(id),
name: Set(req.name),
password: Set(req.password),
is_default: Set(req.is_default),
default_server_permissions: Set(req.default_server_permissions),
default_channel_permissions: Set(req.default_channel_permissions),
default_voice_permissions: Set(req.default_voice_permissions),
..Default::default()
}
}