implemented pornhub

This commit is contained in:
Simon
2025-07-16 17:51:41 +00:00
parent 0a60d12525
commit ae527041ae
4 changed files with 269 additions and 3 deletions

View File

@@ -1,8 +1,9 @@
use crate::{providers::{hanime::HanimeProvider, perverzija::PerverzijaProvider, spankbang::SpankbangProvider}, util::cache::VideoCache, videos::VideoItem, DbPool};
use crate::{providers::{hanime::HanimeProvider, perverzija::PerverzijaProvider, pornhub::PornhubProvider, spankbang::SpankbangProvider}, util::cache::VideoCache, videos::VideoItem, DbPool};
pub mod perverzija;
pub mod hanime;
pub mod spankbang;
pub mod pornhub;
pub trait Provider{
async fn get_videos(&self, cache: VideoCache, pool: DbPool, channel: String, sort: String, query: Option<String>, page: String, per_page: String, featured: String) -> Vec<VideoItem>;
@@ -13,6 +14,7 @@ pub enum AnyProvider {
Perverzija(PerverzijaProvider),
Hanime(HanimeProvider),
Spankbang(SpankbangProvider),
Pornhub(PornhubProvider),
}
impl Provider for AnyProvider {
async fn get_videos(&self, cache: VideoCache, pool:DbPool, channel: String, sort: String, query: Option<String>, page: String, per_page: String, featured: String) -> Vec<VideoItem> {
@@ -24,6 +26,7 @@ impl Provider for AnyProvider {
AnyProvider::Perverzija(p) => p.get_videos(cache.clone(), pool.clone(), channel.clone(), sort.clone(), query.clone(), page.clone(), per_page.clone(), featured.clone()).await,
AnyProvider::Hanime(p) => p.get_videos(cache, pool, channel, sort, query, page, per_page, featured).await,
AnyProvider::Spankbang(p) => p.get_videos(cache, pool, channel, sort, query, page, per_page, featured).await,
AnyProvider::Pornhub(p) => p.get_videos(cache, pool, channel, sort, query, page, per_page, featured).await,
}
}
}