UpdatedAt
} from 'sequelize-typescript'
import { FollowState } from '../../../shared/models/actors'
-import { AccountFollow } from '../../../shared/models/actors/follow.model'
+import { ActorFollow } from '../../../shared/models/actors/follow.model'
import { logger } from '../../helpers/logger'
import { getServerActor } from '../../helpers/utils'
import { ACTOR_FOLLOW_SCORE } from '../../initializers'
static loadByActorAndTargetNameAndHostForAPI (actorId: number, targetName: string, targetHost: string, t?: Sequelize.Transaction) {
const actorFollowingPartInclude: IIncludeOptions = {
- attributes: {
- exclude: unusedActorAttributesForAPI
- },
model: ActorModel,
required: true,
as: 'ActorFollowing',
actorId
},
include: [
- actorFollowingPartInclude
+ actorFollowingPartInclude,
+ {
+ model: ActorModel,
+ required: true,
+ as: 'ActorFollower'
+ }
],
transaction: t
}
},
include: [
{
- attributes: {
- exclude: unusedActorAttributesForAPI
- },
- model: ActorModel,
+ attributes: [ 'id' ],
+ model: ActorModel.unscoped(),
as: 'ActorFollowing',
required: true,
include: [
{
- model: VideoChannelModel,
+ model: VideoChannelModel.unscoped(),
required: true,
include: [
{
required: true
},
{
- model: AccountModel,
+ model: AccountModel.unscoped(),
required: true,
include: [
{
return ActorFollowModel.findAll(query)
}
- toFormattedJSON (): AccountFollow {
+ toFormattedJSON (): ActorFollow {
const follower = this.ActorFollower.toFormattedJSON()
const following = this.ActorFollowing.toFormattedJSON()