]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/models/activitypub/actor-follow.ts
Avoid making retried requests to dead followers
[github/Chocobozzz/PeerTube.git] / server / models / activitypub / actor-follow.ts
index 920c83d885bc957fa55f40affc970e59746f995b..de5bb6f7440633c0d924d300ed41dc6d4070be6f 100644 (file)
@@ -163,6 +163,34 @@ export class ActorFollowModel extends Model<ActorFollowModel> {
     return ActorFollowModel.findOne(query)
   }
 
+  static loadByFollowerInbox (url: string, t?: Sequelize.Transaction) {
+    const query = {
+      where: {
+        state: 'accepted'
+      },
+      include: [
+        {
+          model: ActorModel,
+          required: true,
+          as: 'ActorFollower',
+          where: {
+            [Sequelize.Op.or]: [
+              {
+                inboxUrl: url
+              },
+              {
+                sharedInboxUrl: url
+              }
+            ]
+          }
+        }
+      ],
+      transaction: t
+    } as any // FIXME: typings does not work
+
+    return ActorFollowModel.findOne(query)
+  }
+
   static listFollowingForApi (id: number, start: number, count: number, sort: string) {
     const query = {
       distinct: true,