diff --git a/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Upload/GetPresignedUrlRequest.cs b/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Upload/GetPresignedUrlRequest.cs new file mode 100644 index 00000000..cc66846d --- /dev/null +++ b/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Upload/GetPresignedUrlRequest.cs @@ -0,0 +1,9 @@ +namespace HoneyBox.Admin.Business.Models.Upload; + +public class GetPresignedUrlRequest +{ + public string FileName { get; set; } = string.Empty; + public string ContentType { get; set; } = string.Empty; + public int ExpiresInSeconds { get; set; } = 600; + public long FileSize { get; set; } +} diff --git a/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Upload/PresignedUrlResponse.cs b/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Upload/PresignedUrlResponse.cs new file mode 100644 index 00000000..7d04d714 --- /dev/null +++ b/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Upload/PresignedUrlResponse.cs @@ -0,0 +1,14 @@ +namespace HoneyBox.Admin.Business.Models.Upload; + +public class PresignedUrlResponse +{ + public bool Success { get; set; } + public string? UploadUrl { get; set; } + public string? AccessUrl { get; set; } + public string? ErrorMessage { get; set; } + public DateTime ExpiresAt { get; set; } + public string? FileUrl { get; set; } + public string? ObjectKey { get; set; } + public int ExpiresIn { get; set; } + public string? StorageType { get; set; } +} diff --git a/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Upload/UploadResponse.cs b/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Upload/UploadResponse.cs new file mode 100644 index 00000000..70db2167 --- /dev/null +++ b/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Upload/UploadResponse.cs @@ -0,0 +1,10 @@ +namespace HoneyBox.Admin.Business.Models.Upload; + +public class UploadResponse +{ + public bool Success { get; set; } + public string? Url { get; set; } + public string? FileName { get; set; } + public long FileSize { get; set; } + public string? ErrorMessage { get; set; } +} diff --git a/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Upload/UploadResult.cs b/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Upload/UploadResult.cs new file mode 100644 index 00000000..91432396 --- /dev/null +++ b/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Upload/UploadResult.cs @@ -0,0 +1,18 @@ +namespace HoneyBox.Admin.Business.Models.Upload; + +public class UploadResult +{ + public bool Success { get; set; } + public string? Url { get; set; } + public string? ErrorMessage { get; set; } + + public static UploadResult Ok(string url) + { + return new UploadResult { Success = true, Url = url }; + } + + public static UploadResult Fail(string errorMessage) + { + return new UploadResult { Success = false, ErrorMessage = errorMessage }; + } +}