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