Chg: ConfigRepository.getのreturnをEntityに / Chg: setup/initilizationをのconfig操作をRepositoryに / Fix: setup/create-adminの重複チェックを解消
This commit is contained in:
@@ -3,12 +3,10 @@ import type { ConfigEntity } from "@/modules/entities/Config";
|
||||
|
||||
export class ConfigRepository extends EntityRepository<ConfigEntity> {
|
||||
async set(name: string, value: string) {
|
||||
await this.upsert({
|
||||
return await this.upsert({
|
||||
name,
|
||||
value,
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
async get(name: string, defaultValue?: string) {
|
||||
|
||||
@@ -3,7 +3,6 @@ import logger from "@/lib/logger";
|
||||
import type { FastifyInstance } from "fastify";
|
||||
import { UserRepository } from "@/modules/repositories/User";
|
||||
import { DatabaseError, ErrorBase, InputError } from "@/errors";
|
||||
import { ConfigEntity } from "@/modules/entities/Config";
|
||||
|
||||
export default function CreateAdmin(fastify: FastifyInstance) {
|
||||
fastify.post("/", async (req, res) => {
|
||||
@@ -15,22 +14,6 @@ export default function CreateAdmin(fastify: FastifyInstance) {
|
||||
return res.code(400).send(InputError(result.error.issues));
|
||||
}
|
||||
|
||||
try {
|
||||
const configCount = await fastify.orm.em.count(ConfigEntity);
|
||||
|
||||
if (configCount === 0) {
|
||||
return res.code(409).send(ErrorBase({
|
||||
bad: "client",
|
||||
code: "yet_initialization",
|
||||
message: "初期設定が行われていません。",
|
||||
}));
|
||||
}
|
||||
} catch (err) {
|
||||
logger.error("Database Error: Could not check if already initialization:", err);
|
||||
|
||||
return res.code(500).send(DatabaseError());
|
||||
}
|
||||
|
||||
try {
|
||||
const userCount = await fastify.orm.em.getRepository(UserEntity).count();
|
||||
|
||||
|
||||
@@ -46,12 +46,12 @@ export default function Initialization(fastify: FastifyInstance) {
|
||||
const entries = Object.entries(result.data).filter(([key]) => key !== "force");
|
||||
|
||||
for (const [key, value] of entries) {
|
||||
const entity = fastify.orm.em.create(ConfigEntity, {
|
||||
name: key,
|
||||
value: typeof value === "string"
|
||||
const entity = fastify.orm.em.getRepository(ConfigEntity).set(
|
||||
key,
|
||||
typeof value === "string"
|
||||
? value
|
||||
: String(value),
|
||||
});
|
||||
: String(value)
|
||||
);
|
||||
|
||||
fastify.orm.em.persist(entity);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user