getCertStatus function
Obtiene el estatus del certificado del usuario.
Retorna un objeto con la clave status que contiene { text, descriptionText }.
Implementation
Future<ApacuanaSuccess<Map<String, dynamic>>> getCertStatus({
bool isCertificateInDevice = false,
Map<String, dynamic>? userData,
}) async {
final cfg = getConfig();
final statusRaw = getCertificateStatus(
userData ?? cfg.userData,
isCertificateInDevice,
cfg.integrationType,
);
print('Raw certificate status: $statusRaw');
// Intentamos usar la versión tipada (enum) si es posible.
final parsedEnum = parseStatusFromRaw(statusRaw);
if (parsedEnum != null) {
return ApacuanaSuccess<Map<String, dynamic>>({
'status': {
'text': parsedEnum.text,
'descriptionText': parsedEnum.descriptionText,
}
});
}
// Fallback al mapa "compat" con claves string
final compat = PARSE_STATUS[statusRaw];
if (compat != null) {
return ApacuanaSuccess<Map<String, dynamic>>({
'status': {
'text': compat['text'] ?? '',
'descriptionText': compat['descriptionText'],
}
});
}
// Si no se reconoce el estado, devolvemos uno genérico.
return ApacuanaSuccess<Map<String, dynamic>>({
'status': {
'text': statusRaw,
'descriptionText': null,
}
});
}