Sube carpetas API, API.Tests, Application y Domain del Backend
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Application.Utils.Helper.SupabaseHelper;
|
||||
|
||||
/// <summary>
|
||||
/// Narrow raw-storage boundary over the Supabase Storage client, implemented by SupabaseHelper.
|
||||
/// </summary>
|
||||
public interface ISupabaseRawStorage
|
||||
{
|
||||
/// <summary>
|
||||
/// Uploads raw content to objectPath in bucket.
|
||||
/// </summary>
|
||||
/// <param name="objectPath">The exact destination path within the bucket.</param>
|
||||
/// <param name="content">The content stream to upload.</param>
|
||||
/// <param name="bucket">Target bucket; null uses the configured SupaBase:BucketName.</param>
|
||||
Task UploadRawAsync(string objectPath, Stream content, string? bucket = null);
|
||||
|
||||
/// <summary>
|
||||
/// Lists raw objects under prefix in bucket.
|
||||
/// </summary>
|
||||
/// <param name="prefix">The bucket-relative path prefix to list.</param>
|
||||
/// <param name="bucket">Target bucket; null uses the configured SupaBase:BucketName.</param>
|
||||
Task<IReadOnlyList<SupabaseStorageEntry>> ListRawAsync(string prefix, string? bucket = null);
|
||||
|
||||
/// <summary>
|
||||
/// Removes the raw object at objectPath in bucket.
|
||||
/// </summary>
|
||||
/// <param name="objectPath">The exact object path within the bucket.</param>
|
||||
/// <param name="bucket">Target bucket; null uses the configured SupaBase:BucketName.</param>
|
||||
Task RemoveRawAsync(string objectPath, string? bucket = null);
|
||||
|
||||
/// <summary>
|
||||
/// Downloads the raw content of the object at objectPath in bucket.
|
||||
/// </summary>
|
||||
/// <param name="objectPath">The exact object path within the bucket.</param>
|
||||
/// <param name="bucket">Target bucket; null uses the configured SupaBase:BucketName.</param>
|
||||
Task<byte[]> DownloadRawAsync(string objectPath, string? bucket = null);
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
using System;
|
||||
|
||||
namespace Application.Utils.Helper.SupabaseHelper;
|
||||
|
||||
/// <summary>
|
||||
/// Minimal listing metadata for a raw Supabase Storage object, decoupled from the third-party Supabase.Storage.FileObject type so fakes don't need to construct it.
|
||||
/// </summary>
|
||||
public sealed record SupabaseStorageEntry(string Name, DateTimeOffset? UpdatedAt);
|
||||
Reference in New Issue
Block a user