@@ -15,23 +15,26 @@ pub async fn save_order(
1515 trade_index : i64 ,
1616 pool : & SqlitePool ,
1717) -> Result < ( ) > {
18- if let Ok ( order) = Order :: new ( pool, order, trade_keys, Some ( request_id as i64 ) ) . await {
19- if let Some ( order_id) = order. id {
20- println ! ( "Order {} created" , order_id) ;
21- } else {
22- println ! ( "Warning: The newly created order has no ID." ) ;
23- }
18+ let req_id_i64 = i64:: try_from ( request_id)
19+ . map_err ( |_| anyhow:: anyhow!( "request_id too large for i64: {}" , request_id) ) ?;
20+ let order = Order :: new ( pool, order, trade_keys, Some ( req_id_i64) ) . await ?;
21+
22+ if let Some ( order_id) = order. id {
23+ println ! ( "Order {} created" , order_id) ;
24+ } else {
25+ println ! ( "Warning: The newly created order has no ID." ) ;
26+ }
2427
25- match User :: get ( pool) . await {
26- Ok ( mut user) => {
27- user. set_last_trade_index ( trade_index) ;
28- if let Err ( e) = user. save ( pool) . await {
29- println ! ( "Failed to update user: {}" , e) ;
30- }
28+ match User :: get ( pool) . await {
29+ Ok ( mut user) => {
30+ user. set_last_trade_index ( trade_index) ;
31+ if let Err ( e) = user. save ( pool) . await {
32+ println ! ( "Failed to update user: {}" , e) ;
3133 }
32- Err ( e) => println ! ( "Failed to get user: {}" , e) ,
3334 }
35+ Err ( e) => println ! ( "Failed to get user: {}" , e) ,
3436 }
37+
3538 Ok ( ( ) )
3639}
3740
0 commit comments