header('X-API-HOSTED-SECRET') != config('ninja.ninja_hosted_secret')) return; if($user = MultiDB::hasUser(['email' => $request->input('email')])) { if($user->account->owner() && $user->account->companies()->count() >= 1) { return response()->json(['token' => $user->account->companies->first()->tokens->first()->token] ,200); } return response()->json(['error' => 'This user is not able to perform a migration. Please contact us at contact@invoiceninja.com to discuss.'], 401); } $account = CreateAccount::dispatchNow($request->all(), $request->getClientIp()); $account->hosted_client_count = 100; $account->hosted_company_count = 10; $account->save(); $company = $account->companies->first(); $company_token = CompanyToken::where('user_id', auth()->user()->id) ->where('company_id', $company->id) ->first(); return response()->json(['token' => $company_token->token], 200); } public function confirmForwarding(Request $request) { if($request->header('X-API-HOSTED-SECRET') != config('ninja.ninja_hosted_secret')) return; $input = $request->all(); MultiDB::findAndSetDbByCompanyKey($input['account_key']); $company = Company::with('account')->where('company_key', $input['account_key'])->first(); $forward_url = $company->domain(); $billing_transferred = \Modules\Admin\Jobs\Account\TransferAccountPlan::dispatchNow($input); return response()->json(['forward_url' => $forward_url, 'billing_transferred' => $billing_transferred], 200); } }