Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ public function index()
The `FloatClient` exposes the following resource groups:
- users()
- projects()
- tasks()
- projectTasks()
- clients()
- allocations()

Expand Down Expand Up @@ -127,25 +127,25 @@ $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\GetTasksParams;
use Spatie\FloatSdk\QueryParameters\GetProjectTasksParams;

$tasks = $float->tasks()->all(
new GetTasksParams(
$tasks = $float->projectTasks()->all(
new GetProjectTasksParams(
projectId: 42,
billable: true,
fields: ['id', 'name'],
Expand Down
6 changes: 3 additions & 3 deletions src/FloatClient.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
22 changes: 22 additions & 0 deletions src/Groups/ProjectTasksGroup.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?php

namespace Spatie\FloatSdk\Groups;

use Saloon\Http\BaseResource;
use Saloon\Http\Response;
use Spatie\FloatSdk\QueryParameters\GetProjectTasksParams;
use Spatie\FloatSdk\Requests\GetProjectTask;
use Spatie\FloatSdk\Requests\GetProjectTasks;

class ProjectTasksGroup extends BaseResource
{
public function get(int $taskId): Response
{
return $this->connector->send(new GetProjectTask($taskId));
}

public function all(?GetProjectTasksParams $parameters = null): Response
{
return $this->connector->send(new GetProjectTasks($parameters));
}
}
22 changes: 0 additions & 22 deletions src/Groups/TasksGroup.php

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use Spatie\FloatSdk\Concerns\HasPaginationAndSort;

class GetTasksParams
class GetProjectTasksParams
{
use HasPaginationAndSort;

Expand Down
6 changes: 3 additions & 3 deletions src/Requests/GetAllocations.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
{
Expand All @@ -26,11 +26,11 @@ public function resolveEndpoint(): string
return '/tasks';
}

/** @return array<int, TaskResource> */
/** @return array<int, ProjectTaskResource> */
public function createDtoFromResponse(Response $response): array
{
return array_map(
fn (array $object) => TaskResource::createFromResponse($object),
fn (array $object) => ProjectTaskResource::createFromResponse($object),
$response->json()
);
}
Expand Down
8 changes: 4 additions & 4 deletions src/Requests/GetTask.php → src/Requests/GetProjectTask.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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());
}
}
12 changes: 6 additions & 6 deletions src/Requests/GetTasks.php → src/Requests/GetProjectTasks.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -26,11 +26,11 @@ public function resolveEndpoint(): string
return '/project-tasks';
}

/** @return array<TaskResource> */
/** @return array<ProjectTaskResource> */
public function createDtoFromResponse(Response $response): array
{
return array_map(function (array $object) {
return TaskResource::createFromResponse($object);
return ProjectTaskResource::createFromResponse($object);
}, $response->json());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace Spatie\FloatSdk\Resources;

class TaskResource
class ProjectTaskResource
{
public function __construct(
public int $id,
Expand Down