<?php

namespace App\Http\Controllers\Api;

use App\Models\AboutUs;
use Exception;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;

class AboutUsController extends BaseController
{

    // 创建
    public function create(Request $request) {
        $data = AboutUs::create([
            'title' => $request->input('title'),
            'description' => $request->input('description')
        ]);

        return $this->response($data);
    }

    public function getAboutUs(Request $request) {
        $data = AboutUs::findOrFail($request->input('id'));
        return $this->response($data);
    }

    // 激活的about_us
    public function getActiveAbouts(Request $request) {
        $data = AboutUs::query()->orderBy('id','desc')->where('status', 1)->get();
        return $this->response($data);
    }

    // 列表
    public function list(Request $request) {
        $per_page = $request->input('per_page') ?: 10;
        $data = AboutUs::query()->orderBy('id','desc')->paginate($per_page);
        return $this->response($data);
    }

    // 更新
    public function update(Request $request) {
        $model = AboutUs::findOrFail($request->input('id'));

        if(!empty($request->input('title'))) $model->title =$request->input('title');
        if(!empty($request->input('description'))) $model->description =$request->input('description');
        $model->save();

        return $this->response($model);
    }

    // 禁用启用
    public function showHide(Request $request) {
        $model = AboutUs::findOrFail($request->input('id'));

        $model->status = !$model->status;
        $model->save();

        return $this->response($model);
    }

    // 删除
    public function delete(Request $request) {
        $model = AboutUs::findOrFail($request->input('id'));
        $model->delete();
        return $this->response($model);
    }
}

