25 lines
775 B
PHP
25 lines
775 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Http\Controllers\Attendance;
|
|
|
|
use App\Domain\SchoolCore\Attendance\Contracts\StaffAttendanceServiceContract;
|
|
use App\Domain\SchoolCore\Context\SchoolContext;
|
|
use App\Http\Requests\Attendance\RecordStaffAttendanceRequest;
|
|
use Illuminate\Routing\Controller;
|
|
|
|
final class StaffAttendanceController extends Controller
|
|
{
|
|
public function __construct(private StaffAttendanceServiceContract $staff) {}
|
|
|
|
public function store(RecordStaffAttendanceRequest $request)
|
|
{
|
|
/** @var SchoolContext $context */
|
|
$context = $request->attributes->get(SchoolContext::class);
|
|
$result = $this->staff->recordStaffAttendance($context, $request->toDTO());
|
|
|
|
return response()->json(['data' => $result]);
|
|
}
|
|
}
|