1 import * as Bluebird from 'bluebird'
2 import { Response } from 'express'
3 import 'express-validator'
4 import * as validator from 'validator'
5 import { database as db } from '../../initializers'
6 import { AccountInstance } from '../../models'
7 import { isUserUsernameValid } from './users'
9 function isAccountNameValid (value: string) {
10 return isUserUsernameValid(value)
13 function isAccountIdExist (id: number | string, res: Response) {
14 let promise: Bluebird<AccountInstance>
16 if (validator.isInt('' + id)) {
17 promise = db.Account.load(+id)
19 promise = db.Account.loadByUUID('' + id)
22 return isAccountExist(promise, res)
25 function isLocalAccountNameExist (name: string, res: Response) {
26 const promise = db.Account.loadLocalByName(name)
28 return isAccountExist(promise, res)
31 async function isAccountExist (p: Bluebird<AccountInstance>, res: Response) {
32 const account = await p
36 .send({ error: 'Account not found' })
42 res.locals.account = account
47 // ---------------------------------------------------------------------------
51 isLocalAccountNameExist,