| @@ -23,10 +23,22 @@ class UsersController < ApplicationController | |||||
| def me | def me | ||||
| user = User.find_by(inheritance_code: params[:code]) | 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 | ||||
| end | end | ||||
| @@ -13,6 +13,7 @@ Rails.application.routes.draw do | |||||
| get 'wiki/:id', to: 'wiki_pages#show' | get 'wiki/:id', to: 'wiki_pages#show' | ||||
| post 'wiki', to: 'wiki_pages#create' | post 'wiki', to: 'wiki_pages#create' | ||||
| put 'wiki/:id', to: 'wiki_pages#update' | put 'wiki/:id', to: 'wiki_pages#update' | ||||
| post 'users/code/renew', to: 'users#renew' | |||||
| resources :posts | resources :posts | ||||
| resources :ip_addresses | resources :ip_addresses | ||||
| @@ -23,7 +24,7 @@ Rails.application.routes.draw do | |||||
| resources :tags | resources :tags | ||||
| resources :user_ips | resources :user_ips | ||||
| resources :user_post_views | resources :user_post_views | ||||
| resources :users, only: [:create] do | |||||
| resources :users, only: [:create, :update] do | |||||
| collection do | collection do | ||||
| post :verify | post :verify | ||||
| get :me | get :me | ||||