polish server deployment workflow
This commit is contained in:
@@ -39,6 +39,8 @@ describe("console shell routes", () => {
|
||||
expect(resolved.route.id).toBe("serverDetail");
|
||||
expect(resolved.params.serverId).toBe("server-example-1");
|
||||
expect(hashForPage("serverDetail", { serverId: "server-example-1" })).toBe("#/servers/server-example-1");
|
||||
expect(hashForPage("serverDetail", { serverId: "server-example-1", routeKey: "run-builder" })).toBe("#/servers/server-example-1?focus=run-builder");
|
||||
expect(resolveRouteHash("#/servers/server-example-1?focus=run-builder", platformAdmin).params).toEqual({ serverId: "server-example-1", routeKey: "run-builder" });
|
||||
});
|
||||
|
||||
it("round-trips hosted plugin page hashes with server context", () => {
|
||||
|
||||
@@ -100,7 +100,10 @@ export function routeForPage(pageId: PageId): PageRoute {
|
||||
export function hashForPage(pageId: PageId, params: PageParams = {}): string {
|
||||
const route = routeForPage(pageId);
|
||||
if (pageId === "serverDetail" && params.serverId) {
|
||||
return `#/servers/${encodeURIComponent(params.serverId)}`;
|
||||
const query = new URLSearchParams();
|
||||
if (params.routeKey) query.set("focus", params.routeKey);
|
||||
const suffix = query.toString();
|
||||
return `#/servers/${encodeURIComponent(params.serverId)}${suffix ? `?${suffix}` : ""}`;
|
||||
}
|
||||
if (pageId === "pluginPage" && params.pluginId && params.routeKey) {
|
||||
const query = new URLSearchParams();
|
||||
@@ -144,7 +147,8 @@ export function resolveRouteHash(hash: string, user?: CurrentUserView): Resolved
|
||||
return fallback;
|
||||
}
|
||||
if (segments[0] === "servers" && segments.length > 1) {
|
||||
return { route: routeForPage("serverDetail"), params: { serverId: decodeURIComponent(segments[1]) } };
|
||||
const routeKey = new URLSearchParams(rawQuery).get("focus") ?? undefined;
|
||||
return { route: routeForPage("serverDetail"), params: { serverId: decodeURIComponent(segments[1]), routeKey } };
|
||||
}
|
||||
if (segments[0] === "plugin-pages" && segments.length > 2) {
|
||||
const serverId = new URLSearchParams(rawQuery).get("serverInstanceId") ?? undefined;
|
||||
|
||||
Reference in New Issue
Block a user