Skip to content

Commit

Permalink
Updated documentation and controllers
Browse files Browse the repository at this point in the history
  • Loading branch information
AdamKyle committed Oct 9, 2024
1 parent 7a6a2df commit 36f0ce6
Show file tree
Hide file tree
Showing 8 changed files with 120 additions and 74 deletions.
23 changes: 16 additions & 7 deletions app/Game/Skills/Controllers/Api/AlchemyController.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,34 @@
use App\Game\Skills\Requests\AlchemyValidation;
use App\Game\Skills\Services\AlchemyService;
use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;

class AlchemyController extends Controller
{
private $alchemyService;

public function __construct(AlchemyService $alchemyService)
{
$this->alchemyService = $alchemyService;
}
/**
* @param AlchemyService $alchemyService
*/
public function __construct(private AlchemyService $alchemyService) {}

public function alchemyItems(Character $character)
/**
* @param Character $character
* @return JsonResponse
*/
public function alchemyItems(Character $character): JsonResponse
{
return response()->json([
'items' => $this->alchemyService->fetchAlchemistItems($character),
'skill_xp' => $this->alchemyService->fetchSkillXP($character),
]);
}

public function transmute(AlchemyValidation $request, Character $character)
/**
* @param AlchemyValidation $request
* @param Character $character
* @return JsonResponse
*/
public function transmute(AlchemyValidation $request, Character $character): JsonResponse
{
if (! $character->can_craft) {
return response()->json(['message' => 'You must wait to craft again.'], 422);
Expand Down
27 changes: 13 additions & 14 deletions app/Game/Skills/Controllers/Api/CraftingController.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,21 @@
use App\Game\Skills\Requests\CraftingValidation;
use App\Game\Skills\Services\CraftingService;
use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;

class CraftingController extends Controller
{
use FactionLoyalty, ShouldShowCraftingEventButton;

/**
* @var CraftingService
*/
private $craftingService;
public function __construct(private CraftingService $craftingService) {}

/**
* Constructor
*
* @return void
* @param Request $request
* @param Character $character
* @return JsonResponse
*/
public function __construct(CraftingService $craftingService)
{
$this->craftingService = $craftingService;
}

public function fetchItemsToCraft(Request $request, Character $character)
public function fetchItemsToCraft(Request $request, Character $character): JsonResponse
{
return response()->json([
'items' => $this->craftingService->fetchCraftableItems($character, $request->all()),
Expand All @@ -39,7 +32,13 @@ public function fetchItemsToCraft(Request $request, Character $character)
]);
}

public function craft(CraftingValidation $request, Character $character, CraftingService $craftingService)
/**
* @param CraftingValidation $request
* @param Character $character
* @param CraftingService $craftingService
* @return JsonResponse
*/
public function craft(CraftingValidation $request, Character $character, CraftingService $craftingService): JsonResponse
{
if (! $character->can_craft) {
return response()->json(['message' => 'invalid input.'], 429);
Expand Down
22 changes: 12 additions & 10 deletions app/Game/Skills/Controllers/Api/DisenchantingController.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,29 +10,31 @@
use App\Game\Messages\Events\ServerMessageEvent;
use App\Game\Skills\Services\DisenchantService;
use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;

class DisenchantingController extends Controller
{
private DisenchantService $disenchantingService;
public function __construct(private DisenchantService $disenchantService) {}

/**
* Constructor
* @param Item $item
* @return JsonResponse
*/
public function __construct(DisenchantService $disenchantService) {
$this->disenchantingService = $disenchantService;
}

public function disenchant(Item $item)
public function disenchant(Item $item): JsonResponse
{
$result = $this->disenchantingService->disenchantItem(auth()->user()->character, $item);
$result = $this->disenchantService->disenchantItem(auth()->user()->character, $item);

$status = $result['status'];
unset($result['status']);

return response()->json($result, $status);
}

public function destroy(Item $item)
/**
* @param Item $item
* @return JsonResponse
*/
public function destroy(Item $item): JsonResponse
{
$character = auth()->user()->character;

Expand All @@ -51,7 +53,7 @@ public function destroy(Item $item)

$foundSlot->delete();

event(new ServerMessageEvent($character->user, 'Destroyed: '.$name));
event(new ServerMessageEvent($character->user, 'Destroyed: ' . $name));

event(new CharacterInventoryUpdateBroadCastEvent($character->user, 'inventory'));

Expand Down
19 changes: 10 additions & 9 deletions app/Game/Skills/Controllers/Api/EnchantingController.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,17 @@

class EnchantingController extends Controller
{
/**
* @var EnchantingService
*/
private $enchantingService;

/**
* Constructor
*
* @return void
*/
public function __construct(EnchantingService $enchantingService)
{
$this->enchantingService = $enchantingService;
}
public function __construct(private EnchantingService $enchantingService) {}

/**
* @param Character $character
* @return void
*/
public function fetchAffixes(Character $character)
{
return response()->json([
Expand All @@ -34,6 +30,11 @@ public function fetchAffixes(Character $character)
]);
}

/**
* @param EnchantingValidation $request
* @param Character $character
* @return void
*/
public function enchant(EnchantingValidation $request, Character $character)
{
if (! $character->can_craft) {
Expand Down
14 changes: 6 additions & 8 deletions app/Game/Skills/Controllers/Api/GemCraftingController.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,16 @@
use App\Game\Skills\Requests\GemCraftingValidation;
use App\Game\Skills\Services\GemService;
use App\Http\Controllers\Controller;
use Exception;
use Illuminate\Http\JsonResponse;

class GemCraftingController extends Controller
{
private GemService $gemService;

public function __construct(GemService $gemService)
{
$this->gemService = $gemService;
}
public function __construct(private GemService $gemService) {}

/**
* @throws Exception
* @param Character $character
* @return JsonResponse
*/
public function getCraftableItems(Character $character): JsonResponse
{
Expand All @@ -30,7 +26,9 @@ public function getCraftableItems(Character $character): JsonResponse
}

/**
* @throws Exception
* @param Character $character
* @param GemCraftingValidation $request
* @return JsonResponse
*/
public function craftGem(Character $character, GemCraftingValidation $request): JsonResponse
{
Expand Down
24 changes: 16 additions & 8 deletions app/Game/Skills/Controllers/Api/ItemSkillController.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,21 @@
use App\Game\Core\Traits\ResponseBuilder;
use App\Game\Skills\Services\ItemSkillService;
use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;

class ItemSkillController extends Controller
{
use FetchEquipped, ResponseBuilder;

private ItemSkillService $itemSkillService;
public function __construct(private ItemSkillService $itemSkillService) {}

public function __construct(ItemSkillService $itemSkillService)
{
$this->itemSkillService = $itemSkillService;
}

public function trainSkill(Character $character, int $itemId, int $itemSkillProgressionId)
/**
* @param Character $character
* @param integer $itemId
* @param integer $itemSkillProgressionId
* @return JsonResponse
*/
public function trainSkill(Character $character, int $itemId, int $itemSkillProgressionId): JsonResponse
{

$result = $this->itemSkillService->trainSkill($character, $itemId, $itemSkillProgressionId);
Expand All @@ -30,7 +32,13 @@ public function trainSkill(Character $character, int $itemId, int $itemSkillProg
return response()->json($result, $status);
}

public function stopTrainingSkill(Character $character, int $itemId, int $itemSkillProgressionId)
/**
* @param Character $character
* @param integer $itemId
* @param integer $itemSkillProgressionId
* @return JsonResponse
*/
public function stopTrainingSkill(Character $character, int $itemId, int $itemSkillProgressionId): JsonResponse
{
$result = $this->itemSkillService->stopTrainingSkill($character, $itemId, $itemSkillProgressionId);
$status = $result['status'];
Expand Down
45 changes: 34 additions & 11 deletions app/Game/Skills/Controllers/Api/SkillsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,34 @@
use App\Game\Skills\Requests\TrainSkillValidation;
use App\Game\Skills\Services\SkillService;
use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;

class SkillsController extends Controller
{
public function fetchSkills(Character $character, SkillService $skillService)

public function __construct(private SkillService $skillService) {}

/**
* @param Character $character
* @return JsonResponse
*/
public function fetchSkills(Character $character): JsonResponse
{
$trainableSkillIds = GameSkill::where('can_train', true)->pluck('id')->toArray();
$craftingSkills = GameSkill::where('can_train', false)->pluck('id')->toArray();

return response()->json([
'training_skills' => $skillService->getSkills($character, $trainableSkillIds),
'crafting_skills' => $skillService->getSkills($character, $craftingSkills),
'training_skills' => $this->skillService->getSkills($character, $trainableSkillIds),
'crafting_skills' => $this->skillService->getSkills($character, $craftingSkills),
]);
}

public function skillInformation(Character $character, Skill $skill, SkillService $skillService)
/**
* @param Character $character
* @param Skill $skill
* @return JsonResponse
*/
public function skillInformation(Character $character, Skill $skill): JsonResponse
{

if ($character->id !== $skill->character_id) {
Expand All @@ -31,22 +44,32 @@ public function skillInformation(Character $character, Skill $skill, SkillServic
], 422);
}

return response()->json($skillService->getSkill($skill));
return response()->json($this->skillService->getSkill($skill));
}

public function train(TrainSkillValidation $request, Character $character, SkillService $skillService)
/**
* @param TrainSkillValidation $request
* @param Character $character
* @return JsonResponse
*/
public function train(TrainSkillValidation $request, Character $character): JsonResponse
{
$result = $skillService->trainSkill($character, $request->skill_id, $request->xp_percentage);
$result = $this->skillService->trainSkill($character, $request->skill_id, $request->xp_percentage);

return response()->json([
'message' => $result['message'],
'skills' => [
'training_skills' => $skillService->getSkills($character->refresh(), GameSkill::where('can_train', true)->pluck('id')->toArray()),
'training_skills' => $this->skillService->getSkills($character->refresh(), GameSkill::where('can_train', true)->pluck('id')->toArray()),
],
], $result['status']);
}

public function cancelTrain(Character $character, Skill $skill, SkillService $skillService)
/**
* @param Character $character
* @param Skill $skill
* @return JsonResponse
*/
public function cancelTrain(Character $character, Skill $skill): JsonResponse
{
if (is_null($character->skills()->find($skill->id))) {
return response()->json(['message' => 'Nope. You cannot do that.'], 422);
Expand All @@ -58,9 +81,9 @@ public function cancelTrain(Character $character, Skill $skill, SkillService $sk
]);

return response()->json([
'message' => 'You stopped training: '.$skill->name,
'message' => 'You stopped training: ' . $skill->name,
'skills' => [
'training_skills' => $skillService->getSkills($character->refresh(), GameSkill::where('can_train', true)->pluck('id')->toArray()),
'training_skills' => $this->skillService->getSkills($character->refresh(), GameSkill::where('can_train', true)->pluck('id')->toArray()),
],
]);
}
Expand Down
20 changes: 13 additions & 7 deletions app/Game/Skills/Controllers/Api/TrinketCraftingController.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,18 @@
use App\Game\Skills\Requests\TrinketCraftingValidation;
use App\Game\Skills\Services\TrinketCraftingService;
use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;

class TrinketCraftingController extends Controller
{
private $trinketCraftingService;

public function __construct(TrinketCraftingService $trinketCraftingService)
{
$this->trinketCraftingService = $trinketCraftingService;
}
public function __construct(private TrinketCraftingService $trinketCraftingService) {}

public function fetchItemsToCraft(Character $character)
/**
* @param Character $character
* @return JsonResponse
*/
public function fetchItemsToCraft(Character $character): JsonResponse
{

return response()->json([
Expand All @@ -27,7 +28,12 @@ public function fetchItemsToCraft(Character $character)
]);
}

public function craftTrinket(TrinketCraftingValidation $request, Character $character)
/**
* @param TrinketCraftingValidation $request
* @param Character $character
* @return JsonResponse
*/
public function craftTrinket(TrinketCraftingValidation $request, Character $character): JsonResponse
{
event(new CraftedItemTimeOutEvent($character));

Expand Down

0 comments on commit 36f0ce6

Please sign in to comment.