]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - shared/extra-utils/videos/video-abuses.ts
Translated using Weblate (Arabic)
[github/Chocobozzz/PeerTube.git] / shared / extra-utils / videos / video-abuses.ts
CommitLineData
0e1dc3e7 1import * as request from 'supertest'
d95d1559
C
2import { AbusePredefinedReasonsString, AbuseState, AbuseUpdate, AbuseVideoIs } from '@shared/models'
3import { makeDeleteRequest, makeGetRequest, makePutBodyRequest } from '../requests/requests'
4
5// FIXME: deprecated in 2.3. Remove this file
0e1dc3e7 6
1ebddadd
RK
7function reportVideoAbuse (
8 url: string,
9 token: string,
10 videoId: number | string,
11 reason: string,
d95d1559 12 predefinedReasons?: AbusePredefinedReasonsString[],
1ebddadd
RK
13 startAt?: number,
14 endAt?: number,
15 specialStatus = 200
16) {
0e1dc3e7
C
17 const path = '/api/v1/videos/' + videoId + '/abuse'
18
19 return request(url)
20 .post(path)
21 .set('Accept', 'application/json')
22 .set('Authorization', 'Bearer ' + token)
1ebddadd 23 .send({ reason, predefinedReasons, startAt, endAt })
0e1dc3e7
C
24 .expect(specialStatus)
25}
26
feb34f6b
C
27function getVideoAbusesList (options: {
28 url: string
29 token: string
30 id?: number
d95d1559 31 predefinedReason?: AbusePredefinedReasonsString
feb34f6b 32 search?: string
d95d1559
C
33 state?: AbuseState
34 videoIs?: AbuseVideoIs
feb34f6b
C
35 searchReporter?: string
36 searchReportee?: string
37 searchVideo?: string
38 searchVideoChannel?: string
39}) {
40 const {
41 url,
42 token,
43 id,
1ebddadd 44 predefinedReason,
feb34f6b
C
45 search,
46 state,
47 videoIs,
48 searchReporter,
49 searchReportee,
50 searchVideo,
51 searchVideoChannel
52 } = options
0e1dc3e7
C
53 const path = '/api/v1/videos/abuse'
54
feb34f6b
C
55 const query = {
56 sort: 'createdAt',
57 id,
1ebddadd 58 predefinedReason,
feb34f6b
C
59 search,
60 state,
61 videoIs,
62 searchReporter,
63 searchReportee,
64 searchVideo,
65 searchVideoChannel
66 }
67
68 return makeGetRequest({
69 url,
70 path,
71 token,
72 query,
73 statusCodeExpected: 200
74 })
0e1dc3e7
C
75}
76
268eebed
C
77function updateVideoAbuse (
78 url: string,
79 token: string,
80 videoId: string | number,
81 videoAbuseId: number,
d95d1559 82 body: AbuseUpdate,
268eebed
C
83 statusCodeExpected = 204
84) {
85 const path = '/api/v1/videos/' + videoId + '/abuse/' + videoAbuseId
86
87 return makePutBodyRequest({
88 url,
89 token,
90 path,
91 fields: body,
92 statusCodeExpected
93 })
94}
95
96function deleteVideoAbuse (url: string, token: string, videoId: string | number, videoAbuseId: number, statusCodeExpected = 204) {
97 const path = '/api/v1/videos/' + videoId + '/abuse/' + videoAbuseId
98
99 return makeDeleteRequest({
100 url,
101 token,
102 path,
103 statusCodeExpected
104 })
105}
106
0e1dc3e7
C
107// ---------------------------------------------------------------------------
108
109export {
110 reportVideoAbuse,
268eebed
C
111 getVideoAbusesList,
112 updateVideoAbuse,
113 deleteVideoAbuse
0e1dc3e7 114}