Feat: server-infoエンドポイント / Fix: logger.tsを追跡対象に / Feat: lynqchat-jsを利用可能に / Fix: lynqchat-jsに不足していたエンドポイントを追加

This commit is contained in:
2026-03-19 15:12:26 +09:00
parent bb0bfc1dfd
commit 9e106c14f5
24 changed files with 544 additions and 94 deletions
+5
View File
@@ -2,6 +2,7 @@ import type { FastifyInstance } from "fastify";
import Setup from "./setup";
import Primary from "./primary";
import Me from "./me";
import ServerInfo from "./server-info";
export default async function Routes(fastify: FastifyInstance) {
await fastify.register(Setup, {
@@ -12,6 +13,10 @@ export default async function Routes(fastify: FastifyInstance) {
prefix: "/primary",
});
await fastify.register(ServerInfo, {
prefix: "/server-info",
});
await fastify.register(Me, {
prefix: "/me",
});
@@ -0,0 +1,26 @@
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) {
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());
}
});
}
-18
View File
@@ -1,18 +0,0 @@
import { ConfigEntity } from "@/modules/entities/Config";
import { UserEntity } from "@/modules/entities/User";
import type { FastifyInstance } from "fastify";
export default async function ServerInfo(fastify: FastifyInstance) {
fastify.post("/", async (req, res) => {
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,
});
});
}