Altering housekeeping modules

This commit is contained in:
ahwelp
2023-01-24 20:32:06 +00:00
parent 2b6ddf9569
commit 17f9fda294
10 changed files with 71 additions and 20 deletions
+16 -5
View File
@@ -62,12 +62,13 @@ class MigratorController {
return false;
}
private function is_satisfy_array($array) {
foreach ($array as $item) {
if (!self::is_satisfy($item->name, $item->version)) {
private function is_satisfy_array($array) {
foreach ($array as $item) {
if (!self::is_satisfy($item['name'], $item['version'])) {
return false;
}
}
return true;
}
@@ -82,7 +83,7 @@ class MigratorController {
$this->instaled[$name]->version = $version;
}
private function load_installed_plugins() {
private function load_installed_plugins() {
$installed = parse_ini_file(DIR_CONFIG . 'modules.ini', true);
foreach ($installed as $key => $item) {
@@ -103,9 +104,12 @@ class MigratorController {
$module_configs[] = str_replace('version.php', '', $file);
}
}
foreach ($module_configs as $module_config) {
foreach ($module_configs as $module_config) {
$plugin = new \stdClass();
include $module_config . 'version.php';
if($plugin->version == '0.0.0'){
continue;
}
$plugins[$plugin->name] = $plugin;
if (is_file($module_config . 'db/Migrate.php')) {
include $module_config . 'db/Migrate.php';
@@ -195,5 +199,12 @@ class MigratorController {
}
$this->save();
}
/*
* Rollback Everything
*/
function reset(){
var_dump( $this->load_installed_plugins() );
}
}
Executable → Regular
+28 -3
View File
@@ -3,16 +3,41 @@
use Routes\RouteCollection as RouteCollection;
use ORM\Connections as Connections;
use Schema\Wrapper as Wrapper;
use App\Core\Template\Output as Output;
RouteCollection::get('*', function () {
Output::addOnSubmenu('dev', '/paths', "Caminhos", "", ['class' => 'nav-link']);
}, -10)->doIgnore();
RouteCollection::cli('sanity/install', function() {
Wrapper::set_driver(Connections::getConnection());
Wrapper::begin();
App\Core\Sanity\MigratorController::getInstance()->execute_plan();
Wrapper::commit();
})->middlewareIgnore('auth');
RouteCollection::cli('install', function() {
Wrapper::set_driver(Connections::getConnection());
Wrapper::begin();
App\Core\Sanity\MigratorController::getInstance()->execute_plan();
Wrapper::commit();
})->middlewareIgnore('auth');
RouteCollection::cli('install/[d:module]', function() {
Wrapper::set_driver(Connections::getConnection());
Wrapper::begin();
App\Core\Sanity\MigratorController::getInstance()->execute_plan();
Wrapper::commit();
})->middlewareIgnore('auth');
RouteCollection::cli('reset', function() {
Wrapper::set_driver(Connections::getConnection());
Wrapper::begin();
App\Core\Sanity\MigratorController::getInstance()->reset();
Wrapper::commit();
});
RouteCollection::add('*', '*', function() {
App\Core\Sanity\MigratorController::getInstance()->sentinel();
}, -19)->doIgnore()->middlewareIgnore('auth');
}, -19)->doIgnore()->middlewareIgnore('auth');
Executable → Regular
View File