From 372834401b0b08498286c92a206a48654ec86a71 Mon Sep 17 00:00:00 2001 From: Mateus Cruz Date: Mon, 5 Feb 2024 23:28:09 -0300 Subject: feat: add transaction serializer --- lib/handler.ml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'lib/handler.ml') diff --git a/lib/handler.ml b/lib/handler.ml index fb075ff..121a0c5 100644 --- a/lib/handler.ml +++ b/lib/handler.ml @@ -2,7 +2,7 @@ open Piaf let valid_debit value limit balance = let balance_after_op = balance - value in - not (balance_after_op <= limit * -1) + not (balance_after_op < limit * -1) ;; let create_transaction client_id (db_pool : Query.pool) (request : Request.t) = @@ -73,7 +73,11 @@ let get_balance client_id (db_pool : Query.pool) (_request : Request.t) = let limit = `Int client.mov_limit in `Assoc [ "total", total; "data_extrato", date; "limite", limit ] in - let last_transactions = `List [] in + let t = + Result.fold ~ok:Fun.id ~error:(fun _ -> []) + @@ Query.transactions client_id conn + in + let last_transactions = `List (List.map Serializer.transaction t) in `Assoc [ "saldo", balance; "ultimas_transacoes", last_transactions ] in Ok (Response.of_string ~body:(Yojson.Safe.to_string json) `OK) -- cgit v1.2.3