1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/src/renderer/components/+workloads/workloads.route.ts
Roman 9ec91c0c9c PageRegistration refactoring #1258 -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
2020-11-10 17:24:19 +02:00

75 lines
2.0 KiB
TypeScript

import type { RouteProps } from "react-router";
import { buildURL, IURLParams } from "../../../common/utils/buildUrl";
import { KubeResource } from "../../../common/rbac";
import { Workloads } from "./workloads";
export const workloadsRoute: RouteProps = {
get path() {
return Workloads.tabRoutes.map(({ routePath }) => routePath).flat()
}
}
// Routes
export const overviewRoute: RouteProps = {
path: "/workloads"
}
export const podsRoute: RouteProps = {
path: "/pods"
}
export const deploymentsRoute: RouteProps = {
path: "/deployments"
}
export const daemonSetsRoute: RouteProps = {
path: "/daemonsets"
}
export const statefulSetsRoute: RouteProps = {
path: "/statefulsets"
}
export const jobsRoute: RouteProps = {
path: "/jobs"
}
export const cronJobsRoute: RouteProps = {
path: "/cronjobs"
}
// Route params
export interface IWorkloadsOverviewRouteParams {
}
export interface IPodsRouteParams {
}
export interface IDeploymentsRouteParams {
}
export interface IDaemonSetsRouteParams {
}
export interface IStatefulSetsRouteParams {
}
export interface IJobsRouteParams {
}
export interface ICronJobsRouteParams {
}
// URL-builders
export const workloadsURL = (params?: IURLParams) => overviewURL(params);
export const overviewURL = buildURL<IWorkloadsOverviewRouteParams>(overviewRoute.path)
export const podsURL = buildURL<IPodsRouteParams>(podsRoute.path)
export const deploymentsURL = buildURL<IDeploymentsRouteParams>(deploymentsRoute.path)
export const daemonSetsURL = buildURL<IDaemonSetsRouteParams>(daemonSetsRoute.path)
export const statefulSetsURL = buildURL<IStatefulSetsRouteParams>(statefulSetsRoute.path)
export const jobsURL = buildURL<IJobsRouteParams>(jobsRoute.path)
export const cronJobsURL = buildURL<ICronJobsRouteParams>(cronJobsRoute.path)
export const workloadURL: Partial<Record<KubeResource, ReturnType<typeof buildURL>>> = {
"pods": podsURL,
"deployments": deploymentsURL,
"daemonsets": daemonSetsURL,
"statefulsets": statefulSetsURL,
"jobs": jobsURL,
"cronjobs": cronJobsURL,
}