Skip to content

Commit

Permalink
Merge pull request #43 from kentibs/feat/newletter
Browse files Browse the repository at this point in the history
feat: add api endpoint to post newsLetter
  • Loading branch information
Tibz-Dankan authored Feb 13, 2024
2 parents 98d3ab7 + c7cc193 commit ea8bf6c
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
29 changes: 29 additions & 0 deletions src/controllers/newsLetterController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,32 @@ export const getAllNewsLetterSubscribers = asyncHandler(
});
}
);

export const postNewsLetter = asyncHandler(
async (req: Request, res: Response, next: NextFunction) => {
const email = req.body.email as string;

const recipients = JSON.parse(req.body.recipients) as string[];
const newLettersTitle = req.body.newLettersTitle;
const newLettersBody = req.body.newLettersBody;

if (!newLettersTitle) {
new AppError("Please provide newLettersTitle", 400);
}

if (!newLettersBody) {
new AppError("Please provide newLettersBody", 400);
}

if (!recipients[0]) {
new AppError("Please provide at least one recipient", 400);
}

// TODO: implement the newsLetter sending functionality

res.status(201).json({
status: "success",
message: "NewsLetter sent to recipients successfully",
});
}
);
3 changes: 3 additions & 0 deletions src/routes/newsLetter/newsLetterRoutes.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
import express from "express";
import {
getAllNewsLetterSubscribers,
postNewsLetter,
subscribeToNewsLetter,
} from "../../controllers/newsLetterController";
import { protectSuperAdmin } from "../../controllers/userController";

const router = express.Router();

router.post("/subscribe", subscribeToNewsLetter);
router.get("/get", getAllNewsLetterSubscribers);
router.post("/post", protectSuperAdmin, postNewsLetter);

export { router as newsLetterRoutes };

0 comments on commit ea8bf6c

Please sign in to comment.