<?php

namespace App\Http\Controllers;

use App\Http\Requests\LegalEntityDelete;
use App\Http\Requests\LegalEntityForm;
use App\Http\Resources\LegalEntityResource;
use App\Libs\Services\LegalEntityService;


class LegalEntityController extends Controller
{
    public function postLegalEntities(LegalEntityForm $request, LegalEntityService $legalEntityService)
    {
        $data = $request->validated();
        $legalEntityData = $legalEntityService->createOrUpdateLegalEntity($data);

        if (!empty($legalEntityData)) {
            return LegalEntityResource::collection($legalEntityData);
        }
    }

    public function getLegalEntities(LegalEntityService $legalEntityService)
    {
        $legalEntityData = $legalEntityService->getLegalEntities();
        if ($legalEntityData) {
            return $legalEntityData['legalEntities'];
        }
        return response()->json([], 404);
    }

    public function deleteLegalEntity(LegalEntityDelete $request, LegalEntityService $legalEntityService) {
        $data = $request->validated();
        $response = $legalEntityService->deleteLegalEntity($data['id']);
        return $response;
    }
}
