Feature: Label APIs (#931)

This commit is contained in:
Sojan Jose
2020-06-07 11:17:13 +05:30
committed by GitHub
parent 915eefdc36
commit 3d84568a37
15 changed files with 196 additions and 37 deletions

View File

@@ -1,10 +1,38 @@
class Api::V1::Accounts::LabelsController < Api::BaseController
# list all labels in account
before_action :current_account
before_action :fetch_label, except: [:index, :create]
before_action :check_authorization
def index
@labels = current_account.all_conversation_tags
@labels = policy_scope(current_account.labels)
end
def most_used
@labels = ActsAsTaggableOn::Tag.most_used(params[:count] || 10)
def show; end
def create
@label = current_account.labels.create!(permitted_params)
end
def update
@label.update(permitted_params)
end
def destroy
@label.destroy
head :ok
end
private
def fetch_label
@label = current_account.labels.find(params[:id])
end
def check_authorization
authorize(Label)
end
def permitted_params
params.require(:label).permit(:title, :description, :color, :show_on_sidebar)
end
end