Skip to content

Commit

Permalink
Merge pull request #34 from kentibs/feat/events-api
Browse files Browse the repository at this point in the history
feat: add  event api endpoint to delete events
  • Loading branch information
Tibz-Dankan authored Jan 8, 2024
2 parents 1ee36e7 + 542bff7 commit 56c88ba
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 1 deletion.
5 changes: 5 additions & 0 deletions prisma/migrations/20240108020322_test/migration.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
-- DropForeignKey
ALTER TABLE "_event_images" DROP CONSTRAINT "_event_images_eventId_fkey";

-- AddForeignKey
ALTER TABLE "_event_images" ADD CONSTRAINT "_event_images_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "_events"("eventId") ON DELETE CASCADE ON UPDATE CASCADE;
2 changes: 1 addition & 1 deletion prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ model Event {

model EventImage {
eventImageId String @id @default(uuid())
Event Event @relation(fields: [eventId], references: [eventId])
Event Event @relation(fields: [eventId], references: [eventId], onDelete: Cascade, onUpdate: Cascade)
eventId String
imageUrl String? @db.Text
imagePath String? @db.Text
Expand Down
22 changes: 22 additions & 0 deletions src/controllers/eventsController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,28 @@ export const updateEvent = asyncHandler(
}
);

export const deleteEvent = asyncHandler(
async (req: Request, res: Response, next: NextFunction) => {
const eventId = req.params.eventId;
if (!eventId) return next(new AppError("Please provide eventId", 400));

const event = await Event.findFirst({
where: { eventId: eventId },
});

if (!event) {
return next(new AppError("event with provided Id is not found", 404));
}
// TODO: delete images for even from firebase
await Event.delete({ where: { eventId: eventId } });

res.status(200).json({
status: "success",
message: "Event deleted successfully",
});
}
);

export const getEvent = asyncHandler(
async (req: Request, res: Response, next: NextFunction) => {
const eventId = req.params.eventId;
Expand Down
2 changes: 2 additions & 0 deletions src/routes/event/eventRoutes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {
postEvent,
uploadEventImages,
updateEvent,
deleteEvent,
getEvent,
getAllEvents,
updateEventImage,
Expand All @@ -21,6 +22,7 @@ router.post(
uploadEventImages
);
router.patch("/update-event/:eventId", protectSuperAdmin, updateEvent);
router.delete("/delete-event/:eventId", protectSuperAdmin, deleteEvent);
router.get("/get-event/:eventId", getEvent);
router.get("/get-all-events", getAllEvents);
router.patch(
Expand Down

0 comments on commit 56c88ba

Please sign in to comment.