ぼざクリ タグ広場 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.
 
 
 
 
 
 

33 lines
956 B

  1. class UsersController < ApplicationController
  2. def create
  3. user = User.create!(inheritance_code: SecureRandom.uuid, role: 'guest')
  4. render json: { code: user.inheritance_code,
  5. user: user.slice(:id, :name, :inheritance_code, :role) }
  6. end
  7. def verify
  8. user = User.find_by(inheritance_code: params[:code])
  9. render json: if user
  10. { valid: true, user: user.slice(:id, :name, :inheritance_code, :role) }
  11. else
  12. { valid: false }
  13. end
  14. end
  15. def renew
  16. user = current_user
  17. user.inheritance_code = SecureRandom.uuid
  18. user.save!
  19. render json: { code: user.inheritance_code }
  20. end
  21. def me
  22. user = User.find_by(inheritance_code: params[:code])
  23. render(if user
  24. { json: user.slice(:id, :name, :inheritance_code, :role) }
  25. else
  26. { json: { error: 'not found' }, status: :not_found }
  27. end)
  28. end
  29. end