Skip to content

Commit

Permalink
feat: update stubs
Browse files Browse the repository at this point in the history
  • Loading branch information
Mohammad-Alavi committed Mar 4, 2025
1 parent 6522e46 commit dada674
Show file tree
Hide file tree
Showing 80 changed files with 197 additions and 400 deletions.
10 changes: 2 additions & 8 deletions src/Generator/Stubs/actions/create.stub
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,21 @@

namespace App\Containers\{{section-name}}\{{container-name}}\Actions;

use Apiato\Exceptions\IncorrectIdException;
use App\Containers\{{section-name}}\{{container-name}}\Models\{{model}};
use App\Containers\{{section-name}}\{{container-name}}\Tasks\Create{{model}}Task;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{ui}}\Requests\Create{{model}}Request;
use App\Ship\Exceptions\CreateResourceFailedException;
use App\Ship\Parents\Actions\Action as ParentAction;

class {{class-name}} extends ParentAction
final class {{class-name}} extends ParentAction
{
public function __construct(
private readonly Create{{model}}Task $create{{model}}Task,
) {
}

/**
* @throws CreateResourceFailedException
* @throws IncorrectIdException
*/
public function run(Create{{model}}Request $request): {{model}}
{
$data = $request->sanitizeInput([
$data = $request->sanitize([
// add your request data here
]);

Expand Down
10 changes: 2 additions & 8 deletions src/Generator/Stubs/actions/delete.stub
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,16 @@ namespace App\Containers\{{section-name}}\{{container-name}}\Actions;

use App\Containers\{{section-name}}\{{container-name}}\Tasks\Delete{{model}}Task;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{ui}}\Requests\Delete{{model}}Request;
use App\Ship\Exceptions\DeleteResourceFailedException;
use App\Ship\Exceptions\NotFoundException;
use App\Ship\Parents\Actions\Action as ParentAction;

class {{class-name}} extends ParentAction
final class {{class-name}} extends ParentAction
{
public function __construct(
private readonly Delete{{model}}Task $delete{{model}}Task,
) {
}

/**
* @throws DeleteResourceFailedException
* @throws NotFoundException
*/
public function run(Delete{{model}}Request $request): int
public function run(Delete{{model}}Request $request): bool
{
return $this->delete{{model}}Task->run($request->id);
}
Expand Down
6 changes: 1 addition & 5 deletions src/Generator/Stubs/actions/find.stub
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,15 @@ namespace App\Containers\{{section-name}}\{{container-name}}\Actions;
use App\Containers\{{section-name}}\{{container-name}}\Models\{{model}};
use App\Containers\{{section-name}}\{{container-name}}\Tasks\Find{{model}}ByIdTask;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{ui}}\Requests\Find{{model}}ByIdRequest;
use App\Ship\Exceptions\NotFoundException;
use App\Ship\Parents\Actions\Action as ParentAction;

class {{class-name}} extends ParentAction
final class {{class-name}} extends ParentAction
{
public function __construct(
private readonly Find{{model}}ByIdTask $find{{model}}ByIdTask,
) {
}

/**
* @throws NotFoundException
*/
public function run(Find{{model}}ByIdRequest $request): {{model}}
{
return $this->find{{model}}ByIdTask->run($request->id);
Expand Down
2 changes: 1 addition & 1 deletion src/Generator/Stubs/actions/generic.stub
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace App\Containers\{{section-name}}\{{container-name}}\Actions;

use App\Ship\Parents\Actions\Action as ParentAction;

class {{class-name}} extends ParentAction
final class {{class-name}} extends ParentAction
{
public function run()
{
Expand Down
8 changes: 1 addition & 7 deletions src/Generator/Stubs/actions/list.stub
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,17 @@

namespace App\Containers\{{section-name}}\{{container-name}}\Actions;

use Apiato\Exceptions\CoreInternalErrorException;
use App\Containers\{{section-name}}\{{container-name}}\Tasks\List{{models}}Task;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{ui}}\Requests\List{{models}}Request;
use App\Ship\Parents\Actions\Action as ParentAction;
use Prettus\Repository\Exceptions\RepositoryException;

class {{class-name}} extends ParentAction
final class {{class-name}} extends ParentAction
{
public function __construct(
private readonly List{{models}}Task $list{{models}}Task,
) {
}

/**
* @throws CoreInternalErrorException
* @throws RepositoryException
*/
public function run(List{{models}}Request $request): mixed
{
return $this->list{{models}}Task->run();
Expand Down
12 changes: 2 additions & 10 deletions src/Generator/Stubs/actions/update.stub
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,21 @@

namespace App\Containers\{{section-name}}\{{container-name}}\Actions;

use Apiato\Exceptions\IncorrectIdException;
use App\Containers\{{section-name}}\{{container-name}}\Models\{{model}};
use App\Containers\{{section-name}}\{{container-name}}\Tasks\Update{{model}}Task;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{ui}}\Requests\Update{{model}}Request;
use App\Ship\Exceptions\NotFoundException;
use App\Ship\Exceptions\UpdateResourceFailedException;
use App\Ship\Parents\Actions\Action as ParentAction;

class {{class-name}} extends ParentAction
final class {{class-name}} extends ParentAction
{
public function __construct(
private readonly Update{{model}}Task $update{{model}}Task,
) {
}

/**
* @throws UpdateResourceFailedException
* @throws IncorrectIdException
* @throws NotFoundException
*/
public function run(Update{{model}}Request $request): {{model}}
{
$data = $request->sanitizeInput([
$data = $request->sanitize([
// add your request data here
]);

Expand Down
13 changes: 3 additions & 10 deletions src/Generator/Stubs/controllers/api/create.stub
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,19 @@

namespace App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Controllers;

use Apiato\Exceptions\IncorrectIdException;
use Apiato\Exceptions\InvalidTransformerException;
use Apiato\Support\Facades\Response;
use App\Containers\{{section-name}}\{{container-name}}\Actions\Create{{model}}Action;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Requests\Create{{model}}Request;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Transformers\{{model}}Transformer;
use App\Ship\Exceptions\CreateResourceFailedException;
use App\Ship\Parents\Controllers\{{base-controller}};
use Illuminate\Http\JsonResponse;

class {{class-name}} extends {{base-controller}}
final class {{class-name}} extends {{base-controller}}
{
/**
* @throws CreateResourceFailedException
* @throws InvalidTransformerException
* @throws IncorrectIdException
*/
public function __invoke(Create{{model}}Request $request, Create{{model}}Action $action): JsonResponse
{
${{entity}} = $action->run($request);

return $this->created($this->transform(${{entity}}, {{model}}Transformer::class));
return Response::create(${{entity}}, {{model}}Transformer::class)->created();
}
}
59 changes: 14 additions & 45 deletions src/Generator/Stubs/controllers/api/crud.stub
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@

namespace App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Controllers;

use Apiato\Exceptions\CoreInternalErrorException;
use Apiato\Exceptions\IncorrectIdException;
use Apiato\Exceptions\InvalidTransformerException;
use Apiato\Support\Facades\Response;
use App\Containers\{{section-name}}\{{container-name}}\Actions\Create{{model}}Action;
use App\Containers\{{section-name}}\{{container-name}}\Actions\Delete{{model}}Action;
use App\Containers\{{section-name}}\{{container-name}}\Actions\Find{{model}}ByIdAction;
Expand All @@ -16,72 +14,43 @@ use App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Req
use App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Requests\List{{models}}Request;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Requests\Update{{model}}Request;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Transformers\{{model}}Transformer;
use App\Ship\Exceptions\CreateResourceFailedException;
use App\Ship\Exceptions\DeleteResourceFailedException;
use App\Ship\Exceptions\NotFoundException;
use App\Ship\Exceptions\UpdateResourceFailedException;
use App\Ship\Parents\Controllers\{{base-controller}};
use Illuminate\Http\JsonResponse;
use Prettus\Repository\Exceptions\RepositoryException;

class {{class-name}} extends {{base-controller}}
final class {{class-name}} extends {{base-controller}}
{
/**
* @throws InvalidTransformerException
* @throws CreateResourceFailedException
* @throws IncorrectIdException
*/
public function create(Create{{model}}Request $request, Create{{model}}Action $action): JsonResponse
{
${{entity}} = $action->run($request);

return $this->created($this->transform(${{entity}}, {{model}}Transformer::class));
return Response::create(${{entity}}, {{model}}Transformer::class)->created();
}

/**
* @throws InvalidTransformerException
* @throws NotFoundException
*/
public function findById(Find{{model}}ByIdRequest $request, Find{{model}}ByIdAction $action): array
public function findById(Find{{model}}ByIdRequest $request, Find{{model}}ByIdAction $action): JsonResponse
{
${{entity}} = $action->run($request);
${{entity}} = $action->run($request);

return $this->transform(${{entity}}, {{model}}Transformer::class);
return Response::create(${{entity}}, {{model}}Transformer::class)->ok();
}

/**
* @throws InvalidTransformerException
* @throws CoreInternalErrorException
* @throws RepositoryException
*/
public function list(List{{models}}Request $request, List{{models}}Action $action): array
public function list(List{{models}}Request $request, List{{models}}Action $action): JsonResponse
{
${{entities}} = $action->run($request);
${{entities}} = $action->run($request);

return $this->transform(${{entities}}, {{model}}Transformer::class);
return Response::create(${{entities}}, {{model}}Transformer::class)->ok();
}

/**
* @throws InvalidTransformerException
* @throws UpdateResourceFailedException
* @throws IncorrectIdException
* @throws NotFoundException
*/
public function update(Update{{model}}Request $request, Update{{model}}Action $action): array
public function update(Update{{model}}Request $request, Update{{model}}Action $action): JsonResponse
{
${{entity}} = $action->run($request);
${{entity}} = $action->run($request);

return $this->transform(${{entity}}, {{model}}Transformer::class);
return Response::create(${{entity}}, {{model}}Transformer::class)->ok();
}

/**
* @throws DeleteResourceFailedException
* @throws NotFoundException
*/
public function delete(Delete{{model}}Request $request, Delete{{model}}Action $action): JsonResponse
{
$action->run($request);
$action->run($request);

return $this->noContent();
return Response::noContent();
}
}
11 changes: 3 additions & 8 deletions src/Generator/Stubs/controllers/api/delete.stub
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,18 @@

namespace App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Controllers;

use Apiato\Support\Facades\Response;
use App\Containers\{{section-name}}\{{container-name}}\Actions\Delete{{model}}Action;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Requests\Delete{{model}}Request;
use App\Ship\Exceptions\DeleteResourceFailedException;
use App\Ship\Exceptions\NotFoundException;
use App\Ship\Parents\Controllers\{{base-controller}};
use Illuminate\Http\JsonResponse;

class {{class-name}} extends {{base-controller}}
final class {{class-name}} extends {{base-controller}}
{
/**
* @throws DeleteResourceFailedException
* @throws NotFoundException
*/
public function __invoke(Delete{{model}}Request $request, Delete{{model}}Action $action): JsonResponse
{
$action->run($request);

return $this->noContent();
return Response::noContent();
}
}
14 changes: 5 additions & 9 deletions src/Generator/Stubs/controllers/api/find.stub
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,19 @@

namespace App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Controllers;

use Apiato\Exceptions\InvalidTransformerException;
use Apiato\Support\Facades\Response;
use App\Containers\{{section-name}}\{{container-name}}\Actions\Find{{model}}ByIdAction;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Requests\Find{{model}}ByIdRequest;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Transformers\{{model}}Transformer;
use App\Ship\Exceptions\NotFoundException;
use App\Ship\Parents\Controllers\{{base-controller}};
use Illuminate\Http\JsonResponse;

class {{class-name}} extends {{base-controller}}
final class {{class-name}} extends {{base-controller}}
{
/**
* @throws InvalidTransformerException
* @throws NotFoundException
*/
public function __invoke(Find{{model}}ByIdRequest $request, Find{{model}}ByIdAction $action): array
public function __invoke(Find{{model}}ByIdRequest $request, Find{{model}}ByIdAction $action): JsonResponse
{
${{entity}} = $action->run($request);

return $this->transform(${{entity}}, {{model}}Transformer::class);
return Response::create(${{entity}}, {{model}}Transformer::class)->ok();
}
}
2 changes: 1 addition & 1 deletion src/Generator/Stubs/controllers/api/generic.stub
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ namespace App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface

use App\Ship\Parents\Controllers\{{base-controller}};

class {{class-name}} extends {{base-controller}}
final class {{class-name}} extends {{base-controller}}
{
}
16 changes: 5 additions & 11 deletions src/Generator/Stubs/controllers/api/list.stub
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,19 @@

namespace App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Controllers;

use Apiato\Exceptions\CoreInternalErrorException;
use Apiato\Exceptions\InvalidTransformerException;
use Apiato\Support\Facades\Response;
use App\Containers\{{section-name}}\{{container-name}}\Actions\List{{models}}Action;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Requests\List{{models}}Request;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Transformers\{{model}}Transformer;
use App\Ship\Parents\Controllers\{{base-controller}};
use Prettus\Repository\Exceptions\RepositoryException;
use Illuminate\Http\JsonResponse;

class {{class-name}} extends {{base-controller}}
final class {{class-name}} extends {{base-controller}}
{
/**
* @throws InvalidTransformerException
* @throws CoreInternalErrorException
* @throws RepositoryException
*/
public function __invoke(List{{models}}Request $request, List{{models}}Action $action): array
public function __invoke(List{{models}}Request $request, List{{models}}Action $action): JsonResponse
{
${{entities}} = $action->run($request);

return $this->transform(${{entities}}, {{model}}Transformer::class);
return Response::create(${{entities}}, {{model}}Transformer::class)->ok();
}
}
18 changes: 5 additions & 13 deletions src/Generator/Stubs/controllers/api/update.stub
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,19 @@

namespace App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Controllers;

use Apiato\Exceptions\IncorrectIdException;
use Apiato\Exceptions\InvalidTransformerException;
use Apiato\Support\Facades\Response;
use App\Containers\{{section-name}}\{{container-name}}\Actions\Update{{model}}Action;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Requests\Update{{model}}Request;
use App\Containers\{{section-name}}\{{container-name}}\UI\{{user-interface}}\Transformers\{{model}}Transformer;
use App\Ship\Exceptions\NotFoundException;
use App\Ship\Exceptions\UpdateResourceFailedException;
use App\Ship\Parents\Controllers\{{base-controller}};
use Illuminate\Http\JsonResponse;

class {{class-name}} extends {{base-controller}}
final class {{class-name}} extends {{base-controller}}
{
/**
* @throws InvalidTransformerException
* @throws UpdateResourceFailedException
* @throws IncorrectIdException
* @throws NotFoundException
*/
public function __invoke(Update{{model}}Request $request, Update{{model}}Action $action): array
public function __invoke(Update{{model}}Request $request, Update{{model}}Action $action): JsonResponse
{
${{entity}} = $action->run($request);

return $this->transform(${{entity}}, {{model}}Transformer::class);
return Response::create(${{entity}}, {{model}}Transformer::class)->ok();
}
}
Loading

0 comments on commit dada674

Please sign in to comment.