Remove any typing from server
authorChocobozzz <florian.bigard@gmail.com>
Tue, 11 Jul 2017 08:59:13 +0000 (10:59 +0200)
committerChocobozzz <florian.bigard@gmail.com>
Tue, 11 Jul 2017 08:59:13 +0000 (10:59 +0200)
server/controllers/api/pods.ts
server/lib/friends.ts
server/lib/oauth-model.ts
server/models/video/tag.ts
server/models/video/video.ts

index 55a7df6610da09bd9f632b82f8967d1c6896ac90..5210f9fe4a2d28388b055fb3d0d48510bdf00b50 100644 (file)
@@ -23,6 +23,7 @@ import {
 import {
   PodInstance
 } from '../../models'
+import { Pod as FormatedPod } from '../../../shared'
 
 const podsRouter = express.Router()
 
@@ -72,7 +73,7 @@ function addPods (req: express.Request, res: express.Response, next: express.Nex
 
 function listPods (req: express.Request, res: express.Response, next: express.NextFunction) {
   db.Pod.list()
-    .then(podsList => res.json(getFormatedObjects(podsList, podsList.length)))
+    .then(podsList => res.json(getFormatedObjects<FormatedPod, PodInstance>(podsList, podsList.length)))
     .catch(err => next(err))
 }
 
index 4d56e9eb22a9fd72611e1ec8955a95d40ad2a532..a658201913d9a080c1e34b097d25f7a08b5c8f26 100644 (file)
@@ -38,7 +38,9 @@ import {
   RemoteVideoCreateData,
   RemoteVideoUpdateData,
   RemoteVideoRemoveData,
-  RemoteVideoReportAbuseData
+  RemoteVideoReportAbuseData,
+  ResultList,
+  Pod as FormatedPod
 } from '../../shared'
 
 type QaduParam = { videoId: string, type: RequestVideoQaduType }
@@ -268,8 +270,8 @@ export {
 
 function computeForeignPodsList (host: string, podsScore: { [ host: string ]: number }) {
   // TODO: type res
-  return getForeignPodsList(host).then((res: any) => {
-    const foreignPodsList = res.data
+  return getForeignPodsList(host).then(res => {
+    const foreignPodsList: { host: string }[] = res.data
 
     // Let's give 1 point to the pod we ask the friends list
     foreignPodsList.push({ host })
@@ -302,7 +304,7 @@ function computeWinningPods (hosts: string[], podsScore: { [ host: string ]: num
 }
 
 function getForeignPodsList (host: string) {
-  return new Promise((res, rej) => {
+  return new Promise< ResultList<FormatedPod> >((res, rej) => {
     const path = '/api/' + API_VERSION + '/pods'
 
     request.get(REMOTE_SCHEME.HTTP + '://' + host + path, function (err, response, body) {
index f34c9c6675832c9141f598719a8635b400c58f1b..2d7e56756a2f9d1d9077d273fe3933a35a8aefdb 100644 (file)
@@ -68,11 +68,10 @@ function saveToken (token: TokenInfo, client: OAuthClientInstance, user: UserIns
     userId: user.id
   }
 
-  return db.OAuthToken.create(tokenToCreate).then(function (tokenCreated: any) {
-    tokenCreated.client = client
-    tokenCreated.user = user
+  return db.OAuthToken.create(tokenToCreate).then(tokenCreated => {
+    const tokenToReturn = Object.assign(tokenCreated, { client, user })
 
-    return tokenCreated
+    return tokenToReturn
   })
 }
 
index d0d8353d7999607482d2a522009a0590e5703ac8..2992da56db8f92cc6eed4ab7cb50cfd96d48bc09 100644 (file)
@@ -54,7 +54,7 @@ function associate (models) {
 findOrCreateTags = function (tags: string[], transaction: Sequelize.Transaction) {
   const tasks: Promise<TagInstance>[] = []
   tags.forEach(tag => {
-    const query: any = {
+    const query: Sequelize.FindOrInitializeOptions<TagAttributes> = {
       where: {
         name: tag
       },
index 47d3cad1de4791205a609242e214eae5801bc320..496385b358a0a6fbfeb1ae03f6c4841bd5a15ab4 100644 (file)
@@ -696,23 +696,23 @@ loadAndPopulateAuthorAndPodAndTags = function (id: string) {
 }
 
 searchAndPopulateAuthorAndPodAndTags = function (value: string, field: string, start: number, count: number, sort: string) {
-  const podInclude: any = {
+  const podInclude: Sequelize.IncludeOptions = {
     model: Video['sequelize'].models.Pod,
     required: false
   }
 
-  const authorInclude: any = {
+  const authorInclude: Sequelize.IncludeOptions = {
     model: Video['sequelize'].models.Author,
     include: [
       podInclude
     ]
   }
 
-  const tagInclude: any = {
+  const tagInclude: Sequelize.IncludeOptions = {
     model: Video['sequelize'].models.Tag
   }
 
-  const query: any = {
+  const query: Sequelize.FindOptions = {
     distinct: true,
     where: createBaseVideosWhere(),
     offset: start,
@@ -723,10 +723,10 @@ searchAndPopulateAuthorAndPodAndTags = function (value: string, field: string, s
   // Make an exact search with the magnet
   if (field === 'magnetUri') {
     const infoHash = magnetUtil.decode(value).infoHash
-    query.where.infoHash = infoHash
+    query.where['infoHash'] = infoHash
   } else if (field === 'tags') {
     const escapedValue = Video['sequelize'].escape('%' + value + '%')
-    query.where.id.$in = Video['sequelize'].literal(
+    query.where['id'].$in = Video['sequelize'].literal(
       `(SELECT "VideoTags"."videoId"
         FROM "Tags"
         INNER JOIN "VideoTags" ON "Tags"."id" = "VideoTags"."tagId"
@@ -830,14 +830,14 @@ function createThumbnail (video: VideoInstance, videoPath: string) {
 }
 
 function generateImage (video: VideoInstance, videoPath: string, folder: string, imageName: string, size: string) {
-  const options: any = {
+  const options = {
     filename: imageName,
     count: 1,
     folder
   }
 
   if (size) {
-    options.size = size
+    options['size'] = size
   }
 
   return new Promise<string>((res, rej) => {