wip pg: left join to get revocations
This commit is contained in:
parent
6aba22aa41
commit
d0be4593c7
2 changed files with 7 additions and 6 deletions
|
|
@ -39,12 +39,13 @@ let preflight =
|
||||||
in
|
in
|
||||||
fun (module Conn : CONN) -> Syntax.list_iter (fun p -> Conn.exec p ()) l
|
fun (module Conn : CONN) -> Syntax.list_iter (fun p -> Conn.exec p ()) l
|
||||||
|
|
||||||
(* TODO revocation master_sig *)
|
|
||||||
let find_signkey =
|
let find_signkey =
|
||||||
let find_signkey =
|
let find_signkey =
|
||||||
Caqti_type.(eddsa_pub ->? signkey_data)
|
Caqti_type.(eddsa_pub ->? signkey_data)
|
||||||
"SELECT exchange_pub, valid_from, expire_sign, expire_legal, master_sig, \
|
"SELECT esk.exchange_pub, esk.valid_from, esk.expire_sign, \
|
||||||
NULL FROM exchange_sign_keys WHERE exchange_pub=$1"
|
esk.expire_legal, esk.master_sig, sr.master_sig FROM exchange_sign_keys \
|
||||||
|
AS esk LEFT JOIN signkey_revocations AS sr ON esk.esk_serial = \
|
||||||
|
sr.esk_serial WHERE esk.exchange_pub=$1"
|
||||||
in
|
in
|
||||||
fun (module Conn : CONN) (exchange_pub : EddsaPublicKey.t) ->
|
fun (module Conn : CONN) (exchange_pub : EddsaPublicKey.t) ->
|
||||||
Conn.find_opt find_signkey exchange_pub
|
Conn.find_opt find_signkey exchange_pub
|
||||||
|
|
|
||||||
|
|
@ -74,8 +74,7 @@ module Make (Conn : Pg.CONN) = struct
|
||||||
|
|
||||||
let dir = Fpath.(v "data" / "secmod")
|
let dir = Fpath.(v "data" / "secmod")
|
||||||
|
|
||||||
let db_lookup_signkey_data conn fname priv =
|
let db_lookup_signkey_data conn fname pub =
|
||||||
let pub = EddsaPrivateKey.pub_of_priv priv in
|
|
||||||
let* opt = Pg.find_signkey conn pub |> unwrap_err_caqti in
|
let* opt = Pg.find_signkey conn pub |> unwrap_err_caqti in
|
||||||
match opt with
|
match opt with
|
||||||
| None ->
|
| None ->
|
||||||
|
|
@ -102,7 +101,8 @@ module Make (Conn : Pg.CONN) = struct
|
||||||
match opt with
|
match opt with
|
||||||
| None -> Ok None
|
| None -> Ok None
|
||||||
| Some priv ->
|
| Some priv ->
|
||||||
let* sk_data = db_lookup_signkey_data conn fname priv in
|
let pub = EddsaPrivateKey.pub_of_priv priv in
|
||||||
|
let* sk_data = db_lookup_signkey_data conn fname pub in
|
||||||
let signkey = { priv; sk_data } in
|
let signkey = { priv; sk_data } in
|
||||||
Ok (Some signkey)
|
Ok (Some signkey)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue