mte/src/database.ml

49 lines
1.8 KiB
OCaml
Raw Normal View History

2025-11-11 03:12:12 +01:00
(* TODO
2025-11-20 23:32:25 +01:00
- GNU Taler db-events?
2025-11-22 21:40:24 +01:00
it seems caqti/pgx does not support it *)
2025-11-11 03:12:12 +01:00
let test req server _ =
2025-11-22 21:40:24 +01:00
let (module Conn : Caqti_miou.CONNECTION) =
Vif.Server.device Devices.db_connection server
in
2025-11-11 03:12:12 +01:00
let query =
let open Caqti_request.Infix in
Caqti_type.(unit ->! int) "SELECT 53 - 11"
in
2025-11-22 21:40:24 +01:00
match Conn.find query () with
2025-11-11 03:12:12 +01:00
| Ok n ->
let open Vif.Response.Syntax in
let* () =
Vif.Response.add ~field:"content-type" "text/plain; charset= utf-8"
in
let* () = Vif.Response.with_string req (Fmt.str "53 - 11 = %d@." n) in
Vif.Response.respond `OK
| Error err ->
(* TODO don't leak private data in error messages *)
let open Vif.Response.Syntax in
let str = Fmt.str "Database error: %a." Caqti_error.pp err in
let* () = Vif.Response.with_string req str in
Vif.Response.respond `Internal_server_error
2025-11-22 21:40:24 +01:00
let test_activate req server _ =
(*let (module Conn : Caqti_miou.CONNECTION) =*)
let db_conn = Vif.Server.device Devices.db_connection server in
let secmod_signkey = Vif.Server.device Devices.secmod_signkey server in
let exchange_public_key = secmod_signkey.sm_key in
match Pg.activate_signing_key db_conn exchange_public_key with
| Ok () ->
let open Vif.Response.Syntax in
let* () =
Vif.Response.add ~field:"content-type" "text/plain; charset= utf-8"
in
let* () =
Vif.Response.with_string req (Fmt.str "activate_signing_key done~~@.")
in
Vif.Response.respond `OK
| Error err ->
(* TODO don't leak private data in error messages *)
let open Vif.Response.Syntax in
let str = Fmt.str "Database error: %a." Caqti_error.pp err in
let* () = Vif.Response.with_string req str in
Vif.Response.respond `Internal_server_error