use crate::EpicGames;
use crate::api::error::EpicAPIError;
use crate::api::types::download_manifest::DownloadManifest;
use crate::api::types::fab_asset_manifest::DownloadInfo;
use crate::api::types::fab_entitlement;
use crate::api::types::fab_search;
use crate::api::types::fab_taxonomy;
impl EpicGames {
pub async fn fab_asset_manifest(
&self,
artifact_id: &str,
namespace: &str,
asset_id: &str,
platform: Option<&str>,
) -> Result<Vec<DownloadInfo>, EpicAPIError> {
match self
.egs
.fab_asset_manifest(artifact_id, namespace, asset_id, platform)
.await
{
Ok(a) => Ok(a),
Err(e) => Err(e),
}
}
pub async fn try_fab_library_items(
&mut self,
account_id: String,
) -> Result<crate::api::types::fab_library::FabLibrary, EpicAPIError> {
self.egs.fab_library_items(account_id).await
}
pub async fn fab_library_items(
&mut self,
account_id: String,
) -> Option<crate::api::types::fab_library::FabLibrary> {
self.try_fab_library_items(account_id).await.ok()
}
pub async fn fab_download_manifest(
&self,
download_info: DownloadInfo,
distribution_point_url: &str,
) -> Result<DownloadManifest, EpicAPIError> {
self.egs
.fab_download_manifest(download_info, distribution_point_url)
.await
}
pub async fn try_fab_file_download_info(
&self,
listing_id: &str,
format_id: &str,
file_id: &str,
) -> Result<DownloadInfo, EpicAPIError> {
self.egs
.fab_file_download_info(listing_id, format_id, file_id)
.await
}
pub async fn fab_file_download_info(
&self,
listing_id: &str,
format_id: &str,
file_id: &str,
) -> Option<DownloadInfo> {
self.try_fab_file_download_info(listing_id, format_id, file_id)
.await
.ok()
}
pub async fn fab_search(
&self,
params: &fab_search::FabSearchParams,
) -> Option<fab_search::FabSearchResults> {
self.egs.fab_search(params).await.ok()
}
pub async fn try_fab_search(
&self,
params: &fab_search::FabSearchParams,
) -> Result<fab_search::FabSearchResults, EpicAPIError> {
self.egs.fab_search(params).await
}
pub async fn fab_listing(&self, uid: &str) -> Option<fab_search::FabListingDetail> {
self.egs.fab_listing(uid).await.ok()
}
pub async fn try_fab_listing(
&self,
uid: &str,
) -> Result<fab_search::FabListingDetail, EpicAPIError> {
self.egs.fab_listing(uid).await
}
pub async fn fab_listing_ue_formats(
&self,
uid: &str,
) -> Option<Vec<fab_search::FabListingUeFormat>> {
self.egs.fab_listing_ue_formats(uid).await.ok()
}
pub async fn try_fab_listing_ue_formats(
&self,
uid: &str,
) -> Result<Vec<fab_search::FabListingUeFormat>, EpicAPIError> {
self.egs.fab_listing_ue_formats(uid).await
}
pub async fn fab_listing_state(&self, uid: &str) -> Option<fab_search::FabListingState> {
self.egs.fab_listing_state(uid).await.ok()
}
pub async fn try_fab_listing_state(
&self,
uid: &str,
) -> Result<fab_search::FabListingState, EpicAPIError> {
self.egs.fab_listing_state(uid).await
}
pub async fn fab_listing_states_bulk(
&self,
listing_ids: &[&str],
) -> Option<Vec<fab_search::FabListingState>> {
self.egs.fab_listing_states_bulk(listing_ids).await.ok()
}
pub async fn try_fab_listing_states_bulk(
&self,
listing_ids: &[&str],
) -> Result<Vec<fab_search::FabListingState>, EpicAPIError> {
self.egs.fab_listing_states_bulk(listing_ids).await
}
pub async fn fab_bulk_prices(
&self,
offer_ids: &[&str],
) -> Option<fab_search::FabBulkPricesResponse> {
self.egs.fab_bulk_prices(offer_ids).await.ok()
}
pub async fn try_fab_bulk_prices(
&self,
offer_ids: &[&str],
) -> Result<fab_search::FabBulkPricesResponse, EpicAPIError> {
self.egs.fab_bulk_prices(offer_ids).await
}
pub async fn fab_listing_ownership(&self, uid: &str) -> Option<fab_search::FabOwnership> {
self.egs.fab_listing_ownership(uid).await.ok()
}
pub async fn try_fab_listing_ownership(
&self,
uid: &str,
) -> Result<fab_search::FabOwnership, EpicAPIError> {
self.egs.fab_listing_ownership(uid).await
}
pub async fn fab_listing_prices(&self, uid: &str) -> Option<Vec<fab_search::FabPriceInfo>> {
self.egs.fab_listing_prices(uid).await.ok()
}
pub async fn try_fab_listing_prices(
&self,
uid: &str,
) -> Result<Vec<fab_search::FabPriceInfo>, EpicAPIError> {
self.egs.fab_listing_prices(uid).await
}
pub async fn fab_listing_reviews(
&self,
uid: &str,
sort_by: Option<&str>,
cursor: Option<&str>,
) -> Option<fab_search::FabReviewsResponse> {
self.egs
.fab_listing_reviews(uid, sort_by, cursor)
.await
.ok()
}
pub async fn try_fab_listing_reviews(
&self,
uid: &str,
sort_by: Option<&str>,
cursor: Option<&str>,
) -> Result<fab_search::FabReviewsResponse, EpicAPIError> {
self.egs.fab_listing_reviews(uid, sort_by, cursor).await
}
pub async fn fab_licenses(&self) -> Option<Vec<fab_taxonomy::FabLicenseType>> {
self.egs.fab_licenses().await.ok()
}
pub async fn try_fab_licenses(
&self,
) -> Result<Vec<fab_taxonomy::FabLicenseType>, EpicAPIError> {
self.egs.fab_licenses().await
}
pub async fn fab_format_groups(&self) -> Option<Vec<fab_taxonomy::FabFormatGroup>> {
self.egs.fab_format_groups().await.ok()
}
pub async fn try_fab_format_groups(
&self,
) -> Result<Vec<fab_taxonomy::FabFormatGroup>, EpicAPIError> {
self.egs.fab_format_groups().await
}
pub async fn fab_tag_groups(&self) -> Option<Vec<fab_taxonomy::FabTagGroup>> {
self.egs.fab_tag_groups().await.ok()
}
pub async fn try_fab_tag_groups(&self) -> Result<Vec<fab_taxonomy::FabTagGroup>, EpicAPIError> {
self.egs.fab_tag_groups().await
}
pub async fn fab_ue_versions(&self) -> Option<Vec<String>> {
self.egs.fab_ue_versions().await.ok()
}
pub async fn try_fab_ue_versions(&self) -> Result<Vec<String>, EpicAPIError> {
self.egs.fab_ue_versions().await
}
pub async fn fab_channel(&self, slug: &str) -> Option<fab_taxonomy::FabChannel> {
self.egs.fab_channel(slug).await.ok()
}
pub async fn try_fab_channel(
&self,
slug: &str,
) -> Result<fab_taxonomy::FabChannel, EpicAPIError> {
self.egs.fab_channel(slug).await
}
pub async fn fab_library_entitlements(
&self,
params: &fab_entitlement::FabEntitlementSearchParams,
) -> Option<fab_entitlement::FabEntitlementResults> {
self.egs.fab_library_entitlements(params).await.ok()
}
pub async fn try_fab_library_entitlements(
&self,
params: &fab_entitlement::FabEntitlementSearchParams,
) -> Result<fab_entitlement::FabEntitlementResults, EpicAPIError> {
self.egs.fab_library_entitlements(params).await
}
pub async fn fab_csrf(&self) -> Result<(), EpicAPIError> {
self.egs.fab_csrf().await
}
pub async fn fab_user_context(&self) -> Option<fab_search::FabUserContext> {
self.egs.fab_user_context().await.ok()
}
pub async fn try_fab_user_context(&self) -> Result<fab_search::FabUserContext, EpicAPIError> {
self.egs.fab_user_context().await
}
pub async fn fab_add_to_library(&self, listing_uid: &str) -> Result<(), EpicAPIError> {
self.egs.fab_add_to_library(listing_uid).await
}
pub async fn fab_listing_formats(
&self,
listing_uid: &str,
) -> Option<Vec<fab_search::FabListingFormat>> {
self.egs.fab_listing_formats(listing_uid).await.ok()
}
pub async fn try_fab_listing_formats(
&self,
listing_uid: &str,
) -> Result<Vec<fab_search::FabListingFormat>, EpicAPIError> {
self.egs.fab_listing_formats(listing_uid).await
}
}