update email template
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands\Domain;
|
||||
|
||||
use App\Integrations\Domain\Extractors\DnsDomainExtractor;
|
||||
use App\Integrations\Domain\Extractors\DnsDomainUserExtractor;
|
||||
use App\Integrations\Domain\Extractors\DnsRecordExtractor;
|
||||
use App\Integrations\Domain\Extractors\DnsServerExtractor;
|
||||
use App\Integrations\Domain\Transformers\DnsDomainTransformer;
|
||||
use App\Integrations\Domain\Transformers\DnsDomainUserTransformer;
|
||||
use App\Integrations\Domain\Transformers\DnsRecordTransformer;
|
||||
use App\Integrations\Domain\Transformers\DnsServerTransformer;
|
||||
use App\Integrations\Domain\Writers\DnsDomainUserWriter;
|
||||
use App\Integrations\Domain\Writers\DnsDomainWriter;
|
||||
use App\Integrations\Domain\Writers\DnsRecordWriter;
|
||||
use App\Integrations\Domain\Writers\DnsServerWriter;
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class SyncDomainsCommand extends Command
|
||||
{
|
||||
protected $signature = 'domain:sync';
|
||||
|
||||
protected $description = 'Extract DNS servers/domains/records/owners from the domain admin (tgs_domain_prod) database and upsert them locally';
|
||||
|
||||
public function handle(
|
||||
DnsServerExtractor $serverExtractor,
|
||||
DnsServerTransformer $serverTransformer,
|
||||
DnsServerWriter $serverWriter,
|
||||
DnsDomainExtractor $domainExtractor,
|
||||
DnsDomainTransformer $domainTransformer,
|
||||
DnsDomainWriter $domainWriter,
|
||||
DnsRecordExtractor $recordExtractor,
|
||||
DnsRecordTransformer $recordTransformer,
|
||||
DnsRecordWriter $recordWriter,
|
||||
DnsDomainUserExtractor $domainUserExtractor,
|
||||
DnsDomainUserTransformer $domainUserTransformer,
|
||||
DnsDomainUserWriter $domainUserWriter,
|
||||
): int {
|
||||
// Order matters: servers before domains (FK), domains before records/owners (FK).
|
||||
$this->info('Syncing servers...');
|
||||
$bar = $this->output->createProgressBar(DB::connection('domain')->table('dns_manager_servers')->count());
|
||||
$bar->start();
|
||||
foreach ($serverExtractor->extract() as $row) {
|
||||
$serverWriter->write($serverTransformer->transform($row));
|
||||
$bar->advance();
|
||||
}
|
||||
$bar->finish();
|
||||
$this->newLine();
|
||||
|
||||
$this->info('Syncing domains...');
|
||||
$bar = $this->output->createProgressBar(DB::connection('domain')->table('dns_manager_domain')->count());
|
||||
$bar->start();
|
||||
$skippedDomains = 0;
|
||||
foreach ($domainExtractor->extract() as $row) {
|
||||
if (! $domainWriter->write($domainTransformer->transform($row))) {
|
||||
$skippedDomains++;
|
||||
}
|
||||
$bar->advance();
|
||||
}
|
||||
$bar->finish();
|
||||
$this->newLine();
|
||||
|
||||
$this->info('Syncing records...');
|
||||
$bar = $this->output->createProgressBar(DB::connection('domain')->table('dns_manager_ns')->count());
|
||||
$bar->start();
|
||||
$skippedRecords = 0;
|
||||
foreach ($recordExtractor->extract() as $row) {
|
||||
if (! $recordWriter->write($recordTransformer->transform($row))) {
|
||||
$skippedRecords++;
|
||||
}
|
||||
$bar->advance();
|
||||
}
|
||||
$bar->finish();
|
||||
$this->newLine();
|
||||
|
||||
$this->info('Syncing domain owners...');
|
||||
$bar = $this->output->createProgressBar(DB::connection('domain')->table('dns_domain_user')->count());
|
||||
$bar->start();
|
||||
$skippedOwners = 0;
|
||||
foreach ($domainUserExtractor->extract() as $row) {
|
||||
if (! $domainUserWriter->write($domainUserTransformer->transform($row))) {
|
||||
$skippedOwners++;
|
||||
}
|
||||
$bar->advance();
|
||||
}
|
||||
$bar->finish();
|
||||
$this->newLine();
|
||||
|
||||
$this->info("Skipped: {$skippedDomains} domain(s), {$skippedRecords} record(s), {$skippedOwners} owner link(s) (unresolved FK).");
|
||||
|
||||
return Command::SUCCESS;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user