File: /var/www/quadcode/app/Console/Commands/ActiveCampaignListsSync.php
<?php
namespace App\Console\Commands;
use App\Services\ActiveCampaignService;
use Illuminate\Console\Command;
use Symfony\Component\Console\Command\Command as CommandAlias;
class ActiveCampaignListsSync extends Command
{
protected $signature = 'active-campaign:lists-sync';
protected $description = 'Sync Active Campaign lists';
public function handle(ActiveCampaignService $activeCampaignService): int
{
$this->info($this->description);
if (!$activeCampaignService->check()) {
$this->error('Need to fill ACTIVE_CAMPAIGN_HOST and ACTIVE_CAMPAIGN_TOKEN in .env');
return CommandAlias::FAILURE;
}
if (!$activeCampaignService->syncLists()) {
$this->error($activeCampaignService->lastError);
return CommandAlias::FAILURE;
}
foreach ($activeCampaignService->getLastActionLog() as $log) {
$this->line($log);
}
$this->info('Done');
return CommandAlias::SUCCESS;
}
}