aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/lib/activitypub/actors
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2023-02-14 08:59:27 +0100
committerChocobozzz <me@florianbigard.com>2023-02-14 09:03:22 +0100
commit4565774669bc3c1b11cc726d577946953dbe53c5 (patch)
treeee0e41e06245861a0de896684caa388f82cc3470 /server/lib/activitypub/actors
parent4c61660a0ab6224079c67d8282b282772a0772e4 (diff)
downloadPeerTube-4565774669bc3c1b11cc726d577946953dbe53c5.tar.gz
PeerTube-4565774669bc3c1b11cc726d577946953dbe53c5.tar.zst
PeerTube-4565774669bc3c1b11cc726d577946953dbe53c5.zip
Fix retrying update on sql serialization conflict
Diffstat (limited to 'server/lib/activitypub/actors')
-rw-r--r--server/lib/activitypub/actors/updater.ts15
1 files changed, 4 insertions, 11 deletions
diff --git a/server/lib/activitypub/actors/updater.ts b/server/lib/activitypub/actors/updater.ts
index fe94af9f1..137980460 100644
--- a/server/lib/activitypub/actors/updater.ts
+++ b/server/lib/activitypub/actors/updater.ts
@@ -13,19 +13,12 @@ export class APActorUpdater {
13 13
14 private accountOrChannel: MAccount | MChannel 14 private accountOrChannel: MAccount | MChannel
15 15
16 private readonly actorFieldsSave: object
17 private readonly accountOrChannelFieldsSave: object
18
19 constructor ( 16 constructor (
20 private readonly actorObject: ActivityPubActor, 17 private readonly actorObject: ActivityPubActor,
21 private readonly actor: MActorFull 18 private readonly actor: MActorFull
22 ) { 19 ) {
23 this.actorFieldsSave = this.actor.toJSON()
24
25 if (this.actorObject.type === 'Group') this.accountOrChannel = this.actor.VideoChannel 20 if (this.actorObject.type === 'Group') this.accountOrChannel = this.actor.VideoChannel
26 else this.accountOrChannel = this.actor.Account 21 else this.accountOrChannel = this.actor.Account
27
28 this.accountOrChannelFieldsSave = this.accountOrChannel.toJSON()
29 } 22 }
30 23
31 async update () { 24 async update () {
@@ -58,12 +51,12 @@ export class APActorUpdater {
58 51
59 logger.info('Remote account %s updated', this.actorObject.url) 52 logger.info('Remote account %s updated', this.actorObject.url)
60 } catch (err) { 53 } catch (err) {
61 if (this.actor !== undefined && this.actorFieldsSave !== undefined) { 54 if (this.actor !== undefined) {
62 resetSequelizeInstance(this.actor, this.actorFieldsSave) 55 resetSequelizeInstance(this.actor)
63 } 56 }
64 57
65 if (this.accountOrChannel !== undefined && this.accountOrChannelFieldsSave !== undefined) { 58 if (this.accountOrChannel !== undefined) {
66 resetSequelizeInstance(this.accountOrChannel, this.accountOrChannelFieldsSave) 59 resetSequelizeInstance(this.accountOrChannel)
67 } 60 }
68 61
69 // This is just a debug because we will retry the insert 62 // This is just a debug because we will retry the insert