Backend: - Add MaintainerUserIds to PersonUpdateDto/PersonDetailedDto - Add MaintainedPersonNames to UserInfoDto - Add IPersonRepository.SetMaintainers + implementation - PersonRepository.Find/FindVisible now include Maintainers - PersonController.Update handles maintainer assignment (admin/curator) - Fix PersonController.Update to save Visibility field - Allow curators to list all users via UserController.GetAll Frontend (PersonForm): - Add maintainer search+select UI (admin/curator only in edit mode) - Search users client-side, click to add, badge with X to remove - Saves maintainer IDs on person update Frontend (CosplayerDetail): - Show 'Maintained by: user1, user2' in header with clickable links - Pass maintainer data to PersonForm Frontend (User page): - Show 'Maintainer of: cosplayer1, cosplayer2' with links - Non-admin view: strip Email, Created, Deleted fields - Fix LoadUser to use route UserId instead of logged-in user
38 lines
1.3 KiB
C#
38 lines
1.3 KiB
C#
using Butter.Types;
|
|
|
|
namespace Butter.Dtos.Person;
|
|
|
|
/// <summary>
|
|
/// Represents the data needed to update an existing person.
|
|
/// </summary>
|
|
public class PersonUpdateDto {
|
|
/// <summary>
|
|
/// Gets or sets the name of the person.
|
|
/// </summary>
|
|
public required string Name { get; set; }
|
|
/// <summary>
|
|
/// Gets or sets the asset ID to use as the profile picture.
|
|
/// </summary>
|
|
public Guid? ProfileAssetId { get; set; }
|
|
/// <summary>
|
|
/// Gets or sets the horizontal crop offset for the profile picture.
|
|
/// </summary>
|
|
public float? ProfileCropX { get; set; }
|
|
/// <summary>
|
|
/// Gets or sets the vertical crop offset for the profile picture.
|
|
/// </summary>
|
|
public float? ProfileCropY { get; set; }
|
|
/// <summary>
|
|
/// Gets or sets the zoom level for the profile picture.
|
|
/// </summary>
|
|
public float? ProfileCropZoom { get; set; }
|
|
/// <summary>
|
|
/// Gets or sets the visibility level.
|
|
/// </summary>
|
|
public EVisibility? Visibility { get; set; }
|
|
/// <summary>
|
|
/// Gets or sets the list of user IDs that should be maintainers of this person (admin/curator only).
|
|
/// </summary>
|
|
public List<Guid>? MaintainerUserIds { get; set; }
|
|
}
|