mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-29 20:51:09 -04:00
v5.0.0 update
This commit is contained in:
32
app/Http/Controllers/V1/Installation/AppDomainController.php
Normal file
32
app/Http/Controllers/V1/Installation/AppDomainController.php
Normal 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,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@ -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,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@ -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,
|
||||
]);
|
||||
}
|
||||
}
|
||||
22
app/Http/Controllers/V1/Installation/FinishController.php
Normal file
22
app/Http/Controllers/V1/Installation/FinishController.php
Normal 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]);
|
||||
}
|
||||
}
|
||||
29
app/Http/Controllers/V1/Installation/LoginController.php
Normal file
29
app/Http/Controllers/V1/Installation/LoginController.php
Normal 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()
|
||||
]);
|
||||
}
|
||||
}
|
||||
@ -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'),
|
||||
]);
|
||||
}
|
||||
}
|
||||
44
app/Http/Controllers/V1/Installation/RequirementsController.php
Executable file
44
app/Http/Controllers/V1/Installation/RequirementsController.php
Executable 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,
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user