]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/middlewares/validators/account.ts
Use saveInTransactionWithRetries helper
[github/Chocobozzz/PeerTube.git] / server / middlewares / validators / account.ts
1 import express from 'express'
2 import { param } from 'express-validator'
3 import { isAccountNameValid } from '../../helpers/custom-validators/accounts'
4 import { areValidationErrors, doesAccountNameWithHostExist, doesLocalAccountNameExist } from './shared'
5
6 const localAccountValidator = [
7 param('name')
8 .custom(isAccountNameValid),
9
10 async (req: express.Request, res: express.Response, next: express.NextFunction) => {
11 if (areValidationErrors(req, res)) return
12 if (!await doesLocalAccountNameExist(req.params.name, res)) return
13
14 return next()
15 }
16 ]
17
18 const accountNameWithHostGetValidator = [
19 param('accountName')
20 .exists(),
21
22 async (req: express.Request, res: express.Response, next: express.NextFunction) => {
23 if (areValidationErrors(req, res)) return
24 if (!await doesAccountNameWithHostExist(req.params.accountName, res)) return
25
26 return next()
27 }
28 ]
29
30 // ---------------------------------------------------------------------------
31
32 export {
33 localAccountValidator,
34 accountNameWithHostGetValidator
35 }