-
-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
74 changed files
with
1,242 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
46 changes: 46 additions & 0 deletions
46
stubs/module-generator/breeze-crud-api/App/Http/Controllers/Api/V1/ModuleController.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
<?php | ||
|
||
namespace Modules\{Module}\App\Http\Controllers\Api\V1; | ||
|
||
use App\Http\Controllers\Controller; | ||
use Modules\{Module}\App\Http\Requests\Api\V1\{Model}Request; | ||
use Modules\{Module}\App\Http\Resources\Api\V1\{Model}Collection; | ||
use Modules\{Module}\App\Http\Resources\Api\V1\{Model}Resource; | ||
use Modules\{Module}\App\Models\{Model}; | ||
use Symfony\Component\HttpFoundation\Response; | ||
|
||
class {Module}Controller extends Controller | ||
{ | ||
public function index(): {Model}Collection | ||
{ | ||
${module} = {Model}::paginate(); | ||
|
||
return new {Model}Collection(${module}); | ||
} | ||
|
||
public function store({Model}Request $request): {Model}Resource | ||
{ | ||
${model} = {Model}::create($request->validated()); | ||
|
||
return new {Model}Resource(${model}); | ||
} | ||
|
||
public function show({Model} ${Model}): {Model}Resource | ||
{ | ||
return new {Model}Resource(${Model}); | ||
} | ||
|
||
public function update({Model}Request $request, {Model} ${model}): {Model}Resource | ||
{ | ||
${model}->update($request->validated()); | ||
|
||
return new {Model}Resource(${model}); | ||
} | ||
|
||
public function destroy({Model} ${model}): Response | ||
{ | ||
${model}->delete(); | ||
|
||
return response()->noContent(); | ||
} | ||
} |
18 changes: 18 additions & 0 deletions
18
stubs/module-generator/breeze-crud-api/App/Http/Requests/Api/V1/ModelRequest.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
<?php | ||
|
||
namespace Modules\{Module}\App\Http\Requests\Api\V1; | ||
|
||
use Illuminate\Foundation\Http\FormRequest; | ||
|
||
class {Model}Request extends FormRequest | ||
{ | ||
public function rules(): array | ||
{ | ||
return [ | ||
'name' => [ | ||
'required', | ||
'string' | ||
] | ||
]; | ||
} | ||
} |
13 changes: 13 additions & 0 deletions
13
stubs/module-generator/breeze-crud-api/App/Http/Resources/Api/V1/ModelCollection.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?php | ||
|
||
namespace Modules\{Module}\App\Http\Resources\Api\V1; | ||
|
||
use Illuminate\Http\Resources\Json\ResourceCollection; | ||
|
||
class {Model}Collection extends ResourceCollection | ||
{ | ||
public function toArray($request): array | ||
{ | ||
return parent::toArray($request); | ||
} | ||
} |
13 changes: 13 additions & 0 deletions
13
stubs/module-generator/breeze-crud-api/App/Http/Resources/Api/V1/ModelResource.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?php | ||
|
||
namespace Modules\{Module}\App\Http\Resources\Api\V1; | ||
|
||
use Illuminate\Http\Resources\Json\JsonResource; | ||
|
||
class {Model}Resource extends JsonResource | ||
{ | ||
public function toArray($request): array | ||
{ | ||
return parent::toArray($request); | ||
} | ||
} |
File renamed without changes.
19 changes: 19 additions & 0 deletions
19
stubs/module-generator/breeze-crud-api/App/Providers/RouteServiceProvider.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
<?php | ||
|
||
namespace Modules\{Module}\App\Providers; | ||
|
||
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; | ||
use Illuminate\Support\Facades\Route; | ||
|
||
class RouteServiceProvider extends ServiceProvider | ||
{ | ||
protected $moduleNamespace = 'Modules\{Module}\App\Http\Controllers'; | ||
|
||
public function map(): void | ||
{ | ||
Route::prefix('api/v1') | ||
->middleware('api') | ||
->namespace($this->moduleNamespace) | ||
->group(module_path('{module}', '/Routes/api/v1.php')); | ||
} | ||
} |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<?php | ||
|
||
use Illuminate\Support\Facades\Route; | ||
use Modules\{Module}\App\Http\Controllers\Api\V1\{Module}Controller; | ||
|
||
Route::middleware(['auth:sanctum'])->group(function () { | ||
Route::ApiResource('{module}', {Module}Controller::class, ['as' => 'api.v1']); | ||
}); |
46 changes: 46 additions & 0 deletions
46
stubs/module-generator/breeze-crud-api/tests/WebyController.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
<?php | ||
|
||
namespace tests; | ||
|
||
use App\Http\Controllers\Controller; | ||
use Modules\Weby\App\Http\Requests\Api\V1\WebyRequest; | ||
use Modules\Weby\App\Http\Resources\Api\V1\WebyCollection; | ||
use Modules\Weby\App\Http\Resources\Api\V1\WebyResource; | ||
use Modules\Weby\App\Models\Weby; | ||
use Symfony\Component\HttpFoundation\Response; | ||
|
||
class WebyController extends Controller | ||
{ | ||
public function index(): WebyCollection | ||
{ | ||
$weby = Weby::paginate(); | ||
|
||
return new WebyCollection($weby); | ||
} | ||
|
||
public function store(WebyRequest $request): WebyResource | ||
{ | ||
$weby = Weby::create($request->validated()); | ||
|
||
return new WebyResource($book); | ||
} | ||
|
||
public function show(Weby $Weby): WebyResource | ||
{ | ||
return new WebyResource($Weby); | ||
} | ||
|
||
public function update(WebyRequest $request, Weby $weby): WebyResource | ||
{ | ||
$weby->update($request->validated()); | ||
|
||
return new WebyResource($weby); | ||
} | ||
|
||
public function destroy(Weby $weby): Response | ||
{ | ||
$weby->delete(); | ||
|
||
return response()->noContent(); | ||
} | ||
} |
24 changes: 24 additions & 0 deletions
24
stubs/module-generator/breeze-crud-api/tests/feature/api/v1/createTest.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
<?php | ||
|
||
use App\Models\User; | ||
use Illuminate\Foundation\Testing\LazilyRefreshDatabase; | ||
use function Pest\Laravel\postJson; | ||
|
||
uses(Tests\TestCase::class, LazilyRefreshDatabase::class); | ||
|
||
beforeEach(function () { | ||
$user = User::factory()->create(); | ||
$this->actingAs($user); | ||
}); | ||
|
||
test('name is required for creating a {model}', function() { | ||
postJson(route('api.v1.{module}.store')) | ||
->assertUnprocessable() | ||
->assertJsonValidationErrors('name'); | ||
}); | ||
|
||
test('Can create a {module}', function() { | ||
postJson(route('api.v1.{module}.store'), ['name' => fake()->name]) | ||
->assertJsonMissingValidationErrors() | ||
->assertCreated(); | ||
}); |
23 changes: 23 additions & 0 deletions
23
stubs/module-generator/breeze-crud-api/tests/feature/api/v1/deleteTest.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<?php | ||
|
||
use App\Models\User; | ||
use Illuminate\Foundation\Testing\LazilyRefreshDatabase; | ||
use Modules\{Module}\App\Models\{Model}; | ||
use function Pest\Laravel\deleteJson; | ||
|
||
uses(Tests\TestCase::class, LazilyRefreshDatabase::class); | ||
|
||
test('Can delete a {model}', function() { | ||
$user = User::factory()->create(); | ||
$this->actingAs($user); | ||
|
||
${model} = {Model}::factory()->create(); | ||
|
||
$this->assertDatabaseCount({Model}::class, 1); | ||
|
||
deleteJson(route('api.v1.{module}.destroy', ${model})) | ||
->assertJsonMissingValidationErrors() | ||
->assertNoContent(); | ||
|
||
$this->assertDatabaseCount({Model}::class, 0); | ||
}); |
32 changes: 32 additions & 0 deletions
32
stubs/module-generator/breeze-crud-api/tests/feature/api/v1/editTest.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
<?php | ||
|
||
use App\Models\User; | ||
use Illuminate\Foundation\Testing\LazilyRefreshDatabase; | ||
use Modules\{Module}\App\Models\{Model}; | ||
use function Pest\Laravel\putJson; | ||
|
||
uses(Tests\TestCase::class, LazilyRefreshDatabase::class); | ||
|
||
beforeEach(function () { | ||
$user = User::factory()->create(); | ||
$this->actingAs($user); | ||
}); | ||
|
||
test('name is required for editing a {model}', function() { | ||
${model} = {Model}::factory()->create(); | ||
|
||
putJson(route('api.v1.{module}.update', ${model})) | ||
->assertJsonValidationErrors('name'); | ||
}); | ||
|
||
test('Can update a {model}', function() { | ||
${model} = {Model}::factory()->create(); | ||
|
||
$name = fake()->name; | ||
|
||
putJson(route('api.v1.{module}.update', ${module}), ['name' => $name]) | ||
->assertJsonMissingValidationErrors() | ||
->assertOk(); | ||
|
||
$this->assertDatabaseHas({Model}::class, ['name' => $name]); | ||
}); |
14 changes: 14 additions & 0 deletions
14
stubs/module-generator/breeze-crud-api/tests/feature/api/v1/indexTest.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
<?php | ||
|
||
use App\Models\User; | ||
use Illuminate\Foundation\Testing\LazilyRefreshDatabase; | ||
use function Pest\Laravel\getJson; | ||
|
||
uses(Tests\TestCase::class, LazilyRefreshDatabase::class); | ||
|
||
test('can see books page', function() { | ||
$user = User::factory()->create(); | ||
$this->actingAs($user); | ||
|
||
getJson(route('api.v1.{module}.index'))->assertOk(); | ||
}); |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
.idea |
21 changes: 21 additions & 0 deletions
21
stubs/module-generator/breeze-crud-full/App/Entities/Model.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
<?php | ||
|
||
namespace Modules\{Module}\App\Models; | ||
|
||
use Illuminate\Database\Eloquent\Model; | ||
use Illuminate\Database\Eloquent\Factories\HasFactory; | ||
use Modules\{Module}\Database\Factories\{Model}Factory; | ||
|
||
class {Model} extends Model | ||
{ | ||
use HasFactory; | ||
|
||
protected $fillable = [ | ||
'name' | ||
]; | ||
|
||
protected static function newFactory(): {Model}Factory | ||
{ | ||
return {Model}Factory::new(); | ||
} | ||
} |
46 changes: 46 additions & 0 deletions
46
stubs/module-generator/breeze-crud-full/App/Http/Controllers/Api/V1/ModuleController.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
<?php | ||
|
||
namespace Modules\{Module}\App\Http\Controllers\Api\V1; | ||
|
||
use App\Http\Controllers\Controller; | ||
use Modules\{Module}\App\Http\Requests\Api\V1\{Model}Request; | ||
use Modules\{Module}\App\Http\Resources\Api\V1\{Model}Collection; | ||
use Modules\{Module}\App\Http\Resources\Api\V1\{Model}Resource; | ||
use Modules\{Module}\App\Models\{Model}; | ||
use Symfony\Component\HttpFoundation\Response; | ||
|
||
class {Module}Controller extends Controller | ||
{ | ||
public function index(): {Model}Collection | ||
{ | ||
${module} = {Model}::paginate(); | ||
|
||
return new {Model}Collection(${module}); | ||
} | ||
|
||
public function store({Model}Request $request): {Model}Resource | ||
{ | ||
${model} = {Model}::create($request->validated()); | ||
|
||
return new {Model}Resource(${model}); | ||
} | ||
|
||
public function show({Model} ${Model}): {Model}Resource | ||
{ | ||
return new {Model}Resource(${Model}); | ||
} | ||
|
||
public function update({Model}Request $request, {Model} ${model}): {Model}Resource | ||
{ | ||
${model}->update($request->validated()); | ||
|
||
return new {Model}Resource(${model}); | ||
} | ||
|
||
public function destroy({Model} ${model}): Response | ||
{ | ||
${model}->delete(); | ||
|
||
return response()->noContent(); | ||
} | ||
} |
File renamed without changes.
18 changes: 18 additions & 0 deletions
18
stubs/module-generator/breeze-crud-full/App/Http/Requests/Api/V1/ModelRequest.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
<?php | ||
|
||
namespace Modules\{Module}\App\Http\Requests\Api\V1; | ||
|
||
use Illuminate\Foundation\Http\FormRequest; | ||
|
||
class {Model}Request extends FormRequest | ||
{ | ||
public function rules(): array | ||
{ | ||
return [ | ||
'name' => [ | ||
'required', | ||
'string' | ||
] | ||
]; | ||
} | ||
} |
File renamed without changes.
13 changes: 13 additions & 0 deletions
13
stubs/module-generator/breeze-crud-full/App/Http/Resources/Api/V1/ModelCollection.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?php | ||
|
||
namespace Modules\{Module}\App\Http\Resources\Api\V1; | ||
|
||
use Illuminate\Http\Resources\Json\ResourceCollection; | ||
|
||
class {Model}Collection extends ResourceCollection | ||
{ | ||
public function toArray($request): array | ||
{ | ||
return parent::toArray($request); | ||
} | ||
} |
13 changes: 13 additions & 0 deletions
13
stubs/module-generator/breeze-crud-full/App/Http/Resources/Api/V1/ModelResource.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?php | ||
|
||
namespace Modules\{Module}\App\Http\Resources\Api\V1; | ||
|
||
use Illuminate\Http\Resources\Json\JsonResource; | ||
|
||
class {Model}Resource extends JsonResource | ||
{ | ||
public function toArray($request): array | ||
{ | ||
return parent::toArray($request); | ||
} | ||
} |
Oops, something went wrong.