From e587e0ecee5bec43a225995948faaa4bc97f080a Mon Sep 17 00:00:00 2001
From: Chocobozzz <me@florianbigard.com>
Date: Wed, 19 Sep 2018 14:44:20 +0200
Subject: Optimize activity actor load in AP processors

---
 server/models/activitypub/actor.ts | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

(limited to 'server/models')

diff --git a/server/models/activitypub/actor.ts b/server/models/activitypub/actor.ts
index 69c2eca57..f8bb59323 100644
--- a/server/models/activitypub/actor.ts
+++ b/server/models/activitypub/actor.ts
@@ -323,6 +323,29 @@ export class ActorModel extends Model<ActorModel> {
   }
 
   static loadByUrl (url: string, transaction?: Sequelize.Transaction) {
+    const query = {
+      where: {
+        url
+      },
+      transaction,
+      include: [
+        {
+          attributes: [ 'id' ],
+          model: AccountModel.unscoped(),
+          required: false
+        },
+        {
+          attributes: [ 'id' ],
+          model: VideoChannelModel.unscoped(),
+          required: false
+        }
+      ]
+    }
+
+    return ActorModel.unscoped().findOne(query)
+  }
+
+  static loadByUrlAndPopulateAccountAndChannel (url: string, transaction?: Sequelize.Transaction) {
     const query = {
       where: {
         url
-- 
cgit v1.2.3