<?php

namespace App\Http\Controllers\Frontend;

use App\Facades\CvEntriesService;
use App\Http\Controllers\Controller;
use App\Http\Requests\CvEntriesCreateUpdateRequest;
use App\Http\Resources\CvEntries\CvEntriesResource;
use Illuminate\Support\Facades\Auth;

class CvEntriesController extends Controller
{
    public function index()
    {
        $user = Auth::user();

        $cvEntries = CvEntriesService::getUserEntries($user);

        return CvEntriesResource::collection($cvEntries);
    }

    public function create(CvEntriesCreateUpdateRequest $request)
    {
        $data = $request->validated();
        $user = Auth::user();

        $cvEntry = CvEntriesService::create($user, $data);

        return new CvEntriesResource($cvEntry);
    }

    public function update(CvEntriesCreateUpdateRequest $request, int $id)
    {
        $data = $request->validated();
        $user = Auth::user();

        $cvEntry = CvEntriesService::update($user, $data, $id);

        return new CvEntriesResource($cvEntry);
    }

    public function delete(int $id)
    {
        $user = Auth::user();

        $deleted = CvEntriesService::delete($user, $id);

        return response()->json([
            'success' => $deleted
        ]);
    }
}
