lampac-ukraine/Makhno/OnlineApi.cs
baliasnyifeliks 5f40e1781f feat(makhno): add Makhno online streaming module
Integrate Makhno video streaming service with support for movies and
serials. The module provides search functionality, player data retrieval,
and streaming capabilities through multiple external APIs including
Wormhole, Ashdi, and UaTUT. Features include:

- HTTP controller for handling playback requests
- Support for multiple voice translations and seasons
- Proxy management and caching
- TMDB integration for metadata enrichment
- Online API integration for event handling
2026-02-03 19:30:42 +02:00

41 lines
1.5 KiB
C#

using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Caching.Memory;
using Shared.Models;
using Shared.Models.Base;
using Shared.Models.Module;
using System.Collections.Generic;
namespace Makhno
{
public class OnlineApi
{
public static List<(string name, string url, string plugin, int index)> Invoke(
HttpContext httpContext,
IMemoryCache memoryCache,
RequestModel requestInfo,
string host,
OnlineEventsModel args)
{
long.TryParse(args.id, out long tmdbid);
return Events(host, tmdbid, args.imdb_id, args.kinopoisk_id, args.title, args.original_title, args.original_language, args.year, args.source, args.serial, args.account_email);
}
public static List<(string name, string url, string plugin, int index)> Events(string host, long id, string imdb_id, long kinopoisk_id, string title, string original_title, string original_language, int year, string source, int serial, string account_email)
{
var online = new List<(string name, string url, string plugin, int index)>();
var init = ModInit.Makhno;
if (init.enable && !init.rip)
{
string url = init.overridehost;
if (string.IsNullOrEmpty(url) || UpdateService.IsDisconnected())
url = $"{host}/makhno";
online.Add((init.displayname, url, "makhno", init.displayindex));
}
return online;
}
}
}