-import { AllowNull, BelongsTo, Column, CreatedAt, ForeignKey, Is, Model, Table, UpdatedAt } from 'sequelize-typescript'
+import { AfterCreate, AllowNull, BelongsTo, Column, CreatedAt, ForeignKey, Is, Model, Table, UpdatedAt } from 'sequelize-typescript'
import { VideoAbuseObject } from '../../../shared/models/activitypub/objects'
import { isVideoAbuseReasonValid } from '../../helpers/custom-validators/videos'
import { CONFIG } from '../../initializers'
+import { Emailer } from '../../lib/emailer'
import { AccountModel } from '../account/account'
-import { ServerModel } from '../server/server'
import { getSort, throwIfNotValid } from '../utils'
import { VideoModel } from './video'
})
Video: VideoModel
+ @AfterCreate
+ static sendEmailNotification (instance: VideoAbuseModel) {
+ return Emailer.Instance.addVideoAbuseReport(instance.videoId)
+ }
+
static listForApi (start: number, count: number, sort: string) {
const query = {
offset: start,
include: [
{
model: AccountModel,
- required: true,
- include: [
- {
- model: ServerModel,
- required: false
- }
- ]
+ required: true
},
{
model: VideoModel,
toFormattedJSON () {
let reporterServerHost
- if (this.Account.Server) {
- reporterServerHost = this.Account.Server.host
+ if (this.Account.Actor.Server) {
+ reporterServerHost = this.Account.Actor.Server.host
} else {
// It means it's our video
reporterServerHost = CONFIG.WEBSERVER.HOST