From a4d4b7569ae2277808b165c74a3850dcf38f8523 Mon Sep 17 00:00:00 2001 From: "allen.yan" Date: Fri, 27 Jun 2025 14:19:40 +0800 Subject: [PATCH] =?UTF-8?q?Room=20=E6=99=82=E9=96=93=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E9=8C=AF=E8=AA=A4=20=E9=87=8D=E6=96=B0=E8=AA=BF=E6=95=B4=20202?= =?UTF-8?q?50627?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 10 +++---- .../Controllers/RoomControlController.php | 2 +- app/Http/Resources/RoomResource.php | 28 +++++++++++++++++++ app/Models/Room.php | 14 ---------- 4 files changed, 34 insertions(+), 20 deletions(-) create mode 100644 app/Http/Resources/RoomResource.php diff --git a/.env.example b/.env.example index 5955a1f..de9b1e4 100644 --- a/.env.example +++ b/.env.example @@ -23,13 +23,13 @@ LOG_LEVEL=debug #DB_CONNECTION=sqlite DB_CONNECTION=mariadb -DB_HOST=127.0.0.1 +DB_HOST=mariadb DB_PORT=3306 DB_DATABASE=KaraokeKingpin DB_USERNAME=KaraokeKingpin DB_PASSWORD=ESM7yTPMnavFmbBH -SESSION_DRIVER=database +SESSION_DRIVER=redis SESSION_LIFETIME=120 SESSION_ENCRYPT=false SESSION_PATH=/ @@ -37,15 +37,15 @@ SESSION_DOMAIN=null BROADCAST_CONNECTION=log FILESYSTEM_DISK=local -QUEUE_CONNECTION=database +QUEUE_CONNECTION=redis -CACHE_STORE=database +CACHE_STORE=redis # CACHE_PREFIX= MEMCACHED_HOST=127.0.0.1 REDIS_CLIENT=phpredis -REDIS_HOST=127.0.0.1 +REDIS_HOST=redis REDIS_PASSWORD=null REDIS_PORT=6379 diff --git a/app/Http/Controllers/RoomControlController.php b/app/Http/Controllers/RoomControlController.php index 6829ffc..cf0e286 100644 --- a/app/Http/Controllers/RoomControlController.php +++ b/app/Http/Controllers/RoomControlController.php @@ -314,7 +314,7 @@ class RoomControlController extends Controller $response = (new MachineStatusForwarder( $branch->external_ip, "/api/room/receiveSwitch", - $room->toArray() + (new RoomResource($room))->toArray(request()) ))->forward(); return $validated['command']==='error' ? ApiResponse::error('機房控制失敗') : ApiResponse::success($room); } diff --git a/app/Http/Resources/RoomResource.php b/app/Http/Resources/RoomResource.php new file mode 100644 index 0000000..acfc44c --- /dev/null +++ b/app/Http/Resources/RoomResource.php @@ -0,0 +1,28 @@ + + */ + public function toArray(Request $request): array + { + $array = parent::toArray($request); + $array['started_at'] = $this->formatTaipei($this->started_at); + $array['ended_at'] = $this->formatTaipei($this->ended_at); + return $array; + } + + protected function formatTaipei(?Carbon $value): ?string + { + return $value ? $value->timezone('Asia/Taipei')->format('Y-m-d H:i:s') : null; + } +} diff --git a/app/Models/Room.php b/app/Models/Room.php index 3e583a6..ac1cab5 100644 --- a/app/Models/Room.php +++ b/app/Models/Room.php @@ -80,18 +80,4 @@ class Room extends Model public function statusLogs() { return $this->hasMany(RoomStatusLog::class); } - public function toArray() - { - $array = parent::toArray(); - - if ($this->started_at) { - $array['started_at'] = $this->started_at->timezone('Asia/Taipei')->format('Y-m-d H:i:s'); - } - - if ($this->ended_at) { - $array['ended_at'] = $this->ended_at->timezone('Asia/Taipei')->format('Y-m-d H:i:s'); - } - - return $array; - } }