mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-31 05:31:10 -04:00 
			
		
		
		
	build version 400
This commit is contained in:
		| @ -0,0 +1,90 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Crater\Http\Controllers\V1\Onboarding; | ||||
|  | ||||
| use Crater\Http\Controllers\Controller; | ||||
| use Crater\Space\EnvironmentManager; | ||||
| use Crater\Http\Requests\DatabaseEnvironmentRequest; | ||||
| use Illuminate\Support\Facades\Artisan; | ||||
| use Illuminate\Http\Request; | ||||
|  | ||||
| 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('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; | ||||
|  | ||||
|             case 'sqlsrv': | ||||
|                 $databaseData = [ | ||||
|                     'driver' => 'sqlsrv', | ||||
|                     'host' => '127.0.0.1', | ||||
|                     'port' => 1433, | ||||
|                 ]; | ||||
|                 break; | ||||
|         } | ||||
|  | ||||
|  | ||||
|         return response()->json([ | ||||
|             'config' => $databaseData, | ||||
|             'success' => true | ||||
|         ]); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										25
									
								
								app/Http/Controllers/V1/Onboarding/FinishController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								app/Http/Controllers/V1/Onboarding/FinishController.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Crater\Http\Controllers\V1\Onboarding; | ||||
|  | ||||
| use Crater\Http\Controllers\Controller; | ||||
| use Crater\Models\User; | ||||
| use Illuminate\Http\Request; | ||||
| use Illuminate\Support\Facades\Auth; | ||||
|  | ||||
| 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'); | ||||
|  | ||||
|         $user = User::where('role', 'super admin')->first(); | ||||
|         Auth::login($user); | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,47 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Crater\Http\Controllers\V1\Onboarding; | ||||
|  | ||||
| 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') | ||||
|         ]); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										39
									
								
								app/Http/Controllers/V1/Onboarding/PermissionsController.php
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										39
									
								
								app/Http/Controllers/V1/Onboarding/PermissionsController.php
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,39 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Crater\Http\Controllers\V1\Onboarding; | ||||
|  | ||||
| use Crater\Space\PermissionsChecker; | ||||
| use Illuminate\Http\JsonResponse; | ||||
| use Crater\Http\Controllers\Controller; | ||||
|  | ||||
| class PermissionsController extends Controller | ||||
| { | ||||
|     /** | ||||
|      * @var PermissionsChecker | ||||
|      */ | ||||
|     protected $permissions; | ||||
|  | ||||
|     /** | ||||
|      * @param PermissionsChecker $checker | ||||
|      */ | ||||
|     public function __construct(PermissionsChecker $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 | ||||
|         ]); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										43
									
								
								app/Http/Controllers/V1/Onboarding/RequirementsController.php
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										43
									
								
								app/Http/Controllers/V1/Onboarding/RequirementsController.php
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,43 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Crater\Http\Controllers\V1\Onboarding; | ||||
|  | ||||
| use Crater\Space\RequirementsChecker; | ||||
| use Illuminate\Http\JsonResponse; | ||||
| use Crater\Http\Controllers\Controller; | ||||
|  | ||||
| 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