From fe2934e2f347c3ce791639ed62b721b570fc37b2 Mon Sep 17 00:00:00 2001 From: andrewlalis Date: Tue, 2 Dec 2025 16:41:56 -0500 Subject: [PATCH] Fix editing of category parent id. --- finnow-api/source/transaction/data.d | 2 +- finnow-api/source/transaction/data_impl_sqlite.d | 6 +++--- finnow-api/source/transaction/service.d | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/finnow-api/source/transaction/data.d b/finnow-api/source/transaction/data.d index f98e045..33b629c 100644 --- a/finnow-api/source/transaction/data.d +++ b/finnow-api/source/transaction/data.d @@ -27,7 +27,7 @@ interface TransactionCategoryRepository { TransactionCategory[] findAllByParentId(Optional!ulong parentId); TransactionCategory insert(Optional!ulong parentId, string name, string description, string color); void deleteById(ulong id); - TransactionCategory updateById(ulong id, string name, string description, string color); + TransactionCategory updateById(ulong id, string name, string description, string color, Optional!ulong parentId); } interface TransactionTagRepository { diff --git a/finnow-api/source/transaction/data_impl_sqlite.d b/finnow-api/source/transaction/data_impl_sqlite.d index 44e9293..2a342f8 100644 --- a/finnow-api/source/transaction/data_impl_sqlite.d +++ b/finnow-api/source/transaction/data_impl_sqlite.d @@ -133,13 +133,13 @@ class SqliteTransactionCategoryRepository : TransactionCategoryRepository { util.sqlite.deleteById(db, "transaction_category", id); } - TransactionCategory updateById(ulong id, string name, string description, string color) { + TransactionCategory updateById(ulong id, string name, string description, string color, Optional!ulong parentId) { util.sqlite.update( db, "UPDATE transaction_category - SET name = ?, description = ?, color = ? + SET name = ?, description = ?, color = ?, parent_id = ? WHERE id = ?", - name, description, color, id + name, description, color, toNullable!ulong(parentId), id ); return findById(id).orElseThrow(); } diff --git a/finnow-api/source/transaction/service.d b/finnow-api/source/transaction/service.d index 280a7c3..c35a0e8 100644 --- a/finnow-api/source/transaction/service.d +++ b/finnow-api/source/transaction/service.d @@ -390,7 +390,8 @@ TransactionCategoryResponse updateCategory(ProfileDataSource ds, ulong categoryI categoryId, payload.name, payload.description, - payload.color + payload.color, + toOptional!ulong(payload.parentId) ); return TransactionCategoryResponse.of(curr); }