diff --git a/app/Console/Commands/ForceMigration.php b/app/Console/Commands/ForceMigration.php new file mode 100644 index 000000000000..1c99e08ac8a4 --- /dev/null +++ b/app/Console/Commands/ForceMigration.php @@ -0,0 +1,81 @@ + DB_NINJA_1]); + + $this->forceMigrate(); + + } + + private function forceMigrate() + { + $data = []; + + $company = Company::where('plan', 'free') + ->with('accounts') + ->first(); + + $user = $company->accounts->first()->users()->whereNull('public_id')->orWhere('public_id', 0)->first(); + $db = DB_NINJA_1; + + if($company){ + + foreach($company->accounts as $key => $account) + { + + $data['companies'][$key]['id'] = $account->id; + + + } + + $this->dispatch(new HostedMigration($user, $data, $db, true)); + } + + } +} \ No newline at end of file diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 617e3929ab56..0bf4611c820a 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -64,7 +64,12 @@ class Kernel extends ConsoleKernel ->command('ninja:sync-v5') ->withoutOverlapping() ->daily(); - + + + // $schedule + // ->command('ninja:force-migrate-v5') + // ->everyMinute() + // ->withoutOverlapping(); } } } diff --git a/app/Jobs/HostedMigration.php b/app/Jobs/HostedMigration.php index e0725dbdf684..c63ec9052e48 100644 --- a/app/Jobs/HostedMigration.php +++ b/app/Jobs/HostedMigration.php @@ -25,11 +25,14 @@ class HostedMigration extends Job public $migration_token; - public function __construct(User $user, array $data, $db) + private $forced; + + public function __construct(User $user, array $data, $db, $forced = false) { $this->user = $user; $this->data = $data; $this->db = $db; + $this->forced = $forced; $this->v4_secret = config('ninja.ninja_hosted_secret'); } @@ -106,6 +109,17 @@ class HostedMigration extends Job $this->account = $account; + if($this->forced){ + //forced migration - we need to set this v4 account as inactive. + + //set activate URL + $account_email_settings = $this->account->account_email_settings; + $account_email_settings->account_email_settings->forward_url_for_v5 = "https://ninja_user{$this->account->id}.invoicing.co"; + $account_email_settings->save(); + + $this->account->subdomain = "ninja_user{$this->account->id}"; + } + $date = date('Y-m-d'); $accountKey = $this->account->account_key;