Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Changes ¶
type Changes struct { // The id of the account to use. Account jmap.ID `json:"accountId,omitempty"` // The current state of the client. This is the string that was // returned as the state argument in the Foo/get response. The server // will return the changes that have occurred since this state. SinceState string `json:"sinceState,omitempty"` // The maximum number of ids to return in the response. The server MAY // choose to return fewer than this value but MUST NOT return more. If // not given by the client, the server may choose how many to return. // If supplied by the client, the value MUST be a positive integer // greater than 0. If a value outside of this range is given, the // server MUST reject the call with an invalidArguments error. MaxChanges uint64 `json:"maxChanges,omitempty"` }
An Identity/changes method call
type ChangesResponse ¶
type ChangesResponse struct { // The id of the account used for the call. Account jmap.ID `json:"accountId,omitempty"` // This is the sinceState argument echoed back; it’s the state from // which the server is returning changes. OldState string `json:"oldState,omitempty"` // This is the state the client will be in after applying the set of // changes to the old state. NewState string `json:"newState,omitempty"` // If true, the client may call Foo/changes again with the newState // returned to get further updates. If false, newState is the current // server state. HasMoreChanges bool `json:"hasMoreChanges,omitempty"` // An array of ids for records that have been created since the old // state. Created []jmap.ID `json:"created,omitempty"` // An array of ids for records that have been updated since the old // state. Updated []jmap.ID `json:"updated,omitempty"` // An array of ids for records that have been destroyed since the old // state. Destroyed []jmap.ID `json:"destroyed,omitempty"` }
An Identity/changes response
type Get ¶
type Get struct { // The id of the account to use. Account jmap.ID `json:"accountId,omitempty"` // The IDs of Identity objects to return. Leave blank to return all, // subject to the MaxObjectsInGet limit of the server IDs []jmap.ID `json:"ids,omitempty"` // Only the supplied properties will be returned Properties []string `json:"properties,omitempty"` // Use IDs from a previous call ReferenceIDs *jmap.ResultReference `json:"#ids,omitempty"` // Use Properties from a previous call ReferenceProperties *jmap.ResultReference `json:"#properties,omitempty"` }
An Identity/get request
type GetResponse ¶
type GetResponse struct { // The id of the account used for the call. Account jmap.ID `json:"accountId,omitempty"` // State for all Identity objects on the server for this account State string `json:"state,omitempty"` // The Identity objects requested List []*Identity `json:"list,omitempty"` // Slice of objects not found. Only present if specific IDs were // requested NotFound []jmap.ID `json:"notFound,omitempty"` }
This is a standard “/get” method as described in [@!RFC8620], Section 5.1.
type Identity ¶
type Identity struct { // The ID of the Identity // // immutable;server-set ID jmap.ID `json:"id,omitempty"` // The "From" name the client SHOULD use when creating a new Email from // this identity Name string `json:"name,omitempty"` // The "From" email address the client MUST use when creating a new // Email from this Identity. If the mailbox part of the address (the // section before the "@") is the single character "*", then the client // may use any valid address ending in that domain // // immutable Email string `json:"email,omitempty"` // The Reply-To value the client SHOULD set when creating a new Email // from this identity ReplyTo []*mail.Address `json:"replyTo,omitempty"` // The Bcc value the client SHOULD set when creating a new Email from // this Identity Bcc []*mail.Address `json:"bcc,omitempty"` // A signature the client SHOULD insert into new plaintext messages that // will be sent from this identity TextSignature string `json:"textSignature,omitempty"` // A signature the client SHOULD insert into new html messages that // will be sent from this identity HTMLSignature string `json:"htmlSignature,omitempty"` // If the user is allowed to delete this identity // // server-set MayDelete bool `json:"mayDelete,omitempty"` }
type Set ¶
type Set struct { // The id of the account to use. Account jmap.ID `json:"accountId,omitempty"` // This is a state string as returned by the Foo/get method // (representing the state of all objects of this type in the account). // If supplied, the string must match the current state; otherwise, the // method will be aborted and a stateMismatch error returned. If null, // any changes will be applied to the current state. IfInState string `json:"ifInState,omitempty"` // A map of a creation id (a temporary id set by the client) to Foo // objects, or null if no objects are to be created. // // The Foo object type definition may define default values for // properties. Any such property may be omitted by the client. // // The client MUST omit any properties that may only be set by the // server (for example, the id property on most object types). Create map[jmap.ID]*Identity `json:"create,omitempty"` // A map of an id to a Patch object to apply to the current Foo object // with that id, or null if no objects are to be updated. // // A PatchObject is of type String[*] and represents an unordered set // of patches. The keys are a path in JSON Pointer Format [@!RFC6901], // with an implicit leading “/” (i.e., prefix each key with “/” before // applying the JSON Pointer evaluation algorithm). // // All paths MUST also conform to the following restrictions; if there // is any violation, the update MUST be rejected with an invalidPatch // error: // // The pointer MUST NOT reference inside an array (i.e., you MUST // NOT insert/delete from an array; the array MUST be replaced in // its entirety instead). All parts prior to the last (i.e., the // value after the final slash) MUST already exist on the object // being patched. There MUST NOT be two patches in the PatchObject // where the pointer of one is the prefix of the pointer of the // other, e.g., “alerts/1/offset” and “alerts”. // // The value associated with each pointer determines how to apply that // patch: // // If null, set to the default value if specified for this // property; otherwise, remove the property from the patched // object. If the key is not present in the parent, this a no-op. // Anything else: The value to set for this property (this may be a // replacement or addition to the object being patched). // // Any server-set properties MAY be included in the patch if their // value is identical to the current server value (before applying the // patches to the object). Otherwise, the update MUST be rejected with // an invalidProperties SetError. // // This patch definition is designed such that an entire Foo object is // also a valid PatchObject. The client may choose to optimise network // usage by just sending the diff or may send the whole object; the // server processes it the same either way. Update map[jmap.ID]jmap.Patch `json:"update,omitempty"` // A list of ids for Foo objects to permanently delete, or null if no // objects are to be destroyed. Destroy []jmap.ID `json:"destroy,omitempty"` }
An Identity/set method call
type SetResponse ¶
type SetResponse struct { // The id of the account used for the call. Account jmap.ID `json:"accountId,omitempty"` // The state string that would have been returned by Foo/get before // making the requested changes, or null if the server doesn’t know // what the previous state string was. OldState string `json:"oldState,omitempty"` // The state string that will now be returned by Foo/get. NewState string `json:"newState,omitempty"` // A map of the creation id to an object containing any properties of // the created Foo object that were not sent by the client. This // includes all server-set properties (such as the id in most object // types) and any properties that were omitted by the client and thus // set to a default by the server. // // This argument is null if no Foo objects were successfully created. Created map[jmap.ID]*Identity `json:"created,omitempty"` // The keys in this map are the ids of all Foos that were successfully // updated. // // The value for each id is a Foo object containing any property that // changed in a way not explicitly requested by the PatchObject sent to // the server, or null if none. This lets the client know of any // changes to server-set or computed properties. // // This argument is null if no Foo objects were successfully updated. Updated map[jmap.ID]*Identity `json:"updated,omitempty"` // An array of ids for records that have been destroyed since the old // state. Destroyed []jmap.ID `json:"destroyed,omitempty"` // A map of ID to a SetError for each record that failed to be created NotCreated map[jmap.ID]*jmap.SetError `json:"notCreated,omitempty"` // A map of ID to a SetError for each record that failed to be updated NotUpdated map[jmap.ID]*jmap.SetError `json:"notUpdated,omitempty"` // A map of ID to a SetError for each record that failed to be destroyed NotDestroyed map[jmap.ID]*jmap.SetError `json:"notDestroyed,omitempty"` }
Click to show internal directories.
Click to hide internal directories.