feature(api): remove update
This commit is contained in:
parent
b635c940ae
commit
47076063bb
3 changed files with 2 additions and 24 deletions
|
@ -1,6 +1,6 @@
|
||||||
class APITokensController < ApplicationController
|
class APITokensController < ApplicationController
|
||||||
before_action :authenticate_administrateur!
|
before_action :authenticate_administrateur!
|
||||||
before_action :set_api_token, only: [:update, :destroy]
|
before_action :set_api_token, only: [:destroy]
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@api_token, @packed_token = APIToken.generate(current_administrateur)
|
@api_token, @packed_token = APIToken.generate(current_administrateur)
|
||||||
|
@ -8,18 +8,6 @@ class APITokensController < ApplicationController
|
||||||
render :index
|
render :index
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
|
||||||
if become_full_access?
|
|
||||||
@api_token.become_full_access!
|
|
||||||
elsif disallow_procedure_id.present?
|
|
||||||
@api_token.untarget_procedure(disallow_procedure_id.to_i)
|
|
||||||
else
|
|
||||||
@api_token.update!(api_token_params)
|
|
||||||
end
|
|
||||||
|
|
||||||
render :index
|
|
||||||
end
|
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
@api_token.destroy
|
@api_token.destroy
|
||||||
|
|
||||||
|
|
|
@ -38,20 +38,10 @@ class APIToken < ApplicationRecord
|
||||||
.order(:libelle)
|
.order(:libelle)
|
||||||
end
|
end
|
||||||
|
|
||||||
def untarget_procedure(procedure_id)
|
|
||||||
new_target_ids = targeted_procedure_ids - [procedure_id]
|
|
||||||
|
|
||||||
update!(allowed_procedure_ids: new_target_ids)
|
|
||||||
end
|
|
||||||
|
|
||||||
def sanitized_targeted_procedure_ids
|
def sanitized_targeted_procedure_ids
|
||||||
administrateur.procedures.ids.intersection(targeted_procedure_ids || [])
|
administrateur.procedures.ids.intersection(targeted_procedure_ids || [])
|
||||||
end
|
end
|
||||||
|
|
||||||
def become_full_access!
|
|
||||||
update_column(:allowed_procedure_ids, nil)
|
|
||||||
end
|
|
||||||
|
|
||||||
# Prefix is made of the first 6 characters of the uuid base64 encoded
|
# Prefix is made of the first 6 characters of the uuid base64 encoded
|
||||||
# it does not leak plain token
|
# it does not leak plain token
|
||||||
def prefix
|
def prefix
|
||||||
|
|
|
@ -208,7 +208,7 @@ Rails.application.routes.draw do
|
||||||
|
|
||||||
resources :attachments, only: [:show, :destroy]
|
resources :attachments, only: [:show, :destroy]
|
||||||
resources :recherche, only: [:index]
|
resources :recherche, only: [:index]
|
||||||
resources :api_tokens, only: [:create, :update, :destroy]
|
resources :api_tokens, only: [:create, :destroy]
|
||||||
|
|
||||||
get "patron" => "root#patron" if Rails.env.development? || Rails.env.test?
|
get "patron" => "root#patron" if Rails.env.development? || Rails.env.test?
|
||||||
get "suivi" => "root#suivi"
|
get "suivi" => "root#suivi"
|
||||||
|
|
Loading…
Reference in a new issue