X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Fcustom-validators%2Faccounts.ts;h=146c7708e2168967430cf9ffb6dd746985849a8c;hb=fd822c1c699fb89bb1c3218e047e1d842bc1ba1a;hp=cc8641d6b40912f316823ae8014fee6c69daa9af;hpb=e8cb44090e654fda339506dccfcec7fea8722723;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/custom-validators/accounts.ts b/server/helpers/custom-validators/accounts.ts index cc8641d6b..146c7708e 100644 --- a/server/helpers/custom-validators/accounts.ts +++ b/server/helpers/custom-validators/accounts.ts @@ -4,16 +4,21 @@ import 'express-validator' import * as validator from 'validator' import { AccountModel } from '../../models/account/account' import { isUserDescriptionValid, isUserUsernameValid } from './users' +import { exists } from './misc' function isAccountNameValid (value: string) { return isUserUsernameValid(value) } +function isAccountIdValid (value: string) { + return exists(value) +} + function isAccountDescriptionValid (value: string) { return isUserDescriptionValid(value) } -function isAccountIdExist (id: number | string, res: Response) { +function doesAccountIdExist (id: number | string, res: Response, sendNotFound = true) { let promise: Bluebird if (validator.isInt('' + id)) { @@ -22,32 +27,28 @@ function isAccountIdExist (id: number | string, res: Response) { promise = AccountModel.loadByUUID('' + id) } - return isAccountExist(promise, res) + return doesAccountExist(promise, res, sendNotFound) } -function isLocalAccountNameExist (name: string, res: Response) { +function doesLocalAccountNameExist (name: string, res: Response, sendNotFound = true) { const promise = AccountModel.loadLocalByName(name) - return isAccountExist(promise, res) + return doesAccountExist(promise, res, sendNotFound) } -function isAccountNameWithHostExist (nameWithDomain: string, res: Response) { - const [ accountName, host ] = nameWithDomain.split('@') - - let promise: Bluebird - if (!host) promise = AccountModel.loadLocalByName(accountName) - else promise = AccountModel.loadLocalByNameAndHost(accountName, host) - - return isAccountExist(promise, res) +function doesAccountNameWithHostExist (nameWithDomain: string, res: Response, sendNotFound = true) { + return doesAccountExist(AccountModel.loadByNameWithHost(nameWithDomain), res, sendNotFound) } -async function isAccountExist (p: Bluebird, res: Response) { +async function doesAccountExist (p: Bluebird, res: Response, sendNotFound: boolean) { const account = await p if (!account) { - res.status(404) - .send({ error: 'Account not found' }) - .end() + if (sendNotFound === true) { + res.status(404) + .send({ error: 'Account not found' }) + .end() + } return false } @@ -60,9 +61,10 @@ async function isAccountExist (p: Bluebird, res: Response) { // --------------------------------------------------------------------------- export { - isAccountIdExist, - isLocalAccountNameExist, + isAccountIdValid, + doesAccountIdExist, + doesLocalAccountNameExist, isAccountDescriptionValid, - isAccountNameWithHostExist, + doesAccountNameWithHostExist, isAccountNameValid }