Chatwoot/app/controllers/platform/api/v1/accounts_controller.rb

44 lines
1,010 B
Ruby
Raw Normal View History

2021-01-14 15:05:22 +00:00
class Platform::Api::V1::AccountsController < PlatformController
def create
@resource = Account.new(account_params)
update_resource_features
2021-01-14 15:05:22 +00:00
@resource.save!
@platform_app.platform_app_permissibles.find_or_create_by(permissible: @resource)
end
def show; end
2021-01-14 15:05:22 +00:00
def update
@resource.assign_attributes(account_params)
update_resource_features
@resource.save!
2021-01-14 15:05:22 +00:00
end
def destroy
DeleteObjectJob.perform_later(@resource)
2021-01-14 15:05:22 +00:00
head :ok
end
private
def set_resource
@resource = Account.find(params[:id])
end
def account_params
permitted_params.except(:features)
end
def update_resource_features
return if permitted_params[:features].blank?
permitted_params[:features].each do |key, value|
value.present? ? @resource.enable_features(key) : @resource.disable_features(key)
end
end
def permitted_params
params.permit(:name, :locale, :domain, :support_email, :status, features: {}, limits: {}, custom_attributes: {})
2021-01-14 15:05:22 +00:00
end
end