16e9b8ca49
#282 #282 #282 #282 #282 #282 Co-authored-by: miteruzo <miteruzo@naver.com> Reviewed-on: #284
48 lines
1.3 KiB
Ruby
48 lines
1.3 KiB
Ruby
class DeerjikistsController < ApplicationController
|
|
def show
|
|
platform = params[:platform].to_s.strip
|
|
code = params[:code].to_s.strip
|
|
return head :bad_request if platform.blank? || code.blank?
|
|
|
|
deerjikist = Deerjikist
|
|
.joins(:tag)
|
|
.includes(tag: :tag_name)
|
|
.find_by(platform:, code:)
|
|
if deerjikist
|
|
render json: DeerjikistRepr.base(deerjikist)
|
|
else
|
|
head :not_found
|
|
end
|
|
end
|
|
|
|
def update
|
|
return head :unauthorized unless current_user
|
|
return head :forbidden unless current_user.gte_member?
|
|
|
|
platform = params[:platform].to_s.strip
|
|
code = params[:code].to_s.strip
|
|
tag_id = params[:tag_id].to_i
|
|
return head :bad_request if platform.blank? || code.blank? || tag_id <= 0
|
|
|
|
deerjikist = Deerjikist.find_or_initialize_by(platform:, code:).tap do |d|
|
|
d.tag_id = tag_id
|
|
d.save!
|
|
end
|
|
|
|
render json: DeerjikistRepr.base(deerjikist)
|
|
end
|
|
|
|
def destroy
|
|
return head :unauthorized unless current_user
|
|
return head :forbidden unless current_user.gte_member?
|
|
|
|
platform = params[:platform].to_s.strip
|
|
code = params[:code].to_s.strip
|
|
return head :bad_request if platform.blank? || code.blank?
|
|
|
|
Deerjikist.find([platform, code]).destroy!
|
|
|
|
head :no_content
|
|
end
|
|
end
|