2023-06-07 17:04:38 +00:00
|
|
|
package request
|
|
|
|
|
|
|
|
import (
|
|
|
|
"git.lumeweb.com/LumeWeb/portal/controller/validators"
|
|
|
|
validation "github.com/go-ozzo/ozzo-validation/v4"
|
|
|
|
"github.com/go-ozzo/ozzo-validation/v4/is"
|
|
|
|
)
|
|
|
|
|
|
|
|
type RegisterRequest struct {
|
2023-06-11 06:04:36 +00:00
|
|
|
validatable validators.ValidatableImpl
|
|
|
|
Email string `json:"email"`
|
|
|
|
Password string `json:"password"`
|
|
|
|
Pubkey string `json:"pubkey"`
|
2023-06-07 17:04:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (r RegisterRequest) Validate() error {
|
|
|
|
return validation.ValidateStruct(&r,
|
|
|
|
validation.Field(&r.Email, validation.Required, is.EmailFormat),
|
|
|
|
validation.Field(&r.Pubkey, validation.When(len(r.Password) == 0, validation.Required, validation.By(validators.CheckPubkeyValidator))),
|
|
|
|
validation.Field(&r.Password, validation.When(len(r.Pubkey) == 0, validation.Required)),
|
|
|
|
)
|
|
|
|
}
|
2023-06-11 06:04:36 +00:00
|
|
|
func (r RegisterRequest) Import(d map[string]interface{}) (validators.Validatable, error) {
|
|
|
|
return r.validatable.Import(d, r)
|
|
|
|
}
|