feat/episode-details #11
5
src/helpers/characters/serializeBigInt.ts
Normal file
5
src/helpers/characters/serializeBigInt.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
export const serializeBigInt = <T>(data: T): T => {
|
||||||
|
return JSON.parse(
|
||||||
|
JSON.stringify(data, (_, v) => (typeof v === "bigint" ? Number(v) : v)),
|
||||||
|
);
|
||||||
|
};
|
||||||
@ -1,3 +1,4 @@
|
|||||||
|
import { serializeBigInt } from "../../../../helpers/characters/serializeBigInt";
|
||||||
import { AppError } from "../../../../helpers/error/instances/app";
|
import { AppError } from "../../../../helpers/error/instances/app";
|
||||||
import { episodeModel } from "../../episode.model";
|
import { episodeModel } from "../../episode.model";
|
||||||
|
|
||||||
@ -6,7 +7,7 @@ export const getEpisodeDetailsRepository = async (payload: {
|
|||||||
episode: number;
|
episode: number;
|
||||||
}) => {
|
}) => {
|
||||||
try {
|
try {
|
||||||
return await episodeModel.findUnique({
|
const result = await episodeModel.findUnique({
|
||||||
where: {
|
where: {
|
||||||
mediaId_episode: {
|
mediaId_episode: {
|
||||||
mediaId: payload.mediaId,
|
mediaId: payload.mediaId,
|
||||||
@ -57,6 +58,8 @@ export const getEpisodeDetailsRepository = async (payload: {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return serializeBigInt(result);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw new AppError(500, "Failed to fetch episode details.", error);
|
throw new AppError(500, "Failed to fetch episode details.", error);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user