11use std:: sync:: Arc ;
2- use libsql:: { Row , params, Database } ;
2+ use libsql:: { Row , params, Database , Connection } ;
33use serde:: { Deserialize , Serialize } ;
44use tokio:: sync:: Mutex ;
55use crate :: dross:: { DrossError , DrossHolder , DrossResult } ;
66use crate :: repository:: { Repository , RepositoryError , RepositoryItem , RepositoryResult } ;
77
88#[ derive( Clone ) ]
99pub struct FaeryRepository {
10- db : Arc < Mutex < Database > > ,
10+ db : Arc < Mutex < Connection > > ,
1111}
1212
1313impl FaeryRepository {
14- pub fn new ( db : Arc < Mutex < Database > > ) -> FaeryRepository {
14+ pub fn new ( db : Arc < Mutex < Connection > > ) -> FaeryRepository {
1515 FaeryRepository {
1616 db,
1717 }
@@ -67,7 +67,7 @@ impl Repository for FaeryRepository {
6767 }
6868
6969 async fn save ( & self , faery : Faery ) -> RepositoryResult < i64 > {
70- let db = self . db . lock ( ) . await . connect ( ) . unwrap ( ) ;
70+ let db = self . db . lock ( ) . await ;
7171 let result = match faery. id {
7272 Some ( id) => {
7373 let mut stmt = db. prepare ( "UPDATE faeries SET name = ?1, is_admin = ?2, email = ?3, dross = ?4 WHERE id = ?5" ) . await . unwrap ( ) ;
@@ -79,20 +79,20 @@ impl Repository for FaeryRepository {
7979 } ,
8080 } ;
8181 match result {
82- Ok ( _) => Ok ( db. last_insert_rowid ( ) . await ) ,
82+ Ok ( _) => Ok ( db. last_insert_rowid ( ) ) ,
8383 Err ( _) => Err ( RepositoryError :: Other ) ,
8484 }
8585 }
8686
8787 // Mark: Faery
8888 async fn get ( & self , id : i64 ) -> RepositoryResult < Faery > {
89- let db = self . db . lock ( ) . await . connect ( ) . unwrap ( ) ;
89+ let db = self . db . lock ( ) . await ;
9090 let mut stmt = db
9191 . prepare ( "SELECT * FROM faeries WHERE id = ?1" )
9292 . await
9393 . unwrap ( ) ;
9494 let mut res = stmt. query ( [ id] ) . await . unwrap ( ) ;
95- match res. next ( ) . await . unwrap ( ) {
95+ match res. next ( ) . unwrap ( ) {
9696 Some ( row) => {
9797 let faery = Faery :: from_response ( & row) ;
9898 Ok ( faery)
@@ -102,7 +102,7 @@ impl Repository for FaeryRepository {
102102 }
103103
104104 async fn get_all ( & self ) -> RepositoryResult < Vec < Faery > > {
105- let db = self . db . lock ( ) . await . connect ( ) . unwrap ( ) ;
105+ let db = self . db . lock ( ) . await ;
106106 let result = db. query ( "SELECT * FROM faeries" , ( ) ) . await ;
107107 let mut res = match result {
108108 Ok ( res) => res,
@@ -113,7 +113,7 @@ impl Repository for FaeryRepository {
113113 } ;
114114
115115 let mut faeries: Vec < Faery > = Vec :: new ( ) ;
116- while let Ok ( result_row) = res. next ( ) . await {
116+ while let Ok ( result_row) = res. next ( ) {
117117 match result_row {
118118 Some ( row) => {
119119 faeries. push ( Faery :: from_response ( & row) ) ;
@@ -125,7 +125,7 @@ impl Repository for FaeryRepository {
125125 }
126126
127127 async fn delete ( & self , id : i64 ) -> RepositoryResult < ( ) > {
128- let db = self . db . lock ( ) . await . connect ( ) . unwrap ( ) ;
128+ let db = self . db . lock ( ) . await ;
129129 let result = db. execute ( "DELETE FROM faeries WHERE id = ?1" , [ id] ) . await ;
130130 match result {
131131 Ok ( _) => Ok ( ( ) ) ,
@@ -134,7 +134,7 @@ impl Repository for FaeryRepository {
134134 }
135135
136136 async fn create_table ( & self ) -> RepositoryResult < ( ) > {
137- let db = self . db . lock ( ) . await . connect ( ) . unwrap ( ) ;
137+ let db = self . db . lock ( ) . await ;
138138 let result = db. execute (
139139 r#"CREATE TABLE IF NOT EXISTS faeries (
140140 id INTEGER PRIMARY KEY,
@@ -150,7 +150,7 @@ impl Repository for FaeryRepository {
150150 }
151151
152152 async fn drop_table ( & self ) -> RepositoryResult < ( ) > {
153- let db = self . db . lock ( ) . await . connect ( ) . unwrap ( ) ;
153+ let db = self . db . lock ( ) . await ;
154154 let result = db. execute ( "DROP TABLE IF EXISTS faeries" , ( ) ) . await ;
155155 match result {
156156 Ok ( _) => Ok ( ( ) ) ,
0 commit comments