retrospring/app/controllers/ajax/relationship_controller.rb
Karina Kwiatek d67ae1eb19 Only accept users to relationship use cases
Dry Types was having issues with taking either an object or string so it's easier to deal with just passing in an object directly
2022-06-13 11:56:34 +02:00

39 lines
1 KiB
Ruby

# frozen_string_literal: true
require "use_case/relationship/create"
require "use_case/relationship/destroy"
require "errors"
class Ajax::RelationshipController < AjaxController
before_action :authenticate_user!
def create
params.require :screen_name
UseCase::Relationship::Create.call(
source_user: current_user,
target_user: ::User.find_by!(screen_name: params[:screen_name]),
type: params[:type]
)
@response[:success] = true
@response[:message] = t("messages.friend.create.okay")
rescue Errors::Base => e
@response[:message] = t(e.locale_tag)
ensure
return_response
end
def destroy
UseCase::Relationship::Destroy.call(
source_user: current_user,
target_user: ::User.find_by!(screen_name: params[:screen_name]),
type: params[:type]
)
@response[:success] = true
@response[:message] = t("messages.friend.destroy.okay")
rescue Errors::Base => e
@response[:message] = t(e.locale_tag)
ensure
return_response
end
end