Revert "Delete actor too when deleting account/video channel"
This reverts commit e04551d796
.
See https://github.com/Chocobozzz/PeerTube/issues/870#issuecomment-408814420
This commit is contained in:
parent
b7f5b52475
commit
c5a893d536
|
@ -16,6 +16,8 @@ import {
|
||||||
} from 'sequelize-typescript'
|
} from 'sequelize-typescript'
|
||||||
import { Account } from '../../../shared/models/actors'
|
import { Account } from '../../../shared/models/actors'
|
||||||
import { isAccountDescriptionValid } from '../../helpers/custom-validators/accounts'
|
import { isAccountDescriptionValid } from '../../helpers/custom-validators/accounts'
|
||||||
|
import { logger } from '../../helpers/logger'
|
||||||
|
import { sendDeleteActor } from '../../lib/activitypub/send'
|
||||||
import { ActorModel } from '../activitypub/actor'
|
import { ActorModel } from '../activitypub/actor'
|
||||||
import { ApplicationModel } from '../application/application'
|
import { ApplicationModel } from '../application/application'
|
||||||
import { AvatarModel } from '../avatar/avatar'
|
import { AvatarModel } from '../avatar/avatar'
|
||||||
|
@ -136,7 +138,12 @@ export class AccountModel extends Model<AccountModel> {
|
||||||
instance.Actor = await instance.$get('Actor', { transaction: options.transaction }) as ActorModel
|
instance.Actor = await instance.$get('Actor', { transaction: options.transaction }) as ActorModel
|
||||||
}
|
}
|
||||||
|
|
||||||
return instance.Actor.destroy({ transaction: options.transaction })
|
if (instance.isOwned()) {
|
||||||
|
logger.debug('Sending delete of actor of account %s.', instance.Actor.url)
|
||||||
|
return sendDeleteActor(instance.Actor, options.transaction)
|
||||||
|
}
|
||||||
|
|
||||||
|
return undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
static load (id: number) {
|
static load (id: number) {
|
||||||
|
@ -239,12 +246,12 @@ export class AccountModel extends Model<AccountModel> {
|
||||||
}
|
}
|
||||||
|
|
||||||
return AccountModel.findAndCountAll(query)
|
return AccountModel.findAndCountAll(query)
|
||||||
.then(({ rows, count }) => {
|
.then(({ rows, count }) => {
|
||||||
return {
|
return {
|
||||||
data: rows,
|
data: rows,
|
||||||
total: count
|
total: count
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
toFormattedJSON (): Account {
|
toFormattedJSON (): Account {
|
||||||
|
|
|
@ -3,7 +3,6 @@ import { extname } from 'path'
|
||||||
import * as Sequelize from 'sequelize'
|
import * as Sequelize from 'sequelize'
|
||||||
import {
|
import {
|
||||||
AllowNull,
|
AllowNull,
|
||||||
BeforeDestroy,
|
|
||||||
BelongsTo,
|
BelongsTo,
|
||||||
Column,
|
Column,
|
||||||
CreatedAt,
|
CreatedAt,
|
||||||
|
@ -38,8 +37,6 @@ import { ServerModel } from '../server/server'
|
||||||
import { throwIfNotValid } from '../utils'
|
import { throwIfNotValid } from '../utils'
|
||||||
import { VideoChannelModel } from '../video/video-channel'
|
import { VideoChannelModel } from '../video/video-channel'
|
||||||
import { ActorFollowModel } from './actor-follow'
|
import { ActorFollowModel } from './actor-follow'
|
||||||
import { logger } from '../../helpers/logger'
|
|
||||||
import { sendDeleteActor } from '../../lib/activitypub/send'
|
|
||||||
|
|
||||||
enum ScopeNames {
|
enum ScopeNames {
|
||||||
FULL = 'FULL'
|
FULL = 'FULL'
|
||||||
|
@ -227,28 +224,22 @@ export class ActorModel extends Model<ActorModel> {
|
||||||
|
|
||||||
@HasOne(() => AccountModel, {
|
@HasOne(() => AccountModel, {
|
||||||
foreignKey: {
|
foreignKey: {
|
||||||
allowNull: false
|
allowNull: true
|
||||||
}
|
},
|
||||||
|
onDelete: 'cascade',
|
||||||
|
hooks: true
|
||||||
})
|
})
|
||||||
Account: AccountModel
|
Account: AccountModel
|
||||||
|
|
||||||
@HasOne(() => VideoChannelModel, {
|
@HasOne(() => VideoChannelModel, {
|
||||||
foreignKey: {
|
foreignKey: {
|
||||||
allowNull: false
|
allowNull: true
|
||||||
}
|
},
|
||||||
|
onDelete: 'cascade',
|
||||||
|
hooks: true
|
||||||
})
|
})
|
||||||
VideoChannel: VideoChannelModel
|
VideoChannel: VideoChannelModel
|
||||||
|
|
||||||
@BeforeDestroy
|
|
||||||
static async sendDeleteIfOwned (instance: ActorModel, options) {
|
|
||||||
if (instance.isOwned()) {
|
|
||||||
logger.debug('Sending delete of actor %s.', instance.url)
|
|
||||||
return sendDeleteActor(instance, options.transaction)
|
|
||||||
}
|
|
||||||
|
|
||||||
return undefined
|
|
||||||
}
|
|
||||||
|
|
||||||
static load (id: number) {
|
static load (id: number) {
|
||||||
return ActorModel.unscoped().findById(id)
|
return ActorModel.unscoped().findById(id)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,27 +1,15 @@
|
||||||
import {
|
import {
|
||||||
AllowNull,
|
AllowNull, BeforeDestroy, BelongsTo, Column, CreatedAt, DefaultScope, ForeignKey, HasMany, Is, Model, Scopes, Table,
|
||||||
BeforeDestroy,
|
UpdatedAt, Default, DataType
|
||||||
BelongsTo,
|
|
||||||
Column,
|
|
||||||
CreatedAt,
|
|
||||||
DataType,
|
|
||||||
Default,
|
|
||||||
DefaultScope,
|
|
||||||
ForeignKey,
|
|
||||||
HasMany,
|
|
||||||
Is,
|
|
||||||
Model,
|
|
||||||
Scopes,
|
|
||||||
Table,
|
|
||||||
UpdatedAt
|
|
||||||
} from 'sequelize-typescript'
|
} from 'sequelize-typescript'
|
||||||
import { ActivityPubActor } from '../../../shared/models/activitypub'
|
import { ActivityPubActor } from '../../../shared/models/activitypub'
|
||||||
import { VideoChannel } from '../../../shared/models/videos'
|
import { VideoChannel } from '../../../shared/models/videos'
|
||||||
import {
|
import {
|
||||||
isVideoChannelDescriptionValid,
|
isVideoChannelDescriptionValid, isVideoChannelNameValid,
|
||||||
isVideoChannelNameValid,
|
|
||||||
isVideoChannelSupportValid
|
isVideoChannelSupportValid
|
||||||
} from '../../helpers/custom-validators/video-channels'
|
} from '../../helpers/custom-validators/video-channels'
|
||||||
|
import { logger } from '../../helpers/logger'
|
||||||
|
import { sendDeleteActor } from '../../lib/activitypub/send'
|
||||||
import { AccountModel } from '../account/account'
|
import { AccountModel } from '../account/account'
|
||||||
import { ActorModel } from '../activitypub/actor'
|
import { ActorModel } from '../activitypub/actor'
|
||||||
import { getSort, throwIfNotValid } from '../utils'
|
import { getSort, throwIfNotValid } from '../utils'
|
||||||
|
@ -151,7 +139,13 @@ export class VideoChannelModel extends Model<VideoChannelModel> {
|
||||||
instance.Actor = await instance.$get('Actor', { transaction: options.transaction }) as ActorModel
|
instance.Actor = await instance.$get('Actor', { transaction: options.transaction }) as ActorModel
|
||||||
}
|
}
|
||||||
|
|
||||||
return instance.Actor.destroy({ transaction: options.transaction })
|
if (instance.Actor.isOwned()) {
|
||||||
|
logger.debug('Sending delete of actor of video channel %s.', instance.Actor.url)
|
||||||
|
|
||||||
|
return sendDeleteActor(instance.Actor, options.transaction)
|
||||||
|
}
|
||||||
|
|
||||||
|
return undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
static countByAccount (accountId: number) {
|
static countByAccount (accountId: number) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user