aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2017-06-16 09:54:59 +0200
committerChocobozzz <florian.bigard@gmail.com>2017-06-16 09:54:59 +0200
commit70c065d64c330196d371941d9294a55da6e3aa37 (patch)
tree4532a9611502135bedb1cc6009c706e31f1f9be4
parent74889a71fe687dda74f2a687653122327807af36 (diff)
downloadPeerTube-70c065d64c330196d371941d9294a55da6e3aa37.tar.gz
PeerTube-70c065d64c330196d371941d9294a55da6e3aa37.tar.zst
PeerTube-70c065d64c330196d371941d9294a55da6e3aa37.zip
Add this context to instance model functions
-rw-r--r--server/models/pod/pod-interface.ts2
-rw-r--r--server/models/pod/pod.ts4
-rw-r--r--server/models/user/user-interface.ts6
-rw-r--r--server/models/user/user.ts4
-rw-r--r--server/models/video/video-abuse-interface.ts5
-rw-r--r--server/models/video/video-abuse.ts2
-rw-r--r--server/models/video/video-blacklist-interface.ts3
-rw-r--r--server/models/video/video-blacklist.ts2
-rw-r--r--server/models/video/video-interface.ts20
-rw-r--r--server/models/video/video.ts22
-rw-r--r--shared/models/video-blacklist.model.ts2
11 files changed, 39 insertions, 33 deletions
diff --git a/server/models/pod/pod-interface.ts b/server/models/pod/pod-interface.ts
index 01ccda64c..d88847c45 100644
--- a/server/models/pod/pod-interface.ts
+++ b/server/models/pod/pod-interface.ts
@@ -4,7 +4,7 @@ import * as Sequelize from 'sequelize'
4import { Pod as FormatedPod } from '../../../shared/models/pod.model' 4import { Pod as FormatedPod } from '../../../shared/models/pod.model'
5 5
6export namespace PodMethods { 6export namespace PodMethods {
7 export type ToFormatedJSON = () => FormatedPod 7 export type ToFormatedJSON = (this: PodInstance) => FormatedPod
8 8
9 export type CountAllCallback = (err: Error, total: number) => void 9 export type CountAllCallback = (err: Error, total: number) => void
10 export type CountAll = (callback) => void 10 export type CountAll = (callback) => void
diff --git a/server/models/pod/pod.ts b/server/models/pod/pod.ts
index 4c6e63024..4fe7fda1c 100644
--- a/server/models/pod/pod.ts
+++ b/server/models/pod/pod.ts
@@ -96,12 +96,12 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da
96 96
97// ------------------------------ METHODS ------------------------------ 97// ------------------------------ METHODS ------------------------------
98 98
99toFormatedJSON = function () { 99toFormatedJSON = function (this: PodInstance) {
100 const json = { 100 const json = {
101 id: this.id, 101 id: this.id,
102 host: this.host, 102 host: this.host,
103 email: this.email, 103 email: this.email,
104 score: this.score, 104 score: this.score as number,
105 createdAt: this.createdAt 105 createdAt: this.createdAt
106 } 106 }
107 107
diff --git a/server/models/user/user-interface.ts b/server/models/user/user-interface.ts
index 1ba4bd800..6726e8ab5 100644
--- a/server/models/user/user-interface.ts
+++ b/server/models/user/user-interface.ts
@@ -6,10 +6,10 @@ import { User as FormatedUser } from '../../../shared/models/user.model'
6 6
7export namespace UserMethods { 7export namespace UserMethods {
8 export type IsPasswordMatchCallback = (err: Error, same: boolean) => void 8 export type IsPasswordMatchCallback = (err: Error, same: boolean) => void
9 export type IsPasswordMatch = (password: string, callback: IsPasswordMatchCallback) => void 9 export type IsPasswordMatch = (this: UserInstance, password: string, callback: IsPasswordMatchCallback) => void
10 10
11 export type ToFormatedJSON = () => FormatedUser 11 export type ToFormatedJSON = (this: UserInstance) => FormatedUser
12 export type IsAdmin = () => boolean 12 export type IsAdmin = (this: UserInstance) => boolean
13 13
14 export type CountTotalCallback = (err: Error, total: number) => void 14 export type CountTotalCallback = (err: Error, total: number) => void
15 export type CountTotal = (callback: CountTotalCallback) => void 15 export type CountTotal = (callback: CountTotalCallback) => void
diff --git a/server/models/user/user.ts b/server/models/user/user.ts
index d78f5f845..6b2410259 100644
--- a/server/models/user/user.ts
+++ b/server/models/user/user.ts
@@ -131,7 +131,7 @@ function beforeCreateOrUpdate (user: UserInstance) {
131 131
132// ------------------------------ METHODS ------------------------------ 132// ------------------------------ METHODS ------------------------------
133 133
134isPasswordMatch = function (password: string, callback: UserMethods.IsPasswordMatchCallback) { 134isPasswordMatch = function (this: UserInstance, password: string, callback: UserMethods.IsPasswordMatchCallback) {
135 return comparePassword(password, this.password, callback) 135 return comparePassword(password, this.password, callback)
136} 136}
137 137
@@ -146,7 +146,7 @@ toFormatedJSON = function (this: UserInstance) {
146 } 146 }
147} 147}
148 148
149isAdmin = function () { 149isAdmin = function (this: UserInstance) {
150 return this.role === USER_ROLES.ADMIN 150 return this.role === USER_ROLES.ADMIN
151} 151}
152 152
diff --git a/server/models/video/video-abuse-interface.ts b/server/models/video/video-abuse-interface.ts
index 4b7f2a2ec..f3e32f79c 100644
--- a/server/models/video/video-abuse-interface.ts
+++ b/server/models/video/video-abuse-interface.ts
@@ -1,5 +1,7 @@
1import * as Sequelize from 'sequelize' 1import * as Sequelize from 'sequelize'
2 2
3import { PodInstance } from '../pod'
4
3// Don't use barrel, import just what we need 5// Don't use barrel, import just what we need
4import { VideoAbuse as FormatedVideoAbuse } from '../../../shared/models/video-abuse.model' 6import { VideoAbuse as FormatedVideoAbuse } from '../../../shared/models/video-abuse.model'
5 7
@@ -17,12 +19,15 @@ export interface VideoAbuseClass {
17export interface VideoAbuseAttributes { 19export interface VideoAbuseAttributes {
18 reporterUsername: string 20 reporterUsername: string
19 reason: string 21 reason: string
22 videoId: string
20} 23}
21 24
22export interface VideoAbuseInstance extends VideoAbuseClass, VideoAbuseAttributes, Sequelize.Instance<VideoAbuseAttributes> { 25export interface VideoAbuseInstance extends VideoAbuseClass, VideoAbuseAttributes, Sequelize.Instance<VideoAbuseAttributes> {
23 id: number 26 id: number
24 createdAt: Date 27 createdAt: Date
25 updatedAt: Date 28 updatedAt: Date
29
30 Pod: PodInstance
26} 31}
27 32
28export interface VideoAbuseModel extends VideoAbuseClass, Sequelize.Model<VideoAbuseInstance, VideoAbuseAttributes> {} 33export interface VideoAbuseModel extends VideoAbuseClass, Sequelize.Model<VideoAbuseInstance, VideoAbuseAttributes> {}
diff --git a/server/models/video/video-abuse.ts b/server/models/video/video-abuse.ts
index e0e0bcfe6..f5b4debe6 100644
--- a/server/models/video/video-abuse.ts
+++ b/server/models/video/video-abuse.ts
@@ -66,7 +66,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da
66 66
67// ------------------------------ METHODS ------------------------------ 67// ------------------------------ METHODS ------------------------------
68 68
69function toFormatedJSON () { 69function toFormatedJSON (this: VideoAbuseInstance) {
70 let reporterPodHost 70 let reporterPodHost
71 71
72 if (this.Pod) { 72 if (this.Pod) {
diff --git a/server/models/video/video-blacklist-interface.ts b/server/models/video/video-blacklist-interface.ts
index 37f579422..c34e7fb09 100644
--- a/server/models/video/video-blacklist-interface.ts
+++ b/server/models/video/video-blacklist-interface.ts
@@ -4,7 +4,7 @@ import * as Sequelize from 'sequelize'
4import { BlacklistedVideo as FormatedBlacklistedVideo } from '../../../shared/models/video-blacklist.model' 4import { BlacklistedVideo as FormatedBlacklistedVideo } from '../../../shared/models/video-blacklist.model'
5 5
6export namespace BlacklistedVideoMethods { 6export namespace BlacklistedVideoMethods {
7 export type ToFormatedJSON = () => FormatedBlacklistedVideo 7 export type ToFormatedJSON = (this: BlacklistedVideoInstance) => FormatedBlacklistedVideo
8 8
9 export type CountTotalCallback = (err: Error, total: number) => void 9 export type CountTotalCallback = (err: Error, total: number) => void
10 export type CountTotal = (callback: CountTotalCallback) => void 10 export type CountTotal = (callback: CountTotalCallback) => void
@@ -32,6 +32,7 @@ export interface BlacklistedVideoClass {
32} 32}
33 33
34export interface BlacklistedVideoAttributes { 34export interface BlacklistedVideoAttributes {
35 videoId: string
35} 36}
36 37
37export interface BlacklistedVideoInstance extends BlacklistedVideoClass, BlacklistedVideoAttributes, Sequelize.Instance<BlacklistedVideoAttributes> { 38export interface BlacklistedVideoInstance extends BlacklistedVideoClass, BlacklistedVideoAttributes, Sequelize.Instance<BlacklistedVideoAttributes> {
diff --git a/server/models/video/video-blacklist.ts b/server/models/video/video-blacklist.ts
index f4479986c..3576c96f6 100644
--- a/server/models/video/video-blacklist.ts
+++ b/server/models/video/video-blacklist.ts
@@ -49,7 +49,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da
49 49
50// ------------------------------ METHODS ------------------------------ 50// ------------------------------ METHODS ------------------------------
51 51
52toFormatedJSON = function () { 52toFormatedJSON = function (this: BlacklistedVideoInstance) {
53 return { 53 return {
54 id: this.id, 54 id: this.id,
55 videoId: this.videoId, 55 videoId: this.videoId,
diff --git a/server/models/video/video-interface.ts b/server/models/video/video-interface.ts
index 71b9b0a69..5fefc2bb1 100644
--- a/server/models/video/video-interface.ts
+++ b/server/models/video/video-interface.ts
@@ -48,21 +48,21 @@ export type FormatedUpdateRemoteVideo = {
48} 48}
49 49
50export namespace VideoMethods { 50export namespace VideoMethods {
51 export type GenerateMagnetUri = () => string 51 export type GenerateMagnetUri = (this: VideoInstance) => string
52 export type GetVideoFilename = () => string 52 export type GetVideoFilename = (this: VideoInstance) => string
53 export type GetThumbnailName = () => string 53 export type GetThumbnailName = (this: VideoInstance) => string
54 export type GetPreviewName = () => string 54 export type GetPreviewName = (this: VideoInstance) => string
55 export type GetTorrentName = () => string 55 export type GetTorrentName = (this: VideoInstance) => string
56 export type IsOwned = () => boolean 56 export type IsOwned = (this: VideoInstance) => boolean
57 export type ToFormatedJSON = () => FormatedVideo 57 export type ToFormatedJSON = (this: VideoInstance) => FormatedVideo
58 58
59 export type ToAddRemoteJSONCallback = (err: Error, videoFormated?: FormatedAddRemoteVideo) => void 59 export type ToAddRemoteJSONCallback = (err: Error, videoFormated?: FormatedAddRemoteVideo) => void
60 export type ToAddRemoteJSON = (callback: ToAddRemoteJSONCallback) => void 60 export type ToAddRemoteJSON = (this: VideoInstance, callback: ToAddRemoteJSONCallback) => void
61 61
62 export type ToUpdateRemoteJSON = () => FormatedUpdateRemoteVideo 62 export type ToUpdateRemoteJSON = (this: VideoInstance) => FormatedUpdateRemoteVideo
63 63
64 export type TranscodeVideofileCallback = (err: Error) => void 64 export type TranscodeVideofileCallback = (err: Error) => void
65 export type TranscodeVideofile = (callback: TranscodeVideofileCallback) => void 65 export type TranscodeVideofile = (this: VideoInstance, callback: TranscodeVideofileCallback) => void
66 66
67 export type GenerateThumbnailFromDataCallback = (err: Error, thumbnailName?: string) => void 67 export type GenerateThumbnailFromDataCallback = (err: Error, thumbnailName?: string) => void
68 export type GenerateThumbnailFromData = (video: VideoInstance, thumbnailData: string, callback: GenerateThumbnailFromDataCallback) => void 68 export type GenerateThumbnailFromData = (video: VideoInstance, thumbnailData: string, callback: GenerateThumbnailFromDataCallback) => void
diff --git a/server/models/video/video.ts b/server/models/video/video.ts
index 866b380cc..e66ebee2d 100644
--- a/server/models/video/video.ts
+++ b/server/models/video/video.ts
@@ -247,7 +247,8 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da
247 loadByHostAndRemoteId, 247 loadByHostAndRemoteId,
248 loadAndPopulateAuthor, 248 loadAndPopulateAuthor,
249 loadAndPopulateAuthorAndPodAndTags, 249 loadAndPopulateAuthorAndPodAndTags,
250 searchAndPopulateAuthorAndPodAndTags 250 searchAndPopulateAuthorAndPodAndTags,
251 removeFromBlacklist
251 ] 252 ]
252 const instanceMethods = [ 253 const instanceMethods = [
253 generateMagnetUri, 254 generateMagnetUri,
@@ -260,7 +261,6 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da
260 toAddRemoteJSON, 261 toAddRemoteJSON,
261 toUpdateRemoteJSON, 262 toUpdateRemoteJSON,
262 transcodeVideofile, 263 transcodeVideofile,
263 removeFromBlacklist
264 ] 264 ]
265 addMethodsToModel(Video, classMethods, instanceMethods) 265 addMethodsToModel(Video, classMethods, instanceMethods)
266 266
@@ -389,7 +389,7 @@ function associate (models) {
389 }) 389 })
390} 390}
391 391
392generateMagnetUri = function () { 392generateMagnetUri = function (this: VideoInstance) {
393 let baseUrlHttp 393 let baseUrlHttp
394 let baseUrlWs 394 let baseUrlWs
395 395
@@ -416,18 +416,18 @@ generateMagnetUri = function () {
416 return magnetUtil.encode(magnetHash) 416 return magnetUtil.encode(magnetHash)
417} 417}
418 418
419getVideoFilename = function () { 419getVideoFilename = function (this: VideoInstance) {
420 if (this.isOwned()) return this.id + this.extname 420 if (this.isOwned()) return this.id + this.extname
421 421
422 return this.remoteId + this.extname 422 return this.remoteId + this.extname
423} 423}
424 424
425getThumbnailName = function () { 425getThumbnailName = function (this: VideoInstance) {
426 // We always have a copy of the thumbnail 426 // We always have a copy of the thumbnail
427 return this.id + '.jpg' 427 return this.id + '.jpg'
428} 428}
429 429
430getPreviewName = function () { 430getPreviewName = function (this: VideoInstance) {
431 const extension = '.jpg' 431 const extension = '.jpg'
432 432
433 if (this.isOwned()) return this.id + extension 433 if (this.isOwned()) return this.id + extension
@@ -435,7 +435,7 @@ getPreviewName = function () {
435 return this.remoteId + extension 435 return this.remoteId + extension
436} 436}
437 437
438getTorrentName = function () { 438getTorrentName = function (this: VideoInstance) {
439 const extension = '.torrent' 439 const extension = '.torrent'
440 440
441 if (this.isOwned()) return this.id + extension 441 if (this.isOwned()) return this.id + extension
@@ -443,7 +443,7 @@ getTorrentName = function () {
443 return this.remoteId + extension 443 return this.remoteId + extension
444} 444}
445 445
446isOwned = function () { 446isOwned = function (this: VideoInstance) {
447 return this.remoteId === null 447 return this.remoteId === null
448} 448}
449 449
@@ -497,7 +497,7 @@ toFormatedJSON = function (this: VideoInstance) {
497 return json 497 return json
498} 498}
499 499
500toAddRemoteJSON = function (callback: VideoMethods.ToAddRemoteJSONCallback) { 500toAddRemoteJSON = function (this: VideoInstance, callback: VideoMethods.ToAddRemoteJSONCallback) {
501 // Get thumbnail data to send to the other pod 501 // Get thumbnail data to send to the other pod
502 const thumbnailPath = join(CONFIG.STORAGE.THUMBNAILS_DIR, this.getThumbnailName()) 502 const thumbnailPath = join(CONFIG.STORAGE.THUMBNAILS_DIR, this.getThumbnailName())
503 fs.readFile(thumbnailPath, (err, thumbnailData) => { 503 fs.readFile(thumbnailPath, (err, thumbnailData) => {
@@ -531,7 +531,7 @@ toAddRemoteJSON = function (callback: VideoMethods.ToAddRemoteJSONCallback) {
531 }) 531 })
532} 532}
533 533
534toUpdateRemoteJSON = function () { 534toUpdateRemoteJSON = function (this: VideoInstance) {
535 const json = { 535 const json = {
536 name: this.name, 536 name: this.name,
537 category: this.category, 537 category: this.category,
@@ -555,7 +555,7 @@ toUpdateRemoteJSON = function () {
555 return json 555 return json
556} 556}
557 557
558transcodeVideofile = function (finalCallback: VideoMethods.TranscodeVideofileCallback) { 558transcodeVideofile = function (this: VideoInstance, finalCallback: VideoMethods.TranscodeVideofileCallback) {
559 const video = this 559 const video = this
560 560
561 const videosDirectory = CONFIG.STORAGE.VIDEOS_DIR 561 const videosDirectory = CONFIG.STORAGE.VIDEOS_DIR
diff --git a/shared/models/video-blacklist.model.ts b/shared/models/video-blacklist.model.ts
index 6086250ac..f894bb065 100644
--- a/shared/models/video-blacklist.model.ts
+++ b/shared/models/video-blacklist.model.ts
@@ -1,5 +1,5 @@
1export interface BlacklistedVideo { 1export interface BlacklistedVideo {
2 id: number 2 id: number
3 videoId: number 3 videoId: string
4 createdAt: Date 4 createdAt: Date
5} 5}