catchAdmin/modules/Develop/Http/Controllers/ModuleController.php
2022-12-05 23:01:12 +08:00

92 lines
1.7 KiB
PHP

<?php
namespace Modules\Develop\Http\Controllers;
use Catch\Base\CatchController;
use Catch\Support\Module\ModuleRepository;
use Illuminate\Http\Request;
use Illuminate\Support\Collection;
class ModuleController extends CatchController
{
protected ModuleRepository $repository;
/**
* @param ModuleRepository $repository
*/
public function __construct(ModuleRepository $repository)
{
$this->repository = $repository;
}
/**
* index
*
* @param Request $request
* @return Collection
*/
public function index(Request $request): Collection
{
return $this->repository->all($request->all());
}
/**
* store
*
* @param Request $request
* @return bool|int
*/
public function store(Request $request): bool|int
{
return $this->repository->create($request->all());
}
/**
* show
*
* @param string $name
* @return Collection
* @throws \Exception
*/
public function show(mixed $name): Collection
{
return $this->repository->show($name);
}
/**
* update
*
* @param $name
* @param Request $request
* @return bool|int
*/
public function update($name, Request $request): bool|int
{
return $this->repository->update($name, $request->all());
}
/**
* update
*
* @param $name
* @return bool|int
*/
public function enable($name): bool|int
{
return $this->repository->disOrEnable($name);
}
/**
* destroy
*
* @param $name
* @return bool|int
* @throws \Exception
*/
public function destroy($name): bool|int
{
return $this->repository->delete($name);
}
}