- usersAskSendVerifyEmailValidator,
- usersVerifyEmailValidator,
- userAutocompleteValidator
-}
-
-// ---------------------------------------------------------------------------
-
-function checkUserIdExist (id: number, res: express.Response) {
- return checkUserExist(() => UserModel.loadById(id), res)
-}
-
-function checkUserEmailExist (email: string, res: express.Response, abortResponse = true) {
- return checkUserExist(() => UserModel.loadByEmail(email), res, abortResponse)
-}
-
-async function checkUserNameOrEmailDoesNotAlreadyExist (username: string, email: string, res: express.Response) {
- const user = await UserModel.loadByUsernameOrEmail(username, email)
-
- if (user) {
- res.status(409)
- .send({ error: 'User with this username or email already exists.' })
- .end()
- return false
- }
-
- const actor = await ActorModel.loadLocalByName(username)
- if (actor) {
- res.status(409)
- .send({ error: 'Another actor (account/channel) with this name on this instance already exists or has already existed.' })
- .end()
- return false
- }
-
- return true
-}
-
-async function checkUserExist (finder: () => Bluebird<UserModel>, res: express.Response, abortResponse = true) {
- const user = await finder()
-
- if (!user) {
- if (abortResponse === true) {
- res.status(404)
- .send({ error: 'User not found' })
- .end()
- }
-
- return false
- }
-
- res.locals.user = user
-
- return true
+ userAutocompleteValidator,
+ ensureAuthUserOwnsAccountValidator,
+ ensureCanModerateUser,
+ ensureCanManageChannelOrAccount