From b211106695bb82f6c32e53306081b5262c3d109d Mon Sep 17 00:00:00 2001 From: Chocobozzz <me@florianbigard.com> Date: Thu, 24 Mar 2022 13:36:47 +0100 Subject: Support video views/viewers stats in server * Add "currentTime" and "event" body params to view endpoint * Merge watching and view endpoints * Introduce WatchAction AP activity * Add tables to store viewer information of local videos * Add endpoints to fetch video views/viewers stats of local videos * Refactor views/viewers handlers * Support "views" and "viewers" counters for both VOD and live videos --- shared/server-commands/server/server.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'shared/server-commands/server') diff --git a/shared/server-commands/server/server.ts b/shared/server-commands/server/server.ts index 2bf31b5a4..0ad818a11 100644 --- a/shared/server-commands/server/server.ts +++ b/shared/server-commands/server/server.ts @@ -25,10 +25,12 @@ import { PlaylistsCommand, ServicesCommand, StreamingPlaylistsCommand, + VideosCommand, VideoStudioCommand, - VideosCommand + ViewsCommand } from '../videos' import { CommentsCommand } from '../videos/comments-command' +import { VideoStatsCommand } from '../videos/video-stats-command' import { ConfigCommand } from './config-command' import { ContactFormCommand } from './contact-form-command' import { DebugCommand } from './debug-command' @@ -127,6 +129,8 @@ export class PeerTubeServer { objectStorage?: ObjectStorageCommand videoStudio?: VideoStudioCommand videos?: VideosCommand + videoStats?: VideoStatsCommand + views?: ViewsCommand constructor (options: { serverNumber: number } | { url: string }) { if ((options as any).url) { @@ -397,5 +401,7 @@ export class PeerTubeServer { this.videos = new VideosCommand(this) this.objectStorage = new ObjectStorageCommand(this) this.videoStudio = new VideoStudioCommand(this) + this.videoStats = new VideoStatsCommand(this) + this.views = new ViewsCommand(this) } } -- cgit v1.2.3