update controllers logic
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers\Api\Settings;
|
||||
|
||||
use App\Http\Controllers\Api\BaseApiController;
|
||||
use App\Http\Controllers\Api\Core\BaseApiController;
|
||||
use App\Http\Requests\Settings\SchoolCalendarIndexRequest;
|
||||
use App\Http\Requests\Settings\SchoolCalendarOptionsRequest;
|
||||
use App\Http\Requests\Settings\SchoolCalendarStoreRequest;
|
||||
@@ -61,7 +61,14 @@ class SchoolCalendarController extends BaseApiController
|
||||
})->all();
|
||||
|
||||
if ($includeMeetings) {
|
||||
$parentUserId = $audience === 'parent' ? (int) (auth()->id() ?? 0) : null;
|
||||
$parentUserId = null;
|
||||
if ($audience === 'parent') {
|
||||
$actor = $this->authenticatedUserIdOrUnauthorized();
|
||||
if ($actor instanceof JsonResponse) {
|
||||
return $actor;
|
||||
}
|
||||
$parentUserId = $actor;
|
||||
}
|
||||
$meetingRows = $this->meetingService->listMeetings($filters['school_year'] ?? '', $audience, $parentUserId);
|
||||
foreach ($meetingRows as $row) {
|
||||
$formatted[] = $this->formatterService->formatMeetingEvent($row, $audience);
|
||||
@@ -151,4 +158,17 @@ class SchoolCalendarController extends BaseApiController
|
||||
'admins' => !empty($payload['send_email_admin']),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int|JsonResponse
|
||||
*/
|
||||
private function authenticatedUserIdOrUnauthorized(): int|JsonResponse
|
||||
{
|
||||
$userId = (int) (auth()->id() ?? 0);
|
||||
if ($userId <= 0) {
|
||||
return $this->error('Unauthorized.', Response::HTTP_UNAUTHORIZED);
|
||||
}
|
||||
|
||||
return $userId;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user