<?php

namespace App\Libs\Services;

use App\Models\LegalEntity;
use Illuminate\Support\Facades\Auth;
class LegalEntityService
{
    public function createOrUpdateLegalEntity($data)
    {

        $legalEntities = collect();

        if (!empty($data['legalEntities'])) {
            foreach ($data['legalEntities'] as $entity) {
                if (!empty($entity['id'])) {
                    $entityData = LegalEntity::find($entity['id']);
                } else {
                    $entityData = null;
                }

                if ($entityData) {
                    $entityData->legal_entity = $entity['legal_entity'];
                    $entityData->save();
                    $legalEntity = $entityData;
                } else {
                    $legalEntity = LegalEntity::create([
                        'legal_entity' => $entity['legal_entity'],
                        'user_id' => Auth::user()->id
                    ]);
                }

                $legalEntities->push($legalEntity);
            }
        }

        return $legalEntities;
    }

    public function getLegalEntities()
    {
        $authUser = Auth::user();
        $query = LegalEntity::select('*')->where('user_id', $authUser->id)->get();

        return [
            'legalEntities' => $query,
        ];
    }

    public function deleteLegalEntity($legalEntityId)
    {
        $legalEntity = LegalEntity::find($legalEntityId);
        if ($legalEntity) {
            $legalEntity->delete();
        }

        return [
            'message' => 'success',
        ];
    }
}
