aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/models/video/video-share.ts
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2017-11-16 15:55:01 +0100
committerChocobozzz <florian.bigard@gmail.com>2017-11-27 19:40:52 +0100
commitd7d5611c8a23de9b483f0437ad3469afef7b8805 (patch)
tree35f8f77e5f211a65f8be3c967e939f83c7e17d29 /server/models/video/video-share.ts
parent20494f122186bb1bfd82f4c598c4744acea27b0c (diff)
downloadPeerTube-d7d5611c8a23de9b483f0437ad3469afef7b8805.tar.gz
PeerTube-d7d5611c8a23de9b483f0437ad3469afef7b8805.tar.zst
PeerTube-d7d5611c8a23de9b483f0437ad3469afef7b8805.zip
Federate video update
Diffstat (limited to 'server/models/video/video-share.ts')
-rw-r--r--server/models/video/video-share.ts23
1 files changed, 21 insertions, 2 deletions
diff --git a/server/models/video/video-share.ts b/server/models/video/video-share.ts
index 358491fd2..22ac31a4a 100644
--- a/server/models/video/video-share.ts
+++ b/server/models/video/video-share.ts
@@ -1,9 +1,10 @@
1import * as Sequelize from 'sequelize' 1import * as Sequelize from 'sequelize'
2 2
3import { addMethodsToModel } from '../utils' 3import { addMethodsToModel } from '../utils'
4import { VideoShareAttributes, VideoShareInstance } from './video-share-interface' 4import { VideoShareAttributes, VideoShareInstance, VideoShareMethods } from './video-share-interface'
5 5
6let VideoShare: Sequelize.Model<VideoShareInstance, VideoShareAttributes> 6let VideoShare: Sequelize.Model<VideoShareInstance, VideoShareAttributes>
7let loadAccountsByShare: VideoShareMethods.LoadAccountsByShare
7 8
8export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.DataTypes) { 9export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.DataTypes) {
9 VideoShare = sequelize.define<VideoShareInstance, VideoShareAttributes>('VideoShare', 10 VideoShare = sequelize.define<VideoShareInstance, VideoShareAttributes>('VideoShare',
@@ -21,7 +22,8 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da
21 ) 22 )
22 23
23 const classMethods = [ 24 const classMethods = [
24 associate 25 associate,
26 loadAccountsByShare
25 ] 27 ]
26 addMethodsToModel(VideoShare, classMethods) 28 addMethodsToModel(VideoShare, classMethods)
27 29
@@ -47,3 +49,20 @@ function associate (models) {
47 onDelete: 'cascade' 49 onDelete: 'cascade'
48 }) 50 })
49} 51}
52
53loadAccountsByShare = function (videoId: number) {
54 const query = {
55 where: {
56 videoId
57 },
58 include: [
59 {
60 model: VideoShare['sequelize'].models.Account,
61 required: true
62 }
63 ]
64 }
65
66 return VideoShare.findAll(query)
67 .then(res => res.map(r => r.Account))
68}