Files
tiku-backend.net/Tiku.Application/Assets/AssetAccessModels.cs
xiong c497a3ca8d
Some checks failed
ci / release-gate (push) Has been cancelled
清理代码
2026-08-03 12:31:39 +08:00

40 lines
1.0 KiB
C#

using System.Text.Json;
using Tiku.Application.Storage;
using Tiku.Domain.Content;
namespace Tiku.Application.Assets;
public sealed record AssetAccessRequest(
Guid TenantId,
Guid AssetId,
Guid? UserId,
string? IpAddress,
string? UserAgent,
TimeSpan? RequestedExpiresIn = null);
public sealed record AssetAccessResultModel(
ContentAssetAccessSummary Item,
AssetAccessPrincipal Access,
ObjectStorageSignedUrl Url,
JsonElement Watermark);
public sealed record ContentAssetAccessSummary(
Guid Id,
ContentAssetType AssetType,
string? Title,
string? FileName,
string? PreviewUrl,
AssetUploadStatus UploadStatus,
AssetSecurityScanStatus SecurityScanStatus,
AssetPreviewStatus PreviewStatus,
ContentVisibility Visibility);
public sealed record AssetAccessPrincipal(
Guid? UserId,
bool IsMember,
bool HasSvip);
public sealed class AssetAccessException(string message, string code) : InvalidOperationException(message)
{
public string Code { get; } = code;
}