diff options
Diffstat (limited to 'server/middlewares/validators/videos/video-channels.ts')
-rw-r--r-- | server/middlewares/validators/videos/video-channels.ts | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/server/middlewares/validators/videos/video-channels.ts b/server/middlewares/validators/videos/video-channels.ts index e881f0d3e..331a51007 100644 --- a/server/middlewares/validators/videos/video-channels.ts +++ b/server/middlewares/validators/videos/video-channels.ts | |||
@@ -30,17 +30,16 @@ const videoChannelsAddValidator = [ | |||
30 | 30 | ||
31 | const actor = await ActorModel.loadLocalByName(req.body.name) | 31 | const actor = await ActorModel.loadLocalByName(req.body.name) |
32 | if (actor) { | 32 | if (actor) { |
33 | res.status(HttpStatusCode.CONFLICT_409) | 33 | res.fail({ |
34 | .send({ error: 'Another actor (account/channel) with this name on this instance already exists or has already existed.' }) | 34 | status: HttpStatusCode.CONFLICT_409, |
35 | .end() | 35 | message: 'Another actor (account/channel) with this name on this instance already exists or has already existed.' |
36 | }) | ||
36 | return false | 37 | return false |
37 | } | 38 | } |
38 | 39 | ||
39 | const count = await VideoChannelModel.countByAccount(res.locals.oauth.token.User.Account.id) | 40 | const count = await VideoChannelModel.countByAccount(res.locals.oauth.token.User.Account.id) |
40 | if (count >= VIDEO_CHANNELS.MAX_PER_USER) { | 41 | if (count >= VIDEO_CHANNELS.MAX_PER_USER) { |
41 | res.status(HttpStatusCode.BAD_REQUEST_400) | 42 | res.fail({ message: `You cannot create more than ${VIDEO_CHANNELS.MAX_PER_USER} channels` }) |
42 | .send({ error: `You cannot create more than ${VIDEO_CHANNELS.MAX_PER_USER} channels` }) | ||
43 | .end() | ||
44 | return false | 43 | return false |
45 | } | 44 | } |
46 | 45 | ||
@@ -71,13 +70,17 @@ const videoChannelsUpdateValidator = [ | |||
71 | 70 | ||
72 | // We need to make additional checks | 71 | // We need to make additional checks |
73 | if (res.locals.videoChannel.Actor.isOwned() === false) { | 72 | if (res.locals.videoChannel.Actor.isOwned() === false) { |
74 | return res.status(HttpStatusCode.FORBIDDEN_403) | 73 | return res.fail({ |
75 | .json({ error: 'Cannot update video channel of another server' }) | 74 | status: HttpStatusCode.FORBIDDEN_403, |
75 | message: 'Cannot update video channel of another server' | ||
76 | }) | ||
76 | } | 77 | } |
77 | 78 | ||
78 | if (res.locals.videoChannel.Account.userId !== res.locals.oauth.token.User.id) { | 79 | if (res.locals.videoChannel.Account.userId !== res.locals.oauth.token.User.id) { |
79 | return res.status(HttpStatusCode.FORBIDDEN_403) | 80 | return res.fail({ |
80 | .json({ error: 'Cannot update video channel of another user' }) | 81 | status: HttpStatusCode.FORBIDDEN_403, |
82 | message: 'Cannot update video channel of another user' | ||
83 | }) | ||
81 | } | 84 | } |
82 | 85 | ||
83 | return next() | 86 | return next() |
@@ -154,10 +157,10 @@ export { | |||
154 | 157 | ||
155 | function checkUserCanDeleteVideoChannel (user: MUser, videoChannel: MChannelAccountDefault, res: express.Response) { | 158 | function checkUserCanDeleteVideoChannel (user: MUser, videoChannel: MChannelAccountDefault, res: express.Response) { |
156 | if (videoChannel.Actor.isOwned() === false) { | 159 | if (videoChannel.Actor.isOwned() === false) { |
157 | res.status(HttpStatusCode.FORBIDDEN_403) | 160 | res.fail({ |
158 | .json({ error: 'Cannot remove video channel of another server.' }) | 161 | status: HttpStatusCode.FORBIDDEN_403, |
159 | .end() | 162 | message: 'Cannot remove video channel of another server.' |
160 | 163 | }) | |
161 | return false | 164 | return false |
162 | } | 165 | } |
163 | 166 | ||
@@ -165,10 +168,10 @@ function checkUserCanDeleteVideoChannel (user: MUser, videoChannel: MChannelAcco | |||
165 | // The user can delete it if s/he is an admin | 168 | // The user can delete it if s/he is an admin |
166 | // Or if s/he is the video channel's account | 169 | // Or if s/he is the video channel's account |
167 | if (user.hasRight(UserRight.REMOVE_ANY_VIDEO_CHANNEL) === false && videoChannel.Account.userId !== user.id) { | 170 | if (user.hasRight(UserRight.REMOVE_ANY_VIDEO_CHANNEL) === false && videoChannel.Account.userId !== user.id) { |
168 | res.status(HttpStatusCode.FORBIDDEN_403) | 171 | res.fail({ |
169 | .json({ error: 'Cannot remove video channel of another user' }) | 172 | status: HttpStatusCode.FORBIDDEN_403, |
170 | .end() | 173 | message: 'Cannot remove video channel of another user' |
171 | 174 | }) | |
172 | return false | 175 | return false |
173 | } | 176 | } |
174 | 177 | ||
@@ -179,10 +182,10 @@ async function checkVideoChannelIsNotTheLastOne (res: express.Response) { | |||
179 | const count = await VideoChannelModel.countByAccount(res.locals.oauth.token.User.Account.id) | 182 | const count = await VideoChannelModel.countByAccount(res.locals.oauth.token.User.Account.id) |
180 | 183 | ||
181 | if (count <= 1) { | 184 | if (count <= 1) { |
182 | res.status(HttpStatusCode.CONFLICT_409) | 185 | res.fail({ |
183 | .json({ error: 'Cannot remove the last channel of this user' }) | 186 | status: HttpStatusCode.CONFLICT_409, |
184 | .end() | 187 | message: 'Cannot remove the last channel of this user' |
185 | 188 | }) | |
186 | return false | 189 | return false |
187 | } | 190 | } |
188 | 191 | ||