Initial Laravel API import
Some checks failed
continuous-integration/drone/push Build is failing

- Complete GGZ Ecademy Laravel backend application
- RESTful API for learning products, members, filters
- Authentication and authorization system
- Database migrations and seeders
- Custom CRUD generator commands
- Email notification system
- Integration with frontend applications
This commit is contained in:
Joris Slagter
2025-12-02 17:40:21 +01:00
parent 786b6b6a78
commit df155bb13d
341 changed files with 116385 additions and 2 deletions

View File

@@ -0,0 +1,44 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\{{modelName}}Request;
use App\Services\{{modelName}}Service;
class {{modelName}}Controller extends Controller
{
private ${{modelNameSingularLowerCase}}Service;
public function __construct({{modelName}}Service ${{modelNameSingularLowerCase}}Service)
{
$this->{{modelNameSingularLowerCase}}Service = ${{modelNameSingularLowerCase}}Service;
}
public function index()
{
${{modelNamePluralLowerCase}} = $this->{{modelNameSingularLowerCase}}Service->getAll();
return response()->json(${{modelNamePluralLowerCase}}, 201);
}
public function store({{modelName}}Request $request)
{
${{modelNameSingularLowerCase}} = $this->{{modelNameSingularLowerCase}}Service->save($request->all());
return response()->json(${{modelNameSingularLowerCase}}, 201);
}
public function show($id)
{
${{modelNameSingularLowerCase}} = $this->{{modelNameSingularLowerCase}}Service->get($id);
return response()->json(${{modelNameSingularLowerCase}});
}
public function destroy($id)
{
$this->{{modelNameSingularLowerCase}}Service->delete($id);
return response()->json(null, 204);
}
}

16
stubs/custom/Model.stub Normal file
View File

@@ -0,0 +1,16 @@
<?php
namespace App\Repositories;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Model;
class {{modelName}} extends Model
{
use SoftDeletes;
protected $dates = ['deleted_at'];
protected $guarded = ['id'];
}

18
stubs/custom/Request.stub Normal file
View File

@@ -0,0 +1,18 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class {{modelName}}Request extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [];
}
}

53
stubs/custom/Service.stub Normal file
View File

@@ -0,0 +1,53 @@
<?php
namespace App\Services;
use App\Repositories\{{modelName}};
class {{modelName}}Service
{
private ${{modelNameSingularLowerCase}}Repository;
public function __construct({{modelName}} ${{modelNameSingularLowerCase}}Repository)
{
$this->{{modelNameSingularLowerCase}}Repository = ${{modelNameSingularLowerCase}}Repository;
}
public function save(array $data)
{
if (isset($data['id'])) {
${{modelNameSingularLowerCase}} = $this->{{modelNameSingularLowerCase}}Repository->findOrFail($data['id']);
${{modelNameSingularLowerCase}}->update($data);
} else {
${{modelNameSingularLowerCase}} = $this->{{modelNameSingularLowerCase}}Repository->create($data);
}
return ${{modelNameSingularLowerCase}};
}
public function delete($id)
{
${{modelNameSingularLowerCase}} = $this->{{modelNameSingularLowerCase}}Repository->findOrFail($id);
${{modelNameSingularLowerCase}}->delete();
}
public function get($id)
{
return $this->{{modelNameSingularLowerCase}}Repository->findOrFail($id);
}
public function getAll()
{
return $this->{{modelNameSingularLowerCase}}Repository->all();
}
public function with(array $children)
{
return $this->{{modelNameSingularLowerCase}}Repository->with($children)->get();
}
public function getOneWith($id, array $children)
{
return $this->{{modelNameSingularLowerCase}}Repository->with($children)->findOrFail($id);
}
}

View File

@@ -0,0 +1,15 @@
<?php
namespace App\Validators;
class {{modelName}}Validator extends AbstractValidator
{
public function rules()
{
$this->rules = [
];
return $this->rules;
}
}