You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.7 KiB
81 lines
1.7 KiB
import faker from 'faker'
|
|
import { Response, Request } from 'express'
|
|
import { asyncRoutes, constantRoutes } from './routes'
|
|
import { IRoleData } from '../../src/api/types'
|
|
|
|
const routes = [...constantRoutes, ...asyncRoutes]
|
|
const roles: IRoleData[] = [
|
|
{
|
|
key: 'admin',
|
|
name: 'admin',
|
|
description: 'Super Administrator. Have access to view all pages.',
|
|
routes: routes
|
|
},
|
|
{
|
|
key: 'editor',
|
|
name: 'editor',
|
|
description: 'Normal Editor. Can see all pages except permission page',
|
|
routes: routes.filter(i => i.path !== '/permission') // Just a mock
|
|
},
|
|
{
|
|
key: 'visitor',
|
|
name: 'visitor',
|
|
description: 'Just a visitor. Can only see the home page and the document page',
|
|
routes: [{
|
|
path: '',
|
|
redirect: 'dashboard',
|
|
children: [
|
|
{
|
|
path: 'dashboard',
|
|
name: 'Dashboard',
|
|
meta: { title: 'dashboard', icon: 'dashboard' }
|
|
}
|
|
]
|
|
}]
|
|
}
|
|
]
|
|
|
|
export const getRoles = (req: Request, res: Response) => {
|
|
return res.json({
|
|
code: 20000,
|
|
data: {
|
|
total: roles.length,
|
|
items: roles
|
|
}
|
|
})
|
|
}
|
|
|
|
export const createRole = (req: Request, res: Response) => {
|
|
return res.json({
|
|
code: 20000,
|
|
data: {
|
|
key: faker.datatype.number({ min: 3, max: 10000 })
|
|
}
|
|
})
|
|
}
|
|
|
|
export const updateRole = (req: Request, res: Response) => {
|
|
const { role } = req.body
|
|
return res.json({
|
|
code: 20000,
|
|
data: {
|
|
role
|
|
}
|
|
})
|
|
}
|
|
|
|
export const deleteRole = (req: Request, res: Response) => {
|
|
return res.json({
|
|
code: 20000
|
|
})
|
|
}
|
|
|
|
export const getRoutes = (req: Request, res: Response) => {
|
|
return res.json({
|
|
code: 20000,
|
|
data: {
|
|
routes
|
|
}
|
|
})
|
|
}
|