public static async Task <ApiResult <T> > ApiCacheAsync <T>(this IHasJsonApiClient instance, IReturn <T> requestDto) { if (ApiResultsCache <T> .Instance != null) { return(ApiResultsCache <T> .Instance); } var api = await instance.Client !.ApiAsync(requestDto); if (api.Succeeded) { ApiResultsCache <T> .Instance = api; } return(api); }
public static async Task <ApiResult <EmptyResponse> > ApiAsync(this IHasJsonApiClient instance, IReturnVoid request) => await instance.Client !.ApiAsync(request);
public static async Task <TResponse> SendAsync <TResponse>(this IHasJsonApiClient instance, IReturn <TResponse> request) => await instance.Client !.SendAsync(request);
public static Task <ApiResult <AppMetadata> > ApiAppMetadataAsync(this IHasJsonApiClient instance, bool reload = false) => !reload?instance.ApiCacheAsync(new MetadataApp()) : instance.Client !.ApiAsync(new MetadataApp());