]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/models/video/video-blacklist.ts
Use inner join and document code for viewr stats for channels
[github/Chocobozzz/PeerTube.git] / server / models / video / video-blacklist.ts
index 22d949da0f75723b1ad7b826e1cde03b357895e2..694983cb316a0d623a1aaddce51bb1f6f14b18dc 100644 (file)
@@ -1,12 +1,14 @@
 import { AllowNull, BelongsTo, Column, CreatedAt, DataType, Default, ForeignKey, Is, Model, Table, UpdatedAt } from 'sequelize-typescript'
-import { getSortOnModel, SortType, throwIfNotValid } from '../utils'
-import { ScopeNames as VideoModelScopeNames, VideoModel } from './video'
+import { getBlacklistSort, SortType, throwIfNotValid } from '../utils'
+import { VideoModel } from './video'
 import { ScopeNames as VideoChannelScopeNames, SummaryOptions, VideoChannelModel } from './video-channel'
 import { isVideoBlacklistReasonValid, isVideoBlacklistTypeValid } from '../../helpers/custom-validators/video-blacklist'
 import { VideoBlacklist, VideoBlacklistType } from '../../../shared/models/videos'
 import { CONSTRAINTS_FIELDS } from '../../initializers/constants'
 import { FindOptions } from 'sequelize'
 import { ThumbnailModel } from './thumbnail'
+import * as Bluebird from 'bluebird'
+import { MVideoBlacklist, MVideoBlacklistFormattable } from '@server/typings/models'
 
 @Table({
   tableName: 'videoBlacklist',
@@ -57,14 +59,13 @@ export class VideoBlacklistModel extends Model<VideoBlacklistModel> {
       return {
         offset: start,
         limit: count,
-        order: getSortOnModel(sort.sortModel, sort.sortValue)
+        order: getBlacklistSort(sort.sortModel, sort.sortValue)
       }
     }
 
     const countQuery = buildBaseQuery()
 
     const findQuery = buildBaseQuery()
-    findQuery.subQuery = false
     findQuery.include = [
       {
         model: VideoModel,
@@ -99,7 +100,7 @@ export class VideoBlacklistModel extends Model<VideoBlacklistModel> {
     })
   }
 
-  static loadByVideoId (id: number) {
+  static loadByVideoId (id: number): Bluebird<MVideoBlacklist> {
     const query = {
       where: {
         videoId: id
@@ -109,7 +110,7 @@ export class VideoBlacklistModel extends Model<VideoBlacklistModel> {
     return VideoBlacklistModel.findOne(query)
   }
 
-  toFormattedJSON (): VideoBlacklist {
+  toFormattedJSON (this: MVideoBlacklistFormattable): VideoBlacklist {
     return {
       id: this.id,
       createdAt: this.createdAt,