Testing a Gemini codegen run
at main 2.7 kB view raw
1(** JMAP Identity. 2 @see <https://www.rfc-editor.org/rfc/rfc8621.html#section-6> RFC 8621, Section 6 *) 3 4open Jmap_types 5open Jmap_email_types 6open Jmap_methods 7 8(** Identity object. 9 @see <https://www.rfc-editor.org/rfc/rfc8621.html#section-6> RFC 8621, Section 6 *) 10type identity = { 11 identity_id : id; (** immutable, server-set *) 12 name : string; (* default: "" *) 13 email : string; (** immutable *) 14 reply_to : Email_address.t list option; 15 bcc : Email_address.t list option; 16 text_signature : string; (* default: "" *) 17 html_signature : string; (* default: "" *) 18 may_delete : bool; (** server-set *) 19} 20 21(** Identity object for creation. 22 Excludes server-set fields. 23 @see <https://www.rfc-editor.org/rfc/rfc8621.html#section-6> RFC 8621, Section 6 *) 24type identity_create = { 25 identity_create_name : string option; 26 identity_create_email : string; 27 identity_create_reply_to : Email_address.t list option; 28 identity_create_bcc : Email_address.t list option; 29 identity_create_text_signature : string option; 30 identity_create_html_signature : string option; 31} 32 33(** Identity object for update. 34 Patch object, specific structure not enforced here. 35 @see <https://www.rfc-editor.org/rfc/rfc8621.html#section-6.3> RFC 8621, Section 6.3 *) 36type identity_update = patch_object 37 38(** Server-set info for created identity. 39 @see <https://www.rfc-editor.org/rfc/rfc8621.html#section-6.3> RFC 8621, Section 6.3 *) 40type identity_created_info = { 41 identity_created_id : id; 42 identity_created_may_delete : bool; 43} 44 45(** Server-set/computed info for updated identity. 46 @see <https://www.rfc-editor.org/rfc/rfc8621.html#section-6.3> RFC 8621, Section 6.3 *) 47type identity_updated_info = identity (* Contains only changed server-set props *) 48 49(** Identity/get: Args type (specialized from ['record Get_args.t]). *) 50module Identity_get_args : sig 51 type t = identity Get_args.t 52end 53 54(** Identity/get: Response type (specialized from ['record Get_response.t]). *) 55module Identity_get_response : sig 56 type t = identity Get_response.t 57end 58 59(** Identity/changes: Args type (specialized from [Changes_args.t]). *) 60module Identity_changes_args : sig 61 type t = Changes_args.t 62end 63 64(** Identity/changes: Response type (specialized from [Changes_response.t]). *) 65module Identity_changes_response : sig 66 type t = Changes_response.t 67end 68 69(** Identity/set: Args type (specialized from [('c, 'u) Set_args.t]). *) 70module Identity_set_args : sig 71 type t = (identity_create, identity_update) Set_args.t 72end 73 74(** Identity/set: Response type (specialized from [('c, 'u) Set_response.t]). *) 75module Identity_set_response : sig 76 type t = (identity_created_info, identity_updated_info) Set_response.t 77end