diff options
author | Chocobozzz <me@florianbigard.com> | 2023-01-19 09:27:16 +0100 |
---|---|---|
committer | Chocobozzz <chocobozzz@cpy.re> | 2023-01-19 13:53:40 +0100 |
commit | e364e31e25bd1d4b8d801c845a96d6be708f0a18 (patch) | |
tree | 220785a42af361706eb8243960c5da9cddf4d2be /server/types/models | |
parent | bc48e33b80f357767b98c1d310b04bdda24c6d46 (diff) | |
download | PeerTube-e364e31e25bd1d4b8d801c845a96d6be708f0a18.tar.gz PeerTube-e364e31e25bd1d4b8d801c845a96d6be708f0a18.tar.zst PeerTube-e364e31e25bd1d4b8d801c845a96d6be708f0a18.zip |
Implement signup approval in server
Diffstat (limited to 'server/types/models')
-rw-r--r-- | server/types/models/user/index.ts | 1 | ||||
-rw-r--r-- | server/types/models/user/user-notification.ts | 9 | ||||
-rw-r--r-- | server/types/models/user/user-registration.ts | 15 |
3 files changed, 23 insertions, 2 deletions
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 @@ | |||
1 | export * from './user' | 1 | export * from './user' |
2 | export * from './user-notification' | 2 | export * from './user-notification' |
3 | export * from './user-notification-setting' | 3 | export * from './user-notification-setting' |
4 | export * from './user-registration' | ||
4 | export * from './user-video-history' | 5 | export * 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 | |||
3 | import { ApplicationModel } from '@server/models/application/application' | 3 | import { ApplicationModel } from '@server/models/application/application' |
4 | import { PluginModel } from '@server/models/server/plugin' | 4 | import { PluginModel } from '@server/models/server/plugin' |
5 | import { UserNotificationModel } from '@server/models/user/user-notification' | 5 | import { UserNotificationModel } from '@server/models/user/user-notification' |
6 | import { UserRegistrationModel } from '@server/models/user/user-registration' | ||
6 | import { PickWith, PickWithOpt } from '@shared/typescript-utils' | 7 | import { PickWith, PickWithOpt } from '@shared/typescript-utils' |
7 | import { AbuseModel } from '../../../models/abuse/abuse' | 8 | import { AbuseModel } from '../../../models/abuse/abuse' |
8 | import { AccountModel } from '../../../models/account/account' | 9 | import { 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 | ||
101 | export type MUserNotification = | 105 | export 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 @@ | |||
1 | import { UserRegistrationModel } from '@server/models/user/user-registration' | ||
2 | import { PickWith } from '@shared/typescript-utils' | ||
3 | import { MUserId } from './user' | ||
4 | |||
5 | type Use<K extends keyof UserRegistrationModel, M> = PickWith<UserRegistrationModel, K, M> | ||
6 | |||
7 | // ############################################################################ | ||
8 | |||
9 | export type MRegistration = Omit<UserRegistrationModel, 'User'> | ||
10 | |||
11 | // ############################################################################ | ||
12 | |||
13 | export type MRegistrationFormattable = | ||
14 | MRegistration & | ||
15 | Use<'User', MUserId> | ||