Skip to content

Commit

Permalink
refactor: enforce bus usage with ESI entity commands (#85)
Browse files Browse the repository at this point in the history
  • Loading branch information
warlof committed Dec 12, 2020
1 parent ad2fa5b commit de5b5ce
Show file tree
Hide file tree
Showing 4 changed files with 141 additions and 152 deletions.
150 changes: 68 additions & 82 deletions src/Bus/CharacterTokenShouldUpdate.php → src/Bus/CharacterBus.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
use Seat\Eveapi\Jobs\Assets\Character\Assets;
use Seat\Eveapi\Jobs\Assets\Character\Locations;
use Seat\Eveapi\Jobs\Assets\Character\Names;
use Seat\Eveapi\Jobs\Bookmarks\Character\Bookmarks;
use Seat\Eveapi\Jobs\Bookmarks\Character\Folders;
use Seat\Eveapi\Jobs\Calendar\Attendees;
use Seat\Eveapi\Jobs\Calendar\Detail;
use Seat\Eveapi\Jobs\Calendar\Events;
Expand Down Expand Up @@ -66,10 +64,10 @@
use Seat\Eveapi\Models\RefreshToken;

/**
* Class CharacterShouldUpdate.
* Class CharacterBus.
* @package Seat\Console\Bus
*/
class CharacterTokenShouldUpdate extends BusCommand
class CharacterBus extends BusCommand
{
/**
* @var \Seat\Eveapi\Models\RefreshToken
Expand All @@ -94,84 +92,72 @@ public function __construct(RefreshToken $token)
*/
public function fire()
{

// Assets
Assets::withChain([
new Locations($this->token), new Names($this->token),
])->dispatch($this->token);

// Bookmarks
Bookmarks::withChain([
new Folders($this->token),
])->dispatch($this->token);

// Calendar
Events::withChain([
new Detail($this->token), new Attendees($this->token),
])->dispatch($this->token);

// Character
Info::dispatch($this->token->character_id);
AgentsResearch::dispatch($this->token);
Blueprints::dispatch($this->token);
CorporationHistory::dispatch($this->token->character_id);
Fatigue::dispatch($this->token);
Medals::dispatch($this->token);
Roles::dispatch($this->token);
Standings::dispatch($this->token);
Titles::dispatch($this->token);

// Clones
Clones::withChain([
new Implants($this->token),
])->dispatch($this->token);

// Contacts
Contacts::withChain([
new ContactLabels($this->token),
])->dispatch($this->token);

// Contracts
Contracts::dispatch($this->token);

// Fittings
Fittings::dispatch($this->token);

// Industry
Jobs::dispatch($this->token);
Mining::dispatch($this->token);

// Killmails
Recent::dispatch($this->token);

// Location
Location::dispatch($this->token);
Online::dispatch($this->token);
Ship::dispatch($this->token);

// Mail
Mails::withChain([
new MailLabels($this->token),
])->dispatch($this->token);
MailingLists::dispatch($this->token);

// Market
Orders::dispatch($this->token);

// Planetary Interactions
Planets::dispatch($this->token);

// Skills
Attributes::dispatch($this->token);
Queue::dispatch($this->token);
Skills::dispatch($this->token);

// Structures
CharacterStructures::dispatch($this->token);

// Wallet
Balance::dispatch($this->token);
Journal::dispatch($this->token);
Transactions::dispatch($this->token);
Info::withChain([
// collect information related to current character state
new CorporationHistory($this->token->character_id),
new Roles($this->token),
new Titles($this->token),
(new Clones($this->token))->chain([
new Implants($this->token),
]),

(new Location($this->token))->chain([
new Online($this->token),
new Ship($this->token),
]),

(new Attributes($this->token))->chain([
new Queue($this->token),
new Skills($this->token),
]),

// collect military informations
new Fittings($this->token),
new Recent($this->token),

new Fatigue($this->token),
new Medals($this->token),

// collect industrial informations
(new Blueprints($this->token))->chain([
new Jobs($this->token),
new Mining($this->token),
new AgentsResearch($this->token),
]),

// collect financial informations
new Orders($this->token),
new Contracts($this->token),
new Planets($this->token),
(new Balance($this->token))->chain([
new Journal($this->token),
new Transactions($this->token),
]),

// collect intel informations
new Standings($this->token),
(new Contacts($this->token))->chain([
new ContactLabels($this->token),
]),

(new Mails($this->token))->chain([
new MailLabels($this->token),
new MailingLists($this->token),
]),

// calendar events
(new Events($this->token))->chain([
new Detail($this->token),
new Attendees($this->token),
]),

// assets
(new Assets($this->token))->chain([
new Names($this->token),
new Locations($this->token),
new CharacterStructures($this->token),
]),
])->dispatch($this->token->character_id);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
use Seat\Eveapi\Jobs\Assets\Corporation\Assets;
use Seat\Eveapi\Jobs\Assets\Corporation\Locations;
use Seat\Eveapi\Jobs\Assets\Corporation\Names;
use Seat\Eveapi\Jobs\Bookmarks\Corporation\Bookmarks;
use Seat\Eveapi\Jobs\Bookmarks\Corporation\Folders;
use Seat\Eveapi\Jobs\Contacts\Corporation\Contacts;
use Seat\Eveapi\Jobs\Contacts\Corporation\Labels;
use Seat\Eveapi\Jobs\Contracts\Corporation\Contracts;
Expand Down Expand Up @@ -65,10 +63,10 @@
use Seat\Eveapi\Models\RefreshToken;

/**
* Class CorporationCharacterShouldUpdate.
* Class CorporationBus.
* @package Seat\Console\Bus
*/
class CorporationTokenShouldUpdate extends BusCommand
class CorporationBus extends BusCommand
{
/**
* @var int
Expand Down Expand Up @@ -101,67 +99,72 @@ public function __construct(int $corporation_id, RefreshToken $token)
public function fire()
{

Assets::withChain([
new Locations($this->corporation_id, $this->token), new Names($this->corporation_id, $this->token),
])->dispatch($this->corporation_id, $this->token);

Bookmarks::withChain([
new Folders($this->corporation_id, $this->token),
])->dispatch($this->corporation_id, $this->token);

Contacts::withChain([
new Labels($this->corporation_id, $this->token),
])->dispatch($this->corporation_id, $this->token);

Contracts::dispatch($this->corporation_id, $this->token);

Info::dispatch($this->corporation_id);
AllianceHistory::dispatch($this->corporation_id);
Blueprints::dispatch($this->corporation_id, $this->token);
ContainerLogs::dispatch($this->corporation_id, $this->token);
Divisions::dispatch($this->corporation_id, $this->token);
Facilities::dispatch($this->corporation_id, $this->token);
IssuedMedals::dispatch($this->corporation_id, $this->token);
Medals::dispatch($this->corporation_id, $this->token);
Members::dispatch($this->corporation_id, $this->token);
MembersLimit::dispatch($this->corporation_id, $this->token);
MemberTracking::dispatch($this->corporation_id, $this->token);

Roles::withChain([
new RoleHistories($this->corporation_id, $this->token), ]
)->dispatch($this->corporation_id, $this->token);

Shareholders::dispatch($this->corporation_id, $this->token);
Standings::dispatch($this->corporation_id, $this->token);

Starbases::withChain([
new StarbaseDetails($this->corporation_id, $this->token),
])->dispatch($this->corporation_id, $this->token);

Structures::dispatch($this->corporation_id, $this->token);
CorporationStructures::dispatch($this->corporation_id, $this->token);

CustomsOffices::withChain([
new CustomsOfficeLocations($this->corporation_id, $this->token),
])->dispatch($this->corporation_id, $this->token);

Titles::withChain([
new MembersTitles($this->corporation_id, $this->token),
])->dispatch($this->corporation_id, $this->token);

Jobs::dispatch($this->corporation_id, $this->token);
Extractions::dispatch($this->corporation_id, $this->token);

Observers::withChain([
new ObserverDetails($this->corporation_id, $this->token),
])->dispatch($this->corporation_id, $this->token);

Recent::dispatch($this->corporation_id, $this->token);

Orders::dispatch($this->corporation_id, $this->token);

Balances::dispatch($this->corporation_id, $this->token);
Journals::dispatch($this->corporation_id, $this->token);
Transactions::dispatch($this->corporation_id, $this->token);
Info::withChain([
new AllianceHistory($this->corporation_id),
new Divisions($this->corporation_id, $this->token),

(new Roles($this->corporation_id, $this->token))->chain([
new RoleHistories($this->corporation_id, $this->token),
]),

(new Titles($this->corporation_id, $this->token))->chain([
new MembersTitles($this->corporation_id, $this->token),
]),

(new MembersLimit($this->corporation_id, $this->token))->chain([
new Members($this->corporation_id, $this->token),
new MemberTracking($this->corporation_id, $this->token),
]),

(new Medals($this->corporation_id, $this->token))->chain([
new IssuedMedals($this->corporation_id, $this->token),
]),

// collect military informations
new Recent($this->corporation_id, $this->token),

// collect industrial informations
(new Blueprints($this->corporation_id, $this->token))->chain([
new Facilities($this->corporation_id, $this->token),
new Jobs($this->corporation_id, $this->token),
(new Observers($this->corporation_id, $this->token))->chain([
new ObserverDetails($this->corporation_id, $this->token),
]),
]),

// collect financial informations
new Orders($this->corporation_id, $this->token),
new Contracts($this->corporation_id, $this->token),
new Shareholders($this->corporation_id, $this->token),
(new Balances($this->corporation_id, $this->token))->chain([
new Journals($this->corporation_id, $this->token),
new Transactions($this->corporation_id, $this->token),
]),

// collect intel informations
new Standings($this->corporation_id, $this->token),
(new Contacts($this->corporation_id, $this->token))->chain([
new Labels($this->corporation_id, $this->token),
]),

// structures
(new Starbases($this->corporation_id, $this->token))->chain([
new StarbaseDetails($this->corporation_id, $this->token),
]),
(new Structures($this->corporation_id, $this->token))->chain([
new Extractions($this->corporation_id, $this->token),
]),
(new CustomsOffices($this->corporation_id, $this->token))->chain([
new CustomsOfficeLocations($this->corporation_id, $this->token),
]),

// assets
(new Assets($this->corporation_id, $this->token))->chain([
new ContainerLogs($this->corporation_id, $this->token),
new Locations($this->corporation_id, $this->token),
new Names($this->corporation_id, $this->token),
new CorporationStructures($this->corporation_id, $this->token),
]),
])->dispatch($this->corporation_id);
}
}
4 changes: 2 additions & 2 deletions src/Commands/Esi/Update/Characters.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
namespace Seat\Console\Commands\Esi\Update;

use Illuminate\Console\Command;
use Seat\Console\Bus\CharacterTokenShouldUpdate;
use Seat\Console\Bus\CharacterBus;
use Seat\Eveapi\Models\RefreshToken;

/**
Expand Down Expand Up @@ -61,7 +61,7 @@ public function handle()
->each(function ($token) {

// Fire the class that handles the collection of jobs to run.
(new CharacterTokenShouldUpdate($token, 'default'))->fire();
(new CharacterBus($token))->fire();
});

$this->info('Processed ' . $tokens->count() . ' refresh tokens.');
Expand Down
4 changes: 2 additions & 2 deletions src/Commands/Esi/Update/Corporations.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
namespace Seat\Console\Commands\Esi\Update;

use Illuminate\Console\Command;
use Seat\Console\Bus\CorporationTokenShouldUpdate;
use Seat\Console\Bus\CorporationBus;
use Seat\Eveapi\Models\RefreshToken;

/**
Expand Down Expand Up @@ -63,7 +63,7 @@ public function handle()

// Fire the class to update corporation information
if ($token->character->affiliation->corporation_id != null)
(new CorporationTokenShouldUpdate($token->character->affiliation->corporation_id, $token))->fire();
(new CorporationBus($token->character->affiliation->corporation_id, $token))->fire();
});

$this->info('Processed ' . $tokens->count() . ' refresh tokens.');
Expand Down

0 comments on commit de5b5ce

Please sign in to comment.