280 lines
10 KiB
JavaScript
280 lines
10 KiB
JavaScript
import Vue from "vue";
|
|
import VueRouter from "vue-router";
|
|
import Home from "./views/Home.vue";
|
|
import User from "./views/User.vue";
|
|
import Org from "./views/Org.vue";
|
|
import Project from "./views/Project.vue";
|
|
import ProjectGroup from "./views/ProjectGroup.vue";
|
|
import usersettings from "./components/usersettings.vue";
|
|
import projects from "./components/projects.vue";
|
|
import projectsettings from "./components/projectsettings.vue";
|
|
import projectgroupsettings from "./components/projectgroupsettings.vue";
|
|
import runs from "./components/runs.vue";
|
|
import run from "./components/run.vue";
|
|
import task from "./components/task.vue";
|
|
import Oauth2 from "./views/Oauth2.vue";
|
|
import Register from "./views/Register.vue";
|
|
import Login from "./views/Login.vue";
|
|
import Logout from "./views/Logout.vue";
|
|
|
|
import { parseRef } from "@/util/link.js";
|
|
|
|
Vue.use(VueRouter);
|
|
|
|
export default new VueRouter({
|
|
mode: "history",
|
|
routes: [
|
|
{
|
|
path: "/register",
|
|
name: "register",
|
|
component: Register,
|
|
},
|
|
{
|
|
path: "/login",
|
|
name: "login",
|
|
component: Login
|
|
},
|
|
{
|
|
path: "/logout",
|
|
name: "logout",
|
|
component: Logout
|
|
},
|
|
{
|
|
path: "/oauth2/callback",
|
|
name: "oauth2callback",
|
|
component: Oauth2
|
|
},
|
|
{
|
|
path: "/",
|
|
name: "home",
|
|
component: Home
|
|
},
|
|
{
|
|
path: "/user/:username",
|
|
component: User,
|
|
props: (route) => ({ username: route.params.username }),
|
|
children: [
|
|
{
|
|
path: "",
|
|
name: "user",
|
|
component: projects,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username })
|
|
},
|
|
{
|
|
path: "projects",
|
|
name: "user projects",
|
|
component: projects,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username })
|
|
},
|
|
{
|
|
path: "runs",
|
|
name: "user local runs",
|
|
component: runs,
|
|
props: (route) => ({ ownertype: "user", username: route.params.username })
|
|
},
|
|
{
|
|
path: "runs/:runid",
|
|
name: "user local run",
|
|
component: run,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, runid: route.params.runid })
|
|
},
|
|
{
|
|
path: "runs/:runid/tasks/:taskid",
|
|
name: "user local run task",
|
|
component: task,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, runid: route.params.runid, taskid: route.params.taskid })
|
|
},
|
|
{
|
|
path: "settings",
|
|
name: "user settings",
|
|
component: usersettings,
|
|
props: (route) => ({ username: route.params.username }),
|
|
},
|
|
]
|
|
},
|
|
{
|
|
path: "/user/:username/projects/:projectref(.*\\.proj)",
|
|
component: Project,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, projectref: parseRef(route.params.projectref) }),
|
|
children: [
|
|
{
|
|
path: "",
|
|
name: "user project",
|
|
component: runs,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, projectref: parseRef(route.params.projectref) })
|
|
},
|
|
{
|
|
path: "runs",
|
|
name: "user project runs",
|
|
component: runs,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, projectref: parseRef(route.params.projectref) })
|
|
},
|
|
{
|
|
path: "branches",
|
|
name: "user project branches runs",
|
|
component: runs,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, projectref: parseRef(route.params.projectref), query: "branches" })
|
|
},
|
|
{
|
|
path: "tags",
|
|
name: "user project tags runs",
|
|
component: runs,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, projectref: parseRef(route.params.projectref), query: "tags" })
|
|
},
|
|
{
|
|
path: "pullrequests",
|
|
name: "user project pull requests runs",
|
|
component: runs,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, projectref: parseRef(route.params.projectref), query: "pullrequests" })
|
|
},
|
|
{
|
|
path: "runs/:runid",
|
|
name: "user project run",
|
|
component: run,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, projectref: parseRef(route.params.projectref), runid: route.params.runid })
|
|
},
|
|
{
|
|
path: "runs/:runid/tasks/:taskid",
|
|
name: "user project run task",
|
|
component: task,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, projectref: parseRef(route.params.projectref), runid: route.params.runid, taskid: route.params.taskid })
|
|
},
|
|
{
|
|
path: "settings",
|
|
name: "user project settings",
|
|
component: projectsettings,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, projectref: parseRef(route.params.projectref) })
|
|
},
|
|
]
|
|
},
|
|
|
|
{
|
|
path: "/user/:username/projectgroups/:projectgroupref(.*\\.proj)",
|
|
component: ProjectGroup,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, projectgroupref: parseRef(route.params.projectgroupref) }),
|
|
children: [
|
|
{
|
|
path: "",
|
|
name: "user project group",
|
|
component: projects,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, projectgroupref: parseRef(route.params.projectgroupref) }),
|
|
},
|
|
{
|
|
path: "projects",
|
|
name: "user project group projects",
|
|
component: projects,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, projectgroupref: parseRef(route.params.projectgroupref) })
|
|
},
|
|
{
|
|
path: "settings",
|
|
name: "user project group settings",
|
|
component: projectgroupsettings,
|
|
props: (route) => ({ ownertype: "user", ownername: route.params.username, projectgroupref: parseRef(route.params.projectgroupref) })
|
|
},
|
|
]
|
|
},
|
|
|
|
{
|
|
path: "/org/:orgname",
|
|
component: Org,
|
|
props: (route) => ({ orgname: route.params.orgname }),
|
|
children: [
|
|
{
|
|
path: "",
|
|
name: "org",
|
|
component: projects,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname })
|
|
},
|
|
{
|
|
path: "projects",
|
|
name: "org projects",
|
|
component: projects,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname })
|
|
},
|
|
]
|
|
},
|
|
|
|
{
|
|
path: "/org/:orgname/projects/:projectref(.*\\.proj)",
|
|
component: Project,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname, projectref: parseRef(route.params.projectref) }),
|
|
children: [
|
|
{
|
|
path: "",
|
|
name: "org project",
|
|
component: runs,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname, projectref: parseRef(route.params.projectref) })
|
|
},
|
|
{
|
|
path: "runs",
|
|
name: "org project runs",
|
|
component: runs,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname, projectref: parseRef(route.params.projectref) })
|
|
},
|
|
{
|
|
path: "branches",
|
|
name: "org project branches runs",
|
|
component: runs,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname, projectref: parseRef(route.params.projectref), query: "branches" })
|
|
},
|
|
{
|
|
path: "tags",
|
|
name: "org project tags runs",
|
|
component: runs,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname, projectref: parseRef(route.params.projectref), query: "tags" })
|
|
},
|
|
{
|
|
path: "pullrequests",
|
|
name: "org project pull requests runs",
|
|
component: runs,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname, projectref: parseRef(route.params.projectref), query: "pullrequests" })
|
|
},
|
|
{
|
|
path: "runs/:runid",
|
|
name: "org project run",
|
|
component: run,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname, projectref: parseRef(route.params.projectref), runid: route.params.runid })
|
|
},
|
|
{
|
|
path: "runs/:runid/tasks/:taskid",
|
|
name: "org project run task",
|
|
component: task,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname, projectref: parseRef(route.params.projectref), runid: route.params.runid, taskid: route.params.taskid })
|
|
},
|
|
{
|
|
path: "settings",
|
|
name: "org project settings",
|
|
component: projectsettings,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname, projectref: parseRef(route.params.projectref) })
|
|
},
|
|
]
|
|
},
|
|
|
|
{
|
|
path: "/org/:orgname/projectgroups/:projectgroupref(.*\\.proj)",
|
|
component: ProjectGroup,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname, projectgroupref: parseRef(route.params.projectgroupref) }),
|
|
children: [
|
|
{
|
|
path: "",
|
|
name: "org project group",
|
|
component: projects,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname, projectgroupref: parseRef(route.params.projectgroupref) }),
|
|
},
|
|
{
|
|
path: "projects",
|
|
name: "org project group projects",
|
|
component: projects,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname, projectgroupref: parseRef(route.params.projectgroupref) })
|
|
},
|
|
{
|
|
path: "settings",
|
|
name: "org project group settings",
|
|
component: projectgroupsettings,
|
|
props: (route) => ({ ownertype: "org", ownername: route.params.orgname, projectgroupref: parseRef(route.params.projectgroupref) })
|
|
},
|
|
]
|
|
},
|
|
]
|
|
});
|