Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions src/Generators/ControllerGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ public function generate(): void
"Cannot create {$this->model}Controller cause {$this->model}Controller already exists.",
"Remove {$this->model}Controller.",
);

}

if (!$this->classExists('services', "{$this->model}Service")) {
Expand Down Expand Up @@ -45,7 +44,7 @@ protected function getControllerContent($model): string
{
return $this->getStub('controller', [
'entity' => $model,
'requestsFolder' => $this->getPluralName($model),
'requestsFolder' => $model,
'namespace' => $this->getOrCreateNamespace('controllers'),
'requestsNamespace' => $this->getOrCreateNamespace('requests'),
'resourcesNamespace' => $this->getOrCreateNamespace('resources'),
Expand Down
2 changes: 1 addition & 1 deletion src/Generators/RequestsGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public function generate(): void

protected function createRequest($method, $needToValidate = true, $parameters = []): void
{
$requestsFolder = $this->getPluralName($this->model);
$requestsFolder = $this->model;
$modelName = $this->getEntityName($method);

$content = $this->getStub('request', [
Expand Down
6 changes: 3 additions & 3 deletions src/Generators/ResourceGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public function generateCollectionResource(): void
'namespace' => $this->getOrCreateNamespace('resources')
]);

$this->saveClass('resources', "{$pluralName}CollectionResource", $collectionResourceContent);
$this->saveClass('resources', "{$pluralName}CollectionResource", $collectionResourceContent, $this->model);

event(new SuccessCreateMessage("Created a new CollectionResource: {$pluralName}CollectionResource"));
}
Expand All @@ -57,8 +57,8 @@ public function generateResource(): void
'model_namespace' => $this->getOrCreateNamespace('models'),
]);

$this->saveClass('resources', "{$this->model}Resource", $resourceContent);
$this->saveClass('resources', "{$this->model}Resource", $resourceContent, $this->model);

event(new SuccessCreateMessage("Created a new Resource: {$this->model}Resource"));
}
}
}
6 changes: 4 additions & 2 deletions stubs/collection_resource.blade.php
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
namespace {{$namespace}};
namespace {{$namespace}}{{$singular_name}};

use Illuminate\Http\Resources\Json\ResourceCollection;

class {{$plural_name}}CollectionResource extends ResourceCollection
{
public static $wrap = null;

public $collects = {{$singular_name}}Resource::class;
}
}
6 changes: 3 additions & 3 deletions stubs/controller.blade.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
namespace {{$namespace}};

@inject('str', 'Illuminate\Support\Str')
use {{$resourcesNamespace}}\{{$str::plural($entity)}}CollectionResource;
use {{$resourcesNamespace}}\{{$entity}}\{{$str::plural($entity)}}CollectionResource;
@if (in_array('C', $options))
use {{$requestsNamespace}}\{{$requestsFolder}}\Create{{$entity}}Request;
@endif
Expand All @@ -15,7 +15,7 @@
@if (in_array('U', $options))
use {{$requestsNamespace}}\{{$requestsFolder}}\Update{{$entity}}Request;
@endif
use {{$resourcesNamespace}}\{{$entity}}Resource;
use {{$resourcesNamespace}}\{{$entity}}\{{$entity}}Resource;
use {{$servicesNamespace}}\{{$entity}}Service;
@if (in_array('D', $options) || in_array('U', $options))
use Symfony\Component\HttpFoundation\Response;
Expand Down Expand Up @@ -70,4 +70,4 @@ public function delete(Delete{{$entity}}Request $request, {{$entity}}Service $se
return response('', Response::HTTP_NO_CONTENT);
}
@endif
}
}
6 changes: 4 additions & 2 deletions stubs/resource.blade.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace {{$namespace}};
namespace {{$namespace}}\{{$entity}};

use Illuminate\Http\Resources\Json\JsonResource;
use {{$model_namespace}}\{{$entity}};
Expand All @@ -8,9 +8,11 @@
*/
class {{$entity}}Resource extends JsonResource
{
public static $wrap = null;

//TODO implement custom serialization logic or remove method redefining
public function toArray($request): array
{
return parent::toArray($request);
}
}
}
2 changes: 1 addition & 1 deletion stubs/test.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ public static function getSearchFilters(): array
#[DataProvider('getSearchFilters')]
public function testSearch(array $filter, string $fixture)
{
$response = $this->json('get', '/{{$entities}}', $filter);
$response = $this->actingAs(self::$user)->json('get', '/{{$entities}}', $filter);

$response->assertOk();

Expand Down
16 changes: 8 additions & 8 deletions tests/fixtures/ControllerGeneratorTest/created_controller.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

namespace App\Http\Controllers;

use App\Http\Resources\PostsCollectionResource;
use App\Http\Requests\Posts\CreatePostRequest;
use App\Http\Requests\Posts\DeletePostRequest;
use App\Http\Requests\Posts\GetPostRequest;
use App\Http\Requests\Posts\SearchPostsRequest;
use App\Http\Requests\Posts\UpdatePostRequest;
use App\Http\Resources\PostResource;
use App\Http\Resources\Post\PostsCollectionResource;
use App\Http\Requests\Post\CreatePostRequest;
use App\Http\Requests\Post\DeletePostRequest;
use App\Http\Requests\Post\GetPostRequest;
use App\Http\Requests\Post\SearchPostsRequest;
use App\Http\Requests\Post\UpdatePostRequest;
use App\Http\Resources\Post\PostResource;
use App\Services\PostService;
use Symfony\Component\HttpFoundation\Response;

Expand Down Expand Up @@ -53,4 +53,4 @@ public function delete(DeletePostRequest $request, PostService $service, $id): R

return response('', Response::HTTP_NO_CONTENT);
}
}
}
Loading