Unverified Commit 53e86929 authored by Nicolas Widart's avatar Nicolas Widart Committed by GitHub

Merge pull request #554 from huydang284/3.0

fix route:cache and config:cache issue
parents e22a39da a86e2688
...@@ -172,4 +172,11 @@ return [ ...@@ -172,4 +172,11 @@ return [
| useViewNamespaces.backend-theme needs to be enabled at module level | useViewNamespaces.backend-theme needs to be enabled at module level
*/ */
'enable-theme-overrides' => false, 'enable-theme-overrides' => false,
/*
|--------------------------------------------------------------------------
| Check if asgard was installed
|--------------------------------------------------------------------------
*/
'is_installed' => env('INSTALLED', false)
]; ];
...@@ -70,7 +70,7 @@ class CoreServiceProvider extends ServiceProvider ...@@ -70,7 +70,7 @@ class CoreServiceProvider extends ServiceProvider
public function register() public function register()
{ {
$this->app->singleton('asgard.isInstalled', function () { $this->app->singleton('asgard.isInstalled', function () {
return true === env('INSTALLED', false); return true === config('asgard.core.core.is_installed');
}); });
$this->app->singleton('asgard.onBackend', function () { $this->app->singleton('asgard.onBackend', function () {
return $this->onBackend(); return $this->onBackend();
......
...@@ -52,15 +52,31 @@ abstract class RoutingServiceProvider extends ServiceProvider ...@@ -52,15 +52,31 @@ abstract class RoutingServiceProvider extends ServiceProvider
$this->loadApiRoutes($router); $this->loadApiRoutes($router);
}); });
$prefixes = $this->getPrefixes();
foreach ($prefixes as $prefix) {
$router->group([ $router->group([
'namespace' => $this->namespace, 'namespace' => $this->namespace,
'prefix' => LaravelLocalization::setLocale(), 'prefix' => $prefix,
'middleware' => ['localizationRedirect', 'web'], 'middleware' => ['localizationRedirect', 'web'],
], function (Router $router) { ], function (Router $router) {
$this->loadBackendRoutes($router); $this->loadBackendRoutes($router);
$this->loadFrontendRoutes($router); $this->loadFrontendRoutes($router);
}); });
} }
}
/**
* Get locale prefixes
* @return array
*/
private function getPrefixes()
{
if (app('asgard.isInstalled')) {
return array_merge(json_decode(setting('core::locales')), ['']);
}
return [LaravelLocalization::setLocale()];
}
/** /**
* @param Router $router * @param Router $router
......
...@@ -3,10 +3,6 @@ ...@@ -3,10 +3,6 @@
use Illuminate\Routing\Router; use Illuminate\Routing\Router;
/** @var Router $router */ /** @var Router $router */
$router->bind('media', function ($id) {
return app(\Modules\Media\Repositories\FileRepository::class)->find($id);
});
$router->group(['prefix' => '/media'], function (Router $router) { $router->group(['prefix' => '/media'], function (Router $router) {
$router->get('media', [ $router->get('media', [
'as' => 'admin.media.media.index', 'as' => 'admin.media.media.index',
......
...@@ -72,6 +72,10 @@ class MediaServiceProvider extends ServiceProvider ...@@ -72,6 +72,10 @@ class MediaServiceProvider extends ServiceProvider
$event->load('media', array_dot(trans('media::media'))); $event->load('media', array_dot(trans('media::media')));
$event->load('folders', array_dot(trans('media::folders'))); $event->load('folders', array_dot(trans('media::folders')));
}); });
app('router')->bind('media', function ($id) {
return app(FileRepository::class)->find($id);
});
} }
public function boot(DispatcherContract $events) public function boot(DispatcherContract $events)
......
...@@ -3,13 +3,6 @@ ...@@ -3,13 +3,6 @@
use Illuminate\Routing\Router; use Illuminate\Routing\Router;
/** @var Router $router */ /** @var Router $router */
$router->bind('menu', function ($id) {
return app(\Modules\Menu\Repositories\MenuRepository::class)->find($id);
});
$router->bind('menuitem', function ($id) {
return app(\Modules\Menu\Repositories\MenuItemRepository::class)->find($id);
});
$router->group(['prefix' => '/menu'], function (Router $router) { $router->group(['prefix' => '/menu'], function (Router $router) {
$router->get('menus', [ $router->get('menus', [
'as' => 'admin.menu.menu.index', 'as' => 'admin.menu.menu.index',
......
...@@ -54,6 +54,13 @@ class MenuServiceProvider extends ServiceProvider ...@@ -54,6 +54,13 @@ class MenuServiceProvider extends ServiceProvider
$event->load('menu', array_dot(trans('menu::menu'))); $event->load('menu', array_dot(trans('menu::menu')));
$event->load('menu-items', array_dot(trans('menu::menu-items'))); $event->load('menu-items', array_dot(trans('menu::menu-items')));
}); });
app('router')->bind('menu', function ($id) {
return app(MenuRepository::class)->find($id);
});
app('router')->bind('menuitem', function ($id) {
return app(MenuItemRepository::class)->find($id);
});
} }
/** /**
......
...@@ -3,10 +3,6 @@ ...@@ -3,10 +3,6 @@
use Illuminate\Routing\Router; use Illuminate\Routing\Router;
/** @var Router $router */ /** @var Router $router */
$router->bind('page', function ($id) {
return app(\Modules\Page\Repositories\PageRepository::class)->find($id);
});
$router->group(['prefix' => '/page', 'middleware' => ['api.token', 'auth.admin']], function (Router $router) { $router->group(['prefix' => '/page', 'middleware' => ['api.token', 'auth.admin']], function (Router $router) {
$router->get('pages', [ $router->get('pages', [
'as' => 'api.page.page.index', 'as' => 'api.page.page.index',
......
...@@ -3,10 +3,6 @@ ...@@ -3,10 +3,6 @@
use Illuminate\Routing\Router; use Illuminate\Routing\Router;
/** @var Router $router */ /** @var Router $router */
$router->bind('page', function ($id) {
return app(\Modules\Page\Repositories\PageRepository::class)->find($id);
});
$router->group(['prefix' => '/page'], function (Router $router) { $router->group(['prefix' => '/page'], function (Router $router) {
$router->get('pages', [ $router->get('pages', [
'as' => 'admin.page.page.index', 'as' => 'admin.page.page.index',
......
...@@ -3,15 +3,13 @@ ...@@ -3,15 +3,13 @@
use Illuminate\Routing\Router; use Illuminate\Routing\Router;
/** @var Router $router */ /** @var Router $router */
if (! App::runningInConsole()) { $router->get('/', [
$router->get('/', [
'uses' => 'PublicController@homepage', 'uses' => 'PublicController@homepage',
'as' => 'homepage', 'as' => 'homepage',
'middleware' => config('asgard.page.config.middleware'), 'middleware' => config('asgard.page.config.middleware'),
]); ]);
$router->any('{uri}', [ $router->any('{uri}', [
'uses' => 'PublicController@uri', 'uses' => 'PublicController@uri',
'as' => 'page', 'as' => 'page',
'middleware' => config('asgard.page.config.middleware'), 'middleware' => config('asgard.page.config.middleware'),
])->where('uri', '.*'); ])->where('uri', '.*');
}
...@@ -45,6 +45,10 @@ class PageServiceProvider extends ServiceProvider ...@@ -45,6 +45,10 @@ class PageServiceProvider extends ServiceProvider
$this->app['events']->listen(LoadingBackendTranslations::class, function (LoadingBackendTranslations $event) { $this->app['events']->listen(LoadingBackendTranslations::class, function (LoadingBackendTranslations $event) {
$event->load('pages', array_dot(trans('page::pages'))); $event->load('pages', array_dot(trans('page::pages')));
}); });
app('router')->bind('page', function ($id) {
return app(PageRepository::class)->find($id);
});
} }
public function boot() public function boot()
......
...@@ -4,9 +4,6 @@ use Illuminate\Routing\Router; ...@@ -4,9 +4,6 @@ use Illuminate\Routing\Router;
/** @var Router $router */ /** @var Router $router */
$router->group(['prefix' => 'tag'], function (Router $router) { $router->group(['prefix' => 'tag'], function (Router $router) {
$router->bind('tag__tag', function ($id) {
return app(\Modules\Tag\Repositories\TagRepository::class)->find($id);
});
$router->get('tags', [ $router->get('tags', [
'as' => 'admin.tag.tag.index', 'as' => 'admin.tag.tag.index',
'uses' => 'TagController@index', 'uses' => 'TagController@index',
......
...@@ -46,6 +46,10 @@ class TagServiceProvider extends ServiceProvider ...@@ -46,6 +46,10 @@ class TagServiceProvider extends ServiceProvider
$this->app['events']->listen(LoadingBackendTranslations::class, function (LoadingBackendTranslations $event) { $this->app['events']->listen(LoadingBackendTranslations::class, function (LoadingBackendTranslations $event) {
$event->load('tags', array_dot(trans('tag::tags'))); $event->load('tags', array_dot(trans('tag::tags')));
}); });
app('router')->bind('tag__tag', function ($id) {
return app(TagRepository::class)->find($id);
});
} }
public function boot() public function boot()
......
...@@ -4,9 +4,6 @@ use Illuminate\Routing\Router; ...@@ -4,9 +4,6 @@ use Illuminate\Routing\Router;
/** @var Router $router */ /** @var Router $router */
$router->group(['prefix' =>'/translation'], function (Router $router) { $router->group(['prefix' =>'/translation'], function (Router $router) {
$router->bind('translations', function ($id) {
return \Modules\Translation\Entities\TranslationTranslation::find($id);
});
$router->get('translations', [ $router->get('translations', [
'uses' => 'TranslationController@index', 'uses' => 'TranslationController@index',
'as' => 'admin.translation.translation.index', 'as' => 'admin.translation.translation.index',
......
...@@ -12,6 +12,7 @@ use Modules\Core\Traits\CanGetSidebarClassForModule; ...@@ -12,6 +12,7 @@ use Modules\Core\Traits\CanGetSidebarClassForModule;
use Modules\Core\Traits\CanPublishConfiguration; use Modules\Core\Traits\CanPublishConfiguration;
use Modules\Translation\Console\BuildTranslationsCacheCommand; use Modules\Translation\Console\BuildTranslationsCacheCommand;
use Modules\Translation\Entities\Translation; use Modules\Translation\Entities\Translation;
use Modules\Translation\Entities\TranslationTranslation;
use Modules\Translation\Events\Handlers\RegisterTranslationSidebar; use Modules\Translation\Events\Handlers\RegisterTranslationSidebar;
use Modules\Translation\Repositories\Cache\CacheTranslationDecorator; use Modules\Translation\Repositories\Cache\CacheTranslationDecorator;
use Modules\Translation\Repositories\Eloquent\EloquentTranslationRepository; use Modules\Translation\Repositories\Eloquent\EloquentTranslationRepository;
...@@ -50,6 +51,10 @@ class TranslationServiceProvider extends ServiceProvider ...@@ -50,6 +51,10 @@ class TranslationServiceProvider extends ServiceProvider
$this->app['events']->listen(LoadingBackendTranslations::class, function (LoadingBackendTranslations $event) { $this->app['events']->listen(LoadingBackendTranslations::class, function (LoadingBackendTranslations $event) {
$event->load('translations', array_dot(trans('translation::translations'))); $event->load('translations', array_dot(trans('translation::translations')));
}); });
app('router')->bind('translations', function ($id) {
return TranslationTranslation::find($id);
});
} }
public function boot() public function boot()
......
...@@ -5,9 +5,6 @@ use Illuminate\Routing\Router; ...@@ -5,9 +5,6 @@ use Illuminate\Routing\Router;
/** @var Router $router */ /** @var Router $router */
$router->group(['prefix' => '/user', 'middleware' => ['api.token', 'auth.admin']], function (Router $router) { $router->group(['prefix' => '/user', 'middleware' => ['api.token', 'auth.admin']], function (Router $router) {
$router->group(['prefix' => 'roles'], function (Router $router) { $router->group(['prefix' => 'roles'], function (Router $router) {
$router->bind('role', function ($id) {
return app(\Modules\User\Repositories\RoleRepository::class)->find($id);
});
$router->get('/', [ $router->get('/', [
'as' => 'api.user.role.index', 'as' => 'api.user.role.index',
'uses' => 'RoleController@index', 'uses' => 'RoleController@index',
...@@ -46,9 +43,6 @@ $router->group(['prefix' => '/user', 'middleware' => ['api.token', 'auth.admin'] ...@@ -46,9 +43,6 @@ $router->group(['prefix' => '/user', 'middleware' => ['api.token', 'auth.admin']
}); });
$router->group(['prefix' => 'users'], function (Router $router) { $router->group(['prefix' => 'users'], function (Router $router) {
$router->bind('user', function ($id) {
return app(\Modules\User\Repositories\UserRepository::class)->find($id);
});
$router->get('/', [ $router->get('/', [
'as' => 'api.user.user.index', 'as' => 'api.user.user.index',
'uses' => 'UserController@index', 'uses' => 'UserController@index',
...@@ -96,10 +90,6 @@ $router->group(['prefix' => '/user', 'middleware' => ['api.token', 'auth.admin'] ...@@ -96,10 +90,6 @@ $router->group(['prefix' => '/user', 'middleware' => ['api.token', 'auth.admin']
'uses' => 'ProfileController@update', 'uses' => 'ProfileController@update',
]); ]);
$router->bind('userTokenId', function ($id) {
return app(\Modules\User\Repositories\UserTokenRepository::class)->find($id);
});
$router->get('api-keys', [ $router->get('api-keys', [
'as' => 'api.account.api.index', 'as' => 'api.account.api.index',
'uses' => 'ApiKeysController@index', 'uses' => 'ApiKeysController@index',
......
...@@ -81,9 +81,6 @@ $router->group(['prefix' => '/account'], function (Router $router) { ...@@ -81,9 +81,6 @@ $router->group(['prefix' => '/account'], function (Router $router) {
'as' => 'admin.account.profile.update', 'as' => 'admin.account.profile.update',
'uses' => 'Account\ProfileController@update', 'uses' => 'Account\ProfileController@update',
]); ]);
$router->bind('userTokenId', function ($id) {
return app(\Modules\User\Repositories\UserTokenRepository::class)->find($id);
});
$router->get('api-keys', [ $router->get('api-keys', [
'as' => 'admin.account.api.index', 'as' => 'admin.account.api.index',
'uses' => 'Account\ApiKeysController@index', 'uses' => 'Account\ApiKeysController@index',
......
...@@ -77,6 +77,16 @@ class UserServiceProvider extends ServiceProvider ...@@ -77,6 +77,16 @@ class UserServiceProvider extends ServiceProvider
GrantModulePermissionsCommand::class, GrantModulePermissionsCommand::class,
RemoveModulePermissionsCommand::class, RemoveModulePermissionsCommand::class,
]); ]);
app('router')->bind('role', function ($id) {
return app(RoleRepository::class)->find($id);
});
app('router')->bind('user', function ($id) {
return app(UserRepository::class)->find($id);
});
app('router')->bind('userTokenId', function ($id) {
return app(UserTokenRepository::class)->find($id);
});
} }
/** /**
......
...@@ -3,13 +3,6 @@ ...@@ -3,13 +3,6 @@
use Illuminate\Routing\Router; use Illuminate\Routing\Router;
/** @var Router $router */ /** @var Router $router */
$router->bind('module', function ($module) {
return app(\Nwidart\Modules\Contracts\RepositoryInterface::class)->find($module);
});
$router->bind('theme', function ($theme) {
return app(\Modules\Workshop\Manager\ThemeManager::class)->find($theme);
});
$router->group( $router->group(
['prefix' => '/workshop'], ['prefix' => '/workshop'],
function (Router $router) { function (Router $router) {
......
...@@ -21,6 +21,7 @@ use Modules\Workshop\Scaffold\Module\Generators\ValueObjectGenerator; ...@@ -21,6 +21,7 @@ use Modules\Workshop\Scaffold\Module\Generators\ValueObjectGenerator;
use Modules\Workshop\Scaffold\Module\ModuleScaffold; use Modules\Workshop\Scaffold\Module\ModuleScaffold;
use Modules\Workshop\Scaffold\Theme\ThemeGeneratorFactory; use Modules\Workshop\Scaffold\Theme\ThemeGeneratorFactory;
use Modules\Workshop\Scaffold\Theme\ThemeScaffold; use Modules\Workshop\Scaffold\Theme\ThemeScaffold;
use Nwidart\Modules\Repository;
class WorkshopServiceProvider extends ServiceProvider class WorkshopServiceProvider extends ServiceProvider
{ {
...@@ -52,6 +53,13 @@ class WorkshopServiceProvider extends ServiceProvider ...@@ -52,6 +53,13 @@ class WorkshopServiceProvider extends ServiceProvider
$event->load('modules', array_dot(trans('workshop::modules'))); $event->load('modules', array_dot(trans('workshop::modules')));
$event->load('themes', array_dot(trans('workshop::themes'))); $event->load('themes', array_dot(trans('workshop::themes')));
}); });
app('router')->bind('module', function ($module) {
return app(Repository::class)->find($module);
});
app('router')->bind('theme', function ($theme) {
return app(ThemeManager::class)->find($theme);
});
} }
public function boot() public function boot()
......
...@@ -172,4 +172,11 @@ return [ ...@@ -172,4 +172,11 @@ return [
| useViewNamespaces.backend-theme needs to be enabled at module level | useViewNamespaces.backend-theme needs to be enabled at module level
*/ */
'enable-theme-overrides' => false, 'enable-theme-overrides' => false,
/*
|--------------------------------------------------------------------------
| Check if asgard was installed
|--------------------------------------------------------------------------
*/
'is_installed' => env('INSTALLED', false)
]; ];
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment