From b49f22d8f9a52ab75fd38db2d377249eb58fa678 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 8 Dec 2020 14:30:29 +0100 Subject: Upgrade sequelize to v6 --- server/lib/activitypub/playlist.ts | 2 ++ server/lib/activitypub/process/process-dislike.ts | 2 +- server/lib/activitypub/process/process-like.ts | 2 +- server/lib/activitypub/video-rates.ts | 15 ++--------- server/lib/activitypub/videos.ts | 3 +++ server/lib/client-html.ts | 31 +++++++++++----------- .../job-queue/handlers/activitypub-http-fetcher.ts | 21 +++++++-------- server/lib/video-transcoding-profiles.ts | 1 - 8 files changed, 34 insertions(+), 43 deletions(-) (limited to 'server/lib') diff --git a/server/lib/activitypub/playlist.ts b/server/lib/activitypub/playlist.ts index 53298e968..8b54a001a 100644 --- a/server/lib/activitypub/playlist.ts +++ b/server/lib/activitypub/playlist.ts @@ -99,6 +99,8 @@ async function createOrUpdateVideoPlaylist (playlistObject: PlaylistObject, byAc return Promise.resolve() }) + logger.info('toto', { playlist, id: playlist.id }) + const refreshedPlaylist = await VideoPlaylistModel.loadWithAccountAndChannel(playlist.id, null) if (playlistObject.icon) { diff --git a/server/lib/activitypub/process/process-dislike.ts b/server/lib/activitypub/process/process-dislike.ts index 635c8bfcc..089c7b881 100644 --- a/server/lib/activitypub/process/process-dislike.ts +++ b/server/lib/activitypub/process/process-dislike.ts @@ -33,7 +33,7 @@ async function processDislike (activity: ActivityCreate | ActivityDislike, byAct const { video } = await getOrCreateVideoAndAccountAndChannel({ videoObject: dislikeObject }) return sequelizeTypescript.transaction(async t => { - const existingRate = await AccountVideoRateModel.loadByAccountAndVideoOrUrl(byAccount.id, video.id, activity.id) + const existingRate = await AccountVideoRateModel.loadByAccountAndVideoOrUrl(byAccount.id, video.id, activity.id, t) if (existingRate && existingRate.type === 'dislike') return await video.increment('dislikes', { transaction: t }) diff --git a/server/lib/activitypub/process/process-like.ts b/server/lib/activitypub/process/process-like.ts index 6acc097b1..8688b3b47 100644 --- a/server/lib/activitypub/process/process-like.ts +++ b/server/lib/activitypub/process/process-like.ts @@ -30,7 +30,7 @@ async function processLikeVideo (byActor: MActorSignature, activity: ActivityLik const { video } = await getOrCreateVideoAndAccountAndChannel({ videoObject: videoUrl }) return sequelizeTypescript.transaction(async t => { - const existingRate = await AccountVideoRateModel.loadByAccountAndVideoOrUrl(byAccount.id, video.id, activity.id) + const existingRate = await AccountVideoRateModel.loadByAccountAndVideoOrUrl(byAccount.id, video.id, activity.id, t) if (existingRate && existingRate.type === 'like') return if (existingRate && existingRate.type === 'dislike') { diff --git a/server/lib/activitypub/video-rates.ts b/server/lib/activitypub/video-rates.ts index 581a2bca1..e246b1313 100644 --- a/server/lib/activitypub/video-rates.ts +++ b/server/lib/activitypub/video-rates.ts @@ -13,8 +13,6 @@ import { sendDislike } from './send/send-dislike' import { MAccountActor, MActorUrl, MVideo, MVideoAccountLight, MVideoId } from '../../types/models' async function createRates (ratesUrl: string[], video: MVideo, rate: VideoRateType) { - let rateCounts = 0 - await Bluebird.map(ratesUrl, async rateUrl => { try { // Fetch url @@ -43,21 +41,12 @@ async function createRates (ratesUrl: string[], video: MVideo, rate: VideoRateTy url: body.id } - const created = await AccountVideoRateModel.upsert(entry) - - if (created) rateCounts += 1 + // Video "likes"/"dislikes" will be updated by the caller + await AccountVideoRateModel.upsert(entry) } catch (err) { logger.warn('Cannot add rate %s.', rateUrl, { err }) } }, { concurrency: CRAWL_REQUEST_CONCURRENCY }) - - logger.info('Adding %d %s to video %s.', rateCounts, rate, video.uuid) - - // This is "likes" and "dislikes" - if (rateCounts !== 0) { - const field = rate === 'like' ? 'likes' : 'dislikes' - await video.increment(field, { by: rateCounts }) - } } async function sendVideoRateChange ( diff --git a/server/lib/activitypub/videos.ts b/server/lib/activitypub/videos.ts index b15d5da1c..cb462e258 100644 --- a/server/lib/activitypub/videos.ts +++ b/server/lib/activitypub/videos.ts @@ -352,6 +352,9 @@ async function updateVideoFromAP (options: { video.views = videoData.views video.isLive = videoData.isLive + // Ensures we update the updated video attribute + video.changed('updatedAt', true) + const videoUpdated = await video.save(sequelizeOptions) as MVideoFullLight if (thumbnailModel) await videoUpdated.addAndSaveThumbnail(thumbnailModel, t) diff --git a/server/lib/client-html.ts b/server/lib/client-html.ts index 32f5d29ab..43585c591 100644 --- a/server/lib/client-html.ts +++ b/server/lib/client-html.ts @@ -1,29 +1,28 @@ import * as express from 'express' -import * as Bluebird from 'bluebird' +import { readFile } from 'fs-extra' +import { join } from 'path' +import validator from 'validator' import { buildFileLocale, getDefaultLocale, is18nLocale, POSSIBLE_LOCALES } from '../../shared/core-utils/i18n/i18n' +import { HttpStatusCode } from '../../shared/core-utils/miscs/http-error-codes' +import { VideoPlaylistPrivacy, VideoPrivacy } from '../../shared/models/videos' +import { escapeHTML, isTestInstance, sha256 } from '../helpers/core-utils' +import { logger } from '../helpers/logger' +import { CONFIG } from '../initializers/config' import { + ACCEPT_HEADERS, AVATARS_SIZE, CUSTOM_HTML_TAG_COMMENTS, EMBED_SIZE, - PLUGIN_GLOBAL_CSS_PATH, - WEBSERVER, FILES_CONTENT_HASH, - ACCEPT_HEADERS + PLUGIN_GLOBAL_CSS_PATH, + WEBSERVER } from '../initializers/constants' -import { join } from 'path' -import { escapeHTML, isTestInstance, sha256 } from '../helpers/core-utils' -import { VideoModel } from '../models/video/video' -import { VideoPlaylistModel } from '../models/video/video-playlist' -import validator from 'validator' -import { VideoPrivacy, VideoPlaylistPrivacy } from '../../shared/models/videos' -import { readFile } from 'fs-extra' -import { getActivityStreamDuration } from '../models/video/video-format-utils' import { AccountModel } from '../models/account/account' +import { VideoModel } from '../models/video/video' import { VideoChannelModel } from '../models/video/video-channel' -import { CONFIG } from '../initializers/config' -import { logger } from '../helpers/logger' +import { getActivityStreamDuration } from '../models/video/video-format-utils' +import { VideoPlaylistModel } from '../models/video/video-playlist' import { MAccountActor, MChannelActor } from '../types/models' -import { HttpStatusCode } from '../../shared/core-utils/miscs/http-error-codes' type Tags = { ogType: string @@ -218,7 +217,7 @@ class ClientHtml { } private static async getAccountOrChannelHTMLPage ( - loader: () => Bluebird, + loader: () => Promise, req: express.Request, res: express.Response ) { diff --git a/server/lib/job-queue/handlers/activitypub-http-fetcher.ts b/server/lib/job-queue/handlers/activitypub-http-fetcher.ts index a7c1a556c..e210ac3ef 100644 --- a/server/lib/job-queue/handlers/activitypub-http-fetcher.ts +++ b/server/lib/job-queue/handlers/activitypub-http-fetcher.ts @@ -1,19 +1,18 @@ import * as Bull from 'bull' -import * as Bluebird from 'bluebird' +import { ActivitypubHttpFetcherPayload, FetchType } from '@shared/models' import { logger } from '../../../helpers/logger' -import { processActivities } from '../../activitypub/process' -import { addVideoComments } from '../../activitypub/video-comments' -import { crawlCollectionPage } from '../../activitypub/crawl' -import { VideoModel } from '../../../models/video/video' -import { addVideoShares } from '../../activitypub/share' -import { createRates } from '../../activitypub/video-rates' -import { createAccountPlaylists } from '../../activitypub/playlist' import { AccountModel } from '../../../models/account/account' import { AccountVideoRateModel } from '../../../models/account/account-video-rate' -import { VideoShareModel } from '../../../models/video/video-share' +import { VideoModel } from '../../../models/video/video' import { VideoCommentModel } from '../../../models/video/video-comment' +import { VideoShareModel } from '../../../models/video/video-share' import { MAccountDefault, MVideoFullLight } from '../../../types/models' -import { ActivitypubHttpFetcherPayload, FetchType } from '@shared/models' +import { crawlCollectionPage } from '../../activitypub/crawl' +import { createAccountPlaylists } from '../../activitypub/playlist' +import { processActivities } from '../../activitypub/process' +import { addVideoShares } from '../../activitypub/share' +import { addVideoComments } from '../../activitypub/video-comments' +import { createRates } from '../../activitypub/video-rates' async function processActivityPubHttpFetcher (job: Bull.Job) { logger.info('Processing ActivityPub fetcher in job %d.', job.id) @@ -35,7 +34,7 @@ async function processActivityPubHttpFetcher (job: Bull.Job) { 'account-playlists': items => createAccountPlaylists(items, account) } - const cleanerType: { [ id in FetchType ]?: (crawlStartDate: Date) => Bluebird } = { + const cleanerType: { [ id in FetchType ]?: (crawlStartDate: Date) => Promise } = { 'video-likes': crawlStartDate => AccountVideoRateModel.cleanOldRatesOf(video.id, 'like' as 'like', crawlStartDate), 'video-dislikes': crawlStartDate => AccountVideoRateModel.cleanOldRatesOf(video.id, 'dislike' as 'dislike', crawlStartDate), 'video-shares': crawlStartDate => VideoShareModel.cleanOldSharesOf(video.id, crawlStartDate), diff --git a/server/lib/video-transcoding-profiles.ts b/server/lib/video-transcoding-profiles.ts index 3bf83d6a8..338f4de4a 100644 --- a/server/lib/video-transcoding-profiles.ts +++ b/server/lib/video-transcoding-profiles.ts @@ -111,7 +111,6 @@ async function buildTargetBitrate (options: { input: string resolution: VideoResolution fps: number - }) { const { input, resolution, fps } = options const probe = await ffprobePromise(input) -- cgit v1.2.3