2026-01-02 13:41:09 +00:00
|
|
|
# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
|
2021-02-23 14:52:16 +00:00
|
|
|
|
|
|
|
|
class WebhooksController < ApplicationController
|
2023-03-19 20:43:36 +00:00
|
|
|
prepend_before_action :authenticate_and_authorize!
|
2021-02-23 14:52:16 +00:00
|
|
|
|
|
|
|
|
def preview
|
2021-10-08 06:23:20 +00:00
|
|
|
ticket = TicketPolicy::ReadScope.new(current_user).resolve.last
|
2021-02-23 14:52:16 +00:00
|
|
|
|
|
|
|
|
render json: JSON.pretty_generate({
|
|
|
|
|
ticket: TriggerWebhookJob::RecordPayload.generate(ticket),
|
|
|
|
|
article: TriggerWebhookJob::RecordPayload.generate(ticket.articles.last),
|
|
|
|
|
}),
|
|
|
|
|
status: :ok
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def index
|
|
|
|
|
model_index_render(Webhook, params)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def show
|
|
|
|
|
model_show_render(Webhook, params)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def create
|
|
|
|
|
model_create_render(Webhook, params)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def update
|
|
|
|
|
model_update_render(Webhook, params)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def destroy
|
|
|
|
|
model_destroy_render(Webhook, params)
|
|
|
|
|
end
|
2023-04-13 08:10:34 +00:00
|
|
|
|
2024-12-02 09:27:44 +00:00
|
|
|
def search
|
|
|
|
|
model_search_render(Webhook, params)
|
|
|
|
|
end
|
|
|
|
|
|
2023-04-18 16:26:44 +00:00
|
|
|
def pre_defined_webhooks
|
|
|
|
|
render json: Webhook::PreDefined.pre_defined_webhook_definitions, status: :ok
|
|
|
|
|
end
|
|
|
|
|
|
2023-04-13 08:10:34 +00:00
|
|
|
def replacements
|
2025-07-30 14:05:10 +00:00
|
|
|
render json: Service::Template::Interpolation::Interpolator::Webhook.replacements(pre_defined_webhook_type: params[:pre_defined_webhook_type]),
|
2023-04-13 08:10:34 +00:00
|
|
|
status: :ok
|
|
|
|
|
end
|
2026-02-03 13:38:55 +00:00
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
|
|
def sensitive_attributes(_input, _object)
|
|
|
|
|
Webhook::SENSITIVE_FIELDS
|
|
|
|
|
end
|
2021-02-23 14:52:16 +00:00
|
|
|
end
|