moved models from remote to models folder
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
use ts_rs::TS;
|
||||
|
||||
use crate::remotes::{dolls::DollDto, friends::FriendshipResponseDto, user::UserProfile};
|
||||
use crate::models::{dolls::DollDto, friends::FriendshipResponseDto, user::UserProfile};
|
||||
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, TS)]
|
||||
#[ts(export)]
|
||||
|
||||
53
src-tauri/src/models/dolls.rs
Normal file
53
src-tauri/src/models/dolls.rs
Normal file
@@ -0,0 +1,53 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
use thiserror::Error;
|
||||
use ts_rs::TS;
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
pub enum RemoteError {
|
||||
#[error("HTTP error: {0}")]
|
||||
Http(#[from] reqwest::Error),
|
||||
#[error("JSON parse error: {0}")]
|
||||
Json(#[from] serde_json::Error),
|
||||
}
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, Clone, Debug, TS)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
#[ts(export)]
|
||||
pub struct DollColorSchemeDto {
|
||||
pub outline: String,
|
||||
pub body: String,
|
||||
}
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, Clone, Debug, TS)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
#[ts(export)]
|
||||
pub struct DollConfigurationDto {
|
||||
pub color_scheme: DollColorSchemeDto,
|
||||
}
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, Clone, Debug, TS)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
#[ts(export)]
|
||||
pub struct CreateDollDto {
|
||||
pub name: String,
|
||||
pub configuration: Option<DollConfigurationDto>,
|
||||
}
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, Clone, Debug, TS)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
#[ts(export)]
|
||||
pub struct UpdateDollDto {
|
||||
pub name: Option<String>,
|
||||
pub configuration: Option<DollConfigurationDto>,
|
||||
}
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, Clone, Debug, TS)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
#[ts(export)]
|
||||
pub struct DollDto {
|
||||
pub id: String,
|
||||
pub name: String,
|
||||
pub configuration: DollConfigurationDto,
|
||||
pub created_at: String,
|
||||
pub updated_at: String,
|
||||
}
|
||||
53
src-tauri/src/models/friends.rs
Normal file
53
src-tauri/src/models/friends.rs
Normal file
@@ -0,0 +1,53 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
use thiserror::Error;
|
||||
use ts_rs::TS;
|
||||
|
||||
use super::dolls::DollDto;
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
pub enum RemoteError {
|
||||
#[error("HTTP error: {0}")]
|
||||
Http(#[from] reqwest::Error),
|
||||
#[error("JSON parse error: {0}")]
|
||||
Json(#[from] serde_json::Error),
|
||||
#[error("{0}")]
|
||||
Api(String),
|
||||
}
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, Clone, Debug, TS)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
#[ts(export)]
|
||||
pub struct UserBasicDto {
|
||||
pub id: String,
|
||||
pub name: String,
|
||||
pub username: Option<String>,
|
||||
pub active_doll: Option<DollDto>,
|
||||
}
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, Clone, Debug, TS)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
#[ts(export)]
|
||||
pub struct FriendshipResponseDto {
|
||||
pub id: String,
|
||||
pub friend: UserBasicDto,
|
||||
pub created_at: String,
|
||||
}
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, Clone, Debug, TS)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
#[ts(export)]
|
||||
pub struct SendFriendRequestDto {
|
||||
pub receiver_id: String,
|
||||
}
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, Clone, Debug, TS)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
#[ts(export)]
|
||||
pub struct FriendRequestResponseDto {
|
||||
pub id: String,
|
||||
pub sender: UserBasicDto,
|
||||
pub receiver: UserBasicDto,
|
||||
pub status: String,
|
||||
pub created_at: String,
|
||||
pub updated_at: String,
|
||||
}
|
||||
28
src-tauri/src/models/health.rs
Normal file
28
src-tauri/src/models/health.rs
Normal file
@@ -0,0 +1,28 @@
|
||||
use reqwest::StatusCode;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use thiserror::Error;
|
||||
use ts_rs::TS;
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, Clone, Debug, TS)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
#[ts(export)]
|
||||
pub struct HealthResponseDto {
|
||||
pub status: String,
|
||||
pub version: String,
|
||||
pub uptime_secs: u64,
|
||||
pub db: String,
|
||||
}
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
pub enum HealthError {
|
||||
#[error("app configuration missing {0}")]
|
||||
ConfigMissing(&'static str),
|
||||
#[error("health request failed: {0}")]
|
||||
Request(reqwest::Error),
|
||||
#[error("unexpected health status: {0}")]
|
||||
UnexpectedStatus(StatusCode),
|
||||
#[error("health status reported not OK: {0}")]
|
||||
NonOkStatus(String),
|
||||
#[error("health response decode failed: {0}")]
|
||||
Decode(reqwest::Error),
|
||||
}
|
||||
@@ -1,2 +1,6 @@
|
||||
pub mod app_data;
|
||||
pub mod dolls;
|
||||
pub mod friends;
|
||||
pub mod health;
|
||||
pub mod interaction;
|
||||
pub mod user;
|
||||
|
||||
19
src-tauri/src/models/user.rs
Normal file
19
src-tauri/src/models/user.rs
Normal file
@@ -0,0 +1,19 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
use ts_rs::TS;
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, Clone, Debug, TS)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
#[ts(export)]
|
||||
pub struct UserProfile {
|
||||
pub id: String,
|
||||
pub keycloak_sub: String,
|
||||
pub name: String,
|
||||
pub email: String,
|
||||
pub username: Option<String>,
|
||||
|
||||
pub roles: Vec<String>,
|
||||
pub created_at: String,
|
||||
pub updated_at: String,
|
||||
pub last_login_at: Option<String>,
|
||||
pub active_doll_id: Option<String>,
|
||||
}
|
||||
Reference in New Issue
Block a user