✨ feat: add endpoint to get active banners
This commit is contained in:
@ -0,0 +1,18 @@
|
||||
import { Context } from "elysia";
|
||||
import { mainErrorHandler } from "../../../helpers/error/handler";
|
||||
import { returnReadResponse } from "../../../helpers/callback/httpResponse";
|
||||
import { getActiveHeroBannerService } from "../services/getActiveHeroBanner.service";
|
||||
|
||||
export const getActiveHeroBannerController = async (ctx: Context) => {
|
||||
try {
|
||||
const response = await getActiveHeroBannerService();
|
||||
return returnReadResponse(
|
||||
ctx.set,
|
||||
200,
|
||||
"Active hero banners fetched successfully",
|
||||
response,
|
||||
);
|
||||
} catch (error) {
|
||||
return mainErrorHandler(ctx.set, error);
|
||||
}
|
||||
};
|
||||
7
src/modules/heroBanner/index.ts
Normal file
7
src/modules/heroBanner/index.ts
Normal file
@ -0,0 +1,7 @@
|
||||
import Elysia from "elysia";
|
||||
import { getActiveHeroBannerController } from "./controllers/getActiveHeroBanner.controller";
|
||||
|
||||
export const heroBannerModule = new Elysia({ prefix: "/hero-banner" }).get(
|
||||
"/",
|
||||
getActiveHeroBannerController,
|
||||
);
|
||||
@ -0,0 +1,19 @@
|
||||
import { AppError } from "../../../../helpers/error/instances/app";
|
||||
import { prisma } from "../../../../utils/databases/prisma/connection";
|
||||
|
||||
export const findAllActiveHeroBannerRepository = async () => {
|
||||
try {
|
||||
return await prisma.heroBanner.findMany({
|
||||
where: {
|
||||
startDate: {
|
||||
lte: new Date(),
|
||||
},
|
||||
endDate: {
|
||||
gte: new Date(),
|
||||
},
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
throw new AppError(500, "Failed to fetch active hero banners", error);
|
||||
}
|
||||
};
|
||||
@ -0,0 +1,10 @@
|
||||
import { ErrorForwarder } from "../../../helpers/error/instances/forwarder";
|
||||
import { findAllActiveHeroBannerRepository } from "../repositories/GET/findAllActiveHeroBanner.repository";
|
||||
|
||||
export const getActiveHeroBannerService = async () => {
|
||||
try {
|
||||
return await findAllActiveHeroBannerRepository();
|
||||
} catch (error) {
|
||||
ErrorForwarder(error);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user