Skip to content

Commit

Permalink
Merge pull request #7 from romo4ko/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
romo4ko authored Oct 27, 2024
2 parents 6efa523 + 3e81f9e commit 677e7bc
Show file tree
Hide file tree
Showing 7 changed files with 75 additions and 40 deletions.
2 changes: 1 addition & 1 deletion app/Http/Controllers/Api/ChallengeController.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public function index(ChallengeFilterDTO $challengeFilterDTO): array

public function show(int $id): array
{
$challenge = Challenge::query()->findOrFail($id);
$challenge = Challenge::query()->find($id);

return $this->challengeService->show($challenge);
}
Expand Down
10 changes: 5 additions & 5 deletions app/Http/Controllers/Api/TeamController.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,30 +18,30 @@ public function __construct(

public function show(int $id): array
{
return Team::query()->findOrFail($id)?->toArray();
return Team::query()->find($id)?->toArray() ?? [];
}

public function update(int $id, TeamUpdateDTO $teamUpdateDTO): array|JsonResponse
{
$team = Team::query()->findOrFail($id);
$team = Team::query()->find($id);

return $this->teamService->update($team, $teamUpdateDTO);
}

public function members(int $id): array
{
$team = Team::query()->findOrFail($id);
$team = Team::query()->find($id);

return $this->teamService->members($team);
}

public function achievements(int $id): array
{
return Team::query()->findOrFail($id)?->achievements()->get()->toArray();
return Team::query()->find($id)?->achievements()->get()->toArray() ?? [];
}

public function challenge(int $id): array
{
return Team::query()->findOrFail($id)?->challenges()->get()->toArray();
return Team::query()->find($id)?->challenges()->get()->toArray() ?? [];
}
}
14 changes: 7 additions & 7 deletions app/Http/Controllers/Api/UserController.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,43 +19,43 @@ public function __construct(

public function teamIsCaptain(int $id): array
{
$teams = User::query()->findOrFail($id);
$teams = User::query()->find($id);

return $this->userService->teamIsCaptain($teams);
}

public function show(int $id): array
{
$user = User::query()->findOrFail($id);
$user = User::query()->find($id);

return $this->userService->show($user);
}

public function update(int $id, UserUpdateDTO $userUpdateDTO): array|JsonResponse
{
$user = User::query()->findOrFail($id);
$user = User::query()->find($id);

return $this->userService->update($user, $userUpdateDTO);
}

public function team(int $id): array
{
$teams = User::query()->findOrFail($id);
$teams = User::query()->find($id);

return $this->userService->team($teams);
}

public function challenge(int $id): array
{
$challenges = User::query()->findOrFail($id);
$challenges = User::query()->find($id);

return $this->userService->challenge($challenges);
}

public function achievement(int $id): array
{
$achievementsTeam = Team::query()->findOrFail($id);
$achievementPersonal = User::query()->findOrFail($id);
$achievementsTeam = Team::query()->find($id);
$achievementPersonal = User::query()->find($id);

return $this->userService->achievement($achievementsTeam, $achievementPersonal);
}
Expand Down
6 changes: 3 additions & 3 deletions app/Models/Enums/Achievement/TypeAchievement.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

namespace App\Models\Enums\Achievement;

enum TypeAchievement: int
enum TypeAchievement: string
{
case Personal = 1;
case Team = 2;
case Personal = 'personal';
case Team = 'team';
}
8 changes: 6 additions & 2 deletions app/Services/Api/ChallengeService.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,12 @@ public function index(ChallengeFilterDTO $challengeFilterDTO): array
return $games->toArray();
}

public function show(Challenge $challenge): array
public function show(Challenge|null $challenge): array
{
return ChallengeShowDTO::from($challenge)->toArray();
if ($challenge) {
return ChallengeShowDTO::from($challenge)->toArray();
}

return [];
}
}
22 changes: 15 additions & 7 deletions app/Services/Api/TeamService.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,12 @@

class TeamService
{
public function update(Team $team, TeamUpdateDTO $teamUpdateDTO): array|JsonResponse
public function update(Team|null $team, TeamUpdateDTO $teamUpdateDTO): array|JsonResponse
{
if(!$team) {
return [];
}

if ($team->captain_id === auth()->id()) {
$savedImage = null;

Expand All @@ -34,14 +38,18 @@ public function update(Team $team, TeamUpdateDTO $teamUpdateDTO): array|JsonResp
return response()->json(['message' => 'you are dont captain'], 403);
}

public function members(Team $team): array
public function members(Team|null $team): array
{
$members = $team->users()->get();
if ($team) {
$members = $team->users()->get();

$membersTeam = $members->map(function (User $user) use ($team) {
return TeamMembersDTO::from($user, $team);
});
$membersTeam = $members->map(function (User $user) use ($team) {
return TeamMembersDTO::from($user, $team);
});

return $membersTeam->toArray();
}

return $membersTeam->toArray();
return [];
}
}
53 changes: 38 additions & 15 deletions app/Services/Api/UserService.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,24 +17,39 @@

class UserService
{
public function show(User $user): array
public function show(User|null $user): array
{
return UserShowDTO::from($user)->toArray();
if ($user) {
return UserShowDTO::from($user)->toArray();
}

return [];
}

public function achievement(Team $team, User $user): array
public function achievement(Team|null $team, User|null $user): array
{
$achievementPersonal = $user->achievements()->get();
$achievementTeams = $team->achievements()->get();
$personal = [];
$teams = [];

if ($user) {
$achievementPersonal = $user->achievements()->get();
$personal = UserAchievementPersonalDTO::collect($achievementPersonal)->toArray();
}

$personal = UserAchievementPersonalDTO::collect($achievementPersonal)->toArray();
$teams = UserAchievementTeamsDTO::collect($achievementTeams)->toArray();
if ($team) {
$achievementTeams = $team->achievements()->get();
$teams = UserAchievementTeamsDTO::collect($achievementTeams)->toArray();
}

return array_merge($personal, $teams);
return array_merge($personal, $teams);
}

public function update(User $user, UserUpdateDTO $userUpdateDTO): array|JsonResponse
public function update(User|null $user, UserUpdateDTO $userUpdateDTO): array|JsonResponse
{
if(!$user) {
return [];
}

if ($user->id === auth()->id()) {
$savedImage = null;

Expand All @@ -57,11 +72,15 @@ public function update(User $user, UserUpdateDTO $userUpdateDTO): array|JsonResp
return response()->json(['message' => 'just meme'], 403);
}

public function team(User $user): array
public function team(User|null $user): array
{
$team = $user->teams()->get();
if($user) {
$team = $user->teams()->get();

return UserTeamDTO::collect($team)->toArray();
return UserTeamDTO::collect($team)->toArray();
}

return [];
}

public function teamIsCaptain(User $user): array
Expand All @@ -71,10 +90,14 @@ public function teamIsCaptain(User $user): array
return UserTeamDTO::collect($team)->toArray();
}

public function challenge(User $user): array
public function challenge(User|null $user): array
{
$challenges = $user->challenges()->orderBy('end_date', 'desc')->get();
if($user) {
$challenges = $user->challenges()->orderBy('end_date', 'desc')->get();

return UserChallengeDTO::collect($challenges)->toArray();
}

return UserChallengeDTO::collect($challenges)->toArray();
return [];
}
}

0 comments on commit 677e7bc

Please sign in to comment.