v5.0.0 update

This commit is contained in:
Mohit Panjwani
2021-11-30 18:58:19 +05:30
parent d332712c22
commit 082d5cacf2
1253 changed files with 88309 additions and 71741 deletions

View File

@ -0,0 +1,32 @@
<?php
namespace Crater\Http\Controllers\V1\Installation;
use Crater\Http\Controllers\Controller;
use Crater\Http\Requests\DomainEnvironmentRequest;
use Crater\Space\EnvironmentManager;
use Illuminate\Support\Facades\Artisan;
class AppDomainController extends Controller
{
/**
*
* @param DomainEnvironmentRequest $request
*/
public function __invoke(DomainEnvironmentRequest $request)
{
Artisan::call('optimize:clear');
$environmentManager = new EnvironmentManager();
$results = $environmentManager->saveDomainVariables($request);
if (in_array('error', $results)) {
return response()->json($results);
}
return response()->json([
'success' => true,
]);
}
}

View File

@ -0,0 +1,88 @@
<?php
namespace Crater\Http\Controllers\V1\Installation;
use Crater\Http\Controllers\Controller;
use Crater\Http\Requests\DatabaseEnvironmentRequest;
use Crater\Space\EnvironmentManager;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Artisan;
class DatabaseConfigurationController extends Controller
{
/**
* @var EnvironmentManager
*/
protected $EnvironmentManager;
/**
* @param EnvironmentManager $environmentManager
*/
public function __construct(EnvironmentManager $environmentManager)
{
$this->environmentManager = $environmentManager;
}
/**
*
* @param DatabaseEnvironmentRequest $request
*/
public function saveDatabaseEnvironment(DatabaseEnvironmentRequest $request)
{
Artisan::call('config:clear');
Artisan::call('cache:clear');
$results = $this->environmentManager->saveDatabaseVariables($request);
if (array_key_exists("success", $results)) {
Artisan::call('key:generate --force');
Artisan::call('optimize:clear');
Artisan::call('config:clear');
Artisan::call('cache:clear');
Artisan::call('storage:link');
Artisan::call('migrate --seed --force');
}
return response()->json($results);
}
public function getDatabaseEnvironment(Request $request)
{
$databaseData = [];
switch ($request->connection) {
case 'sqlite':
$databaseData = [
'database_connection' => 'sqlite',
'database_name' => database_path('database.sqlite'),
];
break;
case 'pgsql':
$databaseData = [
'database_connection' => 'pgsql',
'database_host' => '127.0.0.1',
'database_port' => 5432,
];
break;
case 'mysql':
$databaseData = [
'database_connection' => 'mysql',
'database_host' => '127.0.0.1',
'database_port' => 3306,
];
break;
}
return response()->json([
'config' => $databaseData,
'success' => true,
]);
}
}

View File

@ -0,0 +1,39 @@
<?php
namespace Crater\Http\Controllers\V1\Installation;
use Crater\Http\Controllers\Controller;
use Crater\Space\FilePermissionChecker;
use Illuminate\Http\JsonResponse;
class FilePermissionsController extends Controller
{
/**
* @var PermissionsChecker
*/
protected $permissions;
/**
* @param PermissionsChecker $checker
*/
public function __construct(FilePermissionChecker $checker)
{
$this->permissions = $checker;
}
/**
* Display the permissions check page.
*
* @return JsonResponse
*/
public function permissions()
{
$permissions = $this->permissions->check(
config('installer.permissions')
);
return response()->json([
'permissions' => $permissions,
]);
}
}

View File

@ -0,0 +1,22 @@
<?php
namespace Crater\Http\Controllers\V1\Installation;
use Crater\Http\Controllers\Controller;
use Illuminate\Http\Request;
class FinishController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function __invoke(Request $request)
{
\Storage::disk('local')->put('database_created', 'database_created');
return response()->json(['success' => true]);
}
}

View File

@ -0,0 +1,29 @@
<?php
namespace Crater\Http\Controllers\V1\Installation;
use Auth;
use Crater\Http\Controllers\Controller;
use Crater\Models\User;
use Illuminate\Http\Request;
class LoginController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function __invoke(Request $request)
{
$user = User::where('role', 'super admin')->first();
Auth::login($user);
return response()->json([
'success' => true,
'user' => $user,
'company' => $user->companies()->first()
]);
}
}

View File

@ -0,0 +1,46 @@
<?php
namespace Crater\Http\Controllers\V1\Installation;
use Crater\Http\Controllers\Controller;
use Crater\Models\Setting;
use Illuminate\Http\Request;
class OnboardingWizardController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function getStep(Request $request)
{
if (! \Storage::disk('local')->has('database_created')) {
return response()->json([
'profile_complete' => 0,
]);
}
return response()->json([
'profile_complete' => Setting::getSetting('profile_complete'),
]);
}
public function updateStep(Request $request)
{
$setting = Setting::getSetting('profile_complete');
if ($setting === 'COMPLETED') {
return response()->json([
'profile_complete' => $setting,
]);
}
Setting::setSetting('profile_complete', $request->profile_complete);
return response()->json([
'profile_complete' => Setting::getSetting('profile_complete'),
]);
}
}

View File

@ -0,0 +1,44 @@
<?php
namespace Crater\Http\Controllers\V1\Installation;
use Crater\Http\Controllers\Controller;
use Crater\Space\RequirementsChecker;
use Illuminate\Http\JsonResponse;
class RequirementsController extends Controller
{
/**
* @var RequirementsChecker
*/
protected $requirements;
/**
* @param RequirementsChecker $checker
*/
public function __construct(RequirementsChecker $checker)
{
$this->requirements = $checker;
}
/**
* Display the requirements page.
*
* @return JsonResponse
*/
public function requirements()
{
$phpSupportInfo = $this->requirements->checkPHPVersion(
config('installer.core.minPhpVersion')
);
$requirements = $this->requirements->check(
config('installer.requirements')
);
return response()->json([
'phpSupportInfo' => $phpSupportInfo,
'requirements' => $requirements,
]);
}
}