validateGetDigestData function

void validateGetDigestData(
  1. Map<String, dynamic>? signData
)

Valida datos para obtener digest.

Implementation

void validateGetDigestData(Map<String, dynamic>? signData) {
  if (signData == null) {
    throw ApacuanaAPIError(
      'Los parĂ¡metros para getDigest son requeridos.',
      statusCode: 400,
      errorCode: 'INVALID_PARAMETER',
    );
  }

  // publickey obligatorio (permitimos alias 'cert' por compatibilidad)
  final pk = signData['cert'];
  final hasPublicKey = pk is String && pk.trim().isNotEmpty;
  if (!hasPublicKey) {
    throw ApacuanaAPIError(
      "El parĂ¡metro 'cert' es requerido.",
      statusCode: 400,
      errorCode: 'INVALID_PARAMETER',
    );
  }

  // signatureId (String) O document (MultipartFile) debe existir (al menos uno)
  final signatureId = signData['signatureId'];
  final hasSignatureId = signatureId is String && signatureId.trim().isNotEmpty;
  final document = signData['document'];
  final hasDocument = document is MultipartFile; // debe ser archivo subido

  if (!hasSignatureId && !hasDocument) {
    throw ApacuanaAPIError(
      "Debe proporcionar 'reference' (String) o 'document' (MultipartFile).",
      statusCode: 400,
      errorCode: 'INVALID_PARAMETER',
    );
  }
}