1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-05 19:42:24 +02:00

Refactor middleware helpers

This commit is contained in:
Chocobozzz 2019-07-23 10:40:39 +02:00 committed by Chocobozzz
parent a8b666e9f1
commit 3e753302d8
34 changed files with 311 additions and 241 deletions

View file

@ -1,7 +1,4 @@
import * as Bluebird from 'bluebird'
import { Response } from 'express'
import 'express-validator'
import { AccountModel } from '../../models/account/account'
import { isUserDescriptionValid, isUserUsernameValid } from './users'
import { exists } from './misc'
@ -17,47 +14,10 @@ function isAccountDescriptionValid (value: string) {
return isUserDescriptionValid(value)
}
function doesAccountIdExist (id: number, res: Response, sendNotFound = true) {
const promise = AccountModel.load(id)
return doesAccountExist(promise, res, sendNotFound)
}
function doesLocalAccountNameExist (name: string, res: Response, sendNotFound = true) {
const promise = AccountModel.loadLocalByName(name)
return doesAccountExist(promise, res, sendNotFound)
}
function doesAccountNameWithHostExist (nameWithDomain: string, res: Response, sendNotFound = true) {
return doesAccountExist(AccountModel.loadByNameWithHost(nameWithDomain), res, sendNotFound)
}
async function doesAccountExist (p: Bluebird<AccountModel>, res: Response, sendNotFound: boolean) {
const account = await p
if (!account) {
if (sendNotFound === true) {
res.status(404)
.send({ error: 'Account not found' })
.end()
}
return false
}
res.locals.account = account
return true
}
// ---------------------------------------------------------------------------
export {
isAccountIdValid,
doesAccountIdExist,
doesLocalAccountNameExist,
isAccountDescriptionValid,
doesAccountNameWithHostExist,
isAccountNameValid
}