refactor(server): server updates can now only be done from a dev pc
All checks were successful
Build and Push LST Docker Image / docker (push) Successful in 1m54s
All checks were successful
Build and Push LST Docker Image / docker (push) Successful in 1m54s
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -149,3 +149,4 @@ dist
|
|||||||
.yarn/install-state.gz
|
.yarn/install-state.gz
|
||||||
.pnp.*
|
.pnp.*
|
||||||
|
|
||||||
|
frontend/.tanstack/tmp/2249110e-da91fb0b1b87b6c4cc3e2c2cd25037fd
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ export const Route = createFileRoute("/admin/servers")({
|
|||||||
const ServerTable = () => {
|
const ServerTable = () => {
|
||||||
const { data, refetch } = useSuspenseQuery(servers());
|
const { data, refetch } = useSuspenseQuery(servers());
|
||||||
const columnHelper = createColumnHelper<any>();
|
const columnHelper = createColumnHelper<any>();
|
||||||
|
const okToUpdate = ["localhost", "usmcd1olp082"];
|
||||||
const columns = [
|
const columns = [
|
||||||
columnHelper.accessor("name", {
|
columnHelper.accessor("name", {
|
||||||
header: ({ column }) => (
|
header: ({ column }) => (
|
||||||
@@ -75,81 +75,86 @@ const ServerTable = () => {
|
|||||||
),
|
),
|
||||||
cell: (i) => <span>{i.getValue()}</span>,
|
cell: (i) => <span>{i.getValue()}</span>,
|
||||||
}),
|
}),
|
||||||
columnHelper.accessor("lastUpdated", {
|
|
||||||
header: ({ column }) => (
|
|
||||||
<SearchableHeader column={column} title="Last Update" />
|
|
||||||
),
|
|
||||||
cell: (i) => <span>{format(i.getValue(), "M/d/yyyy HH:mm")}</span>,
|
|
||||||
}),
|
|
||||||
columnHelper.accessor("buildNumber", {
|
|
||||||
header: ({ column }) => (
|
|
||||||
<SearchableHeader column={column} title="Build" />
|
|
||||||
),
|
|
||||||
cell: (i) => <span>{i.getValue()}</span>,
|
|
||||||
}),
|
|
||||||
columnHelper.accessor("update", {
|
|
||||||
header: ({ column }) => (
|
|
||||||
<SearchableHeader column={column} title="Update" searchable={false} />
|
|
||||||
),
|
|
||||||
filterFn: "includesString",
|
|
||||||
cell: (i) => {
|
|
||||||
// biome-ignore lint: just removing the lint for now to get this going will maybe fix later
|
|
||||||
const [activeToggle, setActiveToggle] = useState(false);
|
|
||||||
|
|
||||||
const onToggle = async () => {
|
|
||||||
setActiveToggle(true);
|
|
||||||
toast.success(
|
|
||||||
`${i.row.original.name} just started the upgrade monitor logs for errors.`,
|
|
||||||
);
|
|
||||||
try {
|
|
||||||
const res = await axios.post(
|
|
||||||
`/lst/api/admin/build/updateServer`,
|
|
||||||
{
|
|
||||||
server: i.row.original.server,
|
|
||||||
destination: i.row.original.serverLoc,
|
|
||||||
token: i.row.original.plantToken,
|
|
||||||
},
|
|
||||||
{ withCredentials: true },
|
|
||||||
);
|
|
||||||
|
|
||||||
if (res.data.success) {
|
|
||||||
toast.success(
|
|
||||||
`${i.row.original.name} has completed its upgrade.`,
|
|
||||||
);
|
|
||||||
refetch();
|
|
||||||
setActiveToggle(false);
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
setActiveToggle(false);
|
|
||||||
console.error(error);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<div className="flex items-center space-x-2">
|
|
||||||
<Button
|
|
||||||
variant="ghost"
|
|
||||||
disabled={activeToggle}
|
|
||||||
onClick={() => onToggle()}
|
|
||||||
>
|
|
||||||
{activeToggle ? (
|
|
||||||
<span>
|
|
||||||
<Spinner />
|
|
||||||
</span>
|
|
||||||
) : (
|
|
||||||
<span>
|
|
||||||
<CircleFadingArrowUp />
|
|
||||||
</span>
|
|
||||||
)}
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
if (okToUpdate.includes(window.location.hostname)) {
|
||||||
|
columns.push(
|
||||||
|
columnHelper.accessor("lastUpdated", {
|
||||||
|
header: ({ column }) => (
|
||||||
|
<SearchableHeader column={column} title="Last Update" />
|
||||||
|
),
|
||||||
|
cell: (i) => <span>{format(i.getValue(), "M/d/yyyy HH:mm")}</span>,
|
||||||
|
}),
|
||||||
|
columnHelper.accessor("buildNumber", {
|
||||||
|
header: ({ column }) => (
|
||||||
|
<SearchableHeader column={column} title="Build" />
|
||||||
|
),
|
||||||
|
cell: (i) => <span>{i.getValue()}</span>,
|
||||||
|
}),
|
||||||
|
columnHelper.accessor("update", {
|
||||||
|
header: ({ column }) => (
|
||||||
|
<SearchableHeader column={column} title="Update" searchable={false} />
|
||||||
|
),
|
||||||
|
filterFn: "includesString",
|
||||||
|
cell: (i) => {
|
||||||
|
// biome-ignore lint: just removing the lint for now to get this going will maybe fix later
|
||||||
|
const [activeToggle, setActiveToggle] = useState(false);
|
||||||
|
|
||||||
|
const onToggle = async () => {
|
||||||
|
setActiveToggle(true);
|
||||||
|
toast.success(
|
||||||
|
`${i.row.original.name} just started the upgrade monitor logs for errors.`,
|
||||||
|
);
|
||||||
|
try {
|
||||||
|
const res = await axios.post(
|
||||||
|
`/lst/api/admin/build/updateServer`,
|
||||||
|
{
|
||||||
|
server: i.row.original.server,
|
||||||
|
destination: i.row.original.serverLoc,
|
||||||
|
token: i.row.original.plantToken,
|
||||||
|
},
|
||||||
|
{ withCredentials: true },
|
||||||
|
);
|
||||||
|
|
||||||
|
if (res.data.success) {
|
||||||
|
toast.success(
|
||||||
|
`${i.row.original.name} has completed its upgrade.`,
|
||||||
|
);
|
||||||
|
refetch();
|
||||||
|
setActiveToggle(false);
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
setActiveToggle(false);
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<div className="flex items-center space-x-2">
|
||||||
|
<Button
|
||||||
|
variant="ghost"
|
||||||
|
disabled={activeToggle}
|
||||||
|
onClick={() => onToggle()}
|
||||||
|
>
|
||||||
|
{activeToggle ? (
|
||||||
|
<span>
|
||||||
|
<Spinner />
|
||||||
|
</span>
|
||||||
|
) : (
|
||||||
|
<span>
|
||||||
|
<CircleFadingArrowUp />
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return <LstTable data={data} columns={columns} />;
|
return <LstTable data={data} columns={columns} />;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -158,6 +163,7 @@ function RouteComponent() {
|
|||||||
|
|
||||||
const columnHelper = createColumnHelper<any>();
|
const columnHelper = createColumnHelper<any>();
|
||||||
|
|
||||||
|
console.log(window.location);
|
||||||
const logColumns = [
|
const logColumns = [
|
||||||
columnHelper.accessor("timestamp", {
|
columnHelper.accessor("timestamp", {
|
||||||
header: ({ column }) => (
|
header: ({ column }) => (
|
||||||
|
|||||||
Reference in New Issue
Block a user