From 8bf25515658ef56d48730cbfcae3acedc81e358f Mon Sep 17 00:00:00 2001 From: Sainan Date: Sat, 4 May 2024 15:33:16 +0200 Subject: [PATCH] =?UTF-8?q?improve:=20Replace=20guildDbToResponse=20with?= =?UTF-8?q?=20=E2=9C=A8=E2=9C=A8=E2=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/api/createGuildController.ts | 4 ++-- src/controllers/api/getGuildController.ts | 3 +-- src/models/guildModel.ts | 8 ++++++++ src/types/guildTypes.ts | 6 ------ 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/controllers/api/createGuildController.ts b/src/controllers/api/createGuildController.ts index 22ec05b2..c8828b03 100644 --- a/src/controllers/api/createGuildController.ts +++ b/src/controllers/api/createGuildController.ts @@ -2,7 +2,7 @@ import { RequestHandler } from "express"; import { getJSONfromString } from "@/src/helpers/stringHelpers"; import { Inventory } from "@/src/models/inventoryModels/inventoryModel"; import { Guild } from "@/src/models/guildModel"; -import { IGuild, guildDbToResponse, ICreateGuildRequest } from "@/src/types/guildTypes"; +import { IGuild, ICreateGuildRequest } from "@/src/types/guildTypes"; const createGuildController: RequestHandler = async (req, res) => { let payload: ICreateGuildRequest = getJSONfromString(req.body.toString()); @@ -29,7 +29,7 @@ const createGuildController: RequestHandler = async (req, res) => { await inventory.save(); } - res.json(guildDbToResponse(guild)); + res.json(guild); }; export { createGuildController }; diff --git a/src/controllers/api/getGuildController.ts b/src/controllers/api/getGuildController.ts index bc6e17ef..81dfde24 100644 --- a/src/controllers/api/getGuildController.ts +++ b/src/controllers/api/getGuildController.ts @@ -1,7 +1,6 @@ import { RequestHandler } from "express"; import { Inventory } from "@/src/models/inventoryModels/inventoryModel"; import { Guild } from "@/src/models/guildModel"; -import { guildDbToResponse } from "@/src/types/guildTypes"; const getGuildController: RequestHandler = async (req, res) => { if (!req.query.accountId) { @@ -16,7 +15,7 @@ const getGuildController: RequestHandler = async (req, res) => { if (inventory.GuildId) { const guild = await Guild.findOne({ _id: inventory.GuildId }); if (guild) { - res.json(guildDbToResponse(guild)); + res.json(guild); return; } } diff --git a/src/models/guildModel.ts b/src/models/guildModel.ts index ba305338..3d8cbc3b 100644 --- a/src/models/guildModel.ts +++ b/src/models/guildModel.ts @@ -1,8 +1,16 @@ import { IGuild, IDatabaseGuild } from "@/src/types/guildTypes"; import { model, Schema } from "mongoose"; +import { toOid } from "@/src/helpers/inventoryHelpers"; const guildSchema = new Schema({ Name: { type: String, required: true } }); +guildSchema.set("toJSON", { + virtuals: true, + transform(_document, guild) { + guild._id = toOid(guild._id); + } +}); + export const Guild = model("Guild", guildSchema); diff --git a/src/types/guildTypes.ts b/src/types/guildTypes.ts index 5aefda9e..30350ff4 100644 --- a/src/types/guildTypes.ts +++ b/src/types/guildTypes.ts @@ -1,6 +1,5 @@ import { Types } from "mongoose"; import { IOid } from "@/src/types/commonTypes"; -import { toOid } from "@/src/helpers/inventoryHelpers"; export interface IGuild { Name: string; @@ -14,11 +13,6 @@ export interface IGuildResponse extends IGuild { _id: IOid; } -export function guildDbToResponse(guild: IDatabaseGuild): IGuildResponse { - (guild as IGuild as IGuildResponse)._id = toOid(guild._id); - return guild as IGuild as IGuildResponse; -} - export interface ICreateGuildRequest { guildName: string; }