Skip to content

Commit 53b8a6b

Browse files
committed
snapshot
1 parent 5d55485 commit 53b8a6b

12 files changed

Lines changed: 69 additions & 52 deletions

File tree

file_classification_cli/src/bin/list_files.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
use file_classification_core::model::models::FileFilter;
2+
#[allow(deprecated)]
23
use file_classification_core::service::files::select_files;
34
use file_classification_core::utils::database::establish_connection;
45
// 引入select_files和SearchFile
56

7+
#[allow(deprecated)]
68
fn main() {
79
let connection = &mut establish_connection();
810

file_classification_cli/src/bin/list_groups.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
use file_classification_core::model::models::GroupFilter;
2+
#[allow(deprecated)]
23
use file_classification_core::service::groups::select_groups;
34
use file_classification_core::utils::database::establish_connection;
45
// 引入select_groups和SearchGroup
56

7+
#[allow(deprecated)]
68
fn main() {
79
let connection = &mut establish_connection();
810

file_classification_core/src/internal/file_group.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ pub fn select_file_groups_by_conditions(
9696
.load(conn)
9797
}
9898

99+
#[allow(dead_code)]
99100
pub fn select_file_groups_by_conditions_with_options(
100101
conn: &mut SqliteConnection,
101102
conditions: Vec<FileGroupCondition>,

file_classification_core/src/internal/files.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ pub fn select_files_by_conditions(
156156
.load(conn)
157157
}
158158

159+
#[allow(dead_code)]
159160
pub fn select_files_by_conditions_with_options(
160161
conn: &mut SqliteConnection,
161162
conditions: Vec<FileCondition>,

file_classification_core/src/internal/group_tag.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ pub fn select_group_tags_by_conditions(
102102
.load(conn)
103103
}
104104

105+
#[allow(dead_code)]
105106
pub fn select_group_tags_by_conditions_with_options(
106107
conn: &mut SqliteConnection,
107108
conditions: Vec<GroupTagCondition>,

file_classification_core/src/internal/groups.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ pub fn find_group_by_id(
2626
.optional()
2727
}
2828

29+
#[allow(dead_code)]
2930
pub fn mark_group_as_primary(conn: &mut SqliteConnection, group_id: i32) -> Result<usize, diesel::result::Error> {
3031
diesel::update(groups::table)
3132
.filter(groups::id.eq(group_id))
3233
.set(groups::is_primary.eq(true))
3334
.execute(conn)
3435
}
35-
36+
#[allow(dead_code)]
3637
pub fn mark_group_as_non_primary(conn: &mut SqliteConnection) -> Result<usize, diesel::result::Error> {
3738
diesel::update(groups::table).set(groups::is_primary.eq(false)).execute(conn)
3839
}
@@ -204,6 +205,7 @@ pub fn select_groups_by_conditions(
204205
}
205206

206207

208+
#[allow(dead_code)]
207209
pub fn select_groups_by_conditions_with_options(
208210
conn: &mut SqliteConnection,
209211
conditions: Vec<GroupCondition>,

file_classification_core/src/internal/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ pub mod group_tag;
44
pub mod groups;
55
pub mod tags;
66
use super::model::models;
7+
#[allow(unused_imports)]
78
use super::utils::errors::AppError;

file_classification_core/src/internal/tags.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ pub fn create_tag(
66
) -> Result<Tag, diesel::result::Error> {
77
diesel::insert_into(tags::table).values(&new_tag).returning(Tag::as_returning()).get_result(conn)
88
}
9+
#[allow(dead_code)]
910
pub fn find_tag_by_name(
1011
conn: &mut SqliteConnection,
1112
tag_name: &str,
@@ -142,6 +143,7 @@ pub fn select_tags_by_conditions(
142143
.load(conn)
143144
}
144145

146+
#[allow(dead_code)]
145147
pub fn select_tags_by_conditions_with_options(
146148
conn: &mut SqliteConnection,
147149
conditions: Vec<TagCondition>,

file_classification_core/src/service/file_group.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ pub fn create_file_group(
1515
let group = find_group_by_id(conn, file_group_dto.group_id)?
1616
.ok_or(AppError::GroupNotFound)?;
1717

18-
let file = find_file_by_id(conn, file_group_dto.file_id)?
18+
let _file = find_file_by_id(conn, file_group_dto.file_id)?
1919
.ok_or(AppError::FileNotFound)?;
2020

2121
if group.is_primary {
2222
return Err(AppError::CannotBindToPrimaryGroup);
2323
}
2424

2525
// 使用事务处理引用计数和数据插入
26-
let result = conn.transaction::<_, AppError, _>(|conn| {
26+
let _result = conn.transaction::<_, AppError, _>(|conn| {
2727
increase_file_reference_count(conn, file_group_dto.file_id)?;
2828
increase_group_reference_count(conn, file_group_dto.group_id)?;
2929
// 错误类型转换,将 diesel::result::Error 转换为 AppError
@@ -38,10 +38,10 @@ pub fn delete_file_group(
3838
conn: &mut SqliteConnection,
3939
file_group_dto: FileGroupDTO,
4040
) -> Result<usize, AppError> {
41-
let mut group = find_group_by_id(conn, file_group_dto.group_id)?
41+
let group = find_group_by_id(conn, file_group_dto.group_id)?
4242
.ok_or(AppError::GroupNotFound)?;
4343

44-
let mut file = find_file_by_id(conn, file_group_dto.file_id)?
44+
let _file = find_file_by_id(conn, file_group_dto.file_id)?
4545
.ok_or(AppError::FileNotFound)?;
4646

4747
if group.is_primary {

file_classification_core/src/service/files.rs

Lines changed: 45 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -44,50 +44,53 @@ pub fn raw_create_file(
4444
// }
4545

4646
pub fn create_file(conn: &mut SqliteConnection, create_file_dto: CreateFileDTO) -> Result<usize, AppError> {
47-
let group_list = select_groups_by_conditions(conn, vec![
48-
GroupCondition::Id(create_file_dto.group_id)
49-
], None)?;
50-
let Some(group) = group_list.get(0) else { todo!() };
51-
let file_groups = select_file_groups_by_conditions(
52-
conn,
53-
vec![
54-
FileGroupCondition::GroupId(create_file_dto.group_id)
55-
], None,
56-
)?;
57-
58-
if (file_groups.len() != 0) {
59-
return Err(CannotBindToPrimaryGroup);
60-
}
61-
let mut count = 0;
62-
count += internal::files::create_file(conn, &create_file_dto)?;
63-
let file_list = internal::files::select_files_by_conditions(conn, vec![
64-
FileCondition::GroupId(create_file_dto.group_id)
65-
], None)?;
66-
let file = file_list.get(0).ok_or(AppError::FileNotFound)?;
67-
68-
update_groups_by_conditions(conn, vec![
69-
GroupCondition::Id(group.id)
70-
], UpdateGroupDTO {
71-
id: None,
72-
name: None,
73-
reference_count: None,
74-
is_primary: Some(true),
75-
click_count: None,
76-
share_count: None,
77-
create_time: None,
78-
modify_time: None,
79-
}).expect("Error when creating group");
80-
81-
match service::file_group::create_file_group(conn, FileGroupDTO { file_id: file.id, group_id: group.id }) {
82-
Ok(_) => {
83-
count += 1;
47+
conn.transaction::<usize, AppError, _>(|conn| {
48+
let group_list = select_groups_by_conditions(conn, vec![
49+
GroupCondition::Id(create_file_dto.group_id)
50+
], None)?;
51+
let Some(group) = group_list.get(0) else { todo!() };
52+
let file_groups = select_file_groups_by_conditions(
53+
conn,
54+
vec![
55+
FileGroupCondition::GroupId(create_file_dto.group_id)
56+
], None,
57+
)?;
58+
59+
if file_groups.len() != 0 {
60+
return Err(CannotBindToPrimaryGroup);
8461
}
85-
Err(e) => {
86-
return Err(e)
62+
let mut count = 0;
63+
count += internal::files::create_file(conn, &create_file_dto)?;
64+
let file_list = internal::files::select_files_by_conditions(conn, vec![
65+
FileCondition::GroupId(create_file_dto.group_id)
66+
], None)?;
67+
let file = file_list.get(0).ok_or(AppError::FileNotFound)?;
68+
69+
update_groups_by_conditions(conn, vec![
70+
GroupCondition::Id(group.id)
71+
], UpdateGroupDTO {
72+
id: None,
73+
name: None,
74+
reference_count: None,
75+
is_primary: Some(true),
76+
click_count: None,
77+
share_count: None,
78+
create_time: None,
79+
modify_time: None,
80+
}).expect("Error when creating group");
81+
82+
match service::file_group::create_file_group(conn, FileGroupDTO { file_id: file.id, group_id: group.id }) {
83+
Ok(_) => {
84+
count += 1;
85+
}
86+
Err(e) => {
87+
return Err(e)
88+
}
8789
}
88-
}
89-
Ok(count)
90+
Ok(count)
91+
})
9092
}
93+
9194
pub fn delete_file(conn: &mut SqliteConnection, file_id: i32) -> Result<(), AppError> {
9295
// 开始事务
9396
conn.transaction::<(), diesel::result::Error, _>(|conn| {
@@ -119,6 +122,7 @@ pub fn delete_file(conn: &mut SqliteConnection, file_id: i32) -> Result<(), AppE
119122
}
120123

121124

125+
#[allow(deprecated)]
122126
#[deprecated]
123127
pub fn select_files(
124128
conn: &mut SqliteConnection,

0 commit comments

Comments
 (0)