From d2126d9d25d286b46781c415d2b7163d1104b272 Mon Sep 17 00:00:00 2001 From: aporter Date: Tue, 21 Nov 2023 23:29:14 +0000 Subject: [PATCH] tweaks --- src/Api/User/User.php | 3 +-- src/Model/TimeEntryDtoImpl.php | 6 +++--- src/Model/TimeIntervalDto.php | 8 ++++---- src/Model/UserDto.php | 14 +++++++------- src/Model/UserStatus.php | 2 ++ 5 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/Api/User/User.php b/src/Api/User/User.php index 2f9445b..7df262f 100644 --- a/src/Api/User/User.php +++ b/src/Api/User/User.php @@ -31,8 +31,7 @@ public function current(): CurrentUserDto */ public function workspaceUsers(string $workspaceId): array { - $data = $this->http->get("/workspace/$workspaceId/users"); - + $data = $this->http->get("/workspaces/$workspaceId/users"); return array_map( static function(array $user): UserDto { return UserDto::fromArray($user); diff --git a/src/Model/TimeEntryDtoImpl.php b/src/Model/TimeEntryDtoImpl.php index 72c39a0..0a11caf 100644 --- a/src/Model/TimeEntryDtoImpl.php +++ b/src/Model/TimeEntryDtoImpl.php @@ -24,9 +24,9 @@ public static function fromArray(array $data): self $data['description'], $data['id'], $data['isLocked'], - $data['projectId'], - $data['tagIds'], - $data['taskId'], + $data['projectId'] ? $data['projectId'] : '', + $data['tagIds'] ? $data['tagIds'] : array(), + $data['taskId'] ? $data['taskId'] : '', TimeIntervalDto::fromArray($data['timeInterval']), $data['userId'], $data['workspaceId'] diff --git a/src/Model/TimeIntervalDto.php b/src/Model/TimeIntervalDto.php index 8ce7ced..b31119a 100644 --- a/src/Model/TimeIntervalDto.php +++ b/src/Model/TimeIntervalDto.php @@ -16,14 +16,14 @@ public static function fromArray(array $data): self { return new self( new DateTimeImmutable($data['start']), - new DateTimeImmutable($data['end']), - $data['duration'] + $data['end'] ? new DateTimeImmutable($data['end']) : null, + $data['duration'] ? $data['duration'] : '' ); } public function __construct( DateTimeImmutable $start, - DateTimeImmutable $end, + ?DateTimeImmutable $end, string $duration ) { $this->duration = $duration; @@ -36,7 +36,7 @@ public function duration(): string return $this->duration; } - public function end(): DateTimeImmutable + public function end(): ?DateTimeImmutable { return $this->end; } diff --git a/src/Model/UserDto.php b/src/Model/UserDto.php index 4a47315..265f7c0 100644 --- a/src/Model/UserDto.php +++ b/src/Model/UserDto.php @@ -19,8 +19,8 @@ class UserDto public static function fromArray(array $data): self { return new self( - $data['activeWorkspace'], - $data['defaultWorkspace'], + $data['activeWorkspace'] ? $data['activeWorkspace'] : '', + $data['defaultWorkspace'] ? $data['defaultWorkspace'] : '', $data['email'], $data['id'], array_map( @@ -29,9 +29,9 @@ static function(array $membership): MembershipDto { }, $data['memberships'] ), - $data['name'], - $data['profilePicture'], - UserSettingsDto::fromArray($data['settings']), + $data['name'] ? $data['name'] : '', + $data['profilePicture'] ? $data['profilePicture'] : '', + $data['settings'] ? UserSettingsDto::fromArray($data['settings']) : null, new UserStatus($data['status']) ); } @@ -47,7 +47,7 @@ public function __construct( array $memberships, string $name, string $profilePicture, - UserSettingsDto $settings, + ?UserSettingsDto $settings, UserStatus $status ) { $this->activeWorkspace = $activeWorkspace; @@ -99,7 +99,7 @@ public function profilePicture(): string return $this->profilePicture; } - public function settings(): UserSettingsDto + public function settings(): ?UserSettingsDto { return $this->settings; } diff --git a/src/Model/UserStatus.php b/src/Model/UserStatus.php index 004c76b..3af578f 100644 --- a/src/Model/UserStatus.php +++ b/src/Model/UserStatus.php @@ -9,11 +9,13 @@ /** * @method static ACTIVE() * @method static PENDING_EMAIL_VERIFICATION() + * @method static NOT_REGISTERED() * @method static DELETED() */ class UserStatus extends Enum { private const ACTIVE = 'ACTIVE'; private const PENDING_EMAIL_VERIFICATION = 'PENDING_EMAIL_VERIFICATION'; + private const NOT_REGISTERED = 'NOT_REGISTERED'; private const DELETED = 'DELETED'; }