android-components / mozilla.components.service.sync.logins / AsyncLoginsStorage / add

add

abstract fun add(login: ServerPassword): Deferred<String> (source)

Inserts the provided login into the database, returning it's id.

This function ignores values in metadata fields (timesUsed, timeCreated, timeLastUsed, and timePasswordChanged).

If login has an empty id field, then a GUID will be generated automatically. The format of generated guids are left up to the implementation of LoginsStorage (in practice the DatabaseLoginsStorage generates 12-character base64url (RFC 4648) encoded strings, and MemoryLoginsStorage generates strings using java.util.UUID.toString)

This will return an error result if a GUID is provided but collides with an existing record, or if the provided record is invalid (missing password, hostname, or doesn't have exactly one of formSubmitURL and httpRealm).

Exceptions

IdCollisionException - if a nonempty id is provided, and

InvalidRecordException - if the record is invalid.