Skip to content

Commit b951efc

Browse files
committed
snapshot
1 parent b220eb0 commit b951efc

10 files changed

Lines changed: 135 additions & 109 deletions

File tree

Cargo.lock

Lines changed: 16 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

file_classification_cli/src/bin/create_group_tag.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use file_classification_core::group_tag::create_group_tag;
21
use file_classification_core::database::establish_connection;
2+
use file_classification_core::group_tag::create_group_tag;
33
use std::io::{Write, stdin, stdout};
44

55
fn main() {
@@ -21,7 +21,7 @@ fn main() {
2121
let result = create_group_tag(connection, group_id, tag_id);
2222
match result {
2323
Ok(new_group_tag) => {
24-
println!("GroupTag created successfully!NewGroupTag<{:?}>", new_group_tag)
24+
println!("GroupTag created successfully!GroupTag<{:?}>", new_group_tag)
2525
}
2626
Err(e) => eprintln!("Error creating GroupTag: {}", e),
2727
}

file_classification_core/src/errors.rs

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,49 +11,53 @@ pub enum AppError {
1111
// File errors
1212
FileNotFound,
1313
CreateFileFailed(String),
14+
DeleteFileFailed(String),
1415

1516
// Tag errors
1617
TagNotFound,
1718
CreateTagFailed(String),
19+
DeleteTagFailed(String),
1820

19-
// NewGroupTag errors
20-
NewGroupTagNotFound,
21+
// GroupTag errors
22+
GroupTagNotFound,
2123
CannotAssociateWithPrimary,
22-
CreateNewGroupTagFailed(String),
23-
DeleteNewGroupTagFailed(String),
24+
CreateGroupTagFailed(String),
25+
DeleteGroupTagFailed(String),
2426

25-
// NewFileGroup errors
26-
NewFileGroupNotFound,
27-
CreateNewFileGroupFailed(String),
28-
DeleteNewFileGroupFailed(String),
29-
30-
// DieselError errors
31-
DieselError(DieselError),
27+
// FileGroup errors
28+
FileGroupNotFound,
29+
CreateFileGroupFailed(String),
30+
DeleteFileGroupFailed(String),
3231

3332
// Validation errors
3433
ValidationError(String),
34+
35+
// DieselError errors
36+
DieselError(DieselError),
3537
}
3638

3739
impl Display for AppError {
3840
fn fmt(&self, f: &mut Formatter) -> Result {
3941
match self {
4042
AppError::GroupNotFound => write!(f, "Group not found"),
4143
AppError::CreateGroupFailed(msg) => write!(f, "Create group failed: {}", msg),
42-
AppError::DieselError(e) => write!(f, "Database error: {}", e),
43-
AppError::ValidationError(msg) => write!(f, "Validation error: {}", msg),
4444
AppError::DeleteGroupFailed(msg) => write!(f, "Delete group failed: {}", msg),
4545
AppError::FileNotFound => write!(f, "File not found"),
4646
AppError::CreateFileFailed(msg) => write!(f, "Create file failed: {}", msg),
47+
AppError::DeleteFileFailed(msg) => write!(f, "Delete file failed: {}", msg),
4748
AppError::TagNotFound => write!(f, "Tag not found"),
4849
AppError::CreateTagFailed(msg) => write!(f, "Create tag failed: {}", msg),
49-
AppError::NewGroupTagNotFound => write!(f, "NewGroupTag not found"),
50+
AppError::DeleteTagFailed(msg) => write!(f, "Delete tag failed: {}", msg),
51+
AppError::GroupTagNotFound => write!(f, "GroupTag not found"),
5052
AppError::CannotAssociateWithPrimary => write!(f, "Cannot associate with primary group"),
51-
AppError::CreateNewGroupTagFailed(msg) => write!(f, "Create NewGroupTag failed: {}", msg),
52-
AppError::DeleteNewGroupTagFailed(msg) => write!(f, "Delete NewGroupTag failed: {}", msg),
53-
AppError::NewFileGroupNotFound => write!(f, "NewFileGroup not found"),
54-
AppError::CreateNewFileGroupFailed(msg) => write!(f, "Create NewFileGroup failed: {}", msg),
55-
AppError::DeleteNewFileGroupFailed(msg) => write!(f, "Delete NewFileGroup failed: {}", msg),
56-
// 其他错误处理...
53+
AppError::CreateGroupTagFailed(msg) => write!(f, "Create GroupTag failed: {}", msg),
54+
AppError::DeleteGroupTagFailed(msg) => write!(f, "Delete GroupTag failed: {}", msg),
55+
AppError::FileGroupNotFound => write!(f, "FileGroup not found"),
56+
AppError::CreateFileGroupFailed(msg) => write!(f, "Create FileGroup failed: {}", msg),
57+
AppError::DeleteFileGroupFailed(msg) => write!(f, "Delete FileGroup failed: {}", msg),
58+
AppError::ValidationError(msg) => write!(f, "Validation error: {}", msg),
59+
AppError::DieselError(e) => write!(f, "Database error: {}", e),
60+
// other Errors...
5761
_ => write!(f, "Unknown error occurred"),
5862
}
5963
}
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
use diesel::SqliteConnection;
22

33
use crate::errors::AppError;
4-
use crate::internal::models::NewFileGroup;
54
use crate::internal::file_group as file_groups;
5+
use crate::internal::models::FileGroup;
66

77
pub fn create_file_group(
88
conn: &mut SqliteConnection,
99
file_id: i32,
1010
group_id: i32,
11-
) -> Result<NewFileGroup, AppError> {
12-
file_groups::create_file_group(conn, file_id, group_id)
13-
}
11+
) -> Result<FileGroup, AppError> {
12+
file_groups::create_file_group(conn, file_id, group_id)
13+
}
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
use diesel::SqliteConnection;
22

33
use crate::errors::AppError;
4-
use crate::internal::models::NewGroupTag;
54
use crate::internal::group_tag as group_tags;
5+
use crate::internal::models::GroupTag;
66
pub fn create_group_tag(
77
conn: &mut SqliteConnection,
88
group_id: i32,
99
tag_id: i32,
10-
) -> Result<NewGroupTag, AppError> {
11-
group_tags::create_group_tag(conn, group_id, tag_id)
12-
13-
}
10+
) -> Result<GroupTag, AppError> {
11+
group_tags::create_group_tag(conn, group_id, tag_id)
12+
}
Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
use crate::{
22
errors::AppError,
3-
internal::{files::increase_file_reference_count,
4-
groups::{increase_group_reference_count, find_group_by_id}}
3+
internal::{
4+
files::increase_file_reference_count,
5+
groups::{find_group_by_id, increase_group_reference_count},
6+
},
57
};
68
use diesel::prelude::*;
79
use std::fmt::{Debug, Formatter, Result as fmtResult};
810

9-
use super::{models::NewFileGroup, schema::file_groups};
11+
use super::{models::FileGroup, schema::file_groups};
1012

1113
pub fn create_file_group(
1214
conn: &mut SqliteConnection,
1315
file_id: i32,
1416
group_id: i32,
15-
) -> Result<NewFileGroup, AppError> {
16-
17-
let group = find_group_by_id(conn, group_id)?
18-
.ok_or(AppError::GroupNotFound)?;
17+
) -> Result<FileGroup, AppError> {
18+
let group = find_group_by_id(conn, group_id)?.ok_or(AppError::GroupNotFound)?;
1919

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

24-
let new_file_group = NewFileGroup { file_id, group_id };
24+
let new_file_group = FileGroup { file_id, group_id };
2525
let result = conn.transaction::<_, AppError, _>(|conn| {
2626
increase_file_reference_count(conn, file_id)?;
2727
increase_group_reference_count(conn, group_id)?;
@@ -30,8 +30,8 @@ pub fn create_file_group(
3030
let _ = result?;
3131
Ok(new_file_group)
3232
}
33-
impl Debug for NewFileGroup {
33+
impl Debug for FileGroup {
3434
fn fmt(&self, f: &mut Formatter<'_>) -> fmtResult {
35-
write!(f, "NewFileGroup {{ file_id: {}, group_id: {} }}", self.file_id, self.group_id)
35+
write!(f, "FileGroup {{ file_id: {}, group_id: {} }}", self.file_id, self.group_id)
3636
}
37-
}
37+
}

file_classification_core/src/internal/files.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1+
use super::{
2+
models::{File, NewFile, SearchFile},
3+
schema::files,
4+
schema::files::dsl::*,
5+
};
16
use crate::errors::AppError;
27
use diesel::prelude::*;
3-
use super::{models::{File, NewFile,SearchFile}, schema::files,schema::files::dsl::*};
48

59
pub fn create_file(conn: &mut SqliteConnection, new_file: &NewFile) -> Result<File, AppError> {
610
diesel::insert_into(files::table)
@@ -14,7 +18,6 @@ pub fn increase_file_reference_count(
1418
conn: &mut SqliteConnection,
1519
file_id: i32,
1620
) -> Result<(), AppError> {
17-
1821
diesel::update(files::table.find(file_id))
1922
.set(files::reference_count.eq(files::reference_count + 1))
2023
.execute(conn)?;
@@ -39,7 +42,6 @@ pub fn select_files(
3942
search_input: SearchFile,
4043
limit: i64,
4144
) -> Result<Vec<File>, diesel::result::Error> {
42-
4345
// 使用 into_boxed() 来对查询进行类型擦除
4446
let mut base_query = files.limit(limit).select(File::as_select()).into_boxed();
4547

@@ -75,8 +77,8 @@ impl Debug for File {
7577
fn fmt(&self, f: &mut Formatter<'_>) -> fmtResult {
7678
write!(
7779
f,
78-
"File {{ id: {}, type_: {}, path: {},reference_count: {}, group_id: {} }}",
80+
"File {{ id: {}, type_: {}, path: {}, reference_count: {}, group_id: {} }}",
7981
self.id, self.type_, self.path, self.reference_count, self.group_id
8082
)
8183
}
82-
}
84+
}
Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
1-
use crate::
2-
errors::AppError;
3-
use diesel::prelude::*;
4-
use std::fmt::{Debug, Formatter, Result as fmtResult};
51
use super::{
6-
groups::increase_group_reference_count,tags::increase_tag_reference_count, models::NewGroupTag, schema::group_tags
2+
groups::increase_group_reference_count, models::GroupTag, schema::group_tags,
3+
tags::increase_tag_reference_count,
74
};
5+
use crate::errors::AppError;
6+
use diesel::prelude::*;
7+
use std::fmt::{Debug, Formatter, Result as fmtResult};
88
pub fn create_group_tag(
99
conn: &mut SqliteConnection,
1010
group_id: i32,
1111
tag_id: i32,
12-
) -> Result<NewGroupTag, AppError> {
13-
14-
let new_group_tag = NewGroupTag { group_id, tag_id };
12+
) -> Result<GroupTag, AppError> {
13+
let new_group_tag = GroupTag { group_id, tag_id };
1514
let result = conn.transaction::<_, AppError, _>(|conn| {
1615
increase_group_reference_count(conn, group_id)?;
1716
increase_tag_reference_count(conn, tag_id)?;
@@ -20,8 +19,8 @@ pub fn create_group_tag(
2019
let _ = result?;
2120
Ok(new_group_tag)
2221
}
23-
impl Debug for NewGroupTag {
22+
impl Debug for GroupTag {
2423
fn fmt(&self, f: &mut Formatter<'_>) -> fmtResult {
25-
write!(f, "NewGroupTag {{ group_id: {}, tag_id: {} }}", self.group_id, self.tag_id)
24+
write!(f, "GroupTag {{ group_id: {}, tag_id: {} }}", self.group_id, self.tag_id)
2625
}
27-
}
26+
}

0 commit comments

Comments
 (0)