···10101111val email : t -> string
1212val full_name : t -> string
1313+val user_id : t -> int option
1414+val delivery_email : t -> string option
1315val is_active : t -> bool
1416val is_admin : t -> bool
1517val is_bot : t -> bool
+2-2
stack/zulip/lib/zulip/lib/users.ml
···1515 | Error msg -> Error (Zulip_types.create_error ~code:(Other "api_error") ~msg ()))
1616 | Error err -> Error err
17171818-let get client ~email =
1818+let get client ~email =
1919 match Client.request client ~method_:`GET ~path:("/api/v1/users/" ^ email) () with
2020- | Ok json ->
2020+ | Ok json ->
2121 (match User.of_json json with
2222 | Ok user -> Ok user
2323 | Error err -> Error err)
+1
stack/zulip/lib/zulip/lib/users.mli
···11val list : Client.t -> (User.t list, Zulip_types.zerror) result
22val get : Client.t -> email:string -> (User.t, Zulip_types.zerror) result
33+val get_by_id : Client.t -> user_id:int -> (User.t, Zulip_types.zerror) result
34val create_user : Client.t -> email:string -> full_name:string -> (unit, Zulip_types.zerror) result
45val deactivate : Client.t -> email:string -> (unit, Zulip_types.zerror) result
+4-1
stack/zulip/lib/zulip_bot/lib/bot_storage.mli
···2121val keys : t -> (string list, Zulip.zerror) result
22222323(** Flush all dirty keys to the API *)
2424-val flush : t -> (unit, Zulip.zerror) result2424+val flush : t -> (unit, Zulip.zerror) result
2525+2626+(** Get the underlying Zulip client *)
2727+val client : t -> Zulip.Client.t