]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/models/video/video-blacklist.ts
preserve original variable names server-side
[github/Chocobozzz/PeerTube.git] / server / models / video / video-blacklist.ts
index b4df6cd6a3707d15bc026bc962cd82c6e68f3441..8cbfe362e87e87646df9ce4ef312b2c06fa61c63 100644 (file)
@@ -1,5 +1,5 @@
 import { AllowNull, BelongsTo, Column, CreatedAt, DataType, Default, ForeignKey, Is, Model, Table, UpdatedAt } from 'sequelize-typescript'
-import { getSortOnModel, SortType, throwIfNotValid } from '../utils'
+import { getBlacklistSort, SortType, throwIfNotValid, searchAttribute } from '../utils'
 import { VideoModel } from './video'
 import { ScopeNames as VideoChannelScopeNames, SummaryOptions, VideoChannelModel } from './video-channel'
 import { isVideoBlacklistReasonValid, isVideoBlacklistTypeValid } from '../../helpers/custom-validators/video-blacklist'
@@ -54,23 +54,31 @@ export class VideoBlacklistModel extends Model<VideoBlacklistModel> {
   })
   Video: VideoModel
 
-  static listForApi (start: number, count: number, sort: SortType, type?: VideoBlacklistType) {
+  static listForApi (parameters: {
+    start: number
+    count: number
+    sort: SortType
+    search?: string
+    type?: VideoBlacklistType
+  }) {
+    const { start, count, sort, search, type } = parameters
+
     function buildBaseQuery (): FindOptions {
       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,
         required: true,
+        where: searchAttribute(search, 'name'),
         include: [
           {
             model: VideoChannelModel.scope({ method: [ VideoChannelScopeNames.SUMMARY, { withAccount: true } as SummaryOptions ] }),