@@ -9,40 +9,37 @@ use std::fmt::{Debug, Formatter, Result as fmtResult};
99
1010pub fn create_file_group (
1111 conn : & mut SqliteConnection ,
12- file_id : i32 ,
13- group_id : i32 ,
12+ file_group_dto : FileGroupDTO ,
1413) -> Result < FileGroupDTO , AppError > {
15- let group = find_group_by_id ( conn, group_id) ?. ok_or ( AppError :: GroupNotFound ) ?;
14+ let group = find_group_by_id ( conn, file_group_dto . group_id ) ?. ok_or ( AppError :: GroupNotFound ) ?;
1615
1716 if group. is_primary {
1817 return Err ( AppError :: CannotAssociateWithPrimary ) ;
1918 }
2019
21- let new_file_group = FileGroupDTO { file_id, group_id } ;
2220 let result = conn. transaction :: < _ , AppError , _ > ( |conn| {
23- increase_file_reference_count ( conn, file_id) ?;
24- increase_group_reference_count ( conn, group_id) ?;
25- Ok ( diesel:: insert_into ( file_groups:: table) . values ( & new_file_group ) . execute ( conn) )
21+ increase_file_reference_count ( conn, file_group_dto . file_id ) ?;
22+ increase_group_reference_count ( conn, file_group_dto . group_id ) ?;
23+ Ok ( diesel:: insert_into ( file_groups:: table) . values ( & file_group_dto ) . execute ( conn) )
2624 } ) ;
2725 let _ = result?;
28- Ok ( new_file_group )
26+ Ok ( file_group_dto )
2927}
3028
3129pub fn delete_file_group (
3230 conn : & mut SqliteConnection ,
33- file_id : i32 ,
34- group_id : i32 ,
31+ file_group_dto : FileGroupDTO ,
3532) -> Result < usize , AppError > {
3633 let result = conn. transaction :: < _ , AppError , _ > ( |conn| {
3734 // 减少组和标签的引用计数
38- decrease_group_reference_count ( conn, group_id) ?;
39- decrease_file_reference_count ( conn, file_id) ?;
35+ decrease_group_reference_count ( conn, file_group_dto . group_id ) ?;
36+ decrease_file_reference_count ( conn, file_group_dto . file_id ) ?;
4037
4138 // 删除关联记录
4239 let deleted_count = diesel:: delete (
4340 file_groups:: table
44- . filter ( file_groups:: group_id. eq ( group_id) )
45- . filter ( file_groups:: file_id. eq ( file_id) )
41+ . filter ( file_groups:: group_id. eq ( file_group_dto . group_id ) )
42+ . filter ( file_groups:: file_id. eq ( file_group_dto . file_id ) )
4643 )
4744 . execute ( conn) ?;
4845
0 commit comments