X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fvideo-channel.ts;h=8322c9ad2a6808c9ed0f8ed0955c1797a0d18e84;hb=866b5d3f5230204d611a556260102996c1aefe10;hp=14829c9d6506349374015f1c5f8532f309c5c5c2;hpb=c2777c1dfe688c8fab1ef2fed50e360100fa9198;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/video-channel.ts b/server/lib/video-channel.ts index 14829c9d6..8322c9ad2 100644 --- a/server/lib/video-channel.ts +++ b/server/lib/video-channel.ts @@ -1,21 +1,15 @@ import * as Sequelize from 'sequelize' -import * as uuidv4 from 'uuid/v4' import { VideoChannelCreate } from '../../shared/models' -import { VideoChannelModel } from '../models/video/video-channel' -import { buildActorInstance, federateVideoIfNeeded, getVideoChannelActivityPubUrl } from './activitypub' import { VideoModel } from '../models/video/video' -import { MAccountId, MChannelDefault, MChannelId } from '../typings/models' - -type CustomVideoChannelModelAccount = MChannelDefault & { Account?: T } +import { VideoChannelModel } from '../models/video/video-channel' +import { MAccountId, MChannelId } from '../types/models' +import { getLocalVideoChannelActivityPubUrl } from './activitypub/url' +import { federateVideoIfNeeded } from './activitypub/videos' +import { buildActorInstance } from './local-actor' -async function createLocalVideoChannel ( - videoChannelInfo: VideoChannelCreate, - account: T, - t: Sequelize.Transaction -): Promise> { - const uuid = uuidv4() - const url = getVideoChannelActivityPubUrl(videoChannelInfo.name) - const actorInstance = buildActorInstance('Group', url, videoChannelInfo.name, uuid) +async function createLocalVideoChannel (videoChannelInfo: VideoChannelCreate, account: MAccountId, t: Sequelize.Transaction) { + const url = getLocalVideoChannelActivityPubUrl(videoChannelInfo.name) + const actorInstance = buildActorInstance('Group', url, videoChannelInfo.name) const actorInstanceCreated = await actorInstance.save({ transaction: t }) @@ -30,13 +24,11 @@ async function createLocalVideoChannel ( const videoChannel = new VideoChannelModel(videoChannelData) const options = { transaction: t } - const videoChannelCreated: CustomVideoChannelModelAccount = await videoChannel.save(options) as MChannelDefault + const videoChannelCreated = await videoChannel.save(options) - // Do not forget to add Account/Actor information to the created video channel - videoChannelCreated.Account = account videoChannelCreated.Actor = actorInstanceCreated - // No need to seed this empty video channel to followers + // No need to send this empty video channel to followers return videoChannelCreated } @@ -44,7 +36,7 @@ async function federateAllVideosOfChannel (videoChannel: MChannelId) { const videoIds = await VideoModel.getAllIdsFromChannel(videoChannel) for (const videoId of videoIds) { - const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(videoId) + const video = await VideoModel.loadFull(videoId) await federateVideoIfNeeded(video, false) }