From 109f035fbd7eddcb02eae87cd86e63b4b614cb4b Mon Sep 17 00:00:00 2001 From: Niels Vanpachtenbeke <10651054+Nielsvanpach@users.noreply.github.com> Date: Fri, 18 Apr 2025 11:43:04 +0200 Subject: [PATCH 1/2] rename Task to ProjectTask for clarity --- README.md | 4 ++-- src/FloatClient.php | 6 ++--- src/Groups/ProjectTasksGroup.php | 22 +++++++++++++++++++ src/Groups/TasksGroup.php | 22 ------------------- ...ksParams.php => GetProjectTasksParams.php} | 2 +- src/Requests/GetAllocations.php | 6 ++--- .../{GetTask.php => GetProjectTask.php} | 8 +++---- .../{GetTasks.php => GetProjectTasks.php} | 12 +++++----- ...skResource.php => ProjectTaskResource.php} | 2 +- 9 files changed, 42 insertions(+), 42 deletions(-) create mode 100644 src/Groups/ProjectTasksGroup.php delete mode 100644 src/Groups/TasksGroup.php rename src/QueryParameters/{GetTasksParams.php => GetProjectTasksParams.php} (97%) rename src/Requests/{GetTask.php => GetProjectTask.php} (58%) rename src/Requests/{GetTasks.php => GetProjectTasks.php} (64%) rename src/Resources/{TaskResource.php => ProjectTaskResource.php} (94%) diff --git a/README.md b/README.md index e46ae51..6d048d0 100644 --- a/README.md +++ b/README.md @@ -142,10 +142,10 @@ $task = $float->tasks()->get(1); $tasks = $float->tasks()->all(); // With filters -use Spatie\FloatSdk\QueryParameters\GetTasksParams; +use Spatie\FloatSdk\QueryParameters\GetProjectTasksParams; $tasks = $float->tasks()->all( - new GetTasksParams( + new GetProjectTasksParams( projectId: 42, billable: true, fields: ['id', 'name'], diff --git a/src/FloatClient.php b/src/FloatClient.php index 38414ff..2991071 100755 --- a/src/FloatClient.php +++ b/src/FloatClient.php @@ -7,7 +7,7 @@ use Spatie\FloatSdk\Groups\AllocationsGroup; use Spatie\FloatSdk\Groups\ClientsGroup; use Spatie\FloatSdk\Groups\ProjectsGroup; -use Spatie\FloatSdk\Groups\TasksGroup; +use Spatie\FloatSdk\Groups\ProjectTasksGroup; use Spatie\FloatSdk\Groups\UsersGroup; class FloatClient extends Connector @@ -46,9 +46,9 @@ public function projects(): ProjectsGroup return new ProjectsGroup($this); } - public function tasks(): TasksGroup + public function projectTasks(): ProjectTasksGroup { - return new TasksGroup($this); + return new ProjectTasksGroup($this); } public function clients(): ClientsGroup diff --git a/src/Groups/ProjectTasksGroup.php b/src/Groups/ProjectTasksGroup.php new file mode 100644 index 0000000..6db726b --- /dev/null +++ b/src/Groups/ProjectTasksGroup.php @@ -0,0 +1,22 @@ +connector->send(new GetProjectTask($taskId)); + } + + public function all(?GetProjectTasksParams $parameters = null): Response + { + return $this->connector->send(new GetProjectTasks($parameters)); + } +} diff --git a/src/Groups/TasksGroup.php b/src/Groups/TasksGroup.php deleted file mode 100644 index e09f486..0000000 --- a/src/Groups/TasksGroup.php +++ /dev/null @@ -1,22 +0,0 @@ -connector->send(new GetTask($taskId)); - } - - public function all(?GetTasksParams $parameters = null): Response - { - return $this->connector->send(new GetTasks($parameters)); - } -} diff --git a/src/QueryParameters/GetTasksParams.php b/src/QueryParameters/GetProjectTasksParams.php similarity index 97% rename from src/QueryParameters/GetTasksParams.php rename to src/QueryParameters/GetProjectTasksParams.php index ed63970..62d9047 100644 --- a/src/QueryParameters/GetTasksParams.php +++ b/src/QueryParameters/GetProjectTasksParams.php @@ -4,7 +4,7 @@ use Spatie\FloatSdk\Concerns\HasPaginationAndSort; -class GetTasksParams +class GetProjectTasksParams { use HasPaginationAndSort; diff --git a/src/Requests/GetAllocations.php b/src/Requests/GetAllocations.php index e8db10f..b85b7df 100644 --- a/src/Requests/GetAllocations.php +++ b/src/Requests/GetAllocations.php @@ -6,7 +6,7 @@ use Saloon\Http\Request; use Saloon\Http\Response; use Spatie\FloatSdk\QueryParameters\GetAllocationsParams; -use Spatie\FloatSdk\Resources\TaskResource; +use Spatie\FloatSdk\Resources\ProjectTaskResource; class GetAllocations extends Request { @@ -26,11 +26,11 @@ public function resolveEndpoint(): string return '/tasks'; } - /** @return array */ + /** @return array */ public function createDtoFromResponse(Response $response): array { return array_map( - fn (array $object) => TaskResource::createFromResponse($object), + fn (array $object) => ProjectTaskResource::createFromResponse($object), $response->json() ); } diff --git a/src/Requests/GetTask.php b/src/Requests/GetProjectTask.php similarity index 58% rename from src/Requests/GetTask.php rename to src/Requests/GetProjectTask.php index 7661e2c..4d7a684 100644 --- a/src/Requests/GetTask.php +++ b/src/Requests/GetProjectTask.php @@ -5,9 +5,9 @@ use Saloon\Enums\Method; use Saloon\Http\Request; use Saloon\Http\Response; -use Spatie\FloatSdk\Resources\TaskResource; +use Spatie\FloatSdk\Resources\ProjectTaskResource; -class GetTask extends Request +class GetProjectTask extends Request { protected Method $method = Method::GET; @@ -18,8 +18,8 @@ public function resolveEndpoint(): string return "/project-tasks/{$this->id}"; } - public function createDtoFromResponse(Response $response): TaskResource + public function createDtoFromResponse(Response $response): ProjectTaskResource { - return TaskResource::createFromResponse($response->json()); + return ProjectTaskResource::createFromResponse($response->json()); } } diff --git a/src/Requests/GetTasks.php b/src/Requests/GetProjectTasks.php similarity index 64% rename from src/Requests/GetTasks.php rename to src/Requests/GetProjectTasks.php index 0d77821..79fdfb7 100644 --- a/src/Requests/GetTasks.php +++ b/src/Requests/GetProjectTasks.php @@ -5,15 +5,15 @@ use Saloon\Enums\Method; use Saloon\Http\Request; use Saloon\Http\Response; -use Spatie\FloatSdk\QueryParameters\GetTasksParams; -use Spatie\FloatSdk\Resources\TaskResource; +use Spatie\FloatSdk\QueryParameters\GetProjectTasksParams; +use Spatie\FloatSdk\Resources\ProjectTaskResource; -class GetTasks extends Request +class GetProjectTasks extends Request { protected Method $method = Method::GET; public function __construct( - protected ?GetTasksParams $parameters = null + protected ?GetProjectTasksParams $parameters = null ) {} protected function defaultQuery(): array @@ -26,11 +26,11 @@ public function resolveEndpoint(): string return '/project-tasks'; } - /** @return array */ + /** @return array */ public function createDtoFromResponse(Response $response): array { return array_map(function (array $object) { - return TaskResource::createFromResponse($object); + return ProjectTaskResource::createFromResponse($object); }, $response->json()); } } diff --git a/src/Resources/TaskResource.php b/src/Resources/ProjectTaskResource.php similarity index 94% rename from src/Resources/TaskResource.php rename to src/Resources/ProjectTaskResource.php index b15e121..7072939 100644 --- a/src/Resources/TaskResource.php +++ b/src/Resources/ProjectTaskResource.php @@ -2,7 +2,7 @@ namespace Spatie\FloatSdk\Resources; -class TaskResource +class ProjectTaskResource { public function __construct( public int $id, From cda5702119683b6aed1c5e3cfcd7f846b65d8a35 Mon Sep 17 00:00:00 2001 From: Niels Vanpachtenbeke <10651054+Nielsvanpach@users.noreply.github.com> Date: Fri, 18 Apr 2025 11:44:10 +0200 Subject: [PATCH 2/2] update docs too --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 6d048d0..1f39453 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ public function index() The `FloatClient` exposes the following resource groups: - users() - projects() -- tasks() +- projectTasks() - clients() - allocations() @@ -127,24 +127,24 @@ $projects = $float->projects()->all( ); ``` -### Tasks +### Project tasks -#### Get task by ID +#### Get project task by ID ```php -$task = $float->tasks()->get(1); +$task = $float->projectTasks()->get(1); ``` -#### Get all tasks +#### Get all project tasks ```php // Without filters -$tasks = $float->tasks()->all(); +$tasks = $float->projectTasks()->all(); // With filters use Spatie\FloatSdk\QueryParameters\GetProjectTasksParams; -$tasks = $float->tasks()->all( +$tasks = $float->projectTasks()->all( new GetProjectTasksParams( projectId: 42, billable: true,