|
- 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.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.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
|