WebhookController::handleVideoConverted()
last analyzed

Size

Total Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 1
ccs 0
cts 0
cp 0
c 0
b 0
f 0
nc 1
1
<?php
2
3
namespace Zenapply\Pipe\Http;
4
5
use Illuminate\Http\Request;
6
use Illuminate\Routing\Controller;
7
8
abstract class WebhookController extends Controller
9
{
10
11
    /**
12
     * Handle a Pipe webhook call.
13
     *
14
     * @param  \Illuminate\Http\Request  $request
15
     * @return \Symfony\Component\HttpFoundation\Response
16
     */
17
    public function handleWebhook(Request $request)
18
    {
19
        $payload = json_decode($request->payload, true);
20
21
        $method = 'handle'.studly_case(str_replace('.', '_', $payload['event']));
22
23
        if (method_exists($this, $method)) {
24
            return $this->{$method}($payload);
25
        } else {
26
            return abort(501, "Not Implemented");
27
        }
28
    }
29
30
    /**
31
     * Handle a Pipe webhook.
32
     *
33
     * @param  array  $payload
34
     * @return Response
35
     */
36
    abstract protected function handleVideoRecorded($payload);
37
38
    /**
39
     * Handle a Pipe webhook.
40
     *
41
     * @param  array  $payload
42
     * @return Response
43
     */
44
    abstract protected function handleVideoConverted($payload);
45
46
    /**
47
     * Handle a Pipe webhook.
48
     *
49
     * @param  array  $payload
50
     * @return Response
51
     */
52
    abstract protected function handleVideoCopiedS3($payload);
53
54
    /**
55
     * Handle a Pipe webhook.
56
     *
57
     * @param  array  $payload
58
     * @return Response
59
     */
60
    abstract protected function handleVideoCopiedFtp($payload);
61
62
    /**
63
     * Handle a Pipe webhook.
64
     *
65
     * @param  array  $payload
66
     * @return Response
67
     */
68
    abstract protected function handleVideoCopiedDbox($payload);
69
}
70