* feat(migration): add name column to webhook table * feat(webhooks): add name parameter to webhook params * feat(webhooks): add example webhook name constant and input field to form * fix(webhooks): add webhook name label and placeholder to multiple locales in the form * feat(webhooks): display webhook name in the UI and include it in the API response * Revert 'fix(webhooks): add webhook name label and placeholder to multiple locales in the form' This reverts commit e547778a1c038c934e22ceb25935f541cb09e2cd. * test(webhooks): add tests for creating and updating webhooks with name attribute * chore(webhooks): add name property to webhook definitions in Swagger documentation * chore(webhooks): remove unnecessary input touch event for webhook name field * chore(webhooks): apply review changes requested * chore(webhooks): revert auto lint changes in commit 18ec4cafeb72fd385b70f65f1873d7cfb65216a6
33 lines
654 B
Ruby
33 lines
654 B
Ruby
class Api::V1::Accounts::WebhooksController < Api::V1::Accounts::BaseController
|
|
before_action :check_authorization
|
|
before_action :fetch_webhook, only: [:update, :destroy]
|
|
|
|
def index
|
|
@webhooks = Current.account.webhooks
|
|
end
|
|
|
|
def create
|
|
@webhook = Current.account.webhooks.new(webhook_params)
|
|
@webhook.save!
|
|
end
|
|
|
|
def update
|
|
@webhook.update!(webhook_params)
|
|
end
|
|
|
|
def destroy
|
|
@webhook.destroy!
|
|
head :ok
|
|
end
|
|
|
|
private
|
|
|
|
def webhook_params
|
|
params.require(:webhook).permit(:inbox_id, :name, :url, subscriptions: [])
|
|
end
|
|
|
|
def fetch_webhook
|
|
@webhook = Current.account.webhooks.find(params[:id])
|
|
end
|
|
end
|