aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2018-01-11 14:30:27 +0100
committerChocobozzz <me@florianbigard.com>2018-01-11 14:30:27 +0100
commit6120941f599c1234c9974a7d33ff12faa88aaed0 (patch)
tree9e725a0acbb81c418b60d5d7ecd7d03e247eb38b
parent6fd5ca1ec5831383be299514b1df8958b0e968df (diff)
downloadPeerTube-6120941f599c1234c9974a7d33ff12faa88aaed0.tar.gz
PeerTube-6120941f599c1234c9974a7d33ff12faa88aaed0.tar.zst
PeerTube-6120941f599c1234c9974a7d33ff12faa88aaed0.zip
Little SQL optimization
-rw-r--r--server/models/video/video.ts28
1 files changed, 11 insertions, 17 deletions
diff --git a/server/models/video/video.ts b/server/models/video/video.ts
index 6b825bf93..391568df4 100644
--- a/server/models/video/video.ts
+++ b/server/models/video/video.ts
@@ -94,15 +94,25 @@ enum ScopeNames {
94 [ScopeNames.WITH_ACCOUNT_DETAILS]: { 94 [ScopeNames.WITH_ACCOUNT_DETAILS]: {
95 include: [ 95 include: [
96 { 96 {
97 model: () => VideoChannelModel, 97 model: () => VideoChannelModel.unscoped(),
98 required: true, 98 required: true,
99 include: [ 99 include: [
100 { 100 {
101 attributes: {
102 exclude: [ 'privateKey', 'publicKey' ]
103 },
104 model: () => ActorModel,
105 required: true
106 },
107 {
101 model: () => AccountModel, 108 model: () => AccountModel,
102 required: true, 109 required: true,
103 include: [ 110 include: [
104 { 111 {
105 model: () => ActorModel, 112 model: () => ActorModel,
113 attributes: {
114 exclude: [ 'privateKey', 'publicKey' ]
115 },
106 required: true, 116 required: true,
107 include: [ 117 include: [
108 { 118 {
@@ -511,22 +521,6 @@ export class VideoModel extends Model<VideoModel> {
511 return VideoModel.findById(id) 521 return VideoModel.findById(id)
512 } 522 }
513 523
514 static loadAndPopulateAccount (id: number) {
515 return VideoModel.scope([ ScopeNames.WITH_ACCOUNT_DETAILS ]).findById(id)
516 }
517
518 static loadByUrl (url: string, t?: Sequelize.Transaction) {
519 const query: IFindOptions<VideoModel> = {
520 where: {
521 url
522 }
523 }
524
525 if (t !== undefined) query.transaction = t
526
527 return VideoModel.findOne(query)
528 }
529
530 static loadByUrlAndPopulateAccount (url: string, t?: Sequelize.Transaction) { 524 static loadByUrlAndPopulateAccount (url: string, t?: Sequelize.Transaction) {
531 const query: IFindOptions<VideoModel> = { 525 const query: IFindOptions<VideoModel> = {
532 where: { 526 where: {