<?php

namespace App\Repositories;

use App\Models\AmendSpeakerTerms;
use Illuminate\Http\Request;

class AmendSpeakerTermsRepository
{

    public function createUpdateSpeakerAmendTerms(Request $request): AmendSpeakerTerms
    {
        // admin id
        $adminId = authUser()->id;
        // event
        $event = $request->get('event');
        // speaker id
        $speakerId = $request->get('speaker_id');

        return AmendSpeakerTerms::updateOrCreate(
            ['speaker_id' => $speakerId],
            [
                'event_id' => $event->id,
                'user_id' => $adminId,
                'selected_checkboxes' => $request->get('selected_checkboxes') ?? null,
                'amended' => $request->get('amended') ?? false,
                'in_legal_review' => $request->get('in_legal_review') ?? false,
            ]
        );

    }

    public function listing(Request $request, $paginate)
    {
        // speaker id
        $speakerId = $request->get('speaker_id');
        // event
        $event = $request->get('event');
        // return amend speaker terms
        return AmendSpeakerTerms::where('speaker_id', $speakerId)
            ->where('event_id', $event->id)
            ->first();
    }
}
