using MediatR;

namespace IamService.API.Application.Commands.UserProfiles;

/// <summary>
/// EN: Command to update user profile.
/// VI: Command để cập nhật profile user.
/// </summary>
public record UpdateUserProfileCommand(
    Guid UserId,
    string? Bio = null,
    string? Timezone = null,
    string? Locale = null,
    string? AvatarUrl = null) : IRequest<UpdateUserProfileCommandResult>;

/// <summary>
/// EN: Result of UpdateUserProfileCommand.
/// VI: Kết quả của UpdateUserProfileCommand.
/// </summary>
public record UpdateUserProfileCommandResult(
    Guid ProfileId,
    Guid UserId,
    string? Bio,
    string? Timezone,
    string? Locale,
    string? AvatarUrl,
    DateTime? UpdatedAt);
