From 4771e0008dd26eadbb7eaff64255a6ec914fdadb Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 Jul 2017 19:43:21 +0200 Subject: Better typescript typing for a better world --- shared/models/index.ts | 9 +++----- shared/models/pod.model.ts | 7 ------ shared/models/pods/index.ts | 3 +++ shared/models/pods/pod-signature.model.ts | 4 ++++ shared/models/pods/pod.model.ts | 7 ++++++ shared/models/pods/remote-video/index.ts | 7 ++++++ .../remote-qadu-video-request.model.ts | 10 ++++++++ .../remote-video-create-request.model.ts | 27 ++++++++++++++++++++++ .../remote-video-event-request.model.ts | 11 +++++++++ .../remote-video-remove-request.model.ts | 10 ++++++++ .../remote-video-report-abuse-request.model.ts | 12 ++++++++++ .../remote-video/remote-video-request.model.ts | 4 ++++ .../remote-video-update-request.model.ts | 23 ++++++++++++++++++ shared/models/user-video-rate.model.ts | 7 ------ shared/models/user.model.ts | 10 -------- shared/models/users/index.ts | 4 ++++ shared/models/users/user-create.model.ts | 5 ++++ shared/models/users/user-role.type.ts | 1 + shared/models/users/user-update.model.ts | 4 ++++ shared/models/users/user.model.ts | 10 ++++++++ shared/models/video-abuse.model.ts | 8 ------- shared/models/video-blacklist.model.ts | 5 ---- shared/models/video.model.ts | 23 ------------------ shared/models/videos/index.ts | 10 ++++++++ .../models/videos/user-video-rate-update.model.ts | 5 ++++ shared/models/videos/user-video-rate.model.ts | 6 +++++ shared/models/videos/user-video-rate.type.ts | 1 + shared/models/videos/video-abuse-create.model.ts | 3 +++ shared/models/videos/video-abuse.model.ts | 8 +++++++ shared/models/videos/video-blacklist.model.ts | 5 ++++ shared/models/videos/video-create.model.ts | 9 ++++++++ shared/models/videos/video-rate.type.ts | 1 + shared/models/videos/video-update.model.ts | 9 ++++++++ shared/models/videos/video.model.ts | 23 ++++++++++++++++++ 34 files changed, 225 insertions(+), 66 deletions(-) delete mode 100644 shared/models/pod.model.ts create mode 100644 shared/models/pods/index.ts create mode 100644 shared/models/pods/pod-signature.model.ts create mode 100644 shared/models/pods/pod.model.ts create mode 100644 shared/models/pods/remote-video/index.ts create mode 100644 shared/models/pods/remote-video/remote-qadu-video-request.model.ts create mode 100644 shared/models/pods/remote-video/remote-video-create-request.model.ts create mode 100644 shared/models/pods/remote-video/remote-video-event-request.model.ts create mode 100644 shared/models/pods/remote-video/remote-video-remove-request.model.ts create mode 100644 shared/models/pods/remote-video/remote-video-report-abuse-request.model.ts create mode 100644 shared/models/pods/remote-video/remote-video-request.model.ts create mode 100644 shared/models/pods/remote-video/remote-video-update-request.model.ts delete mode 100644 shared/models/user-video-rate.model.ts delete mode 100644 shared/models/user.model.ts create mode 100644 shared/models/users/index.ts create mode 100644 shared/models/users/user-create.model.ts create mode 100644 shared/models/users/user-role.type.ts create mode 100644 shared/models/users/user-update.model.ts create mode 100644 shared/models/users/user.model.ts delete mode 100644 shared/models/video-abuse.model.ts delete mode 100644 shared/models/video-blacklist.model.ts delete mode 100644 shared/models/video.model.ts create mode 100644 shared/models/videos/index.ts create mode 100644 shared/models/videos/user-video-rate-update.model.ts create mode 100644 shared/models/videos/user-video-rate.model.ts create mode 100644 shared/models/videos/user-video-rate.type.ts create mode 100644 shared/models/videos/video-abuse-create.model.ts create mode 100644 shared/models/videos/video-abuse.model.ts create mode 100644 shared/models/videos/video-blacklist.model.ts create mode 100644 shared/models/videos/video-create.model.ts create mode 100644 shared/models/videos/video-rate.type.ts create mode 100644 shared/models/videos/video-update.model.ts create mode 100644 shared/models/videos/video.model.ts (limited to 'shared/models') diff --git a/shared/models/index.ts b/shared/models/index.ts index cd885af89..02665a3e6 100644 --- a/shared/models/index.ts +++ b/shared/models/index.ts @@ -1,11 +1,8 @@ +export * from './pods' +export * from './users' +export * from './videos' export * from './job.model' export * from './oauth-client-local.model' -export * from './pod.model' export * from './result-list.model' export * from './request-scheduler.model' -export * from './user-video-rate.model' -export * from './user.model' -export * from './video-abuse.model' -export * from './video-blacklist.model' -export * from './video.model' export * from './server-config.model' diff --git a/shared/models/pod.model.ts b/shared/models/pod.model.ts deleted file mode 100644 index d25421936..000000000 --- a/shared/models/pod.model.ts +++ /dev/null @@ -1,7 +0,0 @@ -export interface Pod { - id: number, - host: string, - email: string, - score: number, - createdAt: Date -} diff --git a/shared/models/pods/index.ts b/shared/models/pods/index.ts new file mode 100644 index 000000000..f59d01540 --- /dev/null +++ b/shared/models/pods/index.ts @@ -0,0 +1,3 @@ +export * from './pod-signature.model' +export * from './pod.model' +export * from './remote-video' diff --git a/shared/models/pods/pod-signature.model.ts b/shared/models/pods/pod-signature.model.ts new file mode 100644 index 000000000..b7988a40c --- /dev/null +++ b/shared/models/pods/pod-signature.model.ts @@ -0,0 +1,4 @@ +export interface PodSignature { + host: string + signature: string +} diff --git a/shared/models/pods/pod.model.ts b/shared/models/pods/pod.model.ts new file mode 100644 index 000000000..d25421936 --- /dev/null +++ b/shared/models/pods/pod.model.ts @@ -0,0 +1,7 @@ +export interface Pod { + id: number, + host: string, + email: string, + score: number, + createdAt: Date +} diff --git a/shared/models/pods/remote-video/index.ts b/shared/models/pods/remote-video/index.ts new file mode 100644 index 000000000..c88116849 --- /dev/null +++ b/shared/models/pods/remote-video/index.ts @@ -0,0 +1,7 @@ +export * from './remote-qadu-video-request.model' +export * from './remote-video-event-request.model' +export * from './remote-video-request.model' +export * from './remote-video-create-request.model' +export * from './remote-video-update-request.model' +export * from './remote-video-remove-request.model' +export * from './remote-video-report-abuse-request.model' diff --git a/shared/models/pods/remote-video/remote-qadu-video-request.model.ts b/shared/models/pods/remote-video/remote-qadu-video-request.model.ts new file mode 100644 index 000000000..0f84e3f13 --- /dev/null +++ b/shared/models/pods/remote-video/remote-qadu-video-request.model.ts @@ -0,0 +1,10 @@ +export interface RemoteQaduVideoData { + remoteId: string + views?: number + likes?: number + dislikes?: number +} + +export interface RemoteQaduVideoRequest { + data: RemoteQaduVideoData +} diff --git a/shared/models/pods/remote-video/remote-video-create-request.model.ts b/shared/models/pods/remote-video/remote-video-create-request.model.ts new file mode 100644 index 000000000..6babb0083 --- /dev/null +++ b/shared/models/pods/remote-video/remote-video-create-request.model.ts @@ -0,0 +1,27 @@ +import { RemoteVideoRequest } from './remote-video-request.model' + +export interface RemoteVideoCreateData { + remoteId: string + author: string + tags: string[] + name: string + extname: string + infoHash: string + category: number + licence: number + language: number + nsfw: boolean + description: string + duration: number + createdAt: Date + updatedAt: Date + views: number + likes: number + dislikes: number + thumbnailData: string +} + +export interface RemoteVideoCreateRequest extends RemoteVideoRequest { + type: 'add' + data: RemoteVideoCreateData +} diff --git a/shared/models/pods/remote-video/remote-video-event-request.model.ts b/shared/models/pods/remote-video/remote-video-event-request.model.ts new file mode 100644 index 000000000..84df1ca2f --- /dev/null +++ b/shared/models/pods/remote-video/remote-video-event-request.model.ts @@ -0,0 +1,11 @@ +export type RemoteVideoEventType = 'views' | 'likes' | 'dislikes' + +export interface RemoteVideoEventData { + remoteId: string + eventType: RemoteVideoEventType + count: number +} + +export interface RemoteVideoEventRequest { + data: RemoteVideoEventData +} diff --git a/shared/models/pods/remote-video/remote-video-remove-request.model.ts b/shared/models/pods/remote-video/remote-video-remove-request.model.ts new file mode 100644 index 000000000..95ee38661 --- /dev/null +++ b/shared/models/pods/remote-video/remote-video-remove-request.model.ts @@ -0,0 +1,10 @@ +import { RemoteVideoRequest } from './remote-video-request.model' + +export interface RemoteVideoRemoveData { + remoteId: string +} + +export interface RemoteVideoRemoveRequest extends RemoteVideoRequest { + type: 'remove' + data: RemoteVideoRemoveData +} diff --git a/shared/models/pods/remote-video/remote-video-report-abuse-request.model.ts b/shared/models/pods/remote-video/remote-video-report-abuse-request.model.ts new file mode 100644 index 000000000..9059c92e0 --- /dev/null +++ b/shared/models/pods/remote-video/remote-video-report-abuse-request.model.ts @@ -0,0 +1,12 @@ +import { RemoteVideoRequest } from './remote-video-request.model' + +export interface RemoteVideoReportAbuseData { + videoRemoteId: string + reporterUsername: string + reportReason: string +} + +export interface RemoteVideoReportAbuseRequest extends RemoteVideoRequest { + type: 'report-abuse' + data: RemoteVideoReportAbuseData +} diff --git a/shared/models/pods/remote-video/remote-video-request.model.ts b/shared/models/pods/remote-video/remote-video-request.model.ts new file mode 100644 index 000000000..e5052a23d --- /dev/null +++ b/shared/models/pods/remote-video/remote-video-request.model.ts @@ -0,0 +1,4 @@ +export interface RemoteVideoRequest { + type: 'add' | 'update' | 'remove' | 'report-abuse' + data: any +} diff --git a/shared/models/pods/remote-video/remote-video-update-request.model.ts b/shared/models/pods/remote-video/remote-video-update-request.model.ts new file mode 100644 index 000000000..67ddbc1e4 --- /dev/null +++ b/shared/models/pods/remote-video/remote-video-update-request.model.ts @@ -0,0 +1,23 @@ +export interface RemoteVideoUpdateData { + remoteId: string + tags: string[] + name: string + extname: string + infoHash: string + category: number + licence: number + language: number + nsfw: boolean + description: string + duration: number + createdAt: Date + updatedAt: Date + views: number + likes: number + dislikes: number +} + +export interface RemoteVideoUpdateRequest { + type: 'update' + data: RemoteVideoUpdateData +} diff --git a/shared/models/user-video-rate.model.ts b/shared/models/user-video-rate.model.ts deleted file mode 100644 index b770f4073..000000000 --- a/shared/models/user-video-rate.model.ts +++ /dev/null @@ -1,7 +0,0 @@ -export type VideoRateType = 'like' | 'dislike' -export type UserVideoRateType = 'like' | 'dislike' | 'none' - -export interface UserVideoRate { - videoId: string - rating: UserVideoRateType -} diff --git a/shared/models/user.model.ts b/shared/models/user.model.ts deleted file mode 100644 index 92dc73ec2..000000000 --- a/shared/models/user.model.ts +++ /dev/null @@ -1,10 +0,0 @@ -export type UserRole = 'admin' | 'user' - -export interface User { - id: number - username: string - email: string - displayNSFW: boolean - role: UserRole - createdAt: Date -} diff --git a/shared/models/users/index.ts b/shared/models/users/index.ts new file mode 100644 index 000000000..414aaab08 --- /dev/null +++ b/shared/models/users/index.ts @@ -0,0 +1,4 @@ +export * from './user.model' +export * from './user-create.model' +export * from './user-update.model' +export * from './user-role.type' diff --git a/shared/models/users/user-create.model.ts b/shared/models/users/user-create.model.ts new file mode 100644 index 000000000..2cddcdcb0 --- /dev/null +++ b/shared/models/users/user-create.model.ts @@ -0,0 +1,5 @@ +export interface UserCreate { + username: string + password: string + email: string +} diff --git a/shared/models/users/user-role.type.ts b/shared/models/users/user-role.type.ts new file mode 100644 index 000000000..b38c4c8c3 --- /dev/null +++ b/shared/models/users/user-role.type.ts @@ -0,0 +1 @@ +export type UserRole = 'admin' | 'user' diff --git a/shared/models/users/user-update.model.ts b/shared/models/users/user-update.model.ts new file mode 100644 index 000000000..8b9abfb15 --- /dev/null +++ b/shared/models/users/user-update.model.ts @@ -0,0 +1,4 @@ +export interface UserUpdate { + displayNSFW?: boolean + password?: string +} diff --git a/shared/models/users/user.model.ts b/shared/models/users/user.model.ts new file mode 100644 index 000000000..5c48a17b2 --- /dev/null +++ b/shared/models/users/user.model.ts @@ -0,0 +1,10 @@ +import { UserRole } from './user-role.type' + +export interface User { + id: number + username: string + email: string + displayNSFW: boolean + role: UserRole + createdAt: Date +} diff --git a/shared/models/video-abuse.model.ts b/shared/models/video-abuse.model.ts deleted file mode 100644 index 72e32cbc7..000000000 --- a/shared/models/video-abuse.model.ts +++ /dev/null @@ -1,8 +0,0 @@ -export interface VideoAbuse { - id: number - reporterPodHost: string - reason: string - reporterUsername: string - videoId: string - createdAt: Date -} diff --git a/shared/models/video-blacklist.model.ts b/shared/models/video-blacklist.model.ts deleted file mode 100644 index f894bb065..000000000 --- a/shared/models/video-blacklist.model.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface BlacklistedVideo { - id: number - videoId: string - createdAt: Date -} diff --git a/shared/models/video.model.ts b/shared/models/video.model.ts deleted file mode 100644 index 2e35f005c..000000000 --- a/shared/models/video.model.ts +++ /dev/null @@ -1,23 +0,0 @@ -export interface Video { - id: string - author: string - createdAt: Date - categoryLabel: string - category: number - licenceLabel: string - licence: number - languageLabel: string - language: number - description: string - duration: number - isLocal: boolean - magnetUri: string - name: string - podHost: string - tags: string[] - thumbnailPath: string - views: number - likes: number - dislikes: number - nsfw: boolean -} diff --git a/shared/models/videos/index.ts b/shared/models/videos/index.ts new file mode 100644 index 000000000..64d1676c5 --- /dev/null +++ b/shared/models/videos/index.ts @@ -0,0 +1,10 @@ +export * from './user-video-rate-update.model' +export * from './user-video-rate.model' +export * from './user-video-rate.type' +export * from './video-abuse-create.model' +export * from './video-abuse.model' +export * from './video-blacklist.model' +export * from './video-create.model' +export * from './video-rate.type' +export * from './video-update.model' +export * from './video.model' diff --git a/shared/models/videos/user-video-rate-update.model.ts b/shared/models/videos/user-video-rate-update.model.ts new file mode 100644 index 000000000..85e89271a --- /dev/null +++ b/shared/models/videos/user-video-rate-update.model.ts @@ -0,0 +1,5 @@ +import { UserVideoRateType } from './user-video-rate.type' + +export interface UserVideoRateUpdate { + rating: UserVideoRateType +} diff --git a/shared/models/videos/user-video-rate.model.ts b/shared/models/videos/user-video-rate.model.ts new file mode 100644 index 000000000..4b9c574d8 --- /dev/null +++ b/shared/models/videos/user-video-rate.model.ts @@ -0,0 +1,6 @@ +import { UserVideoRateType } from './user-video-rate.type' + +export interface UserVideoRate { + videoId: string + rating: UserVideoRateType +} diff --git a/shared/models/videos/user-video-rate.type.ts b/shared/models/videos/user-video-rate.type.ts new file mode 100644 index 000000000..a4d9c7e39 --- /dev/null +++ b/shared/models/videos/user-video-rate.type.ts @@ -0,0 +1 @@ +export type UserVideoRateType = 'like' | 'dislike' | 'none' diff --git a/shared/models/videos/video-abuse-create.model.ts b/shared/models/videos/video-abuse-create.model.ts new file mode 100644 index 000000000..db6458275 --- /dev/null +++ b/shared/models/videos/video-abuse-create.model.ts @@ -0,0 +1,3 @@ +export interface VideoAbuseCreate { + reason: string +} diff --git a/shared/models/videos/video-abuse.model.ts b/shared/models/videos/video-abuse.model.ts new file mode 100644 index 000000000..72e32cbc7 --- /dev/null +++ b/shared/models/videos/video-abuse.model.ts @@ -0,0 +1,8 @@ +export interface VideoAbuse { + id: number + reporterPodHost: string + reason: string + reporterUsername: string + videoId: string + createdAt: Date +} diff --git a/shared/models/videos/video-blacklist.model.ts b/shared/models/videos/video-blacklist.model.ts new file mode 100644 index 000000000..f894bb065 --- /dev/null +++ b/shared/models/videos/video-blacklist.model.ts @@ -0,0 +1,5 @@ +export interface BlacklistedVideo { + id: number + videoId: string + createdAt: Date +} diff --git a/shared/models/videos/video-create.model.ts b/shared/models/videos/video-create.model.ts new file mode 100644 index 000000000..5c0b498ce --- /dev/null +++ b/shared/models/videos/video-create.model.ts @@ -0,0 +1,9 @@ +export interface VideoCreate { + category: number + licence: number + language: number + description: string + nsfw: boolean + name: string + tags: string[] +} diff --git a/shared/models/videos/video-rate.type.ts b/shared/models/videos/video-rate.type.ts new file mode 100644 index 000000000..d48774a4b --- /dev/null +++ b/shared/models/videos/video-rate.type.ts @@ -0,0 +1 @@ +export type VideoRateType = 'like' | 'dislike' diff --git a/shared/models/videos/video-update.model.ts b/shared/models/videos/video-update.model.ts new file mode 100644 index 000000000..29a82621b --- /dev/null +++ b/shared/models/videos/video-update.model.ts @@ -0,0 +1,9 @@ +export interface VideoUpdate { + name?: string + category?: number + licence?: number + language?: number + description?: string + tags?: string[] + nsfw?: boolean +} diff --git a/shared/models/videos/video.model.ts b/shared/models/videos/video.model.ts new file mode 100644 index 000000000..2e35f005c --- /dev/null +++ b/shared/models/videos/video.model.ts @@ -0,0 +1,23 @@ +export interface Video { + id: string + author: string + createdAt: Date + categoryLabel: string + category: number + licenceLabel: string + licence: number + languageLabel: string + language: number + description: string + duration: number + isLocal: boolean + magnetUri: string + name: string + podHost: string + tags: string[] + thumbnailPath: string + views: number + likes: number + dislikes: number + nsfw: boolean +} -- cgit v1.2.3