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:
36
thoughts-backend/models/src/schemas/blog.rs
Normal file
36
thoughts-backend/models/src/schemas/blog.rs
Normal file
@@ -0,0 +1,36 @@
|
||||
use serde::Serialize;
|
||||
use utoipa::ToSchema;
|
||||
|
||||
use crate::domains::blog;
|
||||
|
||||
#[derive(Serialize, ToSchema)]
|
||||
pub struct BlogSchema {
|
||||
pub id: u32,
|
||||
pub title: String,
|
||||
pub content: String,
|
||||
pub author_id: u32,
|
||||
}
|
||||
|
||||
impl From<blog::Model> for BlogSchema {
|
||||
fn from(blog: blog::Model) -> Self {
|
||||
Self {
|
||||
id: blog.id as u32,
|
||||
title: blog.title,
|
||||
content: blog.content,
|
||||
author_id: blog.author_id as u32,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Serialize, ToSchema)]
|
||||
pub struct BlogListSchema {
|
||||
pub blogs: Vec<BlogSchema>,
|
||||
}
|
||||
|
||||
impl From<Vec<blog::Model>> for BlogListSchema {
|
||||
fn from(blogs: Vec<blog::Model>) -> Self {
|
||||
Self {
|
||||
blogs: blogs.into_iter().map(BlogSchema::from).collect(),
|
||||
}
|
||||
}
|
||||
}
|
2
thoughts-backend/models/src/schemas/mod.rs
Normal file
2
thoughts-backend/models/src/schemas/mod.rs
Normal file
@@ -0,0 +1,2 @@
|
||||
pub mod blog;
|
||||
pub mod user;
|
32
thoughts-backend/models/src/schemas/user.rs
Normal file
32
thoughts-backend/models/src/schemas/user.rs
Normal file
@@ -0,0 +1,32 @@
|
||||
use serde::Serialize;
|
||||
use utoipa::ToSchema;
|
||||
|
||||
use crate::domains::user;
|
||||
|
||||
#[derive(Serialize, ToSchema)]
|
||||
pub struct UserSchema {
|
||||
pub id: u32,
|
||||
pub username: String,
|
||||
}
|
||||
|
||||
impl From<user::Model> for UserSchema {
|
||||
fn from(user: user::Model) -> Self {
|
||||
Self {
|
||||
id: user.id as u32,
|
||||
username: user.username,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Serialize, ToSchema)]
|
||||
pub struct UserListSchema {
|
||||
pub users: Vec<UserSchema>,
|
||||
}
|
||||
|
||||
impl From<Vec<user::Model>> for UserListSchema {
|
||||
fn from(users: Vec<user::Model>) -> Self {
|
||||
Self {
|
||||
users: users.into_iter().map(UserSchema::from).collect(),
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user