28 lines
904 B
TypeScript
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());
|
|
}
|
|
});
|
|
} |