From 154898b0b7bc1af41fc5a94974e338a3590c90f3 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Sat, 17 Jun 2017 11:28:11 +0200 Subject: Share models between server and client --- server/models/user/user-interface.ts | 4 ++++ server/models/user/user-video-rate.ts | 1 - server/models/video/video-abuse-interface.ts | 4 +++- server/models/video/video-abuse.ts | 5 +++-- server/models/video/video-blacklist-interface.ts | 2 ++ server/models/video/video-interface.ts | 11 +++++++++++ 6 files changed, 23 insertions(+), 4 deletions(-) (limited to 'server/models') diff --git a/server/models/user/user-interface.ts b/server/models/user/user-interface.ts index fd98a042e..48c67678b 100644 --- a/server/models/user/user-interface.ts +++ b/server/models/user/user-interface.ts @@ -58,6 +58,10 @@ export interface UserInstance extends UserClass, UserAttributes, Sequelize.Insta id: number createdAt: Date updatedAt: Date + + isPasswordMatch: UserMethods.IsPasswordMatch + toFormatedJSON: UserMethods.ToFormatedJSON + isAdmin: UserMethods.IsAdmin } export interface UserModel extends UserClass, Sequelize.Model {} diff --git a/server/models/user/user-video-rate.ts b/server/models/user/user-video-rate.ts index 1094eb281..4bdd35bc9 100644 --- a/server/models/user/user-video-rate.ts +++ b/server/models/user/user-video-rate.ts @@ -1,6 +1,5 @@ /* User rates per video. - */ import { values } from 'lodash' import * as Sequelize from 'sequelize' diff --git a/server/models/video/video-abuse-interface.ts b/server/models/video/video-abuse-interface.ts index f3e32f79c..c85d09091 100644 --- a/server/models/video/video-abuse-interface.ts +++ b/server/models/video/video-abuse-interface.ts @@ -6,7 +6,7 @@ import { PodInstance } from '../pod' import { VideoAbuse as FormatedVideoAbuse } from '../../../shared/models/video-abuse.model' export namespace VideoAbuseMethods { - export type toFormatedJSON = () => FormatedVideoAbuse + export type ToFormatedJSON = (this: VideoAbuseInstance) => FormatedVideoAbuse export type ListForApiCallback = (err: Error, videoAbuseInstances?: VideoAbuseInstance[], total?: number) => void export type ListForApi = (start: number, count: number, sort: string, callback: ListForApiCallback) => void @@ -28,6 +28,8 @@ export interface VideoAbuseInstance extends VideoAbuseClass, VideoAbuseAttribute updatedAt: Date Pod: PodInstance + + toFormatedJSON: VideoAbuseMethods.ToFormatedJSON } export interface VideoAbuseModel extends VideoAbuseClass, Sequelize.Model {} diff --git a/server/models/video/video-abuse.ts b/server/models/video/video-abuse.ts index f5b4debe6..bc5f01e21 100644 --- a/server/models/video/video-abuse.ts +++ b/server/models/video/video-abuse.ts @@ -13,6 +13,7 @@ import { } from './video-abuse-interface' let VideoAbuse: Sequelize.Model +let toFormatedJSON: VideoAbuseMethods.ToFormatedJSON let listForApi: VideoAbuseMethods.ListForApi export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.DataTypes) { @@ -66,7 +67,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da // ------------------------------ METHODS ------------------------------ -function toFormatedJSON (this: VideoAbuseInstance) { +toFormatedJSON = function (this: VideoAbuseInstance) { let reporterPodHost if (this.Pod) { @@ -108,7 +109,7 @@ function associate (models) { }) } -listForApi = function (start, count, sort, callback) { +listForApi = function (start: number, count: number, sort: string, callback: VideoAbuseMethods.ListForApiCallback) { const query = { offset: start, limit: count, diff --git a/server/models/video/video-blacklist-interface.ts b/server/models/video/video-blacklist-interface.ts index c34e7fb09..d4d6528d1 100644 --- a/server/models/video/video-blacklist-interface.ts +++ b/server/models/video/video-blacklist-interface.ts @@ -39,6 +39,8 @@ export interface BlacklistedVideoInstance extends BlacklistedVideoClass, Blackli id: number createdAt: Date updatedAt: Date + + toFormatedJSON: BlacklistedVideoMethods.ToFormatedJSON } export interface BlacklistedVideoModel extends BlacklistedVideoClass, Sequelize.Model {} diff --git a/server/models/video/video-interface.ts b/server/models/video/video-interface.ts index 5fefc2bb1..4b591b9e7 100644 --- a/server/models/video/video-interface.ts +++ b/server/models/video/video-interface.ts @@ -146,6 +146,17 @@ export interface VideoInstance extends VideoClass, VideoAttributes, Sequelize.In id: string createdAt: Date updatedAt: Date + + generateMagnetUri: VideoMethods.GenerateMagnetUri + getVideoFilename: VideoMethods.GetVideoFilename + getThumbnailName: VideoMethods.GetThumbnailName + getPreviewName: VideoMethods.GetPreviewName + getTorrentName: VideoMethods.GetTorrentName + isOwned: VideoMethods.IsOwned + toFormatedJSON: VideoMethods.ToFormatedJSON + toAddRemoteJSON: VideoMethods.ToAddRemoteJSON + toUpdateRemoteJSON: VideoMethods.ToUpdateRemoteJSON + transcodeVideofile: VideoMethods.TranscodeVideofile } export interface VideoModel extends VideoClass, Sequelize.Model {} -- cgit v1.2.3