feat(saas): implement marketplace and tenant onboarding

This commit is contained in:
2026-07-29 13:58:59 +08:00
parent 76606029e2
commit 6db200a2fc
145 changed files with 16862 additions and 94529 deletions

View File

@@ -6,15 +6,27 @@ using Tiku.Domain.Content;
namespace Tiku.Api.Contracts;
/// <summary>
/// 资产访问签名查询参数。
/// </summary>
public sealed class AssetAccessQueryDto
{
/// <summary>
/// 租户编码。
/// </summary>
[StringLength(100)]
public string? TenantCode { get; set; }
/// <summary>
/// 有效期秒数。
/// </summary>
[Range(1, 7200)]
public int? ExpiresInSeconds { get; set; }
}
/// <summary>
/// 资产访问签名响应。
/// </summary>
public sealed record AssetAccessResponseDto(
ContentAssetAccessSummaryDto Item,
AssetAccessPrincipalDto Access,
@@ -34,6 +46,9 @@ public sealed record AssetAccessResponseDto(
}
}
/// <summary>
/// 内容资产访问摘要。
/// </summary>
public sealed record ContentAssetAccessSummaryDto(
Guid Id,
ContentAssetType AssetType,
@@ -60,11 +75,17 @@ public sealed record ContentAssetAccessSummaryDto(
}
}
/// <summary>
/// 资产访问Principal请求 DTO。
/// </summary>
public sealed record AssetAccessPrincipalDto(
Guid? UserId,
bool IsMember,
bool HasSvip);
/// <summary>
/// SignedStorageUrl请求 DTO。
/// </summary>
public sealed record SignedStorageUrlDto(
string Provider,
string? Bucket,