Add shares forward and collection on videos/video channels
This commit is contained in:
parent
74bb2cb834
commit
4e50b6a1c9
29 changed files with 546 additions and 133 deletions
|
@ -1,10 +1,18 @@
|
|||
import { Request, Response, NextFunction } from 'express'
|
||||
import { Request, Response, NextFunction, RequestHandler } from 'express'
|
||||
import { eachSeries } from 'async'
|
||||
|
||||
// Syntactic sugar to avoid try/catch in express controllers
|
||||
// Thanks: https://medium.com/@Abazhenov/using-async-await-in-express-with-node-8-b8af872c0016
|
||||
function asyncMiddleware (fn: (req: Request, res: Response, next: NextFunction) => Promise<any>) {
|
||||
function asyncMiddleware (fun: RequestHandler | RequestHandler[]) {
|
||||
return (req: Request, res: Response, next: NextFunction) => {
|
||||
return Promise.resolve(fn(req, res, next))
|
||||
if (Array.isArray(fun) === true) {
|
||||
return eachSeries(fun as RequestHandler[], (f, cb) => {
|
||||
Promise.resolve(f(req, res, cb))
|
||||
.catch(next)
|
||||
}, next)
|
||||
}
|
||||
|
||||
return Promise.resolve((fun as RequestHandler)(req, res, next))
|
||||
.catch(next)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue