<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Http\Requests\AppPromotionalBannerSettingRequest;
use App\Http\Resources\DefaultResource;
use App\Models\AppPromotionalBannerSetting;

class AppPromotionalBannerSettingController extends Controller
{
    public function show(): DefaultResource
    {
        $record = AppPromotionalBannerSetting::query()->firstOrCreate(
            ['id' => 1],
            [
                'title' => '',
                'is_active' => true,
            ]
        );

        return DefaultResource::make($record);
    }

    public function upsert(AppPromotionalBannerSettingRequest $request): DefaultResource
    {
        $record = AppPromotionalBannerSetting::query()->firstOrCreate(
            ['id' => 1],
            [
                'title' => '',
                'is_active' => true,
            ]
        );

        $record->fill($request->validated())->save();

        if ($request->hasFile('image')) {
            $record->image = $record->imageUpdate($request->file('image'), $record);
        }

        return DefaultResource::make($record->fresh());
    }
}
