mirror of
https://github.com/Dokploy/dokploy.git
synced 2026-06-19 06:05:25 +02:00
- Replaced user IP references with web server data across various components, including domain management and database credential displays. - Adjusted API calls to fetch web server information instead of user data, enhancing data consistency and clarity. - Refactored related functions to streamline the handling of server configurations and improve overall code maintainability.
63 lines
1.8 KiB
TypeScript
63 lines
1.8 KiB
TypeScript
import { apiUpdateWebServerMonitoring } from "@/server/db/schema";
|
|
import {
|
|
IS_CLOUD,
|
|
findUserById,
|
|
setupWebMonitoring,
|
|
updateWebServer,
|
|
} from "@dokploy/server";
|
|
import { TRPCError } from "@trpc/server";
|
|
import { adminProcedure, createTRPCRouter } from "../trpc";
|
|
|
|
export const adminRouter = createTRPCRouter({
|
|
setupMonitoring: adminProcedure
|
|
.input(apiUpdateWebServerMonitoring)
|
|
.mutation(async ({ input, ctx }) => {
|
|
try {
|
|
if (IS_CLOUD) {
|
|
throw new TRPCError({
|
|
code: "UNAUTHORIZED",
|
|
message: "Feature disabled on cloud",
|
|
});
|
|
}
|
|
const user = await findUserById(ctx.user.ownerId);
|
|
if (user.id !== ctx.user.ownerId) {
|
|
throw new TRPCError({
|
|
code: "UNAUTHORIZED",
|
|
message: "You are not authorized to setup the monitoring",
|
|
});
|
|
}
|
|
|
|
await updateWebServer({
|
|
// @ts-expect-error - TODO: fix this
|
|
metricsConfig: {
|
|
server: {
|
|
type: "Dokploy",
|
|
refreshRate: input.metricsConfig.server.refreshRate,
|
|
port: input.metricsConfig.server.port,
|
|
token: input.metricsConfig.server.token,
|
|
cronJob: input.metricsConfig.server.cronJob,
|
|
urlCallback: input.metricsConfig.server.urlCallback,
|
|
retentionDays: input.metricsConfig.server.retentionDays,
|
|
thresholds: {
|
|
cpu: input.metricsConfig.server.thresholds.cpu,
|
|
memory: input.metricsConfig.server.thresholds.memory,
|
|
},
|
|
},
|
|
containers: {
|
|
refreshRate: input.metricsConfig.containers.refreshRate,
|
|
services: {
|
|
include: input.metricsConfig.containers.services.include || [],
|
|
exclude: input.metricsConfig.containers.services.exclude || [],
|
|
},
|
|
},
|
|
},
|
|
});
|
|
|
|
const currentServer = await setupWebMonitoring();
|
|
return currentServer;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}),
|
|
});
|