refactor(nx): add restructuring

This commit is contained in:
4gray committed 2025-10-13 01:33:50 +02:00
1 parent 7028ff4049
commit 2d4fdcfc1b
42 files changed
+215 -193

No files matched your search

+8
View File
@@ -12,8 +12,16 @@ export * from './lib/parsed-playlist.interface';
export * from './lib/playlist-meta.type';
export * from './lib/playlist.interface';
export * from './lib/settings.interface';
export * from './lib/stalker-portal-actions.enum';
export * from './lib/store-keys.enum';
export * from './lib/stream-format.enum';
export * from './lib/theme.enum';
export * from './lib/xtream-category.interface';
export * from './lib/xtream-code-actions';
export * from './lib/xtream-item.interface';
export * from './lib/xtream-live-stream.interface';
export * from './lib/xtream-response.interface';
export * from './lib/xtream-serie-details.interface';
export * from './lib/xtream-serie-item.interface';
export * from './lib/xtream-vod-details.interface';
export * from './lib/xtream-vod-stream.interface';
@@ -0,0 +1,9 @@
export enum StalkerPortalActions {
GetCategories = 'get_categories',
GetGenres = 'get_genres',
CreateLink = 'create_link',
GetOrderedList = 'get_ordered_list',
Favorites = 'favorites',
Handshake = 'handshake',
DoAuth = 'do_auth',
}
@@ -0,0 +1,6 @@
export interface XtreamCategory {
id?: number;
category_id: string;
category_name: string;
parent_id: number;
}
@@ -0,0 +1,11 @@
export enum XtreamCodeActions {
GetLiveStreams = 'get_live_streams',
GetLiveCategories = 'get_live_categories',
GetSeries = 'get_series',
GetSeriesCategories = 'get_series_categories',
GetSeriesInfo = 'get_series_info',
GetVodStreams = 'get_vod_streams',
GetVodCategories = 'get_vod_categories',
GetVodInfo = 'get_vod_info',
GetShortEpg = 'get_short_epg',
}
@@ -0,0 +1,8 @@
import { XtreamItem } from 'shared-interfaces';
export interface XtreamLiveStream extends XtreamItem {
stream_type: 'live';
epg_channel_id?: number;
tv_archive: number;
tv_archive_duration: number;
}
@@ -0,0 +1,6 @@
import { XtreamCodeActions } from './xtream-code-actions';
export interface XtreamResponse {
payload: unknown;
action: XtreamCodeActions;
}
@@ -0,0 +1,57 @@
export interface XtreamSerieDetails {
seasons: XtreamSerieSeason[];
info: XtreamSerieInfo;
episodes: Record<string, XtreamSerieEpisode[]>;
}
export interface XtreamSerieInfo {
name: string;
cover: string;
plot: string;
cast: string;
director: string;
genre: string;
releaseDate: string;
last_modified: string;
rating: string;
rating_5based: number;
backdrop_path: string[];
youtube_trailer: string;
episode_run_time: string;
category_id: string;
}
export interface XtreamSerieEpisode {
id: string;
episode_num: number;
title: string;
container_extension: string;
info: {
tmdb_id: number;
releasedate: string;
plot: string;
duration_secs: number;
duration: string;
movie_image: string;
video: Record<string, string>; // TODO
audio: Record<string, string>; // TODO
bitrate: number;
rating: number;
season: string;
};
custom_sid: string;
added: string;
season: number;
direct_source: string;
}
export interface XtreamSerieSeason {
air_date: string;
episode_count: number;
id: number;
name: string;
overview: string;
season_number: number;
cover: string;
cover_big: string;
}
@@ -0,0 +1,41 @@
export interface XtreamVodDetails {
info: {
kinopoisk_url: string;
tmdb_id: number;
name: string;
o_name: string;
cover_big: string;
movie_image: string;
releasedate: string;
episode_run_time: number;
youtube_trailer: string;
director: string;
actors: string;
cast: string;
description: string;
plot: string;
age: string;
mpaa_rating: string;
rating_count_kinopoisk: number;
country: string;
genre: string;
backdrop_path: string[];
duration_secs: number;
duration: string;
video: string[];
audio: string[];
bitrate: number;
rating: number;
rating_kinopoisk?: string;
rating_imdb?: string;
};
movie_data: {
stream_id: number;
name: string;
added: string;
category_id: string;
container_extension: string;
custom_sid: string;
direct_source: string;
};
}
@@ -0,0 +1,8 @@
import { XtreamItem } from 'shared-interfaces';
export interface XtreamVodStream extends XtreamItem {
stream_type: 'movie';
rating: number;
rating_5based: number;
container_extension: string;
}