add all controllers logic
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Attendance;
|
||||
|
||||
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||
|
||||
class LateSlipLogCollection extends ResourceCollection
|
||||
{
|
||||
public $collects = LateSlipLogResource::class;
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return parent::toArray($request);
|
||||
}
|
||||
|
||||
public function with($request): array
|
||||
{
|
||||
return [
|
||||
'meta' => [
|
||||
'total' => $this->resource->total() ?? null,
|
||||
'per_page' => $this->resource->perPage() ?? null,
|
||||
'current_page' => $this->resource->currentPage() ?? null,
|
||||
'last_page' => $this->resource->lastPage() ?? null,
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Attendance;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class LateSlipLogResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->resource->id ?? null,
|
||||
'school_year' => $this->resource->school_year ?? null,
|
||||
'semester' => $this->resource->semester ?? null,
|
||||
'student_name' => $this->resource->student_name ?? null,
|
||||
'slip_date' => $this->resource->slip_date ?? null,
|
||||
'time_in' => $this->resource->time_in ?? null,
|
||||
'grade' => $this->resource->grade ?? null,
|
||||
'reason' => $this->resource->reason ?? null,
|
||||
'admin_name' => $this->resource->admin_name ?? null,
|
||||
'printed_by' => $this->resource->printed_by ?? null,
|
||||
'printed_at' => $this->resource->printed_at ?? null,
|
||||
'created_at' => $this->resource->created_at ?? null,
|
||||
'updated_at' => $this->resource->updated_at ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Auth;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class SessionTimeoutConfigResource extends JsonResource
|
||||
{
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'timeout' => (int) ($this['timeout'] ?? 0),
|
||||
'warning_time' => (int) ($this['warning_time'] ?? 0),
|
||||
'check_interval' => (int) ($this['check_interval'] ?? 0),
|
||||
'logout_url' => (string) ($this['logout_url'] ?? ''),
|
||||
'keep_alive_url' => (string) ($this['keep_alive_url'] ?? ''),
|
||||
'check_url' => (string) ($this['check_url'] ?? ''),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Auth;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class SessionTimeoutStatusResource extends JsonResource
|
||||
{
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'status' => (string) ($this['status'] ?? ''),
|
||||
'time_remaining' => (int) ($this['time_remaining'] ?? 0),
|
||||
'redirect' => $this['redirect'] ?? null,
|
||||
'message' => $this['message'] ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\ClassPreparation;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class ClassPreparationPrintResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'class_section_id' => $this->resource['class_section_id'] ?? null,
|
||||
'class_section' => $this->resource['class_section'] ?? null,
|
||||
'school_year' => $this->resource['school_year'] ?? null,
|
||||
'semester' => $this->resource['semester'] ?? null,
|
||||
'prep_items' => $this->resource['prep_items'] ?? [],
|
||||
'adjustments' => $this->resource['adjustments'] ?? [],
|
||||
'printed_at' => $this->resource['printed_at'] ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\ClassPreparation;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class ClassPreparationResultResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'class_section' => $this->resource['class_section'] ?? null,
|
||||
'class_section_id' => $this->resource['class_section_id'] ?? null,
|
||||
'student_count' => $this->resource['student_count'] ?? 0,
|
||||
'class_level' => $this->resource['class_level'] ?? null,
|
||||
'prep_items' => $this->resource['prep_items'] ?? [],
|
||||
'needs_print' => $this->resource['needs_print'] ?? false,
|
||||
'last_printed_at' => $this->resource['last_printed_at'] ?? null,
|
||||
'adjustments' => $this->resource['adjustments'] ?? [],
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Classes;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class ClassAttendanceResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'teacher_name' => $this->resource['teacher_name'] ?? null,
|
||||
'class_name' => $this->resource['class_name'] ?? null,
|
||||
'class_section_id' => $this->resource['class_section_id'] ?? null,
|
||||
'semester' => $this->resource['semester'] ?? null,
|
||||
'school_year' => $this->resource['school_year'] ?? null,
|
||||
'students' => ClassAttendanceStudentResource::collection($this->resource['students'] ?? []),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Classes;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class ClassAttendanceStudentResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'student_id' => $this->resource['student_id'] ?? null,
|
||||
'school_id' => $this->resource['school_id'] ?? null,
|
||||
'firstname' => $this->resource['firstname'] ?? null,
|
||||
'lastname' => $this->resource['lastname'] ?? null,
|
||||
'class_section_id' => $this->resource['class_section_id'] ?? null,
|
||||
'updated_by' => $this->resource['updated_by'] ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Classes;
|
||||
|
||||
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||
|
||||
class ClassSectionCollection extends ResourceCollection
|
||||
{
|
||||
public $collects = ClassSectionResource::class;
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return parent::toArray($request);
|
||||
}
|
||||
|
||||
public function with($request): array
|
||||
{
|
||||
return [
|
||||
'meta' => [
|
||||
'total' => $this->resource->total() ?? null,
|
||||
'per_page' => $this->resource->perPage() ?? null,
|
||||
'current_page' => $this->resource->currentPage() ?? null,
|
||||
'last_page' => $this->resource->lastPage() ?? null,
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Classes;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class ClassSectionResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->resource->id ?? null,
|
||||
'class_id' => $this->resource->class_id ?? null,
|
||||
'class_section_id' => $this->resource->class_section_id ?? null,
|
||||
'class_section_name' => $this->resource->class_section_name ?? null,
|
||||
'class_name' => $this->resource->class_name ?? null,
|
||||
'semester' => $this->resource->semester ?? null,
|
||||
'school_year' => $this->resource->school_year ?? null,
|
||||
'created_at' => $this->resource->created_at ?? null,
|
||||
'updated_at' => $this->resource->updated_at ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Frontend;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class ContactSubmissionResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'email' => $this->resource['email'] ?? null,
|
||||
'email_sent' => (bool) ($this->resource['email_sent'] ?? false),
|
||||
'contact_id' => $this->resource['contact_id'] ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Frontend;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class FrontendPageResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'page' => $this->resource['page'] ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Frontend;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class FrontendUserResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'firstname' => $this->firstname ?? null,
|
||||
'lastname' => $this->lastname ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Frontend;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class LandingPageResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'role' => $this->resource['role'] ?? null,
|
||||
'dashboard' => $this->resource['dashboard'] ?? null,
|
||||
'summary' => $this->resource['summary'] ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Frontend;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class PageContentResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'type' => $this->resource['type'] ?? null,
|
||||
'content' => $this->resource['content'] ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Frontend;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class ProfileIconResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'user_name' => $this->resource['userName'] ?? null,
|
||||
'user_initials' => $this->resource['userInitials'] ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Messaging;
|
||||
|
||||
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||
|
||||
class MessageCollection extends ResourceCollection
|
||||
{
|
||||
public function with($request): array
|
||||
{
|
||||
if (!method_exists($this->resource, 'total')) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return [
|
||||
'meta' => [
|
||||
'total' => $this->resource->total() ?? null,
|
||||
'per_page' => $this->resource->perPage() ?? null,
|
||||
'current_page' => $this->resource->currentPage() ?? null,
|
||||
'last_page' => $this->resource->lastPage() ?? null,
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return $this->collection->map(function ($item) use ($request) {
|
||||
return (new MessageResource($item))->toArray($request);
|
||||
})->all();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Messaging;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class MessageResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id ?? null,
|
||||
'sender_id' => $this->sender_id ?? null,
|
||||
'recipient_id' => $this->recipient_id ?? null,
|
||||
'subject' => $this->subject ?? null,
|
||||
'message' => $this->message ?? null,
|
||||
'sent_datetime' => optional($this->sent_datetime)->toDateTimeString(),
|
||||
'read_status' => (bool) ($this->read_status ?? false),
|
||||
'read_datetime' => optional($this->read_datetime)->toDateTimeString(),
|
||||
'message_number' => $this->message_number ?? null,
|
||||
'priority' => $this->priority ?? null,
|
||||
'attachment' => $this->attachment ?? null,
|
||||
'status' => $this->status ?? null,
|
||||
'semester' => $this->semester ?? null,
|
||||
'school_year' => $this->school_year ?? null,
|
||||
'sender_name' => $this->sender ? trim($this->sender->firstname . ' ' . $this->sender->lastname) : null,
|
||||
'recipient_name' => $this->recipient ? trim($this->recipient->firstname . ' ' . $this->recipient->lastname) : null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Messaging;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class RecipientResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->resource['id'] ?? null,
|
||||
'name' => $this->resource['name'] ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Preferences;
|
||||
|
||||
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||
|
||||
class PreferencesCollection extends ResourceCollection
|
||||
{
|
||||
public $collects = PreferencesListResource::class;
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return parent::toArray($request);
|
||||
}
|
||||
|
||||
public function with($request): array
|
||||
{
|
||||
return [
|
||||
'meta' => [
|
||||
'total' => $this->resource->total() ?? null,
|
||||
'per_page' => $this->resource->perPage() ?? null,
|
||||
'current_page' => $this->resource->currentPage() ?? null,
|
||||
'last_page' => $this->resource->lastPage() ?? null,
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Preferences;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class PreferencesListResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->resource->id ?? null,
|
||||
'user_id' => $this->resource->user_id ?? null,
|
||||
'firstname' => $this->resource->firstname ?? null,
|
||||
'lastname' => $this->resource->lastname ?? null,
|
||||
'email' => $this->resource->email ?? null,
|
||||
'receive_email_notifications' => (bool) ($this->resource->notification_email ?? false),
|
||||
'receive_sms_notifications' => (bool) ($this->resource->notification_sms ?? false),
|
||||
'theme' => $this->resource->theme ?? null,
|
||||
'language' => $this->resource->language ?? null,
|
||||
'style_color' => $this->resource->style_color ?? null,
|
||||
'menu_color' => $this->resource->menu_color ?? null,
|
||||
'created_at' => $this->resource->created_at ?? null,
|
||||
'updated_at' => $this->resource->updated_at ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Preferences;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class PreferencesResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'receive_email_notifications' => $this->resource['receive_email_notifications'] ?? false,
|
||||
'receive_sms_notifications' => $this->resource['receive_sms_notifications'] ?? false,
|
||||
'theme' => $this->resource['theme'] ?? null,
|
||||
'language' => $this->resource['language'] ?? null,
|
||||
'style_color' => $this->resource['style_color'] ?? null,
|
||||
'menu_color' => $this->resource['menu_color'] ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Security;
|
||||
|
||||
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||
|
||||
class IpBanCollection extends ResourceCollection
|
||||
{
|
||||
public $collects = IpBanResource::class;
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return parent::toArray($request);
|
||||
}
|
||||
|
||||
public function with($request): array
|
||||
{
|
||||
return [
|
||||
'meta' => [
|
||||
'total' => $this->resource->total() ?? null,
|
||||
'per_page' => $this->resource->perPage() ?? null,
|
||||
'current_page' => $this->resource->currentPage() ?? null,
|
||||
'last_page' => $this->resource->lastPage() ?? null,
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Security;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class IpBanResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
$blockedUntil = $this->resource->blocked_until ?? null;
|
||||
$isActive = $blockedUntil !== null && $blockedUntil > now('UTC');
|
||||
|
||||
return [
|
||||
'id' => $this->resource->id ?? null,
|
||||
'ip_address' => $this->resource->ip_address ?? null,
|
||||
'attempts' => $this->resource->attempts ?? 0,
|
||||
'last_attempt_at' => $this->resource->last_attempt_at ?? null,
|
||||
'blocked_until' => $blockedUntil,
|
||||
'is_active' => $isActive,
|
||||
'created_at' => $this->resource->created_at ?? null,
|
||||
'updated_at' => $this->resource->updated_at ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Settings;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class PolicyResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'type' => $this->resource['type'] ?? null,
|
||||
'title' => $this->resource['title'] ?? null,
|
||||
'format' => $this->resource['format'] ?? 'html',
|
||||
'content' => $this->resource['content'] ?? '',
|
||||
'updated_at' => $this->resource['updated_at'] ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Settings;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class SettingsResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'site_name' => $this->resource['site_name'] ?? null,
|
||||
'administrator_email' => $this->resource['administrator_email'] ?? null,
|
||||
'timezone' => $this->resource['timezone'] ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Staff;
|
||||
|
||||
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||
|
||||
class StaffCollection extends ResourceCollection
|
||||
{
|
||||
public function toArray($request): array
|
||||
{
|
||||
return $this->collection->map(function ($item) use ($request) {
|
||||
return (new StaffResource($item))->toArray($request);
|
||||
})->all();
|
||||
}
|
||||
|
||||
public function with($request): array
|
||||
{
|
||||
if (!method_exists($this->resource, 'total')) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return [
|
||||
'meta' => [
|
||||
'total' => $this->resource->total() ?? null,
|
||||
'per_page' => $this->resource->perPage() ?? null,
|
||||
'current_page' => $this->resource->currentPage() ?? null,
|
||||
'last_page' => $this->resource->lastPage() ?? null,
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Staff;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class StaffResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id ?? null,
|
||||
'user_id' => $this->user_id ?? null,
|
||||
'firstname' => $this->firstname ?? null,
|
||||
'lastname' => $this->lastname ?? null,
|
||||
'email' => $this->email ?? null,
|
||||
'phone' => $this->phone ?? null,
|
||||
'role_name' => $this->role_name ?? null,
|
||||
'active_role' => $this->active_role ?? null,
|
||||
'school_year' => $this->school_year ?? null,
|
||||
'class_section' => $this->class_section ?? null,
|
||||
'verification_issue' => (bool) ($this->verification_issue ?? false),
|
||||
'school_id' => $this->school_id ?? null,
|
||||
'created_at' => optional($this->created_at)->toDateTimeString(),
|
||||
'updated_at' => optional($this->updated_at)->toDateTimeString(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Support;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class ContactMessageResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'email_sent' => (bool) ($this->resource['email_sent'] ?? false),
|
||||
'recipient' => $this->resource['recipient'] ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Support;
|
||||
|
||||
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||
|
||||
class SupportRequestCollection extends ResourceCollection
|
||||
{
|
||||
public function toArray($request): array
|
||||
{
|
||||
return $this->collection->map(function ($item) use ($request) {
|
||||
return (new SupportRequestResource($item))->toArray($request);
|
||||
})->all();
|
||||
}
|
||||
|
||||
public function with($request): array
|
||||
{
|
||||
if (!method_exists($this->resource, 'total')) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return [
|
||||
'meta' => [
|
||||
'total' => $this->resource->total() ?? null,
|
||||
'per_page' => $this->resource->perPage() ?? null,
|
||||
'current_page' => $this->resource->currentPage() ?? null,
|
||||
'last_page' => $this->resource->lastPage() ?? null,
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Support;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class SupportRequestResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id ?? null,
|
||||
'user_id' => $this->user_id ?? null,
|
||||
'subject' => $this->subject ?? null,
|
||||
'message' => $this->message ?? null,
|
||||
'status' => $this->status ?? null,
|
||||
'semester' => $this->semester ?? null,
|
||||
'school_year' => $this->school_year ?? null,
|
||||
'created_at' => optional($this->created_at)->toDateTimeString(),
|
||||
'updated_at' => optional($this->updated_at)->toDateTimeString(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\System;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class DashboardRouteResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'route' => $this->resource['route'] ?? null,
|
||||
'role' => $this->resource['role'] ?? null,
|
||||
'role_slug' => $this->resource['role_slug'] ?? null,
|
||||
'roles' => $this->resource['roles'] ?? [],
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\System;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class HealthStatusResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'ok' => $this->resource['ok'] ?? false,
|
||||
'paths' => $this->resource['paths'] ?? [],
|
||||
'database' => $this->resource['database'] ?? [],
|
||||
'write_path' => $this->resource['write_path'] ?? null,
|
||||
'timestamp' => $this->resource['timestamp'] ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\System;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class NavBuilderDataResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'items' => $this->resource['items'] ?? [],
|
||||
'roles' => $this->resource['roles'] ?? [],
|
||||
'parentOptions' => $this->resource['parentOptions'] ?? [],
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\System;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class NavItemResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
$item = is_array($this->resource) ? $this->resource : $this->resource->toArray();
|
||||
|
||||
return [
|
||||
'id' => (int) ($item['id'] ?? 0),
|
||||
'menu_parent_id' => $item['menu_parent_id'] ?? null,
|
||||
'label' => (string) ($item['label'] ?? ''),
|
||||
'url' => $item['url'] ?? null,
|
||||
'icon_class' => $item['icon_class'] ?? null,
|
||||
'target' => $item['target'] ?? null,
|
||||
'sort_order' => (int) ($item['sort_order'] ?? 0),
|
||||
'is_enabled' => (int) ($item['is_enabled'] ?? 0),
|
||||
'children' => !empty($item['children'])
|
||||
? NavItemResource::collection($item['children'])
|
||||
: [],
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Ui;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class UiStyleResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'style_color' => $this->style_color ?? null,
|
||||
'menu_color' => $this->menu_color ?? null,
|
||||
'menu_custom_bg' => $this->menu_custom_bg ?? null,
|
||||
'menu_custom_text' => $this->menu_custom_text ?? null,
|
||||
'menu_custom_mode' => $this->menu_custom_mode ?? null,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Utilities;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class PhoneFormatResource extends JsonResource
|
||||
{
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'raw' => $this->resource['raw'] ?? null,
|
||||
'formatted' => $this->resource['formatted'] ?? null,
|
||||
'is_valid' => $this->resource['is_valid'] ?? false,
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user