diff options
25 files changed, 86 insertions, 91 deletions
diff --git a/server/controllers/api/videos/index.ts b/server/controllers/api/videos/index.ts index e70a5319e..815881df3 100644 --- a/server/controllers/api/videos/index.ts +++ b/server/controllers/api/videos/index.ts | |||
@@ -49,11 +49,11 @@ const videosRouter = express.Router() | |||
49 | 49 | ||
50 | // multer configuration | 50 | // multer configuration |
51 | const storage = multer.diskStorage({ | 51 | const storage = multer.diskStorage({ |
52 | destination: function (req, file, cb) { | 52 | destination: (req, file, cb) => { |
53 | cb(null, CONFIG.STORAGE.VIDEOS_DIR) | 53 | cb(null, CONFIG.STORAGE.VIDEOS_DIR) |
54 | }, | 54 | }, |
55 | 55 | ||
56 | filename: function (req, file, cb) { | 56 | filename: (req, file, cb) => { |
57 | let extension = '' | 57 | let extension = '' |
58 | if (file.mimetype === 'video/webm') extension = 'webm' | 58 | if (file.mimetype === 'video/webm') extension = 'webm' |
59 | else if (file.mimetype === 'video/mp4') extension = 'mp4' | 59 | else if (file.mimetype === 'video/mp4') extension = 'mp4' |
@@ -310,7 +310,7 @@ function updateVideo (req: express.Request, res: express.Response) { | |||
310 | // Force fields we want to update | 310 | // Force fields we want to update |
311 | // If the transaction is retried, sequelize will think the object has not changed | 311 | // If the transaction is retried, sequelize will think the object has not changed |
312 | // So it will skip the SQL request, even if the last one was ROLLBACKed! | 312 | // So it will skip the SQL request, even if the last one was ROLLBACKed! |
313 | Object.keys(videoFieldsSave).forEach(function (key) { | 313 | Object.keys(videoFieldsSave).forEach(key => { |
314 | const value = videoFieldsSave[key] | 314 | const value = videoFieldsSave[key] |
315 | videoInstance.set(key, value) | 315 | videoInstance.set(key, value) |
316 | }) | 316 | }) |
diff --git a/server/controllers/client.ts b/server/controllers/client.ts index ac722a578..d913f81b8 100644 --- a/server/controllers/client.ts +++ b/server/controllers/client.ts | |||
@@ -24,7 +24,7 @@ const indexPath = join(distPath, 'index.html') | |||
24 | // Do not use a template engine for a so little thing | 24 | // Do not use a template engine for a so little thing |
25 | clientsRouter.use('/videos/watch/:id', generateWatchHtmlPage) | 25 | clientsRouter.use('/videos/watch/:id', generateWatchHtmlPage) |
26 | 26 | ||
27 | clientsRouter.use('/videos/embed', function (req: express.Request, res: express.Response, next: express.NextFunction) { | 27 | clientsRouter.use('/videos/embed', (req: express.Request, res: express.Response, next: express.NextFunction) => { |
28 | res.sendFile(embedPath) | 28 | res.sendFile(embedPath) |
29 | }) | 29 | }) |
30 | 30 | ||
@@ -32,7 +32,7 @@ clientsRouter.use('/videos/embed', function (req: express.Request, res: express. | |||
32 | clientsRouter.use('/client', express.static(distPath, { maxAge: STATIC_MAX_AGE })) | 32 | clientsRouter.use('/client', express.static(distPath, { maxAge: STATIC_MAX_AGE })) |
33 | 33 | ||
34 | // 404 for static files not found | 34 | // 404 for static files not found |
35 | clientsRouter.use('/client/*', function (req: express.Request, res: express.Response, next: express.NextFunction) { | 35 | clientsRouter.use('/client/*', (req: express.Request, res: express.Response, next: express.NextFunction) => { |
36 | res.sendStatus(404) | 36 | res.sendStatus(404) |
37 | }) | 37 | }) |
38 | 38 | ||
diff --git a/server/helpers/custom-validators/pods.ts b/server/helpers/custom-validators/pods.ts index ec9f26cc8..0519def52 100644 --- a/server/helpers/custom-validators/pods.ts +++ b/server/helpers/custom-validators/pods.ts | |||
@@ -9,7 +9,7 @@ function isHostValid (host: string) { | |||
9 | function isEachUniqueHostValid (hosts: string[]) { | 9 | function isEachUniqueHostValid (hosts: string[]) { |
10 | return isArray(hosts) && | 10 | return isArray(hosts) && |
11 | hosts.length !== 0 && | 11 | hosts.length !== 0 && |
12 | hosts.every(function (host) { | 12 | hosts.every(host => { |
13 | return isHostValid(host) && hosts.indexOf(host) === hosts.lastIndexOf(host) | 13 | return isHostValid(host) && hosts.indexOf(host) === hosts.lastIndexOf(host) |
14 | }) | 14 | }) |
15 | } | 15 | } |
diff --git a/server/helpers/custom-validators/remote/videos.ts b/server/helpers/custom-validators/remote/videos.ts index e14673cb3..b33d8c9be 100644 --- a/server/helpers/custom-validators/remote/videos.ts +++ b/server/helpers/custom-validators/remote/videos.ts | |||
@@ -33,7 +33,7 @@ const ENDPOINT_ACTIONS = REQUEST_ENDPOINT_ACTIONS[REQUEST_ENDPOINTS.VIDEOS] | |||
33 | 33 | ||
34 | function isEachRemoteRequestVideosValid (requests: any[]) { | 34 | function isEachRemoteRequestVideosValid (requests: any[]) { |
35 | return isArray(requests) && | 35 | return isArray(requests) && |
36 | requests.every(function (request) { | 36 | requests.every(request => { |
37 | const video = request.data | 37 | const video = request.data |
38 | 38 | ||
39 | if (!video) return false | 39 | if (!video) return false |
@@ -63,7 +63,7 @@ function isEachRemoteRequestVideosValid (requests: any[]) { | |||
63 | 63 | ||
64 | function isEachRemoteRequestVideosQaduValid (requests: any[]) { | 64 | function isEachRemoteRequestVideosQaduValid (requests: any[]) { |
65 | return isArray(requests) && | 65 | return isArray(requests) && |
66 | requests.every(function (request) { | 66 | requests.every(request => { |
67 | const video = request.data | 67 | const video = request.data |
68 | 68 | ||
69 | if (!video) return false | 69 | if (!video) return false |
@@ -79,7 +79,7 @@ function isEachRemoteRequestVideosQaduValid (requests: any[]) { | |||
79 | 79 | ||
80 | function isEachRemoteRequestVideosEventsValid (requests: any[]) { | 80 | function isEachRemoteRequestVideosEventsValid (requests: any[]) { |
81 | return isArray(requests) && | 81 | return isArray(requests) && |
82 | requests.every(function (request) { | 82 | requests.every(request => { |
83 | const eventData = request.data | 83 | const eventData = request.data |
84 | 84 | ||
85 | if (!eventData) return false | 85 | if (!eventData) return false |
diff --git a/server/helpers/custom-validators/videos.ts b/server/helpers/custom-validators/videos.ts index e335b09d1..62132acb1 100644 --- a/server/helpers/custom-validators/videos.ts +++ b/server/helpers/custom-validators/videos.ts | |||
@@ -68,7 +68,7 @@ function isVideoNameValid (value: string) { | |||
68 | function isVideoTagsValid (tags: string[]) { | 68 | function isVideoTagsValid (tags: string[]) { |
69 | return isArray(tags) && | 69 | return isArray(tags) && |
70 | validator.isInt(tags.length.toString(), VIDEOS_CONSTRAINTS_FIELDS.TAGS) && | 70 | validator.isInt(tags.length.toString(), VIDEOS_CONSTRAINTS_FIELDS.TAGS) && |
71 | tags.every(function (tag) { | 71 | tags.every(tag => { |
72 | return exists(tag) && validator.isLength(tag, VIDEOS_CONSTRAINTS_FIELDS.TAG) | 72 | return exists(tag) && validator.isLength(tag, VIDEOS_CONSTRAINTS_FIELDS.TAG) |
73 | }) | 73 | }) |
74 | } | 74 | } |
diff --git a/server/helpers/database-utils.ts b/server/helpers/database-utils.ts index e174dc3e9..987e42eb0 100644 --- a/server/helpers/database-utils.ts +++ b/server/helpers/database-utils.ts | |||
@@ -8,13 +8,11 @@ type RetryTransactionWrapperOptions = { errorMessage: string, arguments?: any[] | |||
8 | function retryTransactionWrapper (functionToRetry: (... args) => Promise<any>, options: RetryTransactionWrapperOptions) { | 8 | function retryTransactionWrapper (functionToRetry: (... args) => Promise<any>, options: RetryTransactionWrapperOptions) { |
9 | const args = options.arguments ? options.arguments : [] | 9 | const args = options.arguments ? options.arguments : [] |
10 | 10 | ||
11 | return transactionRetryer( | 11 | return transactionRetryer(callback => { |
12 | function (callback) { | 12 | functionToRetry.apply(this, args) |
13 | functionToRetry.apply(this, args) | ||
14 | .then(result => callback(null, result)) | 13 | .then(result => callback(null, result)) |
15 | .catch(err => callback(err)) | 14 | .catch(err => callback(err)) |
16 | } | 15 | }) |
17 | ) | ||
18 | .catch(err => { | 16 | .catch(err => { |
19 | // Do not throw the error, continue the process | 17 | // Do not throw the error, continue the process |
20 | logger.error(options.errorMessage, err) | 18 | logger.error(options.errorMessage, err) |
@@ -26,14 +24,12 @@ function transactionRetryer (func: Function) { | |||
26 | retry({ | 24 | retry({ |
27 | times: 5, | 25 | times: 5, |
28 | 26 | ||
29 | errorFilter: function (err) { | 27 | errorFilter: err => { |
30 | const willRetry = (err.name === 'SequelizeDatabaseError') | 28 | const willRetry = (err.name === 'SequelizeDatabaseError') |
31 | logger.debug('Maybe retrying the transaction function.', { willRetry }) | 29 | logger.debug('Maybe retrying the transaction function.', { willRetry }) |
32 | return willRetry | 30 | return willRetry |
33 | } | 31 | } |
34 | }, func, function (err) { | 32 | }, func, err => err ? rej(err) : res()) |
35 | err ? rej(err) : res() | ||
36 | }) | ||
37 | }) | 33 | }) |
38 | } | 34 | } |
39 | 35 | ||
diff --git a/server/helpers/utils.ts b/server/helpers/utils.ts index e99a48393..9c08afb71 100644 --- a/server/helpers/utils.ts +++ b/server/helpers/utils.ts | |||
@@ -18,7 +18,7 @@ interface FormatableToJSON { | |||
18 | function getFormatedObjects<U, T extends FormatableToJSON> (objects: T[], objectsTotal: number) { | 18 | function getFormatedObjects<U, T extends FormatableToJSON> (objects: T[], objectsTotal: number) { |
19 | const formatedObjects: U[] = [] | 19 | const formatedObjects: U[] = [] |
20 | 20 | ||
21 | objects.forEach(function (object) { | 21 | objects.forEach(object => { |
22 | formatedObjects.push(object.toFormatedJSON()) | 22 | formatedObjects.push(object.toFormatedJSON()) |
23 | }) | 23 | }) |
24 | 24 | ||
diff --git a/server/initializers/checker.ts b/server/initializers/checker.ts index fb69e05fc..e4ca26f9c 100644 --- a/server/initializers/checker.ts +++ b/server/initializers/checker.ts | |||
@@ -45,7 +45,7 @@ function checkFFmpeg () { | |||
45 | if (CONFIG.TRANSCODING.ENABLED === false) return undefined | 45 | if (CONFIG.TRANSCODING.ENABLED === false) return undefined |
46 | 46 | ||
47 | const canEncode = [ 'libx264' ] | 47 | const canEncode = [ 'libx264' ] |
48 | canEncode.forEach(function (codec) { | 48 | canEncode.forEach(codec => { |
49 | if (codecs[codec] === undefined) { | 49 | if (codecs[codec] === undefined) { |
50 | throw new Error('Unknown codec ' + codec + ' in FFmpeg.') | 50 | throw new Error('Unknown codec ' + codec + ' in FFmpeg.') |
51 | } | 51 | } |
diff --git a/server/initializers/database.ts b/server/initializers/database.ts index 6e3a8d009..9e691bf1d 100644 --- a/server/initializers/database.ts +++ b/server/initializers/database.ts | |||
@@ -60,7 +60,7 @@ const sequelize = new Sequelize(dbname, username, password, { | |||
60 | port: CONFIG.DATABASE.PORT, | 60 | port: CONFIG.DATABASE.PORT, |
61 | benchmark: isTestInstance(), | 61 | benchmark: isTestInstance(), |
62 | 62 | ||
63 | logging: function (message: string, benchmark: number) { | 63 | logging: (message: string, benchmark: number) => { |
64 | let newMessage = message | 64 | let newMessage = message |
65 | if (benchmark !== undefined) { | 65 | if (benchmark !== undefined) { |
66 | newMessage += ' | ' + benchmark + 'ms' | 66 | newMessage += ' | ' + benchmark + 'ms' |
@@ -72,7 +72,7 @@ const sequelize = new Sequelize(dbname, username, password, { | |||
72 | 72 | ||
73 | database.sequelize = sequelize | 73 | database.sequelize = sequelize |
74 | 74 | ||
75 | database.init = function (silent: boolean) { | 75 | database.init = (silent: boolean) => { |
76 | const modelDirectory = join(__dirname, '..', 'models') | 76 | const modelDirectory = join(__dirname, '..', 'models') |
77 | 77 | ||
78 | return getModelFiles(modelDirectory).then(filePaths => { | 78 | return getModelFiles(modelDirectory).then(filePaths => { |
@@ -105,7 +105,7 @@ export { | |||
105 | function getModelFiles (modelDirectory: string) { | 105 | function getModelFiles (modelDirectory: string) { |
106 | return readdirPromise(modelDirectory) | 106 | return readdirPromise(modelDirectory) |
107 | .then(files => { | 107 | .then(files => { |
108 | const directories: string[] = files.filter(function (directory) { | 108 | const directories: string[] = files.filter(directory => { |
109 | // Find directories | 109 | // Find directories |
110 | if ( | 110 | if ( |
111 | directory.endsWith('.js.map') || | 111 | directory.endsWith('.js.map') || |
diff --git a/server/initializers/migrator.ts b/server/initializers/migrator.ts index 4b3be6d16..71a656c59 100644 --- a/server/initializers/migrator.ts +++ b/server/initializers/migrator.ts | |||
@@ -64,7 +64,7 @@ function getMigrationScripts () { | |||
64 | script: string | 64 | script: string |
65 | }[] = [] | 65 | }[] = [] |
66 | 66 | ||
67 | files.forEach(function (file) { | 67 | files.forEach(file => { |
68 | // Filename is something like 'version-blabla.js' | 68 | // Filename is something like 'version-blabla.js' |
69 | const version = file.split('-')[0] | 69 | const version = file.split('-')[0] |
70 | filesToMigrate.push({ | 70 | filesToMigrate.push({ |
diff --git a/server/lib/friends.ts b/server/lib/friends.ts index cbdc60441..6ed0da013 100644 --- a/server/lib/friends.ts +++ b/server/lib/friends.ts | |||
@@ -111,7 +111,7 @@ function quickAndDirtyUpdateVideoToFriends (qaduParam: QaduParam, transaction?: | |||
111 | function quickAndDirtyUpdatesVideoToFriends (qadusParams: QaduParam[], transaction: Sequelize.Transaction) { | 111 | function quickAndDirtyUpdatesVideoToFriends (qadusParams: QaduParam[], transaction: Sequelize.Transaction) { |
112 | const tasks = [] | 112 | const tasks = [] |
113 | 113 | ||
114 | qadusParams.forEach(function (qaduParams) { | 114 | qadusParams.forEach(qaduParams => { |
115 | tasks.push(quickAndDirtyUpdateVideoToFriends(qaduParams, transaction)) | 115 | tasks.push(quickAndDirtyUpdateVideoToFriends(qaduParams, transaction)) |
116 | }) | 116 | }) |
117 | 117 | ||
@@ -130,7 +130,7 @@ function addEventToRemoteVideo (eventParam: EventParam, transaction?: Sequelize. | |||
130 | function addEventsToRemoteVideo (eventsParams: EventParam[], transaction: Sequelize.Transaction) { | 130 | function addEventsToRemoteVideo (eventsParams: EventParam[], transaction: Sequelize.Transaction) { |
131 | const tasks = [] | 131 | const tasks = [] |
132 | 132 | ||
133 | eventsParams.forEach(function (eventParams) { | 133 | eventsParams.forEach(eventParams => { |
134 | tasks.push(addEventToRemoteVideo(eventParams, transaction)) | 134 | tasks.push(addEventToRemoteVideo(eventParams, transaction)) |
135 | }) | 135 | }) |
136 | 136 | ||
@@ -307,7 +307,7 @@ function getForeignPodsList (host: string) { | |||
307 | return new Promise< ResultList<FormatedPod> >((res, rej) => { | 307 | return new Promise< ResultList<FormatedPod> >((res, rej) => { |
308 | const path = '/api/' + API_VERSION + '/pods' | 308 | const path = '/api/' + API_VERSION + '/pods' |
309 | 309 | ||
310 | request.get(REMOTE_SCHEME.HTTP + '://' + host + path, function (err, response, body) { | 310 | request.get(REMOTE_SCHEME.HTTP + '://' + host + path, (err, response, body) => { |
311 | if (err) return rej(err) | 311 | if (err) return rej(err) |
312 | 312 | ||
313 | try { | 313 | try { |
diff --git a/server/lib/oauth-model.ts b/server/lib/oauth-model.ts index 2d7e56756..769ea126a 100644 --- a/server/lib/oauth-model.ts +++ b/server/lib/oauth-model.ts | |||
@@ -27,7 +27,7 @@ function getRefreshToken (refreshToken: string) { | |||
27 | function getUser (username: string, password: string) { | 27 | function getUser (username: string, password: string) { |
28 | logger.debug('Getting User (username: ' + username + ', password: ' + password + ').') | 28 | logger.debug('Getting User (username: ' + username + ', password: ' + password + ').') |
29 | 29 | ||
30 | return db.User.getByUsername(username).then(function (user) { | 30 | return db.User.getByUsername(username).then(user => { |
31 | if (!user) return null | 31 | if (!user) return null |
32 | 32 | ||
33 | return user.isPasswordMatch(password).then(passwordMatch => { | 33 | return user.isPasswordMatch(password).then(passwordMatch => { |
@@ -39,7 +39,7 @@ function getUser (username: string, password: string) { | |||
39 | } | 39 | } |
40 | 40 | ||
41 | function revokeToken (token: TokenInfo) { | 41 | function revokeToken (token: TokenInfo) { |
42 | return db.OAuthToken.getByRefreshTokenAndPopulateUser(token.refreshToken).then(function (tokenDB) { | 42 | return db.OAuthToken.getByRefreshTokenAndPopulateUser(token.refreshToken).then(tokenDB => { |
43 | if (tokenDB) tokenDB.destroy() | 43 | if (tokenDB) tokenDB.destroy() |
44 | 44 | ||
45 | /* | 45 | /* |
diff --git a/server/middlewares/oauth.ts b/server/middlewares/oauth.ts index fe0490436..3faecdbcc 100644 --- a/server/middlewares/oauth.ts +++ b/server/middlewares/oauth.ts | |||
@@ -12,7 +12,7 @@ const oAuthServer = new OAuthServer({ | |||
12 | }) | 12 | }) |
13 | 13 | ||
14 | function authenticate (req: express.Request, res: express.Response, next: express.NextFunction) { | 14 | function authenticate (req: express.Request, res: express.Response, next: express.NextFunction) { |
15 | oAuthServer.authenticate()(req, res, function (err) { | 15 | oAuthServer.authenticate()(req, res, err => { |
16 | if (err) { | 16 | if (err) { |
17 | logger.error('Cannot authenticate.', err) | 17 | logger.error('Cannot authenticate.', err) |
18 | return res.sendStatus(500) | 18 | return res.sendStatus(500) |
diff --git a/server/middlewares/validators/pods.ts b/server/middlewares/validators/pods.ts index 022fd7f9a..481a66957 100644 --- a/server/middlewares/validators/pods.ts +++ b/server/middlewares/validators/pods.ts | |||
@@ -18,7 +18,7 @@ function makeFriendsValidator (req: express.Request, res: express.Response, next | |||
18 | 18 | ||
19 | logger.debug('Checking makeFriends parameters', { parameters: req.body }) | 19 | logger.debug('Checking makeFriends parameters', { parameters: req.body }) |
20 | 20 | ||
21 | checkErrors(req, res, function () { | 21 | checkErrors(req, res, () => { |
22 | hasFriends() | 22 | hasFriends() |
23 | .then(heHasFriends => { | 23 | .then(heHasFriends => { |
24 | if (heHasFriends === true) { | 24 | if (heHasFriends === true) { |
@@ -41,7 +41,7 @@ function podsAddValidator (req: express.Request, res: express.Response, next: ex | |||
41 | req.checkBody('publicKey', 'Should have a public key').notEmpty() | 41 | req.checkBody('publicKey', 'Should have a public key').notEmpty() |
42 | logger.debug('Checking podsAdd parameters', { parameters: req.body }) | 42 | logger.debug('Checking podsAdd parameters', { parameters: req.body }) |
43 | 43 | ||
44 | checkErrors(req, res, function () { | 44 | checkErrors(req, res, () => { |
45 | db.Pod.loadByHost(req.body.host) | 45 | db.Pod.loadByHost(req.body.host) |
46 | .then(pod => { | 46 | .then(pod => { |
47 | // Pod with this host already exists | 47 | // Pod with this host already exists |
diff --git a/server/middlewares/validators/users.ts b/server/middlewares/validators/users.ts index 90a46752c..38f8aed5b 100644 --- a/server/middlewares/validators/users.ts +++ b/server/middlewares/validators/users.ts | |||
@@ -15,7 +15,7 @@ function usersAddValidator (req: express.Request, res: express.Response, next: e | |||
15 | 15 | ||
16 | logger.debug('Checking usersAdd parameters', { parameters: req.body }) | 16 | logger.debug('Checking usersAdd parameters', { parameters: req.body }) |
17 | 17 | ||
18 | checkErrors(req, res, function () { | 18 | checkErrors(req, res, () => { |
19 | db.User.loadByUsernameOrEmail(req.body.username, req.body.email) | 19 | db.User.loadByUsernameOrEmail(req.body.username, req.body.email) |
20 | .then(user => { | 20 | .then(user => { |
21 | if (user) return res.status(409).send('User already exists.') | 21 | if (user) return res.status(409).send('User already exists.') |
@@ -34,7 +34,7 @@ function usersRemoveValidator (req: express.Request, res: express.Response, next | |||
34 | 34 | ||
35 | logger.debug('Checking usersRemove parameters', { parameters: req.params }) | 35 | logger.debug('Checking usersRemove parameters', { parameters: req.params }) |
36 | 36 | ||
37 | checkErrors(req, res, function () { | 37 | checkErrors(req, res, () => { |
38 | db.User.loadById(req.params.id) | 38 | db.User.loadById(req.params.id) |
39 | .then(user => { | 39 | .then(user => { |
40 | if (!user) return res.status(404).send('User not found') | 40 | if (!user) return res.status(404).send('User not found') |
@@ -66,7 +66,7 @@ function usersVideoRatingValidator (req: express.Request, res: express.Response, | |||
66 | 66 | ||
67 | logger.debug('Checking usersVideoRating parameters', { parameters: req.params }) | 67 | logger.debug('Checking usersVideoRating parameters', { parameters: req.params }) |
68 | 68 | ||
69 | checkErrors(req, res, function () { | 69 | checkErrors(req, res, () => { |
70 | let videoPromise: Promise<VideoInstance> | 70 | let videoPromise: Promise<VideoInstance> |
71 | 71 | ||
72 | if (validator.isUUID(req.params.videoId)) { | 72 | if (validator.isUUID(req.params.videoId)) { |
diff --git a/server/middlewares/validators/videos.ts b/server/middlewares/validators/videos.ts index 0a88e064e..bd223a1cb 100644 --- a/server/middlewares/validators/videos.ts +++ b/server/middlewares/validators/videos.ts | |||
@@ -23,7 +23,7 @@ function videosAddValidator (req: express.Request, res: express.Response, next: | |||
23 | 23 | ||
24 | logger.debug('Checking videosAdd parameters', { parameters: req.body, files: req.files }) | 24 | logger.debug('Checking videosAdd parameters', { parameters: req.body, files: req.files }) |
25 | 25 | ||
26 | checkErrors(req, res, function () { | 26 | checkErrors(req, res, () => { |
27 | const videoFile = req.files.videofile[0] | 27 | const videoFile = req.files.videofile[0] |
28 | 28 | ||
29 | db.Video.getDurationFromFile(videoFile.path) | 29 | db.Video.getDurationFromFile(videoFile.path) |
@@ -54,8 +54,8 @@ function videosUpdateValidator (req: express.Request, res: express.Response, nex | |||
54 | 54 | ||
55 | logger.debug('Checking videosUpdate parameters', { parameters: req.body }) | 55 | logger.debug('Checking videosUpdate parameters', { parameters: req.body }) |
56 | 56 | ||
57 | checkErrors(req, res, function () { | 57 | checkErrors(req, res, () => { |
58 | checkVideoExists(req.params.id, res, function () { | 58 | checkVideoExists(req.params.id, res, () => { |
59 | // We need to make additional checks | 59 | // We need to make additional checks |
60 | if (res.locals.video.isOwned() === false) { | 60 | if (res.locals.video.isOwned() === false) { |
61 | return res.status(403).send('Cannot update video of another pod') | 61 | return res.status(403).send('Cannot update video of another pod') |
@@ -75,7 +75,7 @@ function videosGetValidator (req: express.Request, res: express.Response, next: | |||
75 | 75 | ||
76 | logger.debug('Checking videosGet parameters', { parameters: req.params }) | 76 | logger.debug('Checking videosGet parameters', { parameters: req.params }) |
77 | 77 | ||
78 | checkErrors(req, res, function () { | 78 | checkErrors(req, res, () => { |
79 | checkVideoExists(req.params.id, res, next) | 79 | checkVideoExists(req.params.id, res, next) |
80 | }) | 80 | }) |
81 | } | 81 | } |
@@ -85,12 +85,12 @@ function videosRemoveValidator (req: express.Request, res: express.Response, nex | |||
85 | 85 | ||
86 | logger.debug('Checking videosRemove parameters', { parameters: req.params }) | 86 | logger.debug('Checking videosRemove parameters', { parameters: req.params }) |
87 | 87 | ||
88 | checkErrors(req, res, function () { | 88 | checkErrors(req, res, () => { |
89 | checkVideoExists(req.params.id, res, function () { | 89 | checkVideoExists(req.params.id, res, () => { |
90 | // We need to make additional checks | 90 | // We need to make additional checks |
91 | 91 | ||
92 | // Check if the user who did the request is able to delete the video | 92 | // Check if the user who did the request is able to delete the video |
93 | checkUserCanDeleteVideo(res.locals.oauth.token.User.id, res, function () { | 93 | checkUserCanDeleteVideo(res.locals.oauth.token.User.id, res, () => { |
94 | next() | 94 | next() |
95 | }) | 95 | }) |
96 | }) | 96 | }) |
@@ -113,7 +113,7 @@ function videoAbuseReportValidator (req: express.Request, res: express.Response, | |||
113 | 113 | ||
114 | logger.debug('Checking videoAbuseReport parameters', { parameters: req.body }) | 114 | logger.debug('Checking videoAbuseReport parameters', { parameters: req.body }) |
115 | 115 | ||
116 | checkErrors(req, res, function () { | 116 | checkErrors(req, res, () => { |
117 | checkVideoExists(req.params.id, res, next) | 117 | checkVideoExists(req.params.id, res, next) |
118 | }) | 118 | }) |
119 | } | 119 | } |
@@ -124,7 +124,7 @@ function videoRateValidator (req: express.Request, res: express.Response, next: | |||
124 | 124 | ||
125 | logger.debug('Checking videoRate parameters', { parameters: req.body }) | 125 | logger.debug('Checking videoRate parameters', { parameters: req.body }) |
126 | 126 | ||
127 | checkErrors(req, res, function () { | 127 | checkErrors(req, res, () => { |
128 | checkVideoExists(req.params.id, res, next) | 128 | checkVideoExists(req.params.id, res, next) |
129 | }) | 129 | }) |
130 | } | 130 | } |
@@ -134,8 +134,8 @@ function videosBlacklistValidator (req: express.Request, res: express.Response, | |||
134 | 134 | ||
135 | logger.debug('Checking videosBlacklist parameters', { parameters: req.params }) | 135 | logger.debug('Checking videosBlacklist parameters', { parameters: req.params }) |
136 | 136 | ||
137 | checkErrors(req, res, function () { | 137 | checkErrors(req, res, () => { |
138 | checkVideoExists(req.params.id, res, function () { | 138 | checkVideoExists(req.params.id, res, () => { |
139 | checkVideoIsBlacklistable(req, res, next) | 139 | checkVideoIsBlacklistable(req, res, next) |
140 | }) | 140 | }) |
141 | }) | 141 | }) |
diff --git a/server/models/oauth/oauth-token.ts b/server/models/oauth/oauth-token.ts index a0a13aab7..5c3781394 100644 --- a/server/models/oauth/oauth-token.ts +++ b/server/models/oauth/oauth-token.ts | |||
@@ -98,24 +98,27 @@ getByRefreshTokenAndPopulateClient = function (refreshToken: string) { | |||
98 | include: [ OAuthToken['sequelize'].models.OAuthClient ] | 98 | include: [ OAuthToken['sequelize'].models.OAuthClient ] |
99 | } | 99 | } |
100 | 100 | ||
101 | return OAuthToken.findOne(query).then(function (token) { | 101 | return OAuthToken.findOne(query) |
102 | if (!token) return null | 102 | .then(token => { |
103 | 103 | if (!token) return null | |
104 | const tokenInfos: OAuthTokenInfo = { | 104 | |
105 | refreshToken: token.refreshToken, | 105 | const tokenInfos: OAuthTokenInfo = { |
106 | refreshTokenExpiresAt: token.refreshTokenExpiresAt, | 106 | refreshToken: token.refreshToken, |
107 | client: { | 107 | refreshTokenExpiresAt: token.refreshTokenExpiresAt, |
108 | id: token['client'].id | 108 | client: { |
109 | }, | 109 | id: token['client'].id |
110 | user: { | 110 | }, |
111 | id: token['user'] | 111 | user: { |
112 | id: token['user'] | ||
113 | } | ||
112 | } | 114 | } |
113 | } | ||
114 | 115 | ||
115 | return tokenInfos | 116 | return tokenInfos |
116 | }).catch(function (err) { | 117 | }) |
117 | logger.info('getRefreshToken error.', err) | 118 | .catch(err => { |
118 | }) | 119 | logger.info('getRefreshToken error.', err) |
120 | throw err | ||
121 | }) | ||
119 | } | 122 | } |
120 | 123 | ||
121 | getByTokenAndPopulateUser = function (bearerToken: string) { | 124 | getByTokenAndPopulateUser = function (bearerToken: string) { |
@@ -126,7 +129,7 @@ getByTokenAndPopulateUser = function (bearerToken: string) { | |||
126 | include: [ OAuthToken['sequelize'].models.User ] | 129 | include: [ OAuthToken['sequelize'].models.User ] |
127 | } | 130 | } |
128 | 131 | ||
129 | return OAuthToken.findOne(query).then(function (token) { | 132 | return OAuthToken.findOne(query).then(token => { |
130 | if (token) token['user'] = token.User | 133 | if (token) token['user'] = token.User |
131 | 134 | ||
132 | return token | 135 | return token |
@@ -141,7 +144,7 @@ getByRefreshTokenAndPopulateUser = function (refreshToken: string) { | |||
141 | include: [ OAuthToken['sequelize'].models.User ] | 144 | include: [ OAuthToken['sequelize'].models.User ] |
142 | } | 145 | } |
143 | 146 | ||
144 | return OAuthToken.findOne(query).then(function (token) { | 147 | return OAuthToken.findOne(query).then(token => { |
145 | token['user'] = token.User | 148 | token['user'] = token.User |
146 | 149 | ||
147 | return token | 150 | return token |
diff --git a/server/models/pod/pod.ts b/server/models/pod/pod.ts index 62d9e3c6c..e1088977f 100644 --- a/server/models/pod/pod.ts +++ b/server/models/pod/pod.ts | |||
@@ -32,7 +32,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da | |||
32 | type: DataTypes.STRING, | 32 | type: DataTypes.STRING, |
33 | allowNull: false, | 33 | allowNull: false, |
34 | validate: { | 34 | validate: { |
35 | isHost: function (value) { | 35 | isHost: value => { |
36 | const res = isHostValid(value) | 36 | const res = isHostValid(value) |
37 | if (res === false) throw new Error('Host not valid.') | 37 | if (res === false) throw new Error('Host not valid.') |
38 | } | 38 | } |
diff --git a/server/models/request/request-video-event.ts b/server/models/request/request-video-event.ts index 90ea15702..4862a5745 100644 --- a/server/models/request/request-video-event.ts +++ b/server/models/request/request-video-event.ts | |||
@@ -160,7 +160,7 @@ removeAll = function () { | |||
160 | function groupAndTruncateRequests (events: RequestVideoEventInstance[], limitRequestsPerPod: number) { | 160 | function groupAndTruncateRequests (events: RequestVideoEventInstance[], limitRequestsPerPod: number) { |
161 | const eventsGrouped: RequestsVideoEventGrouped = {} | 161 | const eventsGrouped: RequestsVideoEventGrouped = {} |
162 | 162 | ||
163 | events.forEach(function (event) { | 163 | events.forEach(event => { |
164 | const pod = event.Video.Author.Pod | 164 | const pod = event.Video.Author.Pod |
165 | 165 | ||
166 | if (!eventsGrouped[pod.id]) eventsGrouped[pod.id] = [] | 166 | if (!eventsGrouped[pod.id]) eventsGrouped[pod.id] = [] |
diff --git a/server/models/request/request-video-qadu.ts b/server/models/request/request-video-qadu.ts index 74e28f129..9c97812b9 100644 --- a/server/models/request/request-video-qadu.ts +++ b/server/models/request/request-video-qadu.ts | |||
@@ -141,7 +141,7 @@ removeAll = function () { | |||
141 | function groupAndTruncateRequests (requests: RequestVideoQaduInstance[], limitRequestsPerPod: number) { | 141 | function groupAndTruncateRequests (requests: RequestVideoQaduInstance[], limitRequestsPerPod: number) { |
142 | const requestsGrouped = {} | 142 | const requestsGrouped = {} |
143 | 143 | ||
144 | requests.forEach(function (request) { | 144 | requests.forEach(request => { |
145 | const pod = request.Pod | 145 | const pod = request.Pod |
146 | 146 | ||
147 | if (!requestsGrouped[pod.id]) requestsGrouped[pod.id] = [] | 147 | if (!requestsGrouped[pod.id]) requestsGrouped[pod.id] = [] |
diff --git a/server/models/request/request.ts b/server/models/request/request.ts index c3ce2cd4e..b4c0226fa 100644 --- a/server/models/request/request.ts +++ b/server/models/request/request.ts | |||
@@ -127,8 +127,8 @@ removeWithEmptyTo = function () { | |||
127 | function groupAndTruncateRequests (requests: RequestInstance[], limitRequestsPerPod: number) { | 127 | function groupAndTruncateRequests (requests: RequestInstance[], limitRequestsPerPod: number) { |
128 | const requestsGrouped: RequestsGrouped = {} | 128 | const requestsGrouped: RequestsGrouped = {} |
129 | 129 | ||
130 | requests.forEach(function (request) { | 130 | requests.forEach(request => { |
131 | request.Pods.forEach(function (pod) { | 131 | request.Pods.forEach(pod => { |
132 | if (!requestsGrouped[pod.id]) requestsGrouped[pod.id] = [] | 132 | if (!requestsGrouped[pod.id]) requestsGrouped[pod.id] = [] |
133 | 133 | ||
134 | if (requestsGrouped[pod.id].length < limitRequestsPerPod) { | 134 | if (requestsGrouped[pod.id].length < limitRequestsPerPod) { |
diff --git a/server/models/user/user.ts b/server/models/user/user.ts index 5ff81e741..bda95d2f6 100644 --- a/server/models/user/user.ts +++ b/server/models/user/user.ts | |||
@@ -38,7 +38,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da | |||
38 | type: DataTypes.STRING, | 38 | type: DataTypes.STRING, |
39 | allowNull: false, | 39 | allowNull: false, |
40 | validate: { | 40 | validate: { |
41 | passwordValid: function (value) { | 41 | passwordValid: value => { |
42 | const res = isUserPasswordValid(value) | 42 | const res = isUserPasswordValid(value) |
43 | if (res === false) throw new Error('Password not valid.') | 43 | if (res === false) throw new Error('Password not valid.') |
44 | } | 44 | } |
@@ -48,7 +48,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da | |||
48 | type: DataTypes.STRING, | 48 | type: DataTypes.STRING, |
49 | allowNull: false, | 49 | allowNull: false, |
50 | validate: { | 50 | validate: { |
51 | usernameValid: function (value) { | 51 | usernameValid: value => { |
52 | const res = isUserUsernameValid(value) | 52 | const res = isUserUsernameValid(value) |
53 | if (res === false) throw new Error('Username not valid.') | 53 | if (res === false) throw new Error('Username not valid.') |
54 | } | 54 | } |
@@ -66,7 +66,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da | |||
66 | allowNull: false, | 66 | allowNull: false, |
67 | defaultValue: false, | 67 | defaultValue: false, |
68 | validate: { | 68 | validate: { |
69 | nsfwValid: function (value) { | 69 | nsfwValid: value => { |
70 | const res = isUserDisplayNSFWValid(value) | 70 | const res = isUserDisplayNSFWValid(value) |
71 | if (res === false) throw new Error('Display NSFW is not valid.') | 71 | if (res === false) throw new Error('Display NSFW is not valid.') |
72 | } | 72 | } |
diff --git a/server/models/video/author.ts b/server/models/video/author.ts index 3222c4834..c30cc306d 100644 --- a/server/models/video/author.ts +++ b/server/models/video/author.ts | |||
@@ -20,7 +20,7 @@ export default function defineAuthor (sequelize: Sequelize.Sequelize, DataTypes: | |||
20 | type: DataTypes.STRING, | 20 | type: DataTypes.STRING, |
21 | allowNull: false, | 21 | allowNull: false, |
22 | validate: { | 22 | validate: { |
23 | usernameValid: function (value) { | 23 | usernameValid: value => { |
24 | const res = isUserUsernameValid(value) | 24 | const res = isUserUsernameValid(value) |
25 | if (res === false) throw new Error('Username is not valid.') | 25 | if (res === false) throw new Error('Username is not valid.') |
26 | } | 26 | } |
diff --git a/server/models/video/video-abuse.ts b/server/models/video/video-abuse.ts index f55a25e6a..df92609c0 100644 --- a/server/models/video/video-abuse.ts +++ b/server/models/video/video-abuse.ts | |||
@@ -22,7 +22,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da | |||
22 | type: DataTypes.STRING, | 22 | type: DataTypes.STRING, |
23 | allowNull: false, | 23 | allowNull: false, |
24 | validate: { | 24 | validate: { |
25 | reporterUsernameValid: function (value) { | 25 | reporterUsernameValid: value => { |
26 | const res = isVideoAbuseReporterUsernameValid(value) | 26 | const res = isVideoAbuseReporterUsernameValid(value) |
27 | if (res === false) throw new Error('Video abuse reporter username is not valid.') | 27 | if (res === false) throw new Error('Video abuse reporter username is not valid.') |
28 | } | 28 | } |
@@ -32,7 +32,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da | |||
32 | type: DataTypes.STRING, | 32 | type: DataTypes.STRING, |
33 | allowNull: false, | 33 | allowNull: false, |
34 | validate: { | 34 | validate: { |
35 | reasonValid: function (value) { | 35 | reasonValid: value => { |
36 | const res = isVideoAbuseReasonValid(value) | 36 | const res = isVideoAbuseReasonValid(value) |
37 | if (res === false) throw new Error('Video abuse reason is not valid.') | 37 | if (res === false) throw new Error('Video abuse reason is not valid.') |
38 | } | 38 | } |
diff --git a/server/models/video/video.ts b/server/models/video/video.ts index 3bb74bf6d..650025205 100644 --- a/server/models/video/video.ts +++ b/server/models/video/video.ts | |||
@@ -87,7 +87,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da | |||
87 | type: DataTypes.STRING, | 87 | type: DataTypes.STRING, |
88 | allowNull: false, | 88 | allowNull: false, |
89 | validate: { | 89 | validate: { |
90 | nameValid: function (value) { | 90 | nameValid: value => { |
91 | const res = isVideoNameValid(value) | 91 | const res = isVideoNameValid(value) |
92 | if (res === false) throw new Error('Video name is not valid.') | 92 | if (res === false) throw new Error('Video name is not valid.') |
93 | } | 93 | } |
@@ -101,7 +101,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da | |||
101 | type: DataTypes.INTEGER, | 101 | type: DataTypes.INTEGER, |
102 | allowNull: false, | 102 | allowNull: false, |
103 | validate: { | 103 | validate: { |
104 | categoryValid: function (value) { | 104 | categoryValid: value => { |
105 | const res = isVideoCategoryValid(value) | 105 | const res = isVideoCategoryValid(value) |
106 | if (res === false) throw new Error('Video category is not valid.') | 106 | if (res === false) throw new Error('Video category is not valid.') |
107 | } | 107 | } |
@@ -112,7 +112,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da | |||
112 | allowNull: false, | 112 | allowNull: false, |
113 | defaultValue: null, | 113 | defaultValue: null, |
114 | validate: { | 114 | validate: { |
115 | licenceValid: function (value) { | 115 | licenceValid: value => { |
116 | const res = isVideoLicenceValid(value) | 116 | const res = isVideoLicenceValid(value) |
117 | if (res === false) throw new Error('Video licence is not valid.') | 117 | if (res === false) throw new Error('Video licence is not valid.') |
118 | } | 118 | } |
@@ -122,7 +122,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da | |||
122 | type: DataTypes.INTEGER, | 122 | type: DataTypes.INTEGER, |
123 | allowNull: true, | 123 | allowNull: true, |
124 | validate: { | 124 | validate: { |
125 | languageValid: function (value) { | 125 | languageValid: value => { |
126 | const res = isVideoLanguageValid(value) | 126 | const res = isVideoLanguageValid(value) |
127 | if (res === false) throw new Error('Video language is not valid.') | 127 | if (res === false) throw new Error('Video language is not valid.') |
128 | } | 128 | } |
@@ -132,7 +132,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da | |||
132 | type: DataTypes.BOOLEAN, | 132 | type: DataTypes.BOOLEAN, |
133 | allowNull: false, | 133 | allowNull: false, |
134 | validate: { | 134 | validate: { |
135 | nsfwValid: function (value) { | 135 | nsfwValid: value => { |
136 | const res = isVideoNSFWValid(value) | 136 | const res = isVideoNSFWValid(value) |
137 | if (res === false) throw new Error('Video nsfw attribute is not valid.') | 137 | if (res === false) throw new Error('Video nsfw attribute is not valid.') |
138 | } | 138 | } |
@@ -142,7 +142,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da | |||
142 | type: DataTypes.STRING, | 142 | type: DataTypes.STRING, |
143 | allowNull: false, | 143 | allowNull: false, |
144 | validate: { | 144 | validate: { |
145 | descriptionValid: function (value) { | 145 | descriptionValid: value => { |
146 | const res = isVideoDescriptionValid(value) | 146 | const res = isVideoDescriptionValid(value) |
147 | if (res === false) throw new Error('Video description is not valid.') | 147 | if (res === false) throw new Error('Video description is not valid.') |
148 | } | 148 | } |
@@ -152,7 +152,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da | |||
152 | type: DataTypes.STRING, | 152 | type: DataTypes.STRING, |
153 | allowNull: false, | 153 | allowNull: false, |
154 | validate: { | 154 | validate: { |
155 | infoHashValid: function (value) { | 155 | infoHashValid: value => { |
156 | const res = isVideoInfoHashValid(value) | 156 | const res = isVideoInfoHashValid(value) |
157 | if (res === false) throw new Error('Video info hash is not valid.') | 157 | if (res === false) throw new Error('Video info hash is not valid.') |
158 | } | 158 | } |
@@ -162,7 +162,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da | |||
162 | type: DataTypes.INTEGER, | 162 | type: DataTypes.INTEGER, |
163 | allowNull: false, | 163 | allowNull: false, |
164 | validate: { | 164 | validate: { |
165 | durationValid: function (value) { | 165 | durationValid: value => { |
166 | const res = isVideoDurationValid(value) | 166 | const res = isVideoDurationValid(value) |
167 | if (res === false) throw new Error('Video duration is not valid.') | 167 | if (res === false) throw new Error('Video duration is not valid.') |
168 | } | 168 | } |
@@ -549,9 +549,7 @@ transcodeVideofile = function (this: VideoInstance) { | |||
549 | }) | 549 | }) |
550 | .catch(err => { | 550 | .catch(err => { |
551 | // Autodesctruction... | 551 | // Autodesctruction... |
552 | video.destroy().asCallback(function (err) { | 552 | video.destroy().catch(err => logger.error('Cannot destruct video after transcoding failure.', err)) |
553 | if (err) logger.error('Cannot destruct video after transcoding failure.', err) | ||
554 | }) | ||
555 | 553 | ||
556 | return rej(err) | 554 | return rej(err) |
557 | }) | 555 | }) |
@@ -574,7 +572,7 @@ generateThumbnailFromData = function (video: VideoInstance, thumbnailData: strin | |||
574 | 572 | ||
575 | getDurationFromFile = function (videoPath: string) { | 573 | getDurationFromFile = function (videoPath: string) { |
576 | return new Promise<number>((res, rej) => { | 574 | return new Promise<number>((res, rej) => { |
577 | ffmpeg.ffprobe(videoPath, function (err, metadata) { | 575 | ffmpeg.ffprobe(videoPath, (err, metadata) => { |
578 | if (err) return rej(err) | 576 | if (err) return rej(err) |
579 | 577 | ||
580 | return res(Math.floor(metadata.format.duration)) | 578 | return res(Math.floor(metadata.format.duration)) |
@@ -865,9 +863,7 @@ function generateImage (video: VideoInstance, videoPath: string, folder: string, | |||
865 | return new Promise<string>((res, rej) => { | 863 | return new Promise<string>((res, rej) => { |
866 | ffmpeg(videoPath) | 864 | ffmpeg(videoPath) |
867 | .on('error', rej) | 865 | .on('error', rej) |
868 | .on('end', function () { | 866 | .on('end', () => res(imageName)) |
869 | return res(imageName) | ||
870 | }) | ||
871 | .thumbnail(options) | 867 | .thumbnail(options) |
872 | }) | 868 | }) |
873 | } | 869 | } |