feat: initialize thoughts-frontend with Next.js, TypeScript, and ESLint
- Add ESLint configuration for Next.js and TypeScript support. - Create Next.js configuration file with standalone output option. - Initialize package.json with scripts for development, build, and linting. - Set up PostCSS configuration for Tailwind CSS. - Add SVG assets for UI components. - Create TypeScript configuration for strict type checking and module resolution.
This commit is contained in:
3
thoughts-backend/api/src/models/mod.rs
Normal file
3
thoughts-backend/api/src/models/mod.rs
Normal file
@@ -0,0 +1,3 @@
|
||||
mod response;
|
||||
|
||||
pub use response::{ApiErrorResponse, ParamsErrorResponse, ValidationErrorResponse};
|
27
thoughts-backend/api/src/models/response.rs
Normal file
27
thoughts-backend/api/src/models/response.rs
Normal file
@@ -0,0 +1,27 @@
|
||||
use std::collections::HashMap;
|
||||
|
||||
use serde::Serialize;
|
||||
use utoipa::ToSchema;
|
||||
|
||||
#[derive(Serialize, ToSchema)]
|
||||
pub struct ApiErrorResponse {
|
||||
pub message: String,
|
||||
}
|
||||
|
||||
#[derive(Serialize, ToSchema)]
|
||||
pub struct ValidationErrorResponse<T> {
|
||||
pub message: String,
|
||||
pub details: T,
|
||||
}
|
||||
|
||||
pub type ParamsErrorResponse =
|
||||
ValidationErrorResponse<HashMap<String, Vec<HashMap<String, String>>>>;
|
||||
|
||||
impl<T> From<T> for ValidationErrorResponse<T> {
|
||||
fn from(t: T) -> Self {
|
||||
Self {
|
||||
message: "Validation error".to_string(),
|
||||
details: t,
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user