fix routes and add version number

This commit is contained in:
Eric Wang
2023-01-21 17:59:11 +00:00
parent 35c4cbfe7a
commit 3f699db9c4
8 changed files with 48 additions and 32 deletions

View File

@@ -71,6 +71,8 @@ class UserController extends ApplicationApiController
throw new BadRequestHttpException('The user cannot be deleted with servers still associated.');
}
$user->tokens()->delete();
$user->delete();
return $this->returnNoContent();

View File

@@ -44,6 +44,6 @@ class LoginController extends Controller
$SSOToken->update(['used' => true]);
return redirect()->route('dashboard');
return redirect()->route('index');
}
}

View File

@@ -3,6 +3,7 @@
namespace Convoy\Providers;
use Convoy\Http\Middleware\AdminAuthenticate;
use Convoy\Http\Middleware\ForceJsonResponse;
use Convoy\Models\Server;
use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
@@ -36,10 +37,8 @@ class RouteServiceProvider extends ServiceProvider
$this->routes(function () {
Route::middleware('web')->group(function () {
/* Route::middleware([ForceJsonResponse::class, AuthorizeProprietaryToken::class, 'api'])
->prefix('/api/application')
->group(base_path('routes/api-application.php'));
*/
Route::middleware('guest')->group(base_path('routes/auth.php'));
Route::middleware(['auth.session'])
->group(base_path('routes/base.php'));
@@ -49,8 +48,12 @@ class RouteServiceProvider extends ServiceProvider
Route::middleware(['auth', AdminAuthenticate::class])
->prefix('/api/admin')
->group(base_path('routes/api-admin.php'));
});
Route::middleware('guest')->prefix('/auth')->group(base_path('routes/auth.php'));
Route::middleware(['api'])->group(function() {
Route::middleware(['auth:sanctum'])
->prefix('/api/application')
->group(base_path('routes/api-admin.php'));
});
});
}

View File

@@ -21,6 +21,9 @@ interface ExtendedWindow extends Window {
created_at: string
updated_at: string
}
SiteConfiguration?: {
version: string
}
}
const AuthenticationRouter = lazy(() => import('@/routers/AuthenticationRouter'))
@@ -33,7 +36,7 @@ const AdminServerRouter = lazy(() => import('@/routers/admin/ServerRouter'))
const AdminUserRouter = lazy(() => import('@/routers/admin/UserRouter'))
const App = () => {
const { ConvoyUser } = window as ExtendedWindow
const { ConvoyUser, SiteConfiguration } = window as ExtendedWindow
if (ConvoyUser && !store.getState().user.data) {
store.getActions().user.setUserData({
@@ -52,6 +55,7 @@ const App = () => {
(!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)
? 'dark'
: 'light',
version: SiteConfiguration!.version,
})
}

View File

@@ -1,12 +1,17 @@
import PageContentBlock from '@/components/elements/PageContentBlock'
import { useStoreState } from '@/state'
const OverviewContainer = () => {
return (
<PageContentBlock title='Overview' showFlashKey='admin:overview'>
<h1>1/11/2023</h1>
</PageContentBlock>
)
const version = useStoreState(state => state.settings.data!.version)
return (
<PageContentBlock title='Overview' showFlashKey='admin:overview'>
<h1>
version <strong>{version}</strong>
</h1>
<br />
<p>The admin area is still under construction</p>
</PageContentBlock>
)
}
export default OverviewContainer

View File

@@ -1,27 +1,29 @@
import { action, Action } from 'easy-peasy'
export interface SiteSettings {
theme: 'dark' | 'light'
theme: 'dark' | 'light'
version: string
}
export interface SettingsStore {
data?: SiteSettings
setSettings: Action<SettingsStore, SiteSettings>
setTheme: Action<SettingsStore, 'dark' | 'light'>
data?: SiteSettings
setSettings: Action<SettingsStore, SiteSettings>
setTheme: Action<SettingsStore, 'dark' | 'light'>
}
const settings: SettingsStore = {
data: undefined,
setSettings: action((state, payload) => {
state.data = payload
}),
setTheme: action((state, payload) => {
localStorage.setItem('theme', payload)
state.data = {
...state.data,
...{ theme: payload },
}
}),
data: undefined,
setSettings: action((state, payload) => {
state.data = payload
}),
setTheme: action((state, payload) => {
localStorage.setItem('theme', payload)
// @ts-expect-error: version should be initialized by the time setTheme is called
state.data = {
...state.data,
...{ theme: payload },
}
}),
}
export default settings

View File

@@ -1,6 +1,7 @@
<?php
use Convoy\Http\Controllers\Auth;
use Convoy\Http\Controllers\Auth\LoginController;
use Illuminate\Support\Facades\Route;
/*
@@ -12,6 +13,4 @@ use Illuminate\Support\Facades\Route;
|
*/
Route::get('/auth/login', [Auth\LoginController::class, 'index']);
Route::get('/sso/authorize', [Auth\LoginController::class, 'authorizeToken']);
Route::get('/authenticate', [LoginController::class, 'authorizeToken']);

View File

@@ -2,9 +2,10 @@
use Illuminate\Support\Facades\Route;
use Convoy\Http\Controllers\Base;
use Convoy\Http\Controllers\Auth\LoginController;
Route::get('/', [Base\IndexController::class, 'index'])->name('index')->fallback();
Route::get('/{any}', [Base\IndexController::class, 'index'])
->where('any', '^(?!(\/)?(api)).+');
->where('any', '^(?!(\/)?(api|authorize)).+');
//->where('any', '^(?!(\/)?(api|auth)).+');