ぼざクリタグ広場 https://hub.nizika.monster
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

48 lines
1.3 KiB

  1. class DeerjikistsController < ApplicationController
  2. def show
  3. platform = params[:platform].to_s.strip
  4. code = params[:code].to_s.strip
  5. return head :bad_request if platform.blank? || code.blank?
  6. deerjikist = Deerjikist
  7. .joins(:tag)
  8. .includes(tag: :tag_name)
  9. .find_by(platform:, code:)
  10. if deerjikist
  11. render json: DeerjikistRepr.base(deerjikist)
  12. else
  13. head :not_found
  14. end
  15. end
  16. def update
  17. return head :unauthorized unless current_user
  18. return head :forbidden unless current_user.member?
  19. platform = params[:platform].to_s.strip
  20. code = params[:code].to_s.strip
  21. tag_id = params[:tag_id].to_i
  22. return head :bad_request if platform.blank? || code.blank? || tag_id <= 0
  23. deerjikist = Deerjikist.find_or_initialize_by(platform:, code:).tap do |d|
  24. d.tag_id = tag_id
  25. d.save!
  26. end
  27. render json: DeerjikistRepr.base(deerjikist)
  28. end
  29. def destroy
  30. return head :unauthorized unless current_user
  31. return head :forbidden unless current_user.member?
  32. platform = params[:platform].to_s.strip
  33. code = params[:code].to_s.strip
  34. return head :bad_request if platform.blank? || code.blank?
  35. Deerjikist.find([platform, code]).destroy!
  36. head :no_content
  37. end
  38. end