aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/models/video/video-channel.ts
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2021-07-29 14:17:03 +0200
committerChocobozzz <me@florianbigard.com>2021-07-29 14:17:03 +0200
commit9c9a236b541a286e165d67341e4ddd6ea2fabdf1 (patch)
treed7e397a3e160a64162f7ea1943529b2a06fb830a /server/models/video/video-channel.ts
parent56d07460b5fe55cc86501742e759d9711d7eb386 (diff)
downloadPeerTube-9c9a236b541a286e165d67341e4ddd6ea2fabdf1.tar.gz
PeerTube-9c9a236b541a286e165d67341e4ddd6ea2fabdf1.tar.zst
PeerTube-9c9a236b541a286e165d67341e4ddd6ea2fabdf1.zip
Refactor options in models
Diffstat (limited to 'server/models/video/video-channel.ts')
-rw-r--r--server/models/video/video-channel.ts52
1 files changed, 23 insertions, 29 deletions
diff --git a/server/models/video/video-channel.ts b/server/models/video/video-channel.ts
index e4b12c517..9f04a57c6 100644
--- a/server/models/video/video-channel.ts
+++ b/server/models/video/video-channel.ts
@@ -438,30 +438,6 @@ ON "Account->Actor"."serverId" = "Account->Actor->Server"."id"`
438 } 438 }
439 } 439 }
440 440
441 static listForApi (parameters: {
442 actorId: number
443 start: number
444 count: number
445 sort: string
446 }) {
447 const { actorId } = parameters
448
449 const query = {
450 offset: parameters.start,
451 limit: parameters.count,
452 order: getSort(parameters.sort)
453 }
454
455 return VideoChannelModel
456 .scope({
457 method: [ ScopeNames.FOR_API, { actorId } as AvailableForListOptions ]
458 })
459 .findAndCountAll(query)
460 .then(({ rows, count }) => {
461 return { total: count, data: rows }
462 })
463 }
464
465 static listLocalsForSitemap (sort: string): Promise<MChannelActor[]> { 441 static listLocalsForSitemap (sort: string): Promise<MChannelActor[]> {
466 const query = { 442 const query = {
467 attributes: [ ], 443 attributes: [ ],
@@ -483,15 +459,33 @@ ON "Account->Actor"."serverId" = "Account->Actor->Server"."id"`
483 .findAll(query) 459 .findAll(query)
484 } 460 }
485 461
486 static searchForApi (options: { 462 static listForApi (parameters: Pick<AvailableForListOptions, 'actorId'> & {
487 actorId: number
488 search?: string
489 start: number 463 start: number
490 count: number 464 count: number
491 sort: string 465 sort: string
466 }) {
467 const { actorId } = parameters
468
469 const query = {
470 offset: parameters.start,
471 limit: parameters.count,
472 order: getSort(parameters.sort)
473 }
474
475 return VideoChannelModel
476 .scope({
477 method: [ ScopeNames.FOR_API, { actorId } as AvailableForListOptions ]
478 })
479 .findAndCountAll(query)
480 .then(({ rows, count }) => {
481 return { total: count, data: rows }
482 })
483 }
492 484
493 host?: string 485 static searchForApi (options: Pick<AvailableForListOptions, 'actorId' | 'search' | 'host' | 'handles'> & {
494 handles?: string[] 486 start: number
487 count: number
488 sort: string
495 }) { 489 }) {
496 let attributesInclude: any[] = [ literal('0 as similarity') ] 490 let attributesInclude: any[] = [ literal('0 as similarity') ]
497 let where: WhereOptions 491 let where: WhereOptions