Files
bit/app/lib/controller.cr
T
Juan Rodriguez 80feadfbd2 feat: delete link
2024-05-13 22:30:44 +02:00

30 lines
776 B
Crystal

module App::Lib
abstract class BaseController
def map_changeset_errors(errors)
errors.reduce({} of String => Array(String)) do |memo, error|
memo[error[:field]] = memo[error[:field]]? || [] of String
memo[error[:field]] << error[:message]
memo
end
end
def parse_body(env, fields)
json_params = env.params.json.to_h
missing_fields = [] of String
fields.each do |field|
unless json_params.has_key?(field)
missing_fields << field
end
end
unless missing_fields.empty?
error_message = missing_fields.map { |field| "#{field}: Required field" }.join(", ")
raise App::BadRequestException.new(env, error_message)
end
json_params
end
end
end