first commit
Some checks failed
Build / run (push) Has been cancelled

This commit is contained in:
maher
2025-10-29 11:42:25 +01:00
commit 703f50a09d
4595 changed files with 385164 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
<?php
namespace Common\Generators\Controller;
use Illuminate\Routing\Console\ControllerMakeCommand;
use Illuminate\Support\Str;
class GenerateController extends ControllerMakeCommand
{
public function handle()
{
if (parent::handle() !== false) {
// add route
$path = base_path('routes/web.php');
if ($this->option('model')) {
$marker = "});";
file_put_contents($path, str_replace(
$marker,
"\n{$this->getRouteStub()}\n{$marker}",
file_get_contents($path)
));
}
}
}
protected function getRouteStub()
{
$resourceName = Str::kebab(class_basename($this->option('model')));
$resourceComment = strtoupper(Str::title($this->option('model')));
return str_replace(
['dummyResourceName', 'dummyControllerName', 'dummyResourceComment'],
[$resourceName, $this->getNameInput(), $resourceComment],
file_get_contents(__DIR__ . '/stubs/route.resource.stub')
);
}
protected function buildClass($name)
{
$modelClass = $this->parseModel($this->option('model'));
$modelName = class_basename($modelClass);
return str_replace('DummyModelName', $modelName, parent::buildClass($name));
}
protected function getStub()
{
if ($this->option('model')) {
return __DIR__ . '/stubs/controller.model.stub';
}
return parent::getStub();
}
}

View File

@@ -0,0 +1,105 @@
<?php
namespace DummyNamespace;
use Common\Core\BaseController;
use Common\Database\Paginator;
use Illuminate\Http\Request;
use DummyFullModelClass;
use Illuminate\Http\Response;
use App\Http\Requests\CrupdateDummyModelNameRequest;
use App\Actions\DummyModelName\CrupdateDummyModelName;
class DummyClass extends BaseController
{
/**
* @var DummyModelClass
*/
private $DummyModelVariable;
/**
* @var Request
*/
private $request;
/**
* @param DummyModelClass $DummyModelVariable
* @param Request $request
*/
public function __construct(DummyModelClass $DummyModelVariable, Request $request)
{
$this->DummyModelVariable = $DummyModelVariable;
$this->request = $request;
}
/**
* @return Response
*/
public function index()
{
$userId = $this->request->get('userId');
$this->authorize('index', [DummyModelClass::class, $userId]);
$paginator = new Paginator($this->DummyModelVariable, $this->request->all());
if ($userId = $paginator->param('userId')) {
$paginator->where('user_id', $userId);
}
$pagination = $paginator->paginate();
return $this->success(['pagination' => $pagination]);
}
/**
* @param DummyModelClass $DummyModelVariable
* @return Response
*/
public function show(DummyModelClass $DummyModelVariable)
{
$this->authorize('show', $DummyModelVariable);
return $this->success(['DummyModelVariable' => $DummyModelVariable]);
}
/**
* @param CrupdateDummyModelNameRequest $request
* @return Response
*/
public function store(CrupdateDummyModelNameRequest $request)
{
$this->authorize('store', DummyModelClass::class);
$DummyModelVariable = app(CrupdateDummyModelClass::class)->execute($request->all());
return $this->success(['DummyModelVariable' => $DummyModelVariable]);
}
/**
* @param DummyModelClass $DummyModelVariable
* @param CrupdateDummyModelNameRequest $request
* @return Response
*/
public function update(DummyModelClass $DummyModelVariable, CrupdateDummyModelNameRequest $request)
{
$this->authorize('store', $DummyModelVariable);
$DummyModelVariable = app(CrupdateDummyModelClass::class)->execute($request->all(), $DummyModelVariable);
return $this->success(['DummyModelVariable' => $DummyModelVariable]);
}
/**
* @param string $ids
* @return Response
*/
public function destroy($ids)
{
$DummyModelVariableIds = explode(',', $ids);
$this->authorize('store', [DummyModelClass::class, $DummyModelVariableIds]);
$this->DummyModelVariable->whereIn('id', $DummyModelVariableIds)->delete();
return $this->success();
}
}

View File

@@ -0,0 +1,2 @@
// dummyResourceComment
Route::apiResource('dummyResourceName', 'dummyControllerName');