X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fvideo-channel.ts;h=8322c9ad2a6808c9ed0f8ed0955c1797a0d18e84;hb=ff91b644fb1b063d0a8eff7492beb1a9bf7e4ce1;hp=ee0482c3612919b3715eb64aca12e59aa178ef0d;hpb=b91bc1d1f3591c35ab4426f6ab594b4bd9f1ef62;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/video-channel.ts b/server/lib/video-channel.ts index ee0482c36..8322c9ad2 100644 --- a/server/lib/video-channel.ts +++ b/server/lib/video-channel.ts @@ -1,15 +1,15 @@ import * as Sequelize from 'sequelize' -import * as uuidv4 from 'uuid/v4' import { VideoChannelCreate } from '../../shared/models' -import { AccountModel } from '../models/account/account' -import { VideoChannelModel } from '../models/video/video-channel' -import { buildActorInstance, federateVideoIfNeeded, getVideoChannelActivityPubUrl } from './activitypub' import { VideoModel } from '../models/video/video' +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 createVideoChannel (videoChannelInfo: VideoChannelCreate, account: AccountModel, t: Sequelize.Transaction) { - 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 }) @@ -21,24 +21,22 @@ async function createVideoChannel (videoChannelInfo: VideoChannelCreate, account actorId: actorInstanceCreated.id } - const videoChannel = VideoChannelModel.build(videoChannelData) + const videoChannel = new VideoChannelModel(videoChannelData) const options = { transaction: t } 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 } -async function federateAllVideosOfChannel (videoChannel: VideoChannelModel) { +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) } @@ -47,6 +45,6 @@ async function federateAllVideosOfChannel (videoChannel: VideoChannelModel) { // --------------------------------------------------------------------------- export { - createVideoChannel, + createLocalVideoChannel, federateAllVideosOfChannel }