From 8a19bee1a1ee39f973bb37429e4f73c3f2873cdb Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 17 Aug 2018 15:45:42 +0200 Subject: Add ability to set a name to a channel --- server/lib/user.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'server/lib/user.ts') diff --git a/server/lib/user.ts b/server/lib/user.ts index e7a45f5aa..db29469eb 100644 --- a/server/lib/user.ts +++ b/server/lib/user.ts @@ -1,4 +1,5 @@ import * as Sequelize from 'sequelize' +import * as uuidv4 from 'uuid/v4' import { ActivityPubActorType } from '../../shared/models/activitypub' import { sequelizeTypescript, SERVER_ACTOR_NAME } from '../initializers' import { AccountModel } from '../models/account/account' @@ -7,6 +8,7 @@ import { buildActorInstance, getAccountActivityPubUrl, setAsyncActorKeys } from import { createVideoChannel } from './video-channel' import { VideoChannelModel } from '../models/video/video-channel' import { FilteredModelAttributes } from 'sequelize-typescript/lib/models/Model' +import { ActorModel } from '../models/activitypub/actor' async function createUserAccountAndChannel (userToCreate: UserModel, validateUser = true) { const { user, account, videoChannel } = await sequelizeTypescript.transaction(async t => { @@ -19,8 +21,15 @@ async function createUserAccountAndChannel (userToCreate: UserModel, validateUse const accountCreated = await createLocalAccountWithoutKeys(userToCreate.username, userToCreate.id, null, t) userCreated.Account = accountCreated - const videoChannelDisplayName = `Default ${userCreated.username} channel` + let channelName = userCreated.username + '_channel' + + // Conflict, generate uuid instead + const actor = await ActorModel.loadLocalByName(channelName) + if (actor) channelName = uuidv4() + + const videoChannelDisplayName = `Main ${userCreated.username} channel` const videoChannelInfo = { + name: channelName, displayName: videoChannelDisplayName } const videoChannel = await createVideoChannel(videoChannelInfo, accountCreated, t) -- cgit v1.2.3