aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/typings/models/account/actor-follow.ts
blob: 96c53d857102aac1b38063219e82b0dab95cab39 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { ActorFollowModel } from '../../../models/activitypub/actor-follow'
import { MActor, MActorAccountChannel, MActorChannel, MActorChannelAccount, MActorDefault, MActorHost, MActorUsername } from './actor'
import { PickWith } from '../../utils'

export type MActorFollow = Omit<ActorFollowModel, 'ActorFollower' | 'ActorFollowing'>

export type MActorFollowActors = MActorFollow &
  PickWith<ActorFollowModel, 'ActorFollower', MActor> &
  PickWith<ActorFollowModel, 'ActorFollowing', MActor>

export type MActorFollowActorsDefault = MActorFollow &
  PickWith<ActorFollowModel, 'ActorFollower', MActorDefault> &
  PickWith<ActorFollowModel, 'ActorFollowing', MActorDefault>

export type MActorFollowActorsDefaultSubscription = MActorFollow &
  PickWith<ActorFollowModel, 'ActorFollower', MActorDefault> &
  PickWith<ActorFollowModel, 'ActorFollowing', MActorDefault & MActorChannel>

export type MActorFollowFull = MActorFollow &
  PickWith<ActorFollowModel, 'ActorFollower', MActorAccountChannel> &
  PickWith<ActorFollowModel, 'ActorFollowing', MActorAccountChannel>

export type MActorFollowFollowingHost = MActorFollow &
  PickWith<ActorFollowModel, 'ActorFollowing', MActorUsername & MActorHost>

export type MActorFollowSubscriptions = MActorFollow &
  PickWith<ActorFollowModel, 'ActorFollowing', MActorChannelAccount>