fix: use isTypeOf for SAT status request checking
The StatusRequest class has an isTypeOf method that properly checks the status. Using getValue() and comparing numbers was unreliable. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -114,30 +114,22 @@ export async function verifySatRequest(
|
||||
): Promise<VerifyResult> {
|
||||
try {
|
||||
const result = await service.verify(requestId);
|
||||
const statusRequest = result.getStatusRequest();
|
||||
|
||||
const statusCode = result.getStatusRequest().getValue();
|
||||
// Usar isTypeOf para determinar el estado
|
||||
let status: VerifyResult['status'];
|
||||
|
||||
// Los valores del SAT para estado de solicitud (getValue retorna número o string)
|
||||
const codeNum = typeof statusCode === 'string' ? parseInt(statusCode, 10) : statusCode;
|
||||
switch (codeNum) {
|
||||
case 1:
|
||||
status = 'pending';
|
||||
break;
|
||||
case 2:
|
||||
status = 'processing';
|
||||
break;
|
||||
case 3:
|
||||
status = 'ready';
|
||||
break;
|
||||
case 4:
|
||||
status = 'failed';
|
||||
break;
|
||||
case 5:
|
||||
status = 'rejected';
|
||||
break;
|
||||
default:
|
||||
status = 'pending';
|
||||
if (statusRequest.isTypeOf('Finished')) {
|
||||
status = 'ready';
|
||||
} else if (statusRequest.isTypeOf('InProgress')) {
|
||||
status = 'processing';
|
||||
} else if (statusRequest.isTypeOf('Accepted')) {
|
||||
status = 'pending';
|
||||
} else if (statusRequest.isTypeOf('Failure')) {
|
||||
status = 'failed';
|
||||
} else if (statusRequest.isTypeOf('Rejected')) {
|
||||
status = 'rejected';
|
||||
} else {
|
||||
status = 'pending';
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user