reconstruction of the project
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api\AttendanceTracking;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\AttendanceTracking\ComposeAttendanceEmailRequest;
|
||||
use App\Http\Requests\AttendanceTracking\ParentsInfoRequest;
|
||||
use App\Http\Requests\AttendanceTracking\RecordAttendanceTrackingRequest;
|
||||
use App\Http\Requests\AttendanceTracking\SaveAttendanceNotificationNoteRequest;
|
||||
use App\Http\Requests\AttendanceTracking\SendAttendanceManualEmailRequest;
|
||||
use App\Services\AttendanceTrackingService;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class AttendanceTrackingController extends Controller
|
||||
{
|
||||
public function __construct(
|
||||
protected AttendanceTrackingService $service
|
||||
) {
|
||||
}
|
||||
|
||||
public function pendingViolations(Request $request): JsonResponse
|
||||
{
|
||||
$result = $this->service->getPendingViolations(
|
||||
$request->query('school_year'),
|
||||
$request->query('semester')
|
||||
);
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'data' => $result,
|
||||
]);
|
||||
}
|
||||
|
||||
public function notifiedViolations(Request $request): JsonResponse
|
||||
{
|
||||
$result = $this->service->getNotifiedViolations(
|
||||
$request->query('school_year'),
|
||||
$request->query('semester')
|
||||
);
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'data' => $result,
|
||||
]);
|
||||
}
|
||||
|
||||
public function studentCase(int $studentId, Request $request): JsonResponse
|
||||
{
|
||||
$result = $this->service->getStudentCase(
|
||||
$studentId,
|
||||
$request->query('code'),
|
||||
$request->query('incident_date'),
|
||||
filter_var($request->query('include_notified'), FILTER_VALIDATE_BOOL) === true,
|
||||
filter_var($request->query('pending_only'), FILTER_VALIDATE_BOOL) === true,
|
||||
$request->query('school_year'),
|
||||
$request->query('semester'),
|
||||
);
|
||||
|
||||
return response()->json(
|
||||
$result,
|
||||
$result['status'] ?? 200
|
||||
);
|
||||
}
|
||||
|
||||
public function record(RecordAttendanceTrackingRequest $request): JsonResponse
|
||||
{
|
||||
$result = $this->service->record($request->validated());
|
||||
|
||||
return response()->json(
|
||||
$result,
|
||||
$result['status'] ?? 200
|
||||
);
|
||||
}
|
||||
|
||||
public function sendAutoEmails(Request $request): JsonResponse
|
||||
{
|
||||
$result = $this->service->sendAutoEmails($request->input('variant'));
|
||||
|
||||
return response()->json($result);
|
||||
}
|
||||
|
||||
public function compose(ComposeAttendanceEmailRequest $request): JsonResponse
|
||||
{
|
||||
$result = $this->service->compose(
|
||||
(int) $request->validated('student_id'),
|
||||
(string) $request->validated('code', 'ABS_1'),
|
||||
(string) $request->validated('variant', 'default'),
|
||||
$request->validated('incident_date'),
|
||||
);
|
||||
|
||||
return response()->json(
|
||||
$result,
|
||||
$result['status'] ?? 200
|
||||
);
|
||||
}
|
||||
|
||||
public function sendManualEmail(SendAttendanceManualEmailRequest $request): JsonResponse
|
||||
{
|
||||
$result = $this->service->sendEmailManual($request->validated());
|
||||
|
||||
return response()->json(
|
||||
$result,
|
||||
$result['status'] ?? 200
|
||||
);
|
||||
}
|
||||
|
||||
public function parentsInfo(ParentsInfoRequest $request): JsonResponse
|
||||
{
|
||||
$result = $this->service->parentsInfo((int) $request->validated('student_id'));
|
||||
|
||||
return response()->json(
|
||||
$result,
|
||||
$result['status'] ?? 200
|
||||
);
|
||||
}
|
||||
|
||||
public function saveNotificationNote(SaveAttendanceNotificationNoteRequest $request): JsonResponse
|
||||
{
|
||||
$result = $this->service->saveNotificationNote($request->validated());
|
||||
|
||||
return response()->json(
|
||||
$result,
|
||||
$result['status'] ?? 200
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user