aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/types
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2023-01-19 09:27:16 +0100
committerChocobozzz <chocobozzz@cpy.re>2023-01-19 13:53:40 +0100
commite364e31e25bd1d4b8d801c845a96d6be708f0a18 (patch)
tree220785a42af361706eb8243960c5da9cddf4d2be /server/types
parentbc48e33b80f357767b98c1d310b04bdda24c6d46 (diff)
downloadPeerTube-e364e31e25bd1d4b8d801c845a96d6be708f0a18.tar.gz
PeerTube-e364e31e25bd1d4b8d801c845a96d6be708f0a18.tar.zst
PeerTube-e364e31e25bd1d4b8d801c845a96d6be708f0a18.zip
Implement signup approval in server
Diffstat (limited to 'server/types')
-rw-r--r--server/types/express.d.ts2
-rw-r--r--server/types/models/user/index.ts1
-rw-r--r--server/types/models/user/user-notification.ts9
-rw-r--r--server/types/models/user/user-registration.ts15
4 files changed, 25 insertions, 2 deletions
diff --git a/server/types/express.d.ts b/server/types/express.d.ts
index 6fea4dac2..c1c379b98 100644
--- a/server/types/express.d.ts
+++ b/server/types/express.d.ts
@@ -8,6 +8,7 @@ import {
8 MActorUrl, 8 MActorUrl,
9 MChannelBannerAccountDefault, 9 MChannelBannerAccountDefault,
10 MChannelSyncChannel, 10 MChannelSyncChannel,
11 MRegistration,
11 MStreamingPlaylist, 12 MStreamingPlaylist,
12 MUserAccountUrl, 13 MUserAccountUrl,
13 MVideoChangeOwnershipFull, 14 MVideoChangeOwnershipFull,
@@ -171,6 +172,7 @@ declare module 'express' {
171 actorFull?: MActorFull 172 actorFull?: MActorFull
172 173
173 user?: MUserDefault 174 user?: MUserDefault
175 userRegistration?: MRegistration
174 176
175 server?: MServer 177 server?: MServer
176 178
diff --git a/server/types/models/user/index.ts b/server/types/models/user/index.ts
index 6657b2128..5738f4107 100644
--- a/server/types/models/user/index.ts
+++ b/server/types/models/user/index.ts
@@ -1,4 +1,5 @@
1export * from './user' 1export * from './user'
2export * from './user-notification' 2export * from './user-notification'
3export * from './user-notification-setting' 3export * from './user-notification-setting'
4export * from './user-registration'
4export * from './user-video-history' 5export * from './user-video-history'
diff --git a/server/types/models/user/user-notification.ts b/server/types/models/user/user-notification.ts
index d4715a0b6..a732c8aa9 100644
--- a/server/types/models/user/user-notification.ts
+++ b/server/types/models/user/user-notification.ts
@@ -3,6 +3,7 @@ import { VideoCommentAbuseModel } from '@server/models/abuse/video-comment-abuse
3import { ApplicationModel } from '@server/models/application/application' 3import { ApplicationModel } from '@server/models/application/application'
4import { PluginModel } from '@server/models/server/plugin' 4import { PluginModel } from '@server/models/server/plugin'
5import { UserNotificationModel } from '@server/models/user/user-notification' 5import { UserNotificationModel } from '@server/models/user/user-notification'
6import { UserRegistrationModel } from '@server/models/user/user-registration'
6import { PickWith, PickWithOpt } from '@shared/typescript-utils' 7import { PickWith, PickWithOpt } from '@shared/typescript-utils'
7import { AbuseModel } from '../../../models/abuse/abuse' 8import { AbuseModel } from '../../../models/abuse/abuse'
8import { AccountModel } from '../../../models/account/account' 9import { AccountModel } from '../../../models/account/account'
@@ -94,13 +95,16 @@ export module UserNotificationIncludes {
94 95
95 export type ApplicationInclude = 96 export type ApplicationInclude =
96 Pick<ApplicationModel, 'latestPeerTubeVersion'> 97 Pick<ApplicationModel, 'latestPeerTubeVersion'>
98
99 export type UserRegistrationInclude =
100 Pick<UserRegistrationModel, 'id' | 'username'>
97} 101}
98 102
99// ############################################################################ 103// ############################################################################
100 104
101export type MUserNotification = 105export type MUserNotification =
102 Omit<UserNotificationModel, 'User' | 'Video' | 'VideoComment' | 'Abuse' | 'VideoBlacklist' | 106 Omit<UserNotificationModel, 'User' | 'Video' | 'VideoComment' | 'Abuse' | 'VideoBlacklist' |
103 'VideoImport' | 'Account' | 'ActorFollow' | 'Plugin' | 'Application'> 107 'VideoImport' | 'Account' | 'ActorFollow' | 'Plugin' | 'Application' | 'UserRegistration'>
104 108
105// ############################################################################ 109// ############################################################################
106 110
@@ -114,4 +118,5 @@ export type UserNotificationModelForApi =
114 Use<'ActorFollow', UserNotificationIncludes.ActorFollowInclude> & 118 Use<'ActorFollow', UserNotificationIncludes.ActorFollowInclude> &
115 Use<'Plugin', UserNotificationIncludes.PluginInclude> & 119 Use<'Plugin', UserNotificationIncludes.PluginInclude> &
116 Use<'Application', UserNotificationIncludes.ApplicationInclude> & 120 Use<'Application', UserNotificationIncludes.ApplicationInclude> &
117 Use<'Account', UserNotificationIncludes.AccountIncludeActor> 121 Use<'Account', UserNotificationIncludes.AccountIncludeActor> &
122 Use<'UserRegistration', UserNotificationIncludes.UserRegistrationInclude>
diff --git a/server/types/models/user/user-registration.ts b/server/types/models/user/user-registration.ts
new file mode 100644
index 000000000..216423cc9
--- /dev/null
+++ b/server/types/models/user/user-registration.ts
@@ -0,0 +1,15 @@
1import { UserRegistrationModel } from '@server/models/user/user-registration'
2import { PickWith } from '@shared/typescript-utils'
3import { MUserId } from './user'
4
5type Use<K extends keyof UserRegistrationModel, M> = PickWith<UserRegistrationModel, K, M>
6
7// ############################################################################
8
9export type MRegistration = Omit<UserRegistrationModel, 'User'>
10
11// ############################################################################
12
13export type MRegistrationFormattable =
14 MRegistration &
15 Use<'User', MUserId>