validateGetDigestData function
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',
);
}
}