]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/middlewares/validators/abuse.ts
refactor API errors to standard error format
[github/Chocobozzz/PeerTube.git] / server / middlewares / validators / abuse.ts
index 3b897fdef1062d1c1dc7d29a6fb8da5269dbca2b..7f002e0d56cb7af955c8e3b34dd5a12329ca7cf4 100644 (file)
@@ -71,9 +71,7 @@ const abuseReportValidator = [
     if (body.comment?.id && !await doesCommentIdExist(body.comment.id, res)) return
 
     if (!body.video?.id && !body.account?.id && !body.comment?.id) {
-      res.status(HttpStatusCode.BAD_REQUEST_400)
-         .json({ error: 'video id or account id or comment id is required.' })
-
+      res.fail({ message: 'video id or account id or comment id is required.' })
       return
     }
 
@@ -195,8 +193,10 @@ const getAbuseValidator = [
       const message = `User ${user.username} does not have right to get abuse ${abuse.id}`
       logger.warn(message)
 
-      return res.status(HttpStatusCode.FORBIDDEN_403)
-                .json({ error: message })
+      return res.fail({
+        status: HttpStatusCode.FORBIDDEN_403,
+        message
+      })
     }
 
     return next()
@@ -209,10 +209,7 @@ const checkAbuseValidForMessagesValidator = [
 
     const abuse = res.locals.abuse
     if (abuse.ReporterAccount.isOwned() === false) {
-      return res.status(HttpStatusCode.BAD_REQUEST_400)
-                .json({
-                  error: 'This abuse was created by a user of your instance.'
-                })
+      return res.fail({ message: 'This abuse was created by a user of your instance.' })
     }
 
     return next()
@@ -246,13 +243,17 @@ const deleteAbuseMessageValidator = [
     const abuseMessage = await AbuseMessageModel.loadByIdAndAbuseId(messageId, abuse.id)
 
     if (!abuseMessage) {
-      return res.status(HttpStatusCode.NOT_FOUND_404)
-                .json({ error: 'Abuse message not found' })
+      return res.fail({
+        status: HttpStatusCode.NOT_FOUND_404,
+        message: 'Abuse message not found'
+      })
     }
 
     if (user.hasRight(UserRight.MANAGE_ABUSES) !== true && abuseMessage.accountId !== user.Account.id) {
-      return res.status(HttpStatusCode.FORBIDDEN_403)
-                .json({ error: 'Cannot delete this abuse message' })
+      return res.fail({
+        status: HttpStatusCode.FORBIDDEN_403,
+        message: 'Cannot delete this abuse message'
+      })
     }
 
     res.locals.abuseMessage = abuseMessage