/
ximain1
/
tpu-backend
Обзор
Документация
Войти
/
ximain1
/
tpu-backend
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
app/Http/Controllers/DowntimeController.php
48 строк
1 KB
Попехин Константин Сергеевич
Реализация аутентификации и уровней доступа
08 янв 2026, 16:16
08 янв 2026, 16:16
254c8af
Код
Авторство
О чём код?
<?php namespace App\Http\Controllers; use App\Models\DowntimeReason; use App\Models\Shift; use App\Models\Station; //use App\Services\TimeService; use Illuminate\Http\Request; use App\Models\Downtime; use App\Http\Requests\DowntimeRequest; use Illuminate\Support\Carbon; use \Illuminate\Database\Eloquent\Collection; class DowntimeController extends Controller { public function index(): Collection { return Downtime::all(); } public function store(DowntimeRequest $request): Downtime{ $validated = $request->validated(); $startTime = Carbon::parse($validated['start_time']); $endTime = Carbon::parse($validated['end_time']); if ($endTime->lessThan($startTime)) { $endTime->addDay(); } $duration = $startTime->diff($endTime)->format('%H:%I'); $downtime = Downtime::create([ 'date' => $validated['date'], 'shift_id' => $validated['shift_id'], 'station_id' => Station::where('name', $validated['station_name'])->first()->id, 'start_time' => $validated['start_time'], 'end_time' => $validated['end_time'], 'duration' => $duration, 'downtime_reason_id' => DowntimeReason::where('name', $validated['downtime_reason'])->first()->id, 'route_sheet_id' => $validated['route_sheet_id'], ]); return $downtime; } }