This commit is contained in:
2026-03-02 01:36:28 +01:00
parent e982ea372f
commit 74f4effd49
17 changed files with 909 additions and 166 deletions

View File

@@ -1,9 +1,10 @@
use crate::models::category;
use sea_orm::Set;
use serde::{Deserialize, Serialize};
use utoipa::ToSchema;
use uuid::Uuid;
#[derive(Debug, Serialize)]
#[derive(Debug, Serialize, ToSchema)]
pub struct CategoryResponse {
pub id: Uuid,
pub name: String,
@@ -18,7 +19,7 @@ impl From<category::Model> for CategoryResponse {
}
}
#[derive(Debug, Deserialize)]
#[derive(Debug, Deserialize, ToSchema)]
pub struct CreateCategoryRequest {
pub server_id: Uuid,
pub name: String,
@@ -41,7 +42,7 @@ impl CreateCategoryRequest {
}
}
#[derive(Debug, Deserialize)]
#[derive(Debug, Deserialize, ToSchema)]
pub struct ListCategoryQuery {
pub server_id: Uuid,
}

View File

@@ -2,9 +2,10 @@ use crate::models::channel;
use crate::models::channel::ChannelType;
use sea_orm::Set;
use serde::{Deserialize, Serialize};
use utoipa::ToSchema;
use uuid::Uuid;
#[derive(Debug, Serialize)]
#[derive(Debug, Serialize, ToSchema)]
pub struct ChannelResponse {
pub id: Uuid,
pub server_id: Option<Uuid>,
@@ -27,7 +28,7 @@ impl From<channel::Model> for ChannelResponse {
}
}
#[derive(Debug, Deserialize)]
#[derive(Debug, Deserialize, ToSchema)]
pub struct CreateChannelRequest {
pub server_id: Option<Uuid>,
pub category_id: Option<Uuid>,

View File

@@ -1,9 +1,10 @@
use crate::models::message;
use sea_orm::Set;
use serde::{Deserialize, Serialize};
use utoipa::ToSchema;
use uuid::Uuid;
#[derive(Debug, Serialize)]
#[derive(Debug, Serialize, ToSchema)]
pub struct MessageResponse {
pub id: Uuid,
pub channel_id: Uuid,
@@ -22,7 +23,7 @@ impl From<message::Model> for MessageResponse {
}
}
#[derive(Debug, Deserialize)]
#[derive(Debug, Deserialize, ToSchema)]
pub struct CreateMessageRequest {
pub channel_id: Uuid,
pub content: String,

View File

@@ -4,9 +4,10 @@ use crate::models::server;
use crate::repositories::types::{ServerExplorerItem, ServerTree};
use sea_orm::Set;
use serde::{Deserialize, Serialize};
use utoipa::ToSchema;
use uuid::Uuid;
#[derive(Debug, Serialize)]
#[derive(Debug, Serialize, ToSchema)]
pub struct ServerResponse {
pub id: Uuid,
pub name: String,
@@ -25,7 +26,7 @@ impl From<server::Model> for ServerResponse {
}
}
#[derive(Debug, Deserialize)]
#[derive(Debug, Deserialize, ToSchema)]
pub struct CreateServerRequest {
pub name: String,
pub password: Option<String>,
@@ -49,7 +50,7 @@ impl CreateServerRequest {
}
}
#[derive(Serialize)]
#[derive(Serialize, ToSchema)]
#[serde(tag = "type", rename_all = "snake_case")]
pub enum TreeItemType {
Category {
@@ -60,7 +61,7 @@ pub enum TreeItemType {
Channel(ChannelResponse),
}
#[derive(Serialize)]
#[derive(Serialize, ToSchema)]
#[serde(transparent)]
pub struct ServerTreeResponse {
items: Vec<TreeItemType>,

View File

@@ -1,9 +1,10 @@
use crate::models::user;
use sea_orm::Set;
use serde::{Deserialize, Serialize};
use utoipa::ToSchema;
use uuid::Uuid;
#[derive(Debug, Serialize)]
#[derive(Debug, Serialize, ToSchema)]
pub struct UserResponse {
pub id: Uuid,
pub username: String,
@@ -20,7 +21,7 @@ impl From<user::Model> for UserResponse {
}
}
#[derive(Debug, Deserialize)]
#[derive(Debug, Deserialize, ToSchema)]
pub struct CreateUserRequest {
pub username: String,
}