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; }