File "ModelController-20260128160338.php"

Full Path: /var/www/html/back/app/Http/Controllers/Api/V1/ModelController-20260128160338.php
File size: 1.85 KB
MIME-type: text/x-php
Charset: utf-8

<?php

namespace App\Http\Controllers\Api\V1;

use App\Http\Controllers\Api\ApiController;
use App\Http\Resources\Permissions\PermissionsTypResource;
use App\Models\System;
use App\Repositories\Model\Interfaces\ModelInterface;
use App\Services\Model\ModelService;
use Illuminate\Http\Request;

class ModelController extends ApiController
{
    private $modelPepository;

    public function __construct(protected ModelService $modelService, ModelInterface $repository)
    {
        $this->modelPepository = $repository;
    }


    public function index()
    {
        return System::query()->get();
    }

    public function show($modelId)
    {
        return System::query()->find($modelId);
    }

    public function permissionsType()
    {
        return new PermissionsTypResource([]);
    }

    public function getTable($modelId, Request $request)
    {
        $type = $request->input('activeTab');

        $model = $this->modelPepository->getModel($modelId);

        if ($type == 'score') {
            $data = $this->modelService->getAccounts($modelId);
        }
        if ($type == 'counterparty') {
            $data = $this->modelService->getCounterparties($modelId);
        }

        if ($type == 'organization') {
            $data = $this->modelService->getOrganizations($modelId);
        }

        if ($type == 'integration') {
            $data = $this->modelService->getIntegrations($modelId);
        }

        return [
            'model_data' => [
                'name' => $model->name,
                'description' => $model->description,
                'month_end' => $model->month_end,
                'day_payment' => $model->day_payment,
            ],
            'data' => $data,
        ];
    }

    public function update($modelId, Request $request)
    {
        return $this->modelPepository->update($modelId, $request->toArray());
    }
}