-import { Activity, ActivityAdd } from '../../../shared/models/activitypub/activity'
-import { activityPubCollectionPagination } from '../../helpers/activitypub'
-import { pageToStartAndCount } from '../../helpers/core-utils'
-import { database as db } from '../../initializers'
-import { ACTIVITY_PUB } from '../../initializers/constants'
-import { addActivityData } from '../../lib/activitypub/send/send-add'
-import { getAnnounceActivityPubUrl } from '../../lib/activitypub/url'
-import { announceActivityData } from '../../lib/index'
-import { asyncMiddleware, localAccountValidator } from '../../middlewares'
-import { AccountInstance } from '../../models/account/account-interface'
+import { Activity } from '../../../shared/models/activitypub/activity'
+import { VideoPrivacy } from '../../../shared/models/videos'
+import { activityPubCollectionPagination, activityPubContextify } from '../../helpers/activitypub'
+import { logger } from '../../helpers/logger'
+import { buildAnnounceActivity, buildCreateActivity } from '../../lib/activitypub/send'
+import { buildAudience } from '../../lib/activitypub/audience'
+import { asyncMiddleware, localAccountValidator, localVideoChannelValidator } from '../../middlewares'
+import { AccountModel } from '../../models/account/account'
+import { ActorModel } from '../../models/activitypub/actor'
+import { VideoModel } from '../../models/video/video'
+import { activityPubResponse } from './utils'
+import { VideoChannelModel } from '../../models/video/video-channel'