email verification flow updated
This commit is contained in:
@@ -241,6 +241,14 @@ router.get('/posts/:id', optionalAuth, async (req, res, next) => {
|
||||
// POST /api/forum/posts - Create new post
|
||||
router.post('/posts', authenticateToken, async (req, res, next) => {
|
||||
try {
|
||||
// Require email verification
|
||||
if (!req.user.isVerified) {
|
||||
return res.status(403).json({
|
||||
error: "Please verify your email address before creating forum posts.",
|
||||
code: "EMAIL_NOT_VERIFIED"
|
||||
});
|
||||
}
|
||||
|
||||
let { title, content, category, tags, zipCode, latitude: providedLat, longitude: providedLng, imageFilenames: rawImageFilenames } = req.body;
|
||||
|
||||
// Ensure imageFilenames is an array and validate S3 keys
|
||||
@@ -490,6 +498,14 @@ router.post('/posts', authenticateToken, async (req, res, next) => {
|
||||
// PUT /api/forum/posts/:id - Update post
|
||||
router.put('/posts/:id', authenticateToken, async (req, res, next) => {
|
||||
try {
|
||||
// Require email verification
|
||||
if (!req.user.isVerified) {
|
||||
return res.status(403).json({
|
||||
error: "Please verify your email address before editing forum posts.",
|
||||
code: "EMAIL_NOT_VERIFIED"
|
||||
});
|
||||
}
|
||||
|
||||
const post = await ForumPost.findByPk(req.params.id);
|
||||
|
||||
if (!post) {
|
||||
@@ -934,6 +950,14 @@ router.patch('/posts/:id/accept-answer', authenticateToken, async (req, res, nex
|
||||
// POST /api/forum/posts/:id/comments - Add comment/reply
|
||||
router.post('/posts/:id/comments', authenticateToken, async (req, res, next) => {
|
||||
try {
|
||||
// Require email verification
|
||||
if (!req.user.isVerified) {
|
||||
return res.status(403).json({
|
||||
error: "Please verify your email address before commenting.",
|
||||
code: "EMAIL_NOT_VERIFIED"
|
||||
});
|
||||
}
|
||||
|
||||
// Support both parentId (new) and parentCommentId (legacy) for backwards compatibility
|
||||
const { content, parentId, parentCommentId, imageFilenames: rawImageFilenames } = req.body;
|
||||
const parentIdResolved = parentId || parentCommentId;
|
||||
@@ -1111,6 +1135,14 @@ router.post('/posts/:id/comments', authenticateToken, async (req, res, next) =>
|
||||
// PUT /api/forum/comments/:id - Edit comment
|
||||
router.put('/comments/:id', authenticateToken, async (req, res, next) => {
|
||||
try {
|
||||
// Require email verification
|
||||
if (!req.user.isVerified) {
|
||||
return res.status(403).json({
|
||||
error: "Please verify your email address before editing comments.",
|
||||
code: "EMAIL_NOT_VERIFIED"
|
||||
});
|
||||
}
|
||||
|
||||
const { content, imageFilenames: rawImageFilenames } = req.body;
|
||||
const comment = await ForumComment.findByPk(req.params.id);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user