Improved core structure

This commit is contained in:
2025-12-28 17:13:14 +01:00
parent ff5482e2a4
commit 398f5ca662
10 changed files with 26 additions and 27 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
import { NextRequest, NextResponse } from "next/server"; import { NextRequest, NextResponse } from "next/server";
import testAuth from "../auth"; import testAuth from "../auth";
import { StatusCodes } from "http-status-codes"; import { StatusCodes } from "http-status-codes";
import { getDocker } from "@/core/docker"; import { getDocker } from "@/core/server/docker";
import { Docker } from "@/lib/types"; import { Docker } from "@/lib/types";
export async function GET(req: NextRequest): Promise<NextResponse> { export async function GET(req: NextRequest): Promise<NextResponse> {
+2 -3
View File
@@ -5,12 +5,11 @@ import { Progress } from "@/components/ui/progress";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { type ChartConfig } from "@/components/ui/chart"; import { type ChartConfig } from "@/components/ui/chart";
import GradientAreaChart from "@/components/GradientAreaChart"; import GradientAreaChart from "@/components/GradientAreaChart";
import { getMetrics } from "@/core/client/metrics"; import { getMetrics } from "@/core/metrics";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { useIsMobile } from "@/hooks/use-mobile"; import { useIsMobile } from "@/hooks/use-mobile";
import RadialChart from "@/components/RadialChart"; import RadialChart from "@/components/RadialChart";
import { Node, NodeLiveData } from "@/lib/types"; import { getLiveNodes } from "@/core/node";
import { getLiveNodes } from "@/core/client/node";
import { average } from "@/lib/format"; import { average } from "@/lib/format";
const containerMetrics = [ const containerMetrics = [
+2 -2
View File
@@ -8,9 +8,9 @@ import { Server, Plus, Settings, Trash2 } from "lucide-react";
import { Progress } from "@/components/ui/progress"; import { Progress } from "@/components/ui/progress";
import { Docker, Node, NodeLiveData } from "@/lib/types"; import { Docker, Node, NodeLiveData } from "@/lib/types";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { getDockerNode, getLiveNodes } from "@/core/client/node"; import { getDockerNode, getLiveNodes } from "@/core/node";
import { formatBytes } from "@/lib/format"; import { formatBytes } from "@/lib/format";
import { setNodes as updateNodes } from "@/core/client/node"; import { setNodes as updateNodes } from "@/core/node";
import AddNode from "@/components/dialogs/AddNode"; import AddNode from "@/components/dialogs/AddNode";
function DiskUsage({ liveData }: NodeLiveData) { function DiskUsage({ liveData }: NodeLiveData) {
+1 -1
View File
@@ -16,7 +16,7 @@ import {
} from "lucide-react"; } from "lucide-react";
import { Progress } from "@/components/ui/progress"; import { Progress } from "@/components/ui/progress";
import Link from "next/link"; import Link from "next/link";
import { getLiveNodes } from "@/core/client/node"; import { getLiveNodes } from "@/core/node";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { Node, NodeLiveData } from "@/lib/types"; import { Node, NodeLiveData } from "@/lib/types";
+1 -1
View File
@@ -18,7 +18,7 @@ import {
authNode, authNode,
getNodes, getNodes,
setNodes as updateNodes, setNodes as updateNodes,
} from "@/core/client/node"; } from "@/core/node";
export default function AddNode({ children }: { children: ReactNode }) { export default function AddNode({ children }: { children: ReactNode }) {
const [step, setStep] = useState<1 | 2>(1); const [step, setStep] = useState<1 | 2>(1);
-12
View File
@@ -1,12 +0,0 @@
"use server";
import axios from "axios";
import { Node } from "@/lib/types";
export async function getDocker(node: Node): Promise<{ version: string }> {
return await (
await axios.get(`http://${node.ip}:3000/api/get-docker`, {
headers: { Authorization: `ApiKey ${node.key}` },
})
).data;
}
+8 -7
View File
@@ -1,11 +1,12 @@
"use server"; "use server";
import Docker from "dockerode"; import axios from "axios";
import { Node } from "@/lib/types";
const docker = new Docker(); export async function getDocker(node: Node): Promise<{ version: string }> {
return await (
export async function getDocker() { await axios.get(`http://${node.ip}:3000/api/get-docker`, {
const version = await docker.version(); headers: { Authorization: `ApiKey ${node.key}` },
const containers = await docker.listContainers(); })
return { version, containers }; ).data;
} }
+11
View File
@@ -0,0 +1,11 @@
"use server";
import Docker from "dockerode";
const docker = new Docker();
export async function getDocker() {
const version = await docker.version();
const containers = await docker.listContainers();
return { version, containers };
}