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
 | |
| }
 |