26 lines
931 B
C#
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);
|
|
}
|
|
}
|