47 lines
2.0 KiB
TypeScript
47 lines
2.0 KiB
TypeScript
import React from 'react';
|
|
import { Switch } from 'react-router-dom';
|
|
import Loadable from 'react-loadable';
|
|
|
|
import Login from 'app/modules/login/login';
|
|
import Register from 'app/modules/account/register/register';
|
|
import Activate from 'app/modules/account/activate/activate';
|
|
import PasswordResetInit from 'app/modules/account/password-reset/init/password-reset-init';
|
|
import PasswordResetFinish from 'app/modules/account/password-reset/finish/password-reset-finish';
|
|
import Logout from 'app/modules/login/logout';
|
|
import Home from 'app/modules/home/home';
|
|
import Entities from 'app/entities';
|
|
import PrivateRoute from 'app/shared/auth/private-route';
|
|
import ErrorBoundaryRoute from 'app/shared/error/error-boundary-route';
|
|
import { AUTHORITIES } from 'app/config/constants';
|
|
|
|
// tslint:disable:space-in-parens
|
|
const Account = Loadable({
|
|
loader: () => import(/* webpackChunkName: "account" */ 'app/modules/account'),
|
|
loading: () => <div>loading ...</div>
|
|
});
|
|
|
|
const Admin = Loadable({
|
|
loader: () => import(/* webpackChunkName: "administration" */ 'app/modules/administration'),
|
|
loading: () => <div>loading ...</div>
|
|
});
|
|
// tslint:enable
|
|
|
|
const Routes = () => (
|
|
<div className="view-routes">
|
|
<ErrorBoundaryRoute path="/login" component={Login} />
|
|
<Switch>
|
|
<ErrorBoundaryRoute path="/logout" component={Logout} />
|
|
<ErrorBoundaryRoute path="/register" component={Register} />
|
|
<ErrorBoundaryRoute path="/activate/:key?" component={Activate} />
|
|
<ErrorBoundaryRoute path="/reset/request" component={PasswordResetInit} />
|
|
<ErrorBoundaryRoute path="/reset/finish/:key?" component={PasswordResetFinish} />
|
|
<PrivateRoute path="/admin" component={Admin} hasAnyAuthorities={[AUTHORITIES.ADMIN]} />
|
|
<PrivateRoute path="/account" component={Account} hasAnyAuthorities={[AUTHORITIES.ADMIN, AUTHORITIES.USER]} />
|
|
<PrivateRoute path="/entity" component={Entities} hasAnyAuthorities={[AUTHORITIES.USER]} />
|
|
<ErrorBoundaryRoute path="/" component={Home} />
|
|
</Switch>
|
|
</div>
|
|
);
|
|
|
|
export default Routes;
|