diff --git a/core/src/actions/build.rs b/core/src/actions/build.rs index ff96a75e3..906b3d506 100644 --- a/core/src/actions/build.rs +++ b/core/src/actions/build.rs @@ -166,7 +166,7 @@ impl State { // none of these should be changed through this method new_build.name = current_build.name.clone(); new_build.permissions = current_build.permissions.clone(); - new_build.last_built_at = String::new(); + new_build.last_built_at = current_build.last_built_at.clone(); new_build.created_at = current_build.created_at.clone(); new_build.updated_at = start_ts.clone(); diff --git a/frontend/src/components/build/Header.tsx b/frontend/src/components/build/Header.tsx index 7fe595d30..c03e5230a 100644 --- a/frontend/src/components/build/Header.tsx +++ b/frontend/src/components/build/Header.tsx @@ -27,7 +27,8 @@ const Header: Component<{}> = (p) => { const userCanUpdate = () => user().admin || build().permissions![getId(user())] === PermissionLevel.Update; - const server = () => servers.get(build().server_id); + const server = () => + build().server_id ? servers.get(build().server_id!) : undefined; return ( <> = (p) => { const Build: Component<{ id: string }> = (p) => { const { user } = useUser(); - const { builds } = useAppState(); - const build = () => builds.get(p.id)! + const { builds, servers } = useAppState(); + const build = () => builds.get(p.id)!; + const server = () => + build().server_id ? servers.get(build().server_id!) : undefined; const version = () => { return `v${build().version.major}.${build().version.minor}.${ build().version.patch @@ -101,6 +106,7 @@ const Build: Component<{ id: string }> = (p) => { user().admin || build().permissions![getId(user())] === PermissionLevel.Execute || build().permissions![getId(user())] === PermissionLevel.Update; + const isAwsBuild = () => build().aws_config ? true : false; return ( = (p) => { height: "fit-content", "box-sizing": "border-box", "justify-content": "space-between", + padding: "0.5rem", }} > -

{build().name}

+ +

{build().name}

+ +
+
{server()?.server.name}
+
+ + +
aws build
+
+
{version()}
{lastBuiltAt()}
@@ -120,10 +140,13 @@ const Build: Component<{ id: string }> = (p) => { { - e.stopPropagation(); - e.preventDefault(); - }}> + } diff --git a/frontend/src/util/client_types.ts b/frontend/src/util/client_types.ts index 51148ea5d..c00ac0bba 100644 --- a/frontend/src/util/client_types.ts +++ b/frontend/src/util/client_types.ts @@ -2,6 +2,8 @@ Generated by typeshare 1.0.0 */ +import { PermissionLevel, PermissionsTarget } from "../types"; + export interface CreateBuildBody { name: string; } diff --git a/lib/types/src/build.rs b/lib/types/src/build.rs index c4089b340..3360128e3 100644 --- a/lib/types/src/build.rs +++ b/lib/types/src/build.rs @@ -69,7 +69,7 @@ pub struct Build { #[diff(attr(#[serde(skip_serializing_if = "option_diff_no_change")]))] pub docker_account: Option, - #[serde(default)] + #[serde(default, skip_serializing_if = "String::is_empty")] #[diff(attr(#[serde(skip)]))] #[builder(setter(skip))] pub last_built_at: String,