#nullable enable
using Baya.Application.Models.Common;
using Baya.Application.Models.PartnerCenters;
using Mediator;

namespace Baya.Application.Features.PartnerCenters.Commands.UpdatePartnerCenter;

/// <summary>Updates a partner center's editable fields (admin-only, replace semantics). <see cref="Id"/> is
/// route-supplied. A merchant-of-record center must still carry a settlement IBAN.</summary>
public record UpdatePartnerCenterCommand(
    string Name,
    string? LegalEntityType,
    string MohEstablishmentPermitNo,
    int? TechnicalDirectorNurseUserId,
    string? TechnicalDirectorLicenseNo,
    string? EnamadCode,
    string? SettlementIban,
    bool IsMerchantOfRecord,
    decimal? CommissionRate,
    int AdminUserId,
    long Id = 0) : IRequest<OperationResult<PartnerCenterDetailDto>>;
