using Baya.Application.Models.Common;
using Baya.Application.Models.Identity;
using Mediator;

namespace Baya.Application.Features.Identity.Commands.UpdatePatient;

/// <summary>Updates a patient the signed-in customer owns; tenancy-checked, re-encrypts changed PII.</summary>
public record UpdatePatientCommand(
    long Id,
    string DisplayName,
    string FirstName,
    string LastName,
    DateOnly BirthDate,
    string Gender,
    string BloodType,
    string InitialMedicalNotes,
    string Relation = null,
    IReadOnlyList<string> Conditions = null) : IRequest<OperationResult<PatientDto>>;
