From 1ae32dd595b3d8f1c76ef37cdcc1738ba334be87 Mon Sep 17 00:00:00 2001 From: acx Date: Mon, 12 Aug 2024 22:40:43 +0800 Subject: [PATCH] feat: category tag add fields --- src/ledger/category.rs | 3 +++ src/ledger/tag.rs | 3 +++ src/model/db_model.rs | 6 ++++++ src/model/schema.rs | 3 +++ 4 files changed, 15 insertions(+) diff --git a/src/ledger/category.rs b/src/ledger/category.rs index 079d1ab..3781bd0 100644 --- a/src/ledger/category.rs +++ b/src/ledger/category.rs @@ -26,6 +26,7 @@ pub struct CreateCategoryResponse { name: String, level: i32, parent_category_id: i64, + book_id: i64, } pub fn get_nest_handlers() -> Router { @@ -39,6 +40,7 @@ pub struct CreateCategoryRequest { name: String, level: i32, parent_category_id: i64, + book_id: i64, } #[debug_handler] @@ -59,6 +61,7 @@ pub async fn create_category( uid: uid, level: payload.level, parent_category_id: payload.parent_category_id, + book_id: payload.book_id, }; let res = conn .interact(move |conn| { diff --git a/src/ledger/tag.rs b/src/ledger/tag.rs index 8c1b081..7e9ac13 100644 --- a/src/ledger/tag.rs +++ b/src/ledger/tag.rs @@ -21,6 +21,7 @@ use crate::middleware::auth::Claims; #[derive(Deserialize)] pub struct CreateTagRequest { + book_id: i64, name: String, level: i32, parent_tag_id: i64, @@ -30,6 +31,7 @@ pub struct CreateTagRequest { pub struct CreateTagResponse { id: i64, name: String, + book_id: i64, level: i32, parent_tag_id: i64, } @@ -53,6 +55,7 @@ pub async fn create_tag( .await .map_err(util::req::internal_error)?; let new_tag = db_model::TagForm { + book_id:payload.book_id, name: payload.name, uid: uid, level: payload.level, diff --git a/src/model/db_model.rs b/src/model/db_model.rs index 13f12bf..f2d74bd 100644 --- a/src/model/db_model.rs +++ b/src/model/db_model.rs @@ -11,6 +11,7 @@ pub struct Category { name: String, level: i32, parent_category_id: i64, + book_id: i64, is_delete: bool, create_at: chrono::NaiveDateTime, update_at: chrono::NaiveDateTime, @@ -21,6 +22,7 @@ pub struct Category { pub struct CategoryForm { pub uid: i64, pub name: String, + pub book_id: i64, pub level: i32, pub parent_category_id: i64, } @@ -31,6 +33,7 @@ pub struct CategoryForm { pub struct Tag { id: i64, uid: i64, + book_id: i64, name: String, level: i32, parent_tag_id: i64, @@ -43,6 +46,7 @@ pub struct Tag { #[diesel(table_name = schema::tags)] pub struct TagForm { pub uid: i64, + pub book_id: i64, pub name: String, pub level: i32, pub parent_tag_id: i64, @@ -120,6 +124,7 @@ pub struct TransactionForm { pub struct Amount { pub id: i64, uid: i64, + account_id: i64, transaction_id: i64, value: i64, expo: i64, @@ -134,6 +139,7 @@ pub struct Amount { pub struct AmountForm { pub uid: i64, pub transaction_id: i64, + pub account_id: i64, pub value: i64, pub expo: i64, pub currency: String, diff --git a/src/model/schema.rs b/src/model/schema.rs index 2ef148d..9ee4a19 100644 --- a/src/model/schema.rs +++ b/src/model/schema.rs @@ -16,6 +16,7 @@ diesel::table! { amounts (id) { id -> Int8, uid -> Int8, + account_id -> Int8, transaction_id -> Int8, value -> Int8, expo -> Int8, @@ -41,6 +42,7 @@ diesel::table! { categories (id) { id -> Int8, uid -> Int8, + book_id -> Int8, name -> Text, level -> Int4, parent_category_id -> Int8, @@ -54,6 +56,7 @@ diesel::table! { tags (id) { id -> Int8, uid -> Int8, + book_id -> Int8, name -> Text, level -> Int4, parent_tag_id -> Int8,