Revert "S3 Test"

This reverts commit 46d7b7e6d8.
This commit is contained in:
2026-01-24 20:51:33 +01:00
parent 46d7b7e6d8
commit 35f4133001
13 changed files with 3 additions and 304 deletions

View File

@@ -1,55 +0,0 @@
using Amazon.S3;
using Amazon.S3.Model;
using Pldpro.Web.Services.Models;
namespace Pldpro.Web.Services;
public sealed class S3StorageService(IAmazonS3 s3) : IStorageService
{
private readonly IAmazonS3 _s3 = s3;
public async Task<IEnumerable<BucketItem>> ListBucketsAsync(CancellationToken ct = default)
{
var resp = await _s3.ListBucketsAsync(ct);
return resp.Buckets.Select(b => new BucketItem(b.BucketName, b.CreationDate));
}
public async Task CreateBucketAsync(string bucketName, CancellationToken ct = default)
{
// Für S3-kompatible Endpoints reicht häufig nur der Name
var req = new PutBucketRequest { BucketName = bucketName };
await _s3.PutBucketAsync(req, ct);
}
public async Task<IEnumerable<ObjectItem>> ListObjectsAsync(string bucket, CancellationToken ct = default)
{
var items = new List<ObjectItem>();
string? token = null;
do
{
var resp = await _s3.ListObjectsV2Async(new ListObjectsV2Request
{
BucketName = bucket,
ContinuationToken = token
}, ct);
items.AddRange(resp.S3Objects.Select(o => new ObjectItem(o.Key, o.Size, o.LastModified)));
token = resp.IsTruncated ? resp.NextContinuationToken : null;
} while (token is not null);
return items;
}
public async Task UploadObjectAsync(string bucket, string key, Stream content, string contentType, CancellationToken ct = default)
{
var req = new PutObjectRequest
{
BucketName = bucket,
Key = key,
InputStream = content,
ContentType = contentType
};
await _s3.PutObjectAsync(req, ct);
}
}