ffplayout/types/index.d.ts

142 lines
2.9 KiB
TypeScript
Raw Normal View History

2024-02-21 17:18:23 +01:00
import { type JwtPayload } from 'jwt-decode'
2023-11-16 12:44:12 +01:00
export {}
2023-01-11 10:54:25 +01:00
declare global {
2024-02-21 17:18:23 +01:00
interface JwtPayloadExt extends JwtPayload {
2024-06-20 17:08:50 +02:00
id: number
2024-06-18 08:56:12 +02:00
channel: number
2024-02-21 17:18:23 +01:00
role: string
}
interface LoginObj {
message: string
user?: {
id: number
mail: string
username: string
token
}
}
2024-04-25 14:49:57 +02:00
interface DataAuth {
uuid: string
}
2023-09-26 09:29:46 +02:00
interface GuiConfig {
id: number
extra_extensions: string | string[]
name: string
preview_url: string
uts_offset?: number
}
interface User {
2024-06-17 15:25:52 +02:00
id: number
2024-04-16 18:13:28 +02:00
username: string
mail?: string
password?: string
confirm?: string
admin?: boolean
2024-06-19 21:27:13 +02:00
channel_ids?: number[]
2024-04-16 18:13:28 +02:00
role_id?: number
2023-09-26 09:29:46 +02:00
}
2023-11-16 12:44:12 +01:00
interface Crumb {
2023-01-11 10:54:25 +01:00
text: string
path: string
}
interface Payload {
2023-11-16 12:44:12 +01:00
method: string
headers: any
body?: any
}
interface Playlist {
channel: string
date: string
program: PlaylistItem[]
}
2023-01-11 10:54:25 +01:00
interface PlaylistItem {
date?: string
2023-01-11 10:54:25 +01:00
uid: string
begin: number
title?: string | null
2023-01-11 10:54:25 +01:00
source: string
duration: number
in: number
out: number
audio?: string
category?: string
custom_filter?: string
overtime?: boolean
2023-01-11 10:54:25 +01:00
}
interface FileObject {
name: string
duration: number
}
interface Folder {
uid: string
name: string
}
interface FileFolderObject {
2023-01-11 10:54:25 +01:00
source: string
parent: string
2024-04-07 23:27:52 +02:00
parent_folders: Folder[]
folders: Folder[]
2023-01-11 10:54:25 +01:00
files: FileObject[]
}
interface FolderObject {
source: string
parent: string
folders: Folder[]
}
2023-01-11 10:54:25 +01:00
interface SourceObject {
type: string
src: string
}
interface TemplateItem {
start: string
duration: string
shuffle: boolean
paths: string[]
}
interface Template {
sources: TemplateItem[]
}
interface BodyObject {
paths?: string[]
template?: Template
}
2023-11-16 12:44:12 +01:00
interface SystemStatistics {
cpu: { cores: number; usage: number }
load: { one: number; five: number; fifteen: number }
memory: { total: number; used: number; free: number }
2024-04-16 18:13:28 +02:00
network?: { name: string; current_in: number; current_out: number; total_in: number; total_out: number }
storage?: { path: string; total: number; used: number }
2023-11-16 12:44:12 +01:00
swap: { total: number; used: number; free: number }
system: { name?: string; kernel?: string; version?: string; ffp_version?: string }
2023-11-16 12:44:12 +01:00
}
2024-04-29 09:35:26 +02:00
interface PlayoutStatus {
media: PlaylistItem
index: number
ingest: boolean
mode: string
elapsed: number
shift: number
2024-04-30 16:57:33 +02:00
title?: string
2024-04-29 09:35:26 +02:00
}
2023-01-11 10:54:25 +01:00
}