(** JMAP Binary Data Operations *) (** Upload response from POST to upload endpoint *) module Upload : sig type t = { account_id : Jmap_id.t; blob_id : Jmap_id.t; content_type : string; size : Jmap_primitives.UnsignedInt.t; } (** Accessors *) val account_id : t -> Jmap_id.t val blob_id : t -> Jmap_id.t val content_type : t -> string val size : t -> Jmap_primitives.UnsignedInt.t (** Constructor *) val v : account_id:Jmap_id.t -> blob_id:Jmap_id.t -> content_type:string -> size:Jmap_primitives.UnsignedInt.t -> t (** Parse upload response from JSON *) val of_json : Ezjsonm.value -> t end (** Blob/copy method for copying blobs between accounts *) module BlobCopy : sig type request = { from_account_id : Jmap_id.t; account_id : Jmap_id.t; blob_ids : Jmap_id.t list; } type response = { from_account_id : Jmap_id.t; account_id : Jmap_id.t; copied : (Jmap_id.t * Jmap_id.t) list option; not_copied : (Jmap_id.t * Jmap_error.set_error_detail) list option; } (** Accessors for request *) val from_account_id : request -> Jmap_id.t val account_id : request -> Jmap_id.t val blob_ids : request -> Jmap_id.t list (** Constructor for request *) val request_v : from_account_id:Jmap_id.t -> account_id:Jmap_id.t -> blob_ids:Jmap_id.t list -> request (** Accessors for response *) val response_from_account_id : response -> Jmap_id.t val response_account_id : response -> Jmap_id.t val copied : response -> (Jmap_id.t * Jmap_id.t) list option val not_copied : response -> (Jmap_id.t * Jmap_error.set_error_detail) list option (** Constructor for response *) val response_v : from_account_id:Jmap_id.t -> account_id:Jmap_id.t -> ?copied:(Jmap_id.t * Jmap_id.t) list -> ?not_copied:(Jmap_id.t * Jmap_error.set_error_detail) list -> unit -> response val request_of_json : Ezjsonm.value -> request val response_of_json : Ezjsonm.value -> response end