From 56967a105e34cec1554f30cacac435b76c4fcb0e Mon Sep 17 00:00:00 2001 From: miteruzo Date: Tue, 8 Jul 2025 02:41:31 +0900 Subject: [PATCH] #12 --- backend/app/controllers/users_controller.rb | 22 ++++++++++++++++----- backend/config/routes.rb | 3 ++- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/backend/app/controllers/users_controller.rb b/backend/app/controllers/users_controller.rb index 1cecf50..8658a5f 100644 --- a/backend/app/controllers/users_controller.rb +++ b/backend/app/controllers/users_controller.rb @@ -23,10 +23,22 @@ class UsersController < ApplicationController def me user = User.find_by(inheritance_code: params[:code]) - render(if user - { json: user.slice(:id, :name, :inheritance_code, :role) } - else - { json: { error: 'not found' }, status: :not_found } - end) + return head :not_found unless user + + render json: user.slice(:id, :name, :inheritance_code, :role) + end + + def update + user = current_user + return head :unauthorized if user&.id != params[:id].to_i + + name = params[:name] + return head :bad_request if name.blank? + + if user.update(name:) + render json: user.slice(:id, :name, :inheritance_code, :role), status: :created + else + render json: user.errors, status: :unprocessable_entity + end end end diff --git a/backend/config/routes.rb b/backend/config/routes.rb index 65af8fd..e65020c 100644 --- a/backend/config/routes.rb +++ b/backend/config/routes.rb @@ -13,6 +13,7 @@ Rails.application.routes.draw do get 'wiki/:id', to: 'wiki_pages#show' post 'wiki', to: 'wiki_pages#create' put 'wiki/:id', to: 'wiki_pages#update' + post 'users/code/renew', to: 'users#renew' resources :posts resources :ip_addresses @@ -23,7 +24,7 @@ Rails.application.routes.draw do resources :tags resources :user_ips resources :user_post_views - resources :users, only: [:create] do + resources :users, only: [:create, :update] do collection do post :verify get :me