Limit channel numbers
We can't load too much channels in selects and it helps to prevent actor name squatting
This commit is contained in:
parent
1689176a7b
commit
a3ce4ae847
2 changed files with 14 additions and 0 deletions
|
@ -431,6 +431,10 @@ const OVERVIEWS = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const VIDEO_CHANNELS = {
|
||||||
|
MAX_PER_USER: 20
|
||||||
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
const SERVER_ACTOR_NAME = 'peertube'
|
const SERVER_ACTOR_NAME = 'peertube'
|
||||||
|
@ -725,6 +729,7 @@ export {
|
||||||
VIDEO_TRANSCODING_FPS,
|
VIDEO_TRANSCODING_FPS,
|
||||||
FFMPEG_NICE,
|
FFMPEG_NICE,
|
||||||
VIDEO_ABUSE_STATES,
|
VIDEO_ABUSE_STATES,
|
||||||
|
VIDEO_CHANNELS,
|
||||||
LRU_CACHE,
|
LRU_CACHE,
|
||||||
JOB_REQUEST_TIMEOUT,
|
JOB_REQUEST_TIMEOUT,
|
||||||
USER_PASSWORD_RESET_LIFETIME,
|
USER_PASSWORD_RESET_LIFETIME,
|
||||||
|
|
|
@ -14,6 +14,7 @@ import { ActorModel } from '../../../models/activitypub/actor'
|
||||||
import { isBooleanValid } from '../../../helpers/custom-validators/misc'
|
import { isBooleanValid } from '../../../helpers/custom-validators/misc'
|
||||||
import { doesLocalVideoChannelNameExist, doesVideoChannelNameWithHostExist } from '../../../helpers/middlewares'
|
import { doesLocalVideoChannelNameExist, doesVideoChannelNameWithHostExist } from '../../../helpers/middlewares'
|
||||||
import { MChannelAccountDefault, MUser } from '@server/typings/models'
|
import { MChannelAccountDefault, MUser } from '@server/typings/models'
|
||||||
|
import { VIDEO_CHANNELS } from '@server/initializers/constants'
|
||||||
|
|
||||||
const videoChannelsAddValidator = [
|
const videoChannelsAddValidator = [
|
||||||
body('name').custom(isActorPreferredUsernameValid).withMessage('Should have a valid channel name'),
|
body('name').custom(isActorPreferredUsernameValid).withMessage('Should have a valid channel name'),
|
||||||
|
@ -34,6 +35,14 @@ const videoChannelsAddValidator = [
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const count = await VideoChannelModel.countByAccount(res.locals.oauth.token.User.Account.id)
|
||||||
|
if (count > VIDEO_CHANNELS.MAX_PER_USER) {
|
||||||
|
res.status(400)
|
||||||
|
.send({ error: `You cannot create more than ${VIDEO_CHANNELS.MAX_PER_USER} channels` })
|
||||||
|
.end()
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
return next()
|
return next()
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in a new issue