Sha256: b48cc77d70e0eccfe3729a8a278ddc8c6827fb651954dffe4c438ca7dc6172c9
Contents?: true
Size: 1.08 KB
Versions: 8
Compression:
Stored size: 1.08 KB
Contents
require "monban/use_case/base" require "getto/params" module Monban module UseCase module Account module Change class Password < Base initialize_with( :error, repository: [ :account_exists?, ], password: [:change], ) def change(params) Getto::Params.new.validate(params) do |v| v.hash( account_id: v.integer{|val| param_error!(account_id: val) }, password: v.combine([v.string, v.not_empty]), # DO NOT LOGGING PASSWORD!! ) end or param_error!(params: "FILTERED") repository.transaction do unless repository.account_exists?(account_id: params[:account_id]) error.not_found! "account_id: #{params[:account_id]}" end self.password.change( account_id: params[:account_id], password: params[:password], ) end nil end end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems