diff options
Diffstat (limited to 'server/models/activitypub')
-rw-r--r-- | server/models/activitypub/actor.ts | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/server/models/activitypub/actor.ts b/server/models/activitypub/actor.ts index f231dba74..267032e2a 100644 --- a/server/models/activitypub/actor.ts +++ b/server/models/activitypub/actor.ts | |||
@@ -3,7 +3,6 @@ import { extname } from 'path' | |||
3 | import * as Sequelize from 'sequelize' | 3 | import * as Sequelize from 'sequelize' |
4 | import { | 4 | import { |
5 | AllowNull, | 5 | AllowNull, |
6 | BeforeDestroy, | ||
7 | BelongsTo, | 6 | BelongsTo, |
8 | Column, | 7 | Column, |
9 | CreatedAt, | 8 | CreatedAt, |
@@ -38,8 +37,6 @@ import { ServerModel } from '../server/server' | |||
38 | import { throwIfNotValid } from '../utils' | 37 | import { throwIfNotValid } from '../utils' |
39 | import { VideoChannelModel } from '../video/video-channel' | 38 | import { VideoChannelModel } from '../video/video-channel' |
40 | import { ActorFollowModel } from './actor-follow' | 39 | import { ActorFollowModel } from './actor-follow' |
41 | import { logger } from '../../helpers/logger' | ||
42 | import { sendDeleteActor } from '../../lib/activitypub/send' | ||
43 | 40 | ||
44 | enum ScopeNames { | 41 | enum ScopeNames { |
45 | FULL = 'FULL' | 42 | FULL = 'FULL' |
@@ -227,28 +224,22 @@ export class ActorModel extends Model<ActorModel> { | |||
227 | 224 | ||
228 | @HasOne(() => AccountModel, { | 225 | @HasOne(() => AccountModel, { |
229 | foreignKey: { | 226 | foreignKey: { |
230 | allowNull: false | 227 | allowNull: true |
231 | } | 228 | }, |
229 | onDelete: 'cascade', | ||
230 | hooks: true | ||
232 | }) | 231 | }) |
233 | Account: AccountModel | 232 | Account: AccountModel |
234 | 233 | ||
235 | @HasOne(() => VideoChannelModel, { | 234 | @HasOne(() => VideoChannelModel, { |
236 | foreignKey: { | 235 | foreignKey: { |
237 | allowNull: false | 236 | allowNull: true |
238 | } | 237 | }, |
238 | onDelete: 'cascade', | ||
239 | hooks: true | ||
239 | }) | 240 | }) |
240 | VideoChannel: VideoChannelModel | 241 | VideoChannel: VideoChannelModel |
241 | 242 | ||
242 | @BeforeDestroy | ||
243 | static async sendDeleteIfOwned (instance: ActorModel, options) { | ||
244 | if (instance.isOwned()) { | ||
245 | logger.debug('Sending delete of actor %s.', instance.url) | ||
246 | return sendDeleteActor(instance, options.transaction) | ||
247 | } | ||
248 | |||
249 | return undefined | ||
250 | } | ||
251 | |||
252 | static load (id: number) { | 243 | static load (id: number) { |
253 | return ActorModel.unscoped().findById(id) | 244 | return ActorModel.unscoped().findById(id) |
254 | } | 245 | } |