mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			82 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
import { makeDeleteRequest, makeGetRequest, makePostBodyRequest, makePutBodyRequest } from '../requests/requests'
 | 
						|
import { VideoRedundanciesTarget } from '@shared/models'
 | 
						|
 | 
						|
function updateRedundancy (url: string, accessToken: string, host: string, redundancyAllowed: boolean, expectedStatus = 204) {
 | 
						|
  const path = '/api/v1/server/redundancy/' + host
 | 
						|
 | 
						|
  return makePutBodyRequest({
 | 
						|
    url,
 | 
						|
    path,
 | 
						|
    token: accessToken,
 | 
						|
    fields: { redundancyAllowed },
 | 
						|
    statusCodeExpected: expectedStatus
 | 
						|
  })
 | 
						|
}
 | 
						|
 | 
						|
function listVideoRedundancies (options: {
 | 
						|
  url: string
 | 
						|
  accessToken: string
 | 
						|
  target: VideoRedundanciesTarget
 | 
						|
  start?: number
 | 
						|
  count?: number
 | 
						|
  sort?: string
 | 
						|
  statusCodeExpected?: number
 | 
						|
}) {
 | 
						|
  const path = '/api/v1/server/redundancy/videos'
 | 
						|
 | 
						|
  const { url, accessToken, target, statusCodeExpected, start, count, sort } = options
 | 
						|
 | 
						|
  return makeGetRequest({
 | 
						|
    url,
 | 
						|
    token: accessToken,
 | 
						|
    path,
 | 
						|
    query: {
 | 
						|
      start: start ?? 0,
 | 
						|
      count: count ?? 5,
 | 
						|
      sort: sort ?? 'name',
 | 
						|
      target
 | 
						|
    },
 | 
						|
    statusCodeExpected: statusCodeExpected || 200
 | 
						|
  })
 | 
						|
}
 | 
						|
 | 
						|
function addVideoRedundancy (options: {
 | 
						|
  url: string
 | 
						|
  accessToken: string
 | 
						|
  videoId: number
 | 
						|
}) {
 | 
						|
  const path = '/api/v1/server/redundancy/videos'
 | 
						|
  const { url, accessToken, videoId } = options
 | 
						|
 | 
						|
  return makePostBodyRequest({
 | 
						|
    url,
 | 
						|
    token: accessToken,
 | 
						|
    path,
 | 
						|
    fields: { videoId },
 | 
						|
    statusCodeExpected: 204
 | 
						|
  })
 | 
						|
}
 | 
						|
 | 
						|
function removeVideoRedundancy (options: {
 | 
						|
  url: string
 | 
						|
  accessToken: string
 | 
						|
  redundancyId: number
 | 
						|
}) {
 | 
						|
  const { url, accessToken, redundancyId } = options
 | 
						|
  const path = '/api/v1/server/redundancy/videos/' + redundancyId
 | 
						|
 | 
						|
  return makeDeleteRequest({
 | 
						|
    url,
 | 
						|
    token: accessToken,
 | 
						|
    path,
 | 
						|
    statusCodeExpected: 204
 | 
						|
  })
 | 
						|
}
 | 
						|
 | 
						|
export {
 | 
						|
  updateRedundancy,
 | 
						|
  listVideoRedundancies,
 | 
						|
  addVideoRedundancy,
 | 
						|
  removeVideoRedundancy
 | 
						|
}
 |