requestCertificate function

Future<ApacuanaSuccess<Map<String, dynamic>>> requestCertificate({
  1. required Map<String, dynamic> params,
})

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