♻️ Extract the Storage service to DysonNetwork.Drive microservice

This commit is contained in:
2025-07-06 17:29:26 +08:00
parent 6a3d04af3d
commit 14b79f16f4
71 changed files with 2629 additions and 346 deletions

View File

@ -0,0 +1,25 @@
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);
}
}