X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Fapi%2Fvideos%2Fchannel.ts;h=8ec53d9ae1b3991d502e792a20c72b74a3a66afd;hb=ac81d1a06d57b9ae86663831e7f5edcef57b0fa4;hp=315469115ebbc2b08e71f99fb8a393822f2e8e35;hpb=fadf619ad61a016c1c7fc53de5a8f398a4f77519;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/api/videos/channel.ts b/server/controllers/api/videos/channel.ts index 315469115..8ec53d9ae 100644 --- a/server/controllers/api/videos/channel.ts +++ b/server/controllers/api/videos/channel.ts @@ -1,20 +1,14 @@ import * as express from 'express' import { VideoChannelCreate, VideoChannelUpdate } from '../../../../shared' -import { getFormattedObjects, logger, resetSequelizeInstance, retryTransactionWrapper } from '../../../helpers' +import { retryTransactionWrapper } from '../../../helpers/database-utils' +import { logger } from '../../../helpers/logger' +import { getFormattedObjects, resetSequelizeInstance } from '../../../helpers/utils' import { sequelizeTypescript } from '../../../initializers' -import { createVideoChannel } from '../../../lib' -import { sendUpdateVideoChannel } from '../../../lib/activitypub/send/send-update' +import { setAsyncActorKeys } from '../../../lib/activitypub' +import { createVideoChannel } from '../../../lib/video-channel' import { - asyncMiddleware, - authenticate, - listVideoAccountChannelsValidator, - paginationValidator, - setPagination, - setVideoChannelsSort, - videoChannelsAddValidator, - videoChannelsGetValidator, - videoChannelsRemoveValidator, - videoChannelsSortValidator, + asyncMiddleware, authenticate, listVideoAccountChannelsValidator, paginationValidator, setDefaultSort, setDefaultPagination, + videoChannelsAddValidator, videoChannelsGetValidator, videoChannelsRemoveValidator, videoChannelsSortValidator, videoChannelsUpdateValidator } from '../../../middlewares' import { AccountModel } from '../../../models/account/account' @@ -25,8 +19,8 @@ const videoChannelRouter = express.Router() videoChannelRouter.get('/channels', paginationValidator, videoChannelsSortValidator, - setVideoChannelsSort, - setPagination, + setDefaultSort, + setDefaultPagination, asyncMiddleware(listVideoChannels) ) @@ -92,15 +86,17 @@ async function addVideoChannelRetryWrapper (req: express.Request, res: express.R return res.type('json').status(204).end() } -function addVideoChannel (req: express.Request, res: express.Response) { +async function addVideoChannel (req: express.Request, res: express.Response) { const videoChannelInfo: VideoChannelCreate = req.body const account: AccountModel = res.locals.oauth.token.User.Account - return sequelizeTypescript.transaction(async t => { - const videoChannelCreated = await createVideoChannel(videoChannelInfo, account, t) - - logger.info('Video channel with uuid %s created.', videoChannelCreated.uuid) + const videoChannelCreated = await sequelizeTypescript.transaction(async t => { + return createVideoChannel(videoChannelInfo, account, t) }) + + setAsyncActorKeys(videoChannelCreated.Actor) + + logger.info('Video channel with uuid %s created.', videoChannelCreated.Actor.uuid) } async function updateVideoChannelRetryWrapper (req: express.Request, res: express.Response, next: express.NextFunction) { @@ -128,12 +124,13 @@ async function updateVideoChannel (req: express.Request, res: express.Response) if (videoChannelInfoToUpdate.name !== undefined) videoChannelInstance.set('name', videoChannelInfoToUpdate.name) if (videoChannelInfoToUpdate.description !== undefined) videoChannelInstance.set('description', videoChannelInfoToUpdate.description) - const videoChannelInstanceUpdated = await videoChannelInstance.save(sequelizeOptions) + await videoChannelInstance.save(sequelizeOptions) - await sendUpdateVideoChannel(videoChannelInstanceUpdated, t) + // TODO + // await sendUpdateVideoChannel(videoChannelInstanceUpdated, t) }) - logger.info('Video channel with name %s and uuid %s updated.', videoChannelInstance.name, videoChannelInstance.uuid) + logger.info('Video channel with name %s and uuid %s updated.', videoChannelInstance.name, videoChannelInstance.Actor.uuid) } catch (err) { logger.debug('Cannot update the video channel.', err) @@ -160,11 +157,12 @@ async function removeVideoChannelRetryWrapper (req: express.Request, res: expres async function removeVideoChannel (req: express.Request, res: express.Response) { const videoChannelInstance: VideoChannelModel = res.locals.videoChannel - await sequelizeTypescript.transaction(async t => { + return sequelizeTypescript.transaction(async t => { await videoChannelInstance.destroy({ transaction: t }) + + logger.info('Video channel with name %s and uuid %s deleted.', videoChannelInstance.name, videoChannelInstance.Actor.uuid) }) - logger.info('Video channel with name %s and uuid %s deleted.', videoChannelInstance.name, videoChannelInstance.uuid) } async function getVideoChannel (req: express.Request, res: express.Response, next: express.NextFunction) {