import * as jsToXliff12 from 'xliff/jsToXliff12'
import { writeFile } from 'fs'
import { join } from 'path'
-import { buildLanguages, VIDEO_CATEGORIES, VIDEO_LICENCES, VIDEO_PRIVACIES } from '../../server/initializers/constants'
+import {
+ buildLanguages,
+ VIDEO_CATEGORIES,
+ VIDEO_IMPORT_STATES,
+ VIDEO_LICENCES,
+ VIDEO_PRIVACIES,
+ VIDEO_STATES
+} from '../../server/initializers/constants'
import { values } from 'lodash'
type TranslationType = {
values(VIDEO_CATEGORIES)
.concat(values(VIDEO_LICENCES))
.concat(values(VIDEO_PRIVACIES))
+ .concat(values(VIDEO_STATES))
+ .concat(values(VIDEO_IMPORT_STATES))
.forEach(v => serverKeys[v] = v)
// More keys
import * as express from 'express'
-import { auditLoggerFactory } from '../../../helpers/audit-logger'
-import {
- asyncMiddleware,
- asyncRetryTransactionMiddleware,
- authenticate,
- videoImportAddValidator
-} from '../../../middlewares'
+import { auditLoggerFactory, VideoImportAuditView } from '../../../helpers/audit-logger'
+import { asyncMiddleware, asyncRetryTransactionMiddleware, authenticate, videoImportAddValidator } from '../../../middlewares'
import { CONFIG, IMAGE_MIMETYPE_EXT, PREVIEWS_SIZE, sequelizeTypescript, THUMBNAILS_SIZE } from '../../../initializers'
import { getYoutubeDLInfo, YoutubeDLInfo } from '../../../helpers/youtube-dl'
import { createReqFiles } from '../../../helpers/express-utils'
}
await JobQueue.Instance.createJob({ type: 'video-import', payload })
+ auditLogger.create(res.locals.oauth.token.User.Account.Actor.getIdentifier(), new VideoImportAuditView(videoImport.toFormattedJSON()))
+
return res.json(videoImport.toFormattedJSON())
}
import * as winston from 'winston'
import { CONFIG } from '../initializers'
import { jsonLoggerFormat, labelFormatter } from './logger'
-import { VideoDetails, User, VideoChannel, VideoAbuse } from '../../shared'
+import { VideoDetails, User, VideoChannel, VideoAbuse, VideoImport } from '../../shared'
import { VideoComment } from '../../shared/models/videos/video-comment.model'
import { CustomConfig } from '../../shared/models/server/custom-config.model'
}
}
+const videoImportKeysToKeep = [
+ 'id',
+ 'targetUrl',
+ 'video-name'
+]
+class VideoImportAuditView extends EntityAuditView {
+ constructor (private videoImport: VideoImport) {
+ super(videoImportKeysToKeep, 'video-import', videoImport)
+ }
+}
+
const commentKeysToKeep = [
'id',
'text',
export {
auditLoggerFactory,
+ VideoImportAuditView,
VideoChannelAuditView,
CommentAuditView,
UserAuditView,