package Ġcom . c ave owl . features . authentication Ċ Ċ import Ġcom . c ave owl . features . common . Base Payload Ċ import Ġcom . c ave owl . features . common . Constants Ċ import Ġkotlinx . serialization . Serializable Ċ Ċ @ Serializable Ċ data Ġclass ĠLogin Payload ( ĊĠĠĠ Ġval Ġemail : ĠString , ĊĠĠĠ Ġval Ġpassword : ĠString Ċ ) Ġ: ĠBase Payload () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠFIELD _ EMAIL Ġ= Ġ" email " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠFIELD _ PASSWORD Ġ= Ġ" password " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvalidate () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this . email . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . errors [ FIELD _ EMAIL ] Ġ= Ġ" email Ġis Ġrequired " ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(! this . email . matches ( Constants . P ATTER NS . EMAIL _ VALIDATION . to Regex ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . errors [ FIELD _ EMAIL ] Ġ= Ġ" invalid Ġemail Ġaddress " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( this . password . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . errors [ FIELD _ PASSWORD ] Ġ= Ġ" password Ġis Ġrequired " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ