@@ -64,7 +64,7 @@ impl Database {
6464 }
6565
6666 /// Add a new card to the database.
67- pub fn add_card ( & self , card : & Card ) -> Fallible < ( ) > {
67+ pub fn add_card ( & self , card : & Card , now : Timestamp ) -> Fallible < ( ) > {
6868 log:: debug!( "Adding new card: {}" , card. hash( ) ) ;
6969 let card_row = match card. content ( ) {
7070 CardContent :: Basic { question, answer } => CardRow {
@@ -75,6 +75,7 @@ impl Database {
7575 answer : answer. to_string ( ) ,
7676 cloze_start : 0 ,
7777 cloze_end : 0 ,
78+ added_at : now,
7879 } ,
7980 CardContent :: Cloze { text, start, end } => CardRow {
8081 card_hash : card. hash ( ) ,
@@ -84,6 +85,7 @@ impl Database {
8485 answer : "" . to_string ( ) ,
8586 cloze_start : * start,
8687 cloze_end : * end,
88+ added_at : now,
8789 } ,
8890 } ;
8991 let mut conn = self . acquire ( ) ;
@@ -180,10 +182,11 @@ struct CardRow {
180182 answer : String ,
181183 cloze_start : usize ,
182184 cloze_end : usize ,
185+ added_at : Timestamp ,
183186}
184187
185188fn insert_card ( tx : & Transaction , card : & CardRow ) -> Fallible < ( ) > {
186- let sql = "insert into cards (card_hash, card_type, deck_name, question, answer, cloze_start, cloze_end) values (?, ?, ?, ?, ?, ?, ?);" ;
189+ let sql = "insert into cards (card_hash, card_type, deck_name, question, answer, cloze_start, cloze_end, added_at ) values (?, ?, ?, ?, ?, ?, ?, ?);" ;
187190 tx. execute (
188191 sql,
189192 (
@@ -194,6 +197,7 @@ fn insert_card(tx: &Transaction, card: &CardRow) -> Fallible<()> {
194197 & card. answer ,
195198 card. cloze_start ,
196199 card. cloze_end ,
200+ & card. added_at ,
197201 ) ,
198202 ) ?;
199203 Ok ( ( ) )
0 commit comments