From 9e1dcf21dc5d65bcc4195f1ae4caedbe57835415 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Mon, 21 Jul 2014 20:32:12 -0230 Subject: Improve webhooks to call external url on task creation/modification --- app/Event/ProjectModificationDate.php | 53 +++++++++++++++++++++++++++++++++++ app/Event/TaskModification.php | 51 --------------------------------- app/Event/WebhookListener.php | 49 ++++++++++++++++++++++++++++++++ 3 files changed, 102 insertions(+), 51 deletions(-) create mode 100644 app/Event/ProjectModificationDate.php delete mode 100644 app/Event/TaskModification.php create mode 100644 app/Event/WebhookListener.php (limited to 'app/Event') diff --git a/app/Event/ProjectModificationDate.php b/app/Event/ProjectModificationDate.php new file mode 100644 index 00000000..8fbaee73 --- /dev/null +++ b/app/Event/ProjectModificationDate.php @@ -0,0 +1,53 @@ +project = $project; + } + + /** + * Execute the action + * + * @access public + * @param array $data Event data dictionary + * @return bool True if the action was executed or false when not executed + */ + public function execute(array $data) + { + if (isset($data['project_id'])) { + $this->project->updateModificationDate($data['project_id']); + return true; + } + + return false; + } +} diff --git a/app/Event/TaskModification.php b/app/Event/TaskModification.php deleted file mode 100644 index b1d412c7..00000000 --- a/app/Event/TaskModification.php +++ /dev/null @@ -1,51 +0,0 @@ -project = $project; - } - - /** - * Execute the action - * - * @access public - * @param array $data Event data dictionary - * @return bool True if the action was executed or false when not executed - */ - public function execute(array $data) - { - if (isset($data['project_id'])) { - $this->project->updateModificationDate($data['project_id']); - return true; - } - - return false; - } -} diff --git a/app/Event/WebhookListener.php b/app/Event/WebhookListener.php new file mode 100644 index 00000000..f9776653 --- /dev/null +++ b/app/Event/WebhookListener.php @@ -0,0 +1,49 @@ +url = $url; + $this->webhook = $webhook; + } + + /** + * Execute the action + * + * @access public + * @param array $data Event data dictionary + * @return bool True if the action was executed or false when not executed + */ + public function execute(array $data) + { + $this->webhook->notify($this->url, $data); + return true; + } +} -- cgit v1.2.3