fix(time-tracking) : return empty collection instead of 404 for active timer endpoint
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -25,11 +25,12 @@ use Symfony\Component\Serializer\Attribute\Groups;
|
||||
#[ApiResource(
|
||||
operations: [
|
||||
new GetCollection(),
|
||||
new Get(
|
||||
new GetCollection(
|
||||
name: 'active_time_entry',
|
||||
uriTemplate: '/time_entries/active',
|
||||
provider: ActiveTimeEntryProvider::class,
|
||||
description: 'Get the active timer for the current user',
|
||||
paginationEnabled: false,
|
||||
),
|
||||
new Get(),
|
||||
new Post(security: "is_granted('ROLE_USER')"),
|
||||
|
||||
@@ -20,14 +20,16 @@ final readonly class ActiveTimeEntryProvider implements ProviderInterface
|
||||
private TimeEntryRepository $timeEntryRepository,
|
||||
) {}
|
||||
|
||||
public function provide(Operation $operation, array $uriVariables = [], array $context = []): ?TimeEntry
|
||||
public function provide(Operation $operation, array $uriVariables = [], array $context = []): array
|
||||
{
|
||||
$user = $this->security->getUser();
|
||||
|
||||
if (!$user) {
|
||||
return null;
|
||||
return [];
|
||||
}
|
||||
|
||||
return $this->timeEntryRepository->findActiveByUser($user);
|
||||
$entry = $this->timeEntryRepository->findActiveByUser($user);
|
||||
|
||||
return $entry ? [$entry] : [];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user