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/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 ++++++++++++++++++ 11 files changed, 118 insertions(+) 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 (limited to 'shared/models/pods') 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 +} -- cgit v1.2.3