aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/models/activitypub/actor-follow.ts
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2019-08-22 10:43:11 +0200
committerChocobozzz <me@florianbigard.com>2019-08-22 10:43:11 +0200
commit5c5e587307a27e173333789b5b5167d35f468b01 (patch)
tree94e3721caf2e11d38fd5f4112c0fc98da89ac535 /server/models/activitypub/actor-follow.ts
parent1b42d73f44811eec1b7ddd72dd0d640a57c3376c (diff)
parentb5fecbf44192144d1ca27c23a0b53922de288c10 (diff)
downloadPeerTube-5c5e587307a27e173333789b5b5167d35f468b01.tar.gz
PeerTube-5c5e587307a27e173333789b5b5167d35f468b01.tar.zst
PeerTube-5c5e587307a27e173333789b5b5167d35f468b01.zip
Merge branch 'feature/strong-model-types' into develop
Diffstat (limited to 'server/models/activitypub/actor-follow.ts')
-rw-r--r--server/models/activitypub/actor-follow.ts28
1 files changed, 20 insertions, 8 deletions
diff --git a/server/models/activitypub/actor-follow.ts b/server/models/activitypub/actor-follow.ts
index 51b09e09b..c8b3aae9f 100644
--- a/server/models/activitypub/actor-follow.ts
+++ b/server/models/activitypub/actor-follow.ts
@@ -27,7 +27,14 @@ import { createSafeIn, getSort } from '../utils'
27import { ActorModel, unusedActorAttributesForAPI } from './actor' 27import { ActorModel, unusedActorAttributesForAPI } from './actor'
28import { VideoChannelModel } from '../video/video-channel' 28import { VideoChannelModel } from '../video/video-channel'
29import { AccountModel } from '../account/account' 29import { AccountModel } from '../account/account'
30import { IncludeOptions, Op, Transaction, QueryTypes } from 'sequelize' 30import { IncludeOptions, Op, QueryTypes, Transaction } from 'sequelize'
31import {
32 MActorFollowActorsDefault,
33 MActorFollowActorsDefaultSubscription,
34 MActorFollowFollowingHost,
35 MActorFollowFormattable,
36 MActorFollowSubscriptions
37} from '@server/typings/models'
31 38
32@Table({ 39@Table({
33 tableName: 'actorFollow', 40 tableName: 'actorFollow',
@@ -143,7 +150,7 @@ export class ActorFollowModel extends Model<ActorFollowModel> {
143 if (numberOfActorFollowsRemoved) logger.info('Removed bad %d actor follows.', numberOfActorFollowsRemoved) 150 if (numberOfActorFollowsRemoved) logger.info('Removed bad %d actor follows.', numberOfActorFollowsRemoved)
144 } 151 }
145 152
146 static loadByActorAndTarget (actorId: number, targetActorId: number, t?: Transaction) { 153 static loadByActorAndTarget (actorId: number, targetActorId: number, t?: Transaction): Bluebird<MActorFollowActorsDefault> {
147 const query = { 154 const query = {
148 where: { 155 where: {
149 actorId, 156 actorId,
@@ -167,7 +174,12 @@ export class ActorFollowModel extends Model<ActorFollowModel> {
167 return ActorFollowModel.findOne(query) 174 return ActorFollowModel.findOne(query)
168 } 175 }
169 176
170 static loadByActorAndTargetNameAndHostForAPI (actorId: number, targetName: string, targetHost: string, t?: Transaction) { 177 static loadByActorAndTargetNameAndHostForAPI (
178 actorId: number,
179 targetName: string,
180 targetHost: string,
181 t?: Transaction
182 ): Bluebird<MActorFollowActorsDefaultSubscription> {
171 const actorFollowingPartInclude: IncludeOptions = { 183 const actorFollowingPartInclude: IncludeOptions = {
172 model: ActorModel, 184 model: ActorModel,
173 required: true, 185 required: true,
@@ -220,7 +232,7 @@ export class ActorFollowModel extends Model<ActorFollowModel> {
220 }) 232 })
221 } 233 }
222 234
223 static listSubscribedIn (actorId: number, targets: { name: string, host?: string }[]) { 235 static listSubscribedIn (actorId: number, targets: { name: string, host?: string }[]): Bluebird<MActorFollowFollowingHost[]> {
224 const whereTab = targets 236 const whereTab = targets
225 .map(t => { 237 .map(t => {
226 if (t.host) { 238 if (t.host) {
@@ -314,7 +326,7 @@ export class ActorFollowModel extends Model<ActorFollowModel> {
314 ] 326 ]
315 } 327 }
316 328
317 return ActorFollowModel.findAndCountAll(query) 329 return ActorFollowModel.findAndCountAll<MActorFollowActorsDefault>(query)
318 .then(({ rows, count }) => { 330 .then(({ rows, count }) => {
319 return { 331 return {
320 data: rows, 332 data: rows,
@@ -357,7 +369,7 @@ export class ActorFollowModel extends Model<ActorFollowModel> {
357 ] 369 ]
358 } 370 }
359 371
360 return ActorFollowModel.findAndCountAll(query) 372 return ActorFollowModel.findAndCountAll<MActorFollowActorsDefault>(query)
361 .then(({ rows, count }) => { 373 .then(({ rows, count }) => {
362 return { 374 return {
363 data: rows, 375 data: rows,
@@ -414,7 +426,7 @@ export class ActorFollowModel extends Model<ActorFollowModel> {
414 ] 426 ]
415 } 427 }
416 428
417 return ActorFollowModel.findAndCountAll(query) 429 return ActorFollowModel.findAndCountAll<MActorFollowSubscriptions>(query)
418 .then(({ rows, count }) => { 430 .then(({ rows, count }) => {
419 return { 431 return {
420 data: rows.map(r => r.ActorFollowing.VideoChannel), 432 data: rows.map(r => r.ActorFollowing.VideoChannel),
@@ -569,7 +581,7 @@ export class ActorFollowModel extends Model<ActorFollowModel> {
569 return ActorFollowModel.findAll(query) 581 return ActorFollowModel.findAll(query)
570 } 582 }
571 583
572 toFormattedJSON (): ActorFollow { 584 toFormattedJSON (this: MActorFollowFormattable): ActorFollow {
573 const follower = this.ActorFollower.toFormattedJSON() 585 const follower = this.ActorFollower.toFormattedJSON()
574 const following = this.ActorFollowing.toFormattedJSON() 586 const following = this.ActorFollowing.toFormattedJSON()
575 587