mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
| import { Response } from 'express'
 | |
| import * as validator from 'validator'
 | |
| import { CONSTRAINTS_FIELDS, VIDEO_ABUSE_STATES } from '../../initializers/constants'
 | |
| import { exists } from './misc'
 | |
| import { VideoAbuseModel } from '../../models/video/video-abuse'
 | |
| 
 | |
| const VIDEO_ABUSES_CONSTRAINTS_FIELDS = CONSTRAINTS_FIELDS.VIDEO_ABUSES
 | |
| 
 | |
| function isVideoAbuseReasonValid (value: string) {
 | |
|   return exists(value) && validator.isLength(value, VIDEO_ABUSES_CONSTRAINTS_FIELDS.REASON)
 | |
| }
 | |
| 
 | |
| function isVideoAbuseModerationCommentValid (value: string) {
 | |
|   return exists(value) && validator.isLength(value, VIDEO_ABUSES_CONSTRAINTS_FIELDS.MODERATION_COMMENT)
 | |
| }
 | |
| 
 | |
| function isVideoAbuseStateValid (value: string) {
 | |
|   return exists(value) && VIDEO_ABUSE_STATES[ value ] !== undefined
 | |
| }
 | |
| 
 | |
| async function doesVideoAbuseExist (abuseId: number, videoId: number, res: Response) {
 | |
|   const videoAbuse = await VideoAbuseModel.loadByIdAndVideoId(abuseId, videoId)
 | |
| 
 | |
|   if (videoAbuse === null) {
 | |
|     res.status(404)
 | |
|        .json({ error: 'Video abuse not found' })
 | |
|        .end()
 | |
| 
 | |
|     return false
 | |
|   }
 | |
| 
 | |
|   res.locals.videoAbuse = videoAbuse
 | |
|   return true
 | |
| }
 | |
| 
 | |
| // ---------------------------------------------------------------------------
 | |
| 
 | |
| export {
 | |
|   doesVideoAbuseExist,
 | |
|   isVideoAbuseStateValid,
 | |
|   isVideoAbuseReasonValid,
 | |
|   isVideoAbuseModerationCommentValid
 | |
| }
 |