Add route for updating parties

This commit is contained in:
Justin Edmund 2022-02-04 14:47:47 -08:00
parent 818a756f28
commit 9d4706b741
3 changed files with 22 additions and 3 deletions

View file

@ -1,5 +1,6 @@
class Api::V1::PartiesController < Api::V1::ApiController
before_action :set, except: ['create']
before_action :set_from_slug, except: ['create', 'update']
before_action :set, only: ['update', 'destroy']
def index
parties = Party.all
@ -21,6 +22,12 @@ class Api::V1::PartiesController < Api::V1::ApiController
end
def update
if @party.user != current_user
render_unauthorized_response
else
@party.extra = party_params['is_extra']
render :update, status: :ok if @party.save!
end
end
def destroy
@ -49,10 +56,15 @@ class Api::V1::PartiesController < Api::V1::ApiController
return (0...numChars).map { o[rand(o.length)] }.join
end
def set
def set_from_slug
@party = Party.where("shortcode = ?", params[:id]).first
end
def set
ap params
@party = Party.where("id = ?", params[:id]).first
end
def party_params
params.require(:party).permit(:user_id, :is_extra)
end

View file

@ -0,0 +1,7 @@
object @party
attributes :id, :user_id, :shortcode
node :is_extra do |p|
p.extra
end

View file

@ -6,7 +6,7 @@ Rails.application.routes.draw do
namespace :api, defaults: { format: :json } do
namespace :v1 do
resources :parties, only: [:index, :create, :show, :destroy]
resources :parties, only: [:index, :create, :show, :update, :destroy]
resources :users, only: [:create, :show]
get 'parties/:id/weapons', to: 'parties#weapons'