<?php

namespace app\store\controller;

use app\admin\lists\file\FileCateLists;
use app\admin\lists\file\FileLists;
use app\admin\logic\FileLogic;
use app\admin\validate\FileValidate;
use app\common\controller\Definitions;

// #[ApiDoc\title('文件管理')]
class FileController extends BaseAdminController
{

    // #[
    //     ApiDoc\Title('列表'),
    //     ApiDoc\url('/store/file/lists'),
    //     ApiDoc\Method('GET'),
    //     ApiDoc\NotHeaders(),
    //     ApiDoc\Header(ref: [Definitions::class, "token"]),
    //     ApiDoc\Query(ref: [Definitions::class, "page"]),
    //     ApiDoc\ResponseSuccess("data", type: "array"),
    // ]
    public function lists()
    {
        return $this->dataLists(new FileLists());
    }

    // #[
    //     ApiDoc\Title('移动'),
    //     ApiDoc\url('/store/file/move'),
    //     ApiDoc\Method('POST'),
    //     ApiDoc\NotHeaders(),
    //     ApiDoc\ResponseSuccess("data", type: "array"),
    // ]
    public function move()
    {
        $params = (new FileValidate())->post()->goCheck('move');
        FileLogic::move($params);
        return $this->success('移动成功', [], 1, 1);
    }

    // #[
    //     ApiDoc\Title('重命名'),
    //     ApiDoc\url('/store/file/rename'),
    //     ApiDoc\Method('POST'),
    //     ApiDoc\NotHeaders(),
    //     ApiDoc\ResponseSuccess("data", type: "array"),
    // ]
    public function rename()
    {
        $params = (new FileValidate())->post()->goCheck('rename');
        FileLogic::rename($params);
        return $this->success('重命名成功', [], 1, 1);
    }

    // #[
    //     ApiDoc\Title('删除'),
    //     ApiDoc\url('/store/file/delete'),
    //     ApiDoc\Method('POST'),
    //     ApiDoc\NotHeaders(),
    //     ApiDoc\ResponseSuccess("data", type: "array"),
    // ]
    public function delete()
    {
        $params = (new FileValidate())->post()->goCheck('delete');
        FileLogic::delete($params);
        return $this->success('删除成功', [], 1, 1);
    }

    // #[
    //     ApiDoc\Title('分类列表'),
    //     ApiDoc\url('/store/file/listCate'),
    //     ApiDoc\Method('GET'),
    //     ApiDoc\NotHeaders(),
    //     ApiDoc\ResponseSuccess("data", type: "array"),
    // ]
    public function listCate()
    {
        return $this->dataLists(new FileCateLists());
    }

    // #[
    //     ApiDoc\Title('添加文件分类'),
    //     ApiDoc\url('/store/file/addCate'),
    //     ApiDoc\Method('POST'),
    //     ApiDoc\NotHeaders(),
    //     ApiDoc\ResponseSuccess("data", type: "array"),
    // ]
    public function addCate()
    {
        $params = (new FileValidate())->post()->goCheck('addCate');
        FileLogic::addCate($params);
        return $this->success('添加成功', [], 1, 1);
    }

    // #[
    //     ApiDoc\Title('编辑文件分类'),
    //     ApiDoc\url('/store/file/editCate'),
    //     ApiDoc\Method('POST'),
    //     ApiDoc\NotHeaders(),
    //     ApiDoc\ResponseSuccess("data", type: "array"),
    // ]
    public function editCate()
    {
        $params = (new FileValidate())->post()->goCheck('editCate');
        FileLogic::editCate($params);
        return $this->success('编辑成功', [], 1, 1);
    }

    // #[
    //     ApiDoc\Title('删除文件分类'),
    //     ApiDoc\url('/store/file/delCate'),
    //     ApiDoc\Method('POST'),
    //     ApiDoc\NotHeaders(),
    //     ApiDoc\ResponseSuccess("data", type: "array"),
    // ]
    public function delCate()
    {
        $params = (new FileValidate())->post()->goCheck('id');
        FileLogic::delCate($params);
        return $this->success('删除成功', [], 1, 1);
    }
}