mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
import * as express from 'express'
 | 
						|
import { VideoChannelModel } from '../../models/video/video-channel'
 | 
						|
import { MChannelAccountDefault } from '@server/types/models'
 | 
						|
import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
 | 
						|
 | 
						|
async function doesLocalVideoChannelNameExist (name: string, res: express.Response) {
 | 
						|
  const videoChannel = await VideoChannelModel.loadLocalByNameAndPopulateAccount(name)
 | 
						|
 | 
						|
  return processVideoChannelExist(videoChannel, res)
 | 
						|
}
 | 
						|
 | 
						|
async function doesVideoChannelIdExist (id: number, res: express.Response) {
 | 
						|
  const videoChannel = await VideoChannelModel.loadAndPopulateAccount(+id)
 | 
						|
 | 
						|
  return processVideoChannelExist(videoChannel, res)
 | 
						|
}
 | 
						|
 | 
						|
async function doesVideoChannelNameWithHostExist (nameWithDomain: string, res: express.Response) {
 | 
						|
  const videoChannel = await VideoChannelModel.loadByNameWithHostAndPopulateAccount(nameWithDomain)
 | 
						|
 | 
						|
  return processVideoChannelExist(videoChannel, res)
 | 
						|
}
 | 
						|
 | 
						|
// ---------------------------------------------------------------------------
 | 
						|
 | 
						|
export {
 | 
						|
  doesLocalVideoChannelNameExist,
 | 
						|
  doesVideoChannelIdExist,
 | 
						|
  doesVideoChannelNameWithHostExist
 | 
						|
}
 | 
						|
 | 
						|
function processVideoChannelExist (videoChannel: MChannelAccountDefault, res: express.Response) {
 | 
						|
  if (!videoChannel) {
 | 
						|
    res.status(HttpStatusCode.NOT_FOUND_404)
 | 
						|
       .json({ error: 'Video channel not found' })
 | 
						|
       .end()
 | 
						|
 | 
						|
    return false
 | 
						|
  }
 | 
						|
 | 
						|
  res.locals.videoChannel = videoChannel
 | 
						|
  return true
 | 
						|
}
 |