+ partners
This commit is contained in:
parent
21371c7d50
commit
625c194fff
4 changed files with 73 additions and 2 deletions
|
|
@ -191,3 +191,16 @@ let management_aml_officers req server _env =
|
||||||
Ok ""
|
Ok ""
|
||||||
in
|
in
|
||||||
respond_with_res res req
|
respond_with_res res req
|
||||||
|
|
||||||
|
let management_partners_jsont = ExchangePartnerSetupRequest.jsont
|
||||||
|
|
||||||
|
let management_partners req server _env =
|
||||||
|
let open Management in
|
||||||
|
let db_conn = Vif.Server.device Devices.db_connection server in
|
||||||
|
let res =
|
||||||
|
let* v = Vif.Request.of_json req |> unwrap_err_msg in
|
||||||
|
let* () = verify_partner v in
|
||||||
|
let* () = update_partner ~db_conn v in
|
||||||
|
Ok ""
|
||||||
|
in
|
||||||
|
respond_with_res res req
|
||||||
|
|
|
||||||
|
|
@ -476,7 +476,7 @@ let verify_aml_officier
|
||||||
officer_pub;
|
officer_pub;
|
||||||
officer_name;
|
officer_name;
|
||||||
is_active;
|
is_active;
|
||||||
read_only=_;
|
read_only= _;
|
||||||
master_sig;
|
master_sig;
|
||||||
change_date;
|
change_date;
|
||||||
} =
|
} =
|
||||||
|
|
@ -494,4 +494,30 @@ let update_aml_officier ~db_conn v =
|
||||||
let+ _last_change = Pg.insert_aml_officer db_conn v |> unwrap_err_caqti in
|
let+ _last_change = Pg.insert_aml_officer db_conn v |> unwrap_err_caqti in
|
||||||
()
|
()
|
||||||
|
|
||||||
(*[@@@ocaml.warning "-27"]*)
|
[@@@ocaml.warning "-27"]
|
||||||
|
|
||||||
|
let verify_partner
|
||||||
|
ExchangePartnerSetupRequest.
|
||||||
|
{
|
||||||
|
partner_base_url;
|
||||||
|
partner_pub;
|
||||||
|
wad_frequency;
|
||||||
|
master_sig;
|
||||||
|
start_date;
|
||||||
|
end_date;
|
||||||
|
wad_fee;
|
||||||
|
} =
|
||||||
|
let open Bin_sig.PartnerConfiguration in
|
||||||
|
verify ~key:Config.Exchange.master_public_key master_sig
|
||||||
|
{
|
||||||
|
partner_pub;
|
||||||
|
start_date;
|
||||||
|
end_date;
|
||||||
|
wad_frequency;
|
||||||
|
wad_fee;
|
||||||
|
h_url= Bin_type.Hash_64_cstr.hash partner_base_url;
|
||||||
|
}
|
||||||
|
|
||||||
|
let update_partner ~db_conn v =
|
||||||
|
let+ () = Pg.insert_partner db_conn v |> unwrap_err_caqti in
|
||||||
|
()
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,8 @@ let routes =
|
||||||
post (v "management" / "drain") management_drain_jsont --> management_drain;
|
post (v "management" / "drain") management_drain_jsont --> management_drain;
|
||||||
post (v "management" / "aml-officers") management_aml_officers_jsont
|
post (v "management" / "aml-officers") management_aml_officers_jsont
|
||||||
--> management_aml_officers;
|
--> management_aml_officers;
|
||||||
|
post (v "management" / "partners") management_partners_jsont
|
||||||
|
--> management_partners;
|
||||||
]
|
]
|
||||||
|
|
||||||
let () =
|
let () =
|
||||||
|
|
|
||||||
30
src/pg.ml
30
src/pg.ml
|
|
@ -450,3 +450,33 @@ let insert_aml_officer =
|
||||||
->
|
->
|
||||||
Conn.find exchange_do_insert_aml_officer
|
Conn.find exchange_do_insert_aml_officer
|
||||||
(officer_pub, master_sig, officer_name, is_active, read_only, change_date)
|
(officer_pub, master_sig, officer_name, is_active, read_only, change_date)
|
||||||
|
|
||||||
|
let insert_partner =
|
||||||
|
let insert_partner =
|
||||||
|
let master_sig = Bin_sig.PartnerConfiguration.caqti in
|
||||||
|
Caqti_type.(
|
||||||
|
t7 eddsa_pub time time time_span amount master_sig string ->. unit)
|
||||||
|
"INSERT INTO partners (partner_master_pub, start_date, end_date, \
|
||||||
|
wad_frequency, wad_fee, master_sig, partner_base_url) VALUES ($1, $2, \
|
||||||
|
$3, $4, ($5,$6), $7, $8) ON CONFLICT DO NOTHING"
|
||||||
|
in
|
||||||
|
fun (module Conn : CONN)
|
||||||
|
Api.ExchangePartnerSetupRequest.
|
||||||
|
{
|
||||||
|
partner_base_url;
|
||||||
|
partner_pub;
|
||||||
|
wad_frequency;
|
||||||
|
master_sig;
|
||||||
|
start_date;
|
||||||
|
end_date;
|
||||||
|
wad_fee;
|
||||||
|
}
|
||||||
|
->
|
||||||
|
Conn.exec insert_partner
|
||||||
|
( partner_pub,
|
||||||
|
start_date,
|
||||||
|
end_date,
|
||||||
|
wad_frequency,
|
||||||
|
wad_fee,
|
||||||
|
master_sig,
|
||||||
|
partner_base_url )
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue