# frozen_string_literal: true module UseCase module Answer class Unpin < UseCase::Base option :user, type: Types.Instance(::User) option :answer, type: Types.Instance(::Answer) def call authorize!(:unpin, user, answer) check_pinned! answer.pinned_at = nil answer.save! { status: 200, resource: nil, } end private def check_pinned! raise ::Errors::BadRequest if answer.pinned_at.nil? end end end end