feat: APIs for Integration Hooks (#2250)

- Introduces JSON Schema validations via JSONSchemer
- Add CRUD APIs for integration hooks
This commit is contained in:
Sojan Jose
2021-05-17 10:32:59 +05:30
committed by GitHub
parent 4aa35953c4
commit d5215fea93
21 changed files with 265 additions and 21 deletions

View File

@@ -0,0 +1,31 @@
class Api::V1::Accounts::Integrations::HooksController < Api::V1::Accounts::BaseController
before_action :fetch_hook, only: [:update, :destroy]
before_action :check_authorization
def create
@hook = Current.account.hooks.create!(permitted_params)
end
def update
@hook.update!(permitted_params.slice(:status, :settings))
end
def destroy
@hook.destroy
head :ok
end
private
def fetch_hook
@hook = Current.account.hooks.find(params[:id])
end
def check_authorization
authorize(:hook)
end
def permitted_params
params.require(:hook).permit(:app_id, :inbox_id, :status, settings: {})
end
end