aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/types/models/account
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2021-04-06 17:01:35 +0200
committerChocobozzz <chocobozzz@cpy.re>2021-04-08 10:07:53 +0200
commit2cb03dc1f4e01ba491c36caff30c33fe9c5bad89 (patch)
tree08a8706d105ea1e280339c02b9e2b1dc1edb0ff9 /server/types/models/account
parentf479685678406a5df864d89615b33d29085ebfc6 (diff)
downloadPeerTube-2cb03dc1f4e01ba491c36caff30c33fe9c5bad89.tar.gz
PeerTube-2cb03dc1f4e01ba491c36caff30c33fe9c5bad89.tar.zst
PeerTube-2cb03dc1f4e01ba491c36caff30c33fe9c5bad89.zip
Add banners support
Diffstat (limited to 'server/types/models/account')
-rw-r--r--server/types/models/account/account.ts10
-rw-r--r--server/types/models/account/actor-follow.ts11
-rw-r--r--server/types/models/account/actor.ts33
3 files changed, 38 insertions, 16 deletions
diff --git a/server/types/models/account/account.ts b/server/types/models/account/account.ts
index d2add9810..9513acad8 100644
--- a/server/types/models/account/account.ts
+++ b/server/types/models/account/account.ts
@@ -1,7 +1,10 @@
1import { FunctionProperties, PickWith } from '@shared/core-utils'
1import { AccountModel } from '../../../models/account/account' 2import { AccountModel } from '../../../models/account/account'
3import { MChannelDefault } from '../video/video-channels'
4import { MAccountBlocklistId } from './account-blocklist'
2import { 5import {
3 MActor, 6 MActor,
4 MActorAP, 7 MActorAPAccount,
5 MActorAPI, 8 MActorAPI,
6 MActorAudience, 9 MActorAudience,
7 MActorDefault, 10 MActorDefault,
@@ -13,9 +16,6 @@ import {
13 MActorSummaryFormattable, 16 MActorSummaryFormattable,
14 MActorUrl 17 MActorUrl
15} from './actor' 18} from './actor'
16import { FunctionProperties, PickWith } from '@shared/core-utils'
17import { MAccountBlocklistId } from './account-blocklist'
18import { MChannelDefault } from '../video/video-channels'
19 19
20type Use<K extends keyof AccountModel, M> = PickWith<AccountModel, K, M> 20type Use<K extends keyof AccountModel, M> = PickWith<AccountModel, K, M>
21 21
@@ -106,4 +106,4 @@ export type MAccountFormattable =
106 106
107export type MAccountAP = 107export type MAccountAP =
108 Pick<MAccount, 'name' | 'description'> & 108 Pick<MAccount, 'name' | 'description'> &
109 Use<'Actor', MActorAP> 109 Use<'Actor', MActorAPAccount>
diff --git a/server/types/models/account/actor-follow.ts b/server/types/models/account/actor-follow.ts
index 8c213d09c..8e19c6140 100644
--- a/server/types/models/account/actor-follow.ts
+++ b/server/types/models/account/actor-follow.ts
@@ -1,16 +1,15 @@
1import { PickWith } from '@shared/core-utils'
1import { ActorFollowModel } from '../../../models/activitypub/actor-follow' 2import { ActorFollowModel } from '../../../models/activitypub/actor-follow'
2import { 3import {
3 MActor, 4 MActor,
4 MActorChannelAccountActor, 5 MActorChannelAccountActor,
5 MActorDefault, 6 MActorDefault,
6 MActorDefaultAccountChannel, 7 MActorDefaultAccountChannel,
8 MActorDefaultChannelId,
7 MActorFormattable, 9 MActorFormattable,
8 MActorHost, 10 MActorHost,
9 MActorUsername 11 MActorUsername
10} from './actor' 12} from './actor'
11import { PickWith } from '@shared/core-utils'
12import { ActorModel } from '@server/models/activitypub/actor'
13import { MChannelDefault } from '../video/video-channels'
14 13
15type Use<K extends keyof ActorFollowModel, M> = PickWith<ActorFollowModel, K, M> 14type Use<K extends keyof ActorFollowModel, M> = PickWith<ActorFollowModel, K, M>
16 15
@@ -47,14 +46,10 @@ export type MActorFollowFull =
47 46
48// For subscriptions 47// For subscriptions
49 48
50type SubscriptionFollowing =
51 MActorDefault &
52 PickWith<ActorModel, 'VideoChannel', MChannelDefault>
53
54export type MActorFollowActorsDefaultSubscription = 49export type MActorFollowActorsDefaultSubscription =
55 MActorFollow & 50 MActorFollow &
56 Use<'ActorFollower', MActorDefault> & 51 Use<'ActorFollower', MActorDefault> &
57 Use<'ActorFollowing', SubscriptionFollowing> 52 Use<'ActorFollowing', MActorDefaultChannelId>
58 53
59export type MActorFollowSubscriptions = 54export type MActorFollowSubscriptions =
60 MActorFollow & 55 MActorFollow &
diff --git a/server/types/models/account/actor.ts b/server/types/models/account/actor.ts
index 8af19c4da..8f3f30074 100644
--- a/server/types/models/account/actor.ts
+++ b/server/types/models/account/actor.ts
@@ -1,3 +1,4 @@
1
1import { FunctionProperties, PickWith, PickWithOpt } from '@shared/core-utils' 2import { FunctionProperties, PickWith, PickWithOpt } from '@shared/core-utils'
2import { ActorModel } from '../../../models/activitypub/actor' 3import { ActorModel } from '../../../models/activitypub/actor'
3import { MServer, MServerHost, MServerHostBlocks, MServerRedundancyAllowed } from '../server' 4import { MServer, MServerHost, MServerHostBlocks, MServerRedundancyAllowed } from '../server'
@@ -6,6 +7,7 @@ import { MAccount, MAccountDefault, MAccountId, MAccountIdActor } from './accoun
6import { MActorImage, MActorImageFormattable } from './actor-image' 7import { MActorImage, MActorImageFormattable } from './actor-image'
7 8
8type Use<K extends keyof ActorModel, M> = PickWith<ActorModel, K, M> 9type Use<K extends keyof ActorModel, M> = PickWith<ActorModel, K, M>
10type UseOpt<K extends keyof ActorModel, M> = PickWithOpt<ActorModel, K, M>
9 11
10// ############################################################################ 12// ############################################################################
11 13
@@ -75,11 +77,26 @@ export type MActorServer =
75 77
76// Complex actor associations 78// Complex actor associations
77 79
80export type MActorImages =
81 MActor &
82 Use<'Avatar', MActorImage> &
83 UseOpt<'Banner', MActorImage>
84
78export type MActorDefault = 85export type MActorDefault =
79 MActor & 86 MActor &
80 Use<'Server', MServer> & 87 Use<'Server', MServer> &
81 Use<'Avatar', MActorImage> 88 Use<'Avatar', MActorImage>
82 89
90export type MActorDefaultChannelId =
91 MActorDefault &
92 Use<'VideoChannel', MChannelId>
93
94export type MActorDefaultBanner =
95 MActor &
96 Use<'Server', MServer> &
97 Use<'Avatar', MActorImage> &
98 Use<'Banner', MActorImage>
99
83// Actor with channel that is associated to an account and its actor 100// Actor with channel that is associated to an account and its actor
84// Actor -> VideoChannel -> Account -> Actor 101// Actor -> VideoChannel -> Account -> Actor
85export type MActorChannelAccountActor = 102export type MActorChannelAccountActor =
@@ -90,6 +107,7 @@ export type MActorFull =
90 MActor & 107 MActor &
91 Use<'Server', MServer> & 108 Use<'Server', MServer> &
92 Use<'Avatar', MActorImage> & 109 Use<'Avatar', MActorImage> &
110 Use<'Banner', MActorImage> &
93 Use<'Account', MAccount> & 111 Use<'Account', MAccount> &
94 Use<'VideoChannel', MChannelAccountActor> 112 Use<'VideoChannel', MChannelAccountActor>
95 113
@@ -98,6 +116,7 @@ export type MActorFullActor =
98 MActor & 116 MActor &
99 Use<'Server', MServer> & 117 Use<'Server', MServer> &
100 Use<'Avatar', MActorImage> & 118 Use<'Avatar', MActorImage> &
119 Use<'Banner', MActorImage> &
101 Use<'Account', MAccountDefault> & 120 Use<'Account', MAccountDefault> &
102 Use<'VideoChannel', MChannelAccountDefault> 121 Use<'VideoChannel', MChannelAccountDefault>
103 122
@@ -131,9 +150,17 @@ export type MActorSummaryFormattable =
131 150
132export type MActorFormattable = 151export type MActorFormattable =
133 MActorSummaryFormattable & 152 MActorSummaryFormattable &
134 Pick<MActor, 'id' | 'followingCount' | 'followersCount' | 'createdAt' | 'updatedAt'> & 153 Pick<MActor, 'id' | 'followingCount' | 'followersCount' | 'createdAt' | 'updatedAt' | 'bannerId' | 'avatarId'> &
135 Use<'Server', MServerHost & Partial<Pick<MServer, 'redundancyAllowed'>>> 154 Use<'Server', MServerHost & Partial<Pick<MServer, 'redundancyAllowed'>>> &
155 UseOpt<'Banner', MActorImageFormattable>
136 156
137export type MActorAP = 157type MActorAPBase =
138 MActor & 158 MActor &
139 Use<'Avatar', MActorImage> 159 Use<'Avatar', MActorImage>
160
161export type MActorAPAccount =
162 MActorAPBase
163
164export type MActorAPChannel =
165 MActorAPBase &
166 Use<'Banner', MActorImage>