From 453e83ea5d81d203ba34bc43cd5c2c750ba40568 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 15 Aug 2019 11:53:26 +0200 Subject: Stronger model typings --- server/typings/models/user/index.d.ts | 3 + .../models/user/user-notification-setting.ts | 3 + server/typings/models/user/user-notification.ts | 69 ++++++++++++++++++++++ server/typings/models/user/user-video-history.ts | 5 ++ server/typings/models/user/user.ts | 32 ++++++++++ 5 files changed, 112 insertions(+) create mode 100644 server/typings/models/user/index.d.ts create mode 100644 server/typings/models/user/user-notification-setting.ts create mode 100644 server/typings/models/user/user-notification.ts create mode 100644 server/typings/models/user/user-video-history.ts create mode 100644 server/typings/models/user/user.ts (limited to 'server/typings/models/user') diff --git a/server/typings/models/user/index.d.ts b/server/typings/models/user/index.d.ts new file mode 100644 index 000000000..e3353d0b1 --- /dev/null +++ b/server/typings/models/user/index.d.ts @@ -0,0 +1,3 @@ +export * from './user' +export * from './user-notification' +export * from './user-video-history' diff --git a/server/typings/models/user/user-notification-setting.ts b/server/typings/models/user/user-notification-setting.ts new file mode 100644 index 000000000..585d30a66 --- /dev/null +++ b/server/typings/models/user/user-notification-setting.ts @@ -0,0 +1,3 @@ +import { UserNotificationSettingModel } from '@server/models/account/user-notification-setting' + +export type MNotificationSetting = Omit diff --git a/server/typings/models/user/user-notification.ts b/server/typings/models/user/user-notification.ts new file mode 100644 index 000000000..b872c5dc5 --- /dev/null +++ b/server/typings/models/user/user-notification.ts @@ -0,0 +1,69 @@ +import { UserNotificationModel } from '../../../models/account/user-notification' +import { PickWith } from '../../utils' +import { VideoModel } from '../../../models/video/video' +import { ActorModel } from '../../../models/activitypub/actor' +import { ServerModel } from '../../../models/server/server' +import { AvatarModel } from '../../../models/avatar/avatar' +import { VideoChannelModel } from '../../../models/video/video-channel' +import { AccountModel } from '../../../models/account/account' +import { VideoCommentModel } from '../../../models/video/video-comment' +import { VideoAbuseModel } from '../../../models/video/video-abuse' +import { VideoBlacklistModel } from '../../../models/video/video-blacklist' +import { VideoImportModel } from '../../../models/video/video-import' +import { ActorFollowModel } from '../../../models/activitypub/actor-follow' + +export namespace UserNotificationIncludes { + export type VideoInclude = Pick + export type VideoIncludeChannel = VideoInclude & + PickWith + + export type ActorInclude = Pick & + PickWith> & + PickWith> + + export type VideoChannelInclude = Pick + export type VideoChannelIncludeActor = VideoChannelInclude & + PickWith + + export type AccountInclude = Pick + export type AccountIncludeActor = AccountInclude & + PickWith + + export type VideoCommentInclude = Pick & + PickWith & + PickWith + + export type VideoAbuseInclude = Pick & + PickWith + + export type VideoBlacklistInclude = Pick & + PickWith + + export type VideoImportInclude = Pick & + PickWith + + export type ActorFollower = Pick & + PickWith & + PickWith> & + PickWith> + + export type ActorFollowing = Pick & + PickWith & + PickWith + + export type ActorFollowInclude = Pick & + PickWith & + PickWith +} + +export type UserNotificationModelOnly = Omit + +export type UserNotificationModelForApi = UserNotificationModelOnly & + PickWith & + PickWith & + PickWith & + PickWith & + PickWith & + PickWith & + PickWith diff --git a/server/typings/models/user/user-video-history.ts b/server/typings/models/user/user-video-history.ts new file mode 100644 index 000000000..62673ab1b --- /dev/null +++ b/server/typings/models/user/user-video-history.ts @@ -0,0 +1,5 @@ +import { UserVideoHistoryModel } from '../../../models/account/user-video-history' + +export type MUserVideoHistory = Omit + +export type MUserVideoHistoryTime = Pick diff --git a/server/typings/models/user/user.ts b/server/typings/models/user/user.ts new file mode 100644 index 000000000..b91eed8d9 --- /dev/null +++ b/server/typings/models/user/user.ts @@ -0,0 +1,32 @@ +import { UserModel } from '../../../models/account/user' +import { PickWith } from '../../utils' +import { MAccount, MAccountDefault, MAccountDefaultChannelDefault, MAccountId, MAccountIdActorId, MAccountUrl } from '../account' +import { MNotificationSetting } from './user-notification-setting' + +export type MUser = Omit + +export type MUserId = Pick + +export type MUserWithNotificationSetting = MUser & + PickWith + +export type MUserAccountDefault = MUser & + PickWith + +export type MUserAccount = MUser & + PickWith + +export type MUserAccountId = MUser & + PickWith + +export type MUserNotifSettingAccount = MUserWithNotificationSetting & MUserAccount + +export type MUserDefault = MUser & + MUserWithNotificationSetting & + MUserAccountDefault + +export type MUserChannel = MUserWithNotificationSetting & + PickWith + +export type MUserAccountUrl = MUser & + PickWith -- cgit v1.2.3