1- use super :: { models:: { UpdateFileDTO , CreateFileDTO , File , FileFilter , FileCondition } } ;
1+ use super :: models:: { CreateFileDTO , File , FileCondition , FileFilter , UpdateFileDTO } ;
22use diesel:: prelude:: * ;
33
4- pub fn create_file ( conn : & mut SqliteConnection , new_file : & CreateFileDTO ) -> Result < usize , diesel:: result:: Error > {
4+ pub fn create_file ( conn : & mut SqliteConnection , new_file : & CreateFileDTO ) -> Result < usize , diesel:: result:: Error > {
55 diesel:: insert_into ( files:: table)
66 . values ( new_file) . execute ( conn)
77}
@@ -65,12 +65,12 @@ pub fn delete_file_by_id(conn: &mut SqliteConnection, file_id: i32) -> Result<us
6565 diesel:: delete ( files. filter ( files:: id. eq ( file_id) ) ) . execute ( conn)
6666}
6767
68+ use crate :: model:: models:: { FileOrderBy , FileQueryOptions , OrderDirection } ;
6869use crate :: model:: schema:: files;
6970use crate :: model:: schema:: files:: dsl:: * ;
70- use std:: fmt:: { Debug , Formatter , Result as fmtResult} ;
7171use diesel:: sql_types:: Bool ;
7272use diesel:: sqlite:: Sqlite ;
73- use crate :: model :: models :: { FileOrderBy , FileQueryOptions , OrderDirection } ;
73+ use std :: fmt :: { Debug , Formatter , Result as fmtResult } ;
7474
7575impl Debug for File {
7676 fn fmt ( & self , f : & mut Formatter < ' _ > ) -> fmtResult {
@@ -85,7 +85,7 @@ impl Debug for File {
8585
8686// 将 FileCondition 转换为 diesel 查询条件的辅助函数
8787// 更新 build_condition 函数以处理新增的条件类型
88- fn build_file_condition ( condition : FileCondition ) -> Box < dyn BoxableExpression < files:: table , Sqlite , SqlType = diesel:: sql_types:: Bool > > {
88+ fn build_file_condition ( condition : FileCondition ) -> Box < dyn BoxableExpression < files:: table , Sqlite , SqlType = diesel:: sql_types:: Bool > > {
8989 match condition {
9090 FileCondition :: Id ( _id) => Box :: new ( files:: id. eq ( _id) ) ,
9191 FileCondition :: Type ( t) => Box :: new ( files:: type_. eq ( t) ) ,
@@ -104,7 +104,7 @@ fn build_file_condition(condition: FileCondition) -> Box<dyn BoxableExpression<f
104104 FileCondition :: GroupIdLessThan ( value) => Box :: new ( files:: group_id. lt ( value) ) ,
105105
106106 FileCondition :: And ( conditions) => {
107- let mut result: Option < Box < dyn BoxableExpression < files:: table , Sqlite , SqlType = diesel:: sql_types:: Bool > > > = None ;
107+ let mut result: Option < Box < dyn BoxableExpression < files:: table , Sqlite , SqlType = diesel:: sql_types:: Bool > > > = None ;
108108 for cond in conditions {
109109 let expr = build_file_condition ( cond) ;
110110 match result {
@@ -113,9 +113,9 @@ fn build_file_condition(condition: FileCondition) -> Box<dyn BoxableExpression<f
113113 }
114114 }
115115 result. unwrap_or_else ( || Box :: new ( true . into_sql :: < Bool > ( ) ) )
116- } ,
116+ }
117117 FileCondition :: Or ( conditions) => {
118- let mut result: Option < Box < dyn BoxableExpression < files:: table , Sqlite , SqlType = diesel:: sql_types:: Bool > > > = None ;
118+ let mut result: Option < Box < dyn BoxableExpression < files:: table , Sqlite , SqlType = diesel:: sql_types:: Bool > > > = None ;
119119 for cond in conditions {
120120 let expr = build_file_condition ( cond) ;
121121 match result {
@@ -124,7 +124,7 @@ fn build_file_condition(condition: FileCondition) -> Box<dyn BoxableExpression<f
124124 }
125125 }
126126 result. unwrap_or_else ( || Box :: new ( false . into_sql :: < Bool > ( ) ) )
127- } ,
127+ }
128128 FileCondition :: Not ( condition) => {
129129 let expr = build_file_condition ( * condition) ;
130130 Box :: new ( diesel:: dsl:: not ( expr) )
@@ -186,31 +186,31 @@ pub fn select_files_by_conditions_with_options(
186186 OrderDirection :: Asc => query. order ( files:: id. asc ( ) ) ,
187187 OrderDirection :: Desc => query. order ( files:: id. desc ( ) ) ,
188188 }
189- } ,
189+ }
190190 FileOrderBy :: Type ( direction) => {
191191 match direction {
192192 OrderDirection :: Asc => query. order ( files:: type_. asc ( ) ) ,
193193 OrderDirection :: Desc => query. order ( files:: type_. desc ( ) ) ,
194194 }
195- } ,
195+ }
196196 FileOrderBy :: Path ( direction) => {
197197 match direction {
198198 OrderDirection :: Asc => query. order ( files:: path. asc ( ) ) ,
199199 OrderDirection :: Desc => query. order ( files:: path. desc ( ) ) ,
200200 }
201- } ,
201+ }
202202 FileOrderBy :: ReferenceCount ( direction) => {
203203 match direction {
204204 OrderDirection :: Asc => query. order ( files:: reference_count. asc ( ) ) ,
205205 OrderDirection :: Desc => query. order ( files:: reference_count. desc ( ) ) ,
206206 }
207- } ,
207+ }
208208 FileOrderBy :: GroupId ( direction) => {
209209 match direction {
210210 OrderDirection :: Asc => query. order ( files:: group_id. asc ( ) ) ,
211211 OrderDirection :: Desc => query. order ( files:: group_id. desc ( ) ) ,
212212 }
213- } ,
213+ }
214214 } ;
215215 }
216216
0 commit comments