luckybooru/src/operations/sign_up_user.cr

19 lines
414 B
Crystal

class SignUpUser < User::SaveOperation
param_key :user
include PasswordValidations
permit_columns name, email
attribute password : String
attribute password_confirmation : String
before_save do
primary_role_id.value = RoleQuery.new.name("user").first.id
validate_uniqueness_of name
validate_uniqueness_of email
Authentic.copy_and_encrypt password, to: encrypted_password
end
end