Files
sam-api/app/Http/Controllers/Api/V1/Design/ModelVersionController.php

39 lines
1.2 KiB
PHP
Raw Normal View History

<?php
namespace App\Http\Controllers\Api\V1\Design;
use App\Helpers\ApiResponse;
use App\Http\Controllers\Controller;
use App\Services\Design\ModelVersionService;
use Illuminate\Http\Request;
class ModelVersionController extends Controller
{
public function __construct(
protected ModelVersionService $service
) {}
public function index(int $modelId)
{
return ApiResponse::handle(fn() => $this->service->listByModel($modelId), __('message.fetched'));
}
public function createDraft(Request $request, int $modelId)
{
return ApiResponse::handle(function () use ($request, $modelId) {
$payload = $request->validate([
'version_no' => 'nullable|integer|min:1',
'notes' => 'nullable|string',
'effective_from' => 'nullable|date',
'effective_to' => 'nullable|date|after:effective_from',
]);
return $this->service->createDraft($modelId, $payload);
}, __('message.created'));
}
public function release(int $versionId)
{
return ApiResponse::handle(fn() => $this->service->release($versionId), __('message.updated'));
}
}