Files
Swarm/DysonNetwork.Common/Interfaces/IFileReferenceServiceClient.cs

26 lines
931 B
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using DysonNetwork.Common.Models;
using NodaTime;
namespace DysonNetwork.Common.Interfaces
{
public interface IFileReferenceServiceClient
{
Task<CloudFileReference> CreateReferenceAsync(
string fileId,
string usage,
string resourceId,
Instant? expiredAt = null,
Duration? duration = null);
Task DeleteReferenceAsync(string referenceId);
Task DeleteResourceReferencesAsync(string resourceId, string? usage = null);
Task<List<CloudFileReference>> GetFileReferencesAsync(string fileId);
Task<List<CloudFileReference>> GetResourceReferencesAsync(string resourceId, string? usage = null);
Task<bool> HasReferencesAsync(string fileId);
Task UpdateReferenceExpirationAsync(string referenceId, Instant? expiredAt);
}
}