requestCertificate function
Solicita un certificado para el usuario.
Valida que type sea numérico y documents sea una lista.
Implementation
Future<ApacuanaSuccess<Map<String, dynamic>>> requestCertificate({
required Map<String, dynamic> params,
}) {
final type = params['type'];
final documents = params['documents'];
if (type is! int || documents is! List) {
throw ArgumentError(
'The "params" object with a numeric "type" property and a "documents" array is required.',
);
}
final cfg = getConfig();
final typeStr = cfg.integrationType;
final typeEnum = IntegrationType.fromValue(typeStr);
if (typeEnum == IntegrationType.onboarding ||
typeStr == INTEGRATION_TYPE['ONBOARDING']) {
return _requestCertificateOnBoarding(params);
}
if (typeEnum == IntegrationType.onPremise ||
typeStr == INTEGRATION_TYPE['ONPREMISE']) {
return _requestCertificateOnPremise(params);
}
throw ApacuanaAPIError(
'Unsupported integration type: $typeStr',
statusCode: 400,
errorCode: 'UNSUPPORTED_INTEGRATION_TYPE',
);
}