2023-01-06 14:18:07 +01:00
|
|
|
#nullable enable
|
2022-03-02 12:37:07 +01:00
|
|
|
using System;
|
2022-03-02 12:22:11 +01:00
|
|
|
using System.Threading.Tasks;
|
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
|
|
|
|
namespace BTCPayServer.Abstractions.Contracts;
|
|
|
|
|
|
|
|
public interface IFileService
|
|
|
|
{
|
2022-03-14 14:11:06 +01:00
|
|
|
Task<bool> IsAvailable();
|
2022-03-02 12:22:11 +01:00
|
|
|
Task<IStoredFile> AddFile(IFormFile file, string userId);
|
2022-03-31 11:54:25 +02:00
|
|
|
Task<IStoredFile> AddFile(Uri file, string userId);
|
2022-03-02 12:22:11 +01:00
|
|
|
Task<string?> GetFileUrl(Uri baseUri, string fileId);
|
|
|
|
Task<string?> GetTemporaryFileUrl(Uri baseUri, string fileId, DateTimeOffset expiry,
|
|
|
|
bool isDownload);
|
|
|
|
Task RemoveFile(string fileId, string userId);
|
|
|
|
}
|