/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { publicAPIGetAPIV1PublicActivity } from "../funcs/public-api-get-apiv1-public-activity.js"; import { publicAPIGetAPIV1PublicHealth } from "../funcs/public-api-get-apiv1-public-health.js"; import { publicAPIGetAPIV1PublicHistory } from "../funcs/public-api-get-apiv1-public-history.js"; import { publicAPIGetAPIV1PublicStatsToday } from "../funcs/public-api-get-apiv1-public-stats-today.js"; import { publicAPIGetAPIV1PublicStats } from "../funcs/public-api-get-apiv1-public-stats.js"; import { publicAPIGetAPIV1PublicStreams } from "../funcs/public-api-get-apiv1-public-streams.js"; import { publicAPIGetAPIV1PublicUsers } from "../funcs/public-api-get-apiv1-public-users.js"; import { publicAPIGetAPIV1PublicViolations } from "../funcs/public-api-get-apiv1-public-violations.js"; import { publicAPIPostAPIV1PublicStreamsIdTerminate } from "../funcs/public-api-post-apiv1-public-streams-id-terminate.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import * as models from "../models/index.js"; import * as operations from "../models/operations/index.js"; import { unwrapAsync } from "../types/fp.js"; export class PublicAPI extends ClientSDK { /** * Check server connectivity * * @remarks * Returns connection status for all configured media servers. */ async getApiV1PublicHealth( options?: RequestOptions, ): Promise { return unwrapAsync(publicAPIGetAPIV1PublicHealth( this, options, )); } /** * Dashboard statistics * * @remarks * Aggregate counts for dashboard display. Optionally filter by server. */ async getApiV1PublicStats( request?: operations.GetApiV1PublicStatsRequest | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(publicAPIGetAPIV1PublicStats( this, request, options, )); } /** * Today's dashboard statistics * * @remarks * Dashboard metrics for "today" in the specified timezone. Includes active streams, validated plays (>= 2 min), watch time, alerts, and active users. */ async getApiV1PublicStatsToday( request?: operations.GetApiV1PublicStatsTodayRequest | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(publicAPIGetAPIV1PublicStatsToday( this, request, options, )); } /** * Playback activity trends * * @remarks * Consolidated activity data across six dimensions: plays over time, concurrent streams, day-of-week and hour-of-day distributions, platform usage, and playback quality. Time-series data is bucketed by 6 hours (week) or 1 day (month/year). Play counts use engagement-based filtering (sessions >= 2 minutes). */ async getApiV1PublicActivity( request?: operations.GetApiV1PublicActivityRequest | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(publicAPIGetAPIV1PublicActivity( this, request, options, )); } /** * Active playback sessions * * @remarks * Real-time active streams with codec and quality details. Use summary=true for lightweight dashboard polling (omits data array). */ async getApiV1PublicStreams( request?: operations.GetApiV1PublicStreamsRequest | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(publicAPIGetAPIV1PublicStreams( this, request, options, )); } /** * Terminate active stream * * @remarks * Stop an active playback session. Optionally display a message to the user (supported on all platforms). */ async postApiV1PublicStreamsIdTerminate( request: operations.PostApiV1PublicStreamsIdTerminateRequest, options?: RequestOptions, ): Promise { return unwrapAsync(publicAPIPostAPIV1PublicStreamsIdTerminate( this, request, options, )); } /** * User list with activity metrics * * @remarks * Paginated users with session counts and trust scores. Users with accounts on multiple servers appear once per server. */ async getApiV1PublicUsers( request?: operations.GetApiV1PublicUsersRequest | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(publicAPIGetAPIV1PublicUsers( this, request, options, )); } /** * Rule violations * * @remarks * Paginated violations in descending order. Filter by server, severity, or acknowledged status. */ async getApiV1PublicViolations( request?: operations.GetApiV1PublicViolationsRequest | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(publicAPIGetAPIV1PublicViolations( this, request, options, )); } /** * Session history * * @remarks * Paginated session history grouped by unique plays. Multiple pause/resume cycles are aggregated into a single entry with combined duration and segment count. */ async getApiV1PublicHistory( request?: operations.GetApiV1PublicHistoryRequest | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(publicAPIGetAPIV1PublicHistory( this, request, options, )); } }