Backend: - Add DeletedAt to AssetPreviewDto, AlbumAssetPreviewDto, AlbumPreviewDto - Remove redundant DeletedAt from AssetDto (now inherited from base) - Add viewerId parameter to ToAssetPreviewDto, ToAlbumPreviewDto, ToAlbumFullDto, ToPersonDetailedDto mappers - Conditionally send DeletedAt only when viewer is Admin or asset uploader - Pass uid/viewerId from all controller/repository call sites Frontend: - AlbumCard: show orange (not public) / red (deleted) border in select mode for admins/curators - AlbumDetail: same border logic in GetTileClass for asset tiles - Borders only appear in select mode per REDCODE's feedback
42 lines
1.4 KiB
C#
42 lines
1.4 KiB
C#
using Butter.Types;
|
|
|
|
namespace Butter.Dtos.Album;
|
|
|
|
/// <summary>
|
|
/// Minimal asset info needed for displaying album assets.
|
|
/// </summary>
|
|
public class AlbumAssetPreviewDto {
|
|
/// <summary>
|
|
/// Gets or sets the asset ID.
|
|
/// </summary>
|
|
public Guid Id { get; set; }
|
|
/// <summary>
|
|
/// Gets or sets the resolution width.
|
|
/// </summary>
|
|
public int ResolutionWidth { get; set; }
|
|
/// <summary>
|
|
/// Gets or sets the resolution height.
|
|
/// </summary>
|
|
public int ResolutionHeight { get; set; }
|
|
/// <summary>
|
|
/// Gets or sets whether the asset has a thumbnail.
|
|
/// </summary>
|
|
public bool HasThumbnail { get; set; }
|
|
/// <summary>
|
|
/// Gets or sets whether the asset has a preview.
|
|
/// </summary>
|
|
public bool HasPreview { get; set; }
|
|
/// <summary>
|
|
/// Gets or sets the original filename of the asset.
|
|
/// </summary>
|
|
public string? FileName { get; set; }
|
|
/// <summary>
|
|
/// Gets or sets the visibility level. Only populated for curators and admins.
|
|
/// </summary>
|
|
public EVisibility? Visibility { get; set; }
|
|
/// <summary>
|
|
/// Gets or sets the soft-delete timestamp. Only populated for admins and the asset uploader.
|
|
/// </summary>
|
|
public DateTime? DeletedAt { get; set; }
|
|
}
|