fe-drone-ci/mock/role/index.js

102 lines
1.8 KiB
JavaScript

import Mock from "mockjs";
import { deepClone } from "../../src/utils/index.js";
import { asyncRoutes, constantRoutes } from "./routes.js";
const routes = deepClone([...constantRoutes, ...asyncRoutes]);
const roles = [
{
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 default [
// mock get all routes form server
{
url: "/routes",
type: "get",
response: _ => {
return {
code: 20000,
data: routes
};
}
},
// mock get all roles form server
{
url: "/roles",
type: "get",
response: _ => {
return {
code: 20000,
data: roles
};
}
},
// add role
{
url: "/role",
type: "post",
response: {
code: 20000,
data: {
key: Mock.mock("@integer(300, 5000)")
}
}
},
// update role
{
url: "/role/[A-Za-z0-9]",
type: "put",
response: {
code: 20000,
data: {
status: "success"
}
}
},
// delete role
{
url: "/role/[A-Za-z0-9]",
type: "delete",
response: {
code: 20000,
data: {
status: "success"
}
}
}
];