Files
lynq-chat/packages/backend/src/routes/server-info.ts
T

28 lines
904 B
TypeScript

import { DatabaseError } from "@/errors";
import Logger from "@/lib/logger";
import { ConfigEntity } from "@/modules/entities/Config";
import { UserEntity } from "@/modules/entities/User";
import type { FastifyInstance } from "fastify";
export default async function ServerInfo(fastify: FastifyInstance) {
const logger = new Logger("Endpoint | server-info");
fastify.post("/", async (req, res) => {
try {
const config = fastify.orm.em.getRepository(ConfigEntity);
const user = fastify.orm.em.getRepository(UserEntity);
const configCount = await config.count();
const userCount = await user.count();
return res.send({
isInitialized: configCount > 0,
isFirstAdminExists: userCount > 0,
userCount,
});
} catch (err) {
logger.error("Database error:", err);
return res.code(500).send(DatabaseError());
}
});
}