diff options
author | Chocobozzz <me@florianbigard.com> | 2017-12-14 17:38:41 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2017-12-19 10:53:16 +0100 |
commit | 50d6de9c286abcb34ff4234d56d9cbb803db7665 (patch) | |
tree | f1732b27edcd05c7877a8358b8312f1e38c287ed /server/models/video/video-share.ts | |
parent | fadf619ad61a016c1c7fc53de5a8f398a4f77519 (diff) | |
download | PeerTube-50d6de9c286abcb34ff4234d56d9cbb803db7665.tar.gz PeerTube-50d6de9c286abcb34ff4234d56d9cbb803db7665.tar.zst PeerTube-50d6de9c286abcb34ff4234d56d9cbb803db7665.zip |
Begin moving video channel to actor
Diffstat (limited to 'server/models/video/video-share.ts')
-rw-r--r-- | server/models/video/video-share.ts | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/server/models/video/video-share.ts b/server/models/video/video-share.ts index e1733b3a7..c252fd646 100644 --- a/server/models/video/video-share.ts +++ b/server/models/video/video-share.ts | |||
@@ -1,18 +1,18 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | import { BelongsTo, Column, CreatedAt, ForeignKey, Model, Scopes, Table, UpdatedAt } from 'sequelize-typescript' | 2 | import { BelongsTo, Column, CreatedAt, ForeignKey, Model, Scopes, Table, UpdatedAt } from 'sequelize-typescript' |
3 | import { AccountModel } from '../account/account' | 3 | import { ActorModel } from '../activitypub/actor' |
4 | import { VideoModel } from './video' | 4 | import { VideoModel } from './video' |
5 | 5 | ||
6 | enum ScopeNames { | 6 | enum ScopeNames { |
7 | FULL = 'FULL', | 7 | FULL = 'FULL', |
8 | WITH_ACCOUNT = 'WITH_ACCOUNT' | 8 | WITH_ACTOR = 'WITH_ACTOR' |
9 | } | 9 | } |
10 | 10 | ||
11 | @Scopes({ | 11 | @Scopes({ |
12 | [ScopeNames.FULL]: { | 12 | [ScopeNames.FULL]: { |
13 | include: [ | 13 | include: [ |
14 | { | 14 | { |
15 | model: () => AccountModel, | 15 | model: () => ActorModel, |
16 | required: true | 16 | required: true |
17 | }, | 17 | }, |
18 | { | 18 | { |
@@ -21,10 +21,10 @@ enum ScopeNames { | |||
21 | } | 21 | } |
22 | ] | 22 | ] |
23 | }, | 23 | }, |
24 | [ScopeNames.WITH_ACCOUNT]: { | 24 | [ScopeNames.WITH_ACTOR]: { |
25 | include: [ | 25 | include: [ |
26 | { | 26 | { |
27 | model: () => AccountModel, | 27 | model: () => ActorModel, |
28 | required: true | 28 | required: true |
29 | } | 29 | } |
30 | ] | 30 | ] |
@@ -34,7 +34,7 @@ enum ScopeNames { | |||
34 | tableName: 'videoShare', | 34 | tableName: 'videoShare', |
35 | indexes: [ | 35 | indexes: [ |
36 | { | 36 | { |
37 | fields: [ 'accountId' ] | 37 | fields: [ 'actorId' ] |
38 | }, | 38 | }, |
39 | { | 39 | { |
40 | fields: [ 'videoId' ] | 40 | fields: [ 'videoId' ] |
@@ -48,17 +48,17 @@ export class VideoShareModel extends Model<VideoShareModel> { | |||
48 | @UpdatedAt | 48 | @UpdatedAt |
49 | updatedAt: Date | 49 | updatedAt: Date |
50 | 50 | ||
51 | @ForeignKey(() => AccountModel) | 51 | @ForeignKey(() => ActorModel) |
52 | @Column | 52 | @Column |
53 | accountId: number | 53 | actorId: number |
54 | 54 | ||
55 | @BelongsTo(() => AccountModel, { | 55 | @BelongsTo(() => ActorModel, { |
56 | foreignKey: { | 56 | foreignKey: { |
57 | allowNull: false | 57 | allowNull: false |
58 | }, | 58 | }, |
59 | onDelete: 'cascade' | 59 | onDelete: 'cascade' |
60 | }) | 60 | }) |
61 | Account: AccountModel | 61 | Actor: ActorModel |
62 | 62 | ||
63 | @ForeignKey(() => VideoModel) | 63 | @ForeignKey(() => VideoModel) |
64 | @Column | 64 | @Column |
@@ -72,24 +72,24 @@ export class VideoShareModel extends Model<VideoShareModel> { | |||
72 | }) | 72 | }) |
73 | Video: VideoModel | 73 | Video: VideoModel |
74 | 74 | ||
75 | static load (accountId: number, videoId: number, t: Sequelize.Transaction) { | 75 | static load (actorId: number, videoId: number, t: Sequelize.Transaction) { |
76 | return VideoShareModel.scope(ScopeNames.WITH_ACCOUNT).findOne({ | 76 | return VideoShareModel.scope(ScopeNames.WITH_ACTOR).findOne({ |
77 | where: { | 77 | where: { |
78 | accountId, | 78 | actorId, |
79 | videoId | 79 | videoId |
80 | }, | 80 | }, |
81 | transaction: t | 81 | transaction: t |
82 | }) | 82 | }) |
83 | } | 83 | } |
84 | 84 | ||
85 | static loadAccountsByShare (videoId: number, t: Sequelize.Transaction) { | 85 | static loadActorsByShare (videoId: number, t: Sequelize.Transaction) { |
86 | const query = { | 86 | const query = { |
87 | where: { | 87 | where: { |
88 | videoId | 88 | videoId |
89 | }, | 89 | }, |
90 | include: [ | 90 | include: [ |
91 | { | 91 | { |
92 | model: AccountModel, | 92 | model: ActorModel, |
93 | required: true | 93 | required: true |
94 | } | 94 | } |
95 | ], | 95 | ], |
@@ -97,6 +97,6 @@ export class VideoShareModel extends Model<VideoShareModel> { | |||
97 | } | 97 | } |
98 | 98 | ||
99 | return VideoShareModel.scope(ScopeNames.FULL).findAll(query) | 99 | return VideoShareModel.scope(ScopeNames.FULL).findAll(query) |
100 | .then(res => res.map(r => r.Account)) | 100 | .then(res => res.map(r => r.Actor)) |
101 | } | 101 | } |
102 | } | 102 | } |