fix(architecture): fix execute method on error handler. (#38)

This commit is contained in:
AN12345 2022-11-23 17:32:44 -05:00
parent 37d9ab748d
commit 8bb0dbb6b7

View File

@ -43,23 +43,20 @@ abstract class UseCase<Parameters, ReturnType>
/// Supports the result of the main scenario and integrates
/// some alternative scenarios if necessary.
@override
FutureOrResult<ReturnType> execute(Parameters? parameters) =>
Result.tryCatchAsync(
() async {
await onStart(parameters);
final response = await call(parameters);
if (response.isErr) {
await onError(response.err);
} else if (response.isOk && response.ok != null) {
await _onSuccess(response.ok as ReturnType);
}
return response.ok!;
},
(error) => ClientException(
error.toString(),
),
);
FutureOrResult<ReturnType> execute(Parameters? parameters) async {
try {
await onStart(parameters);
final response = await call(parameters);
if (response.isErr) {
await onError(response.err);
} else if (response.isOk && response.ok != null) {
await _onSuccess(response.ok as ReturnType);
}
return response;
} catch (e) {
return Err(ClientException(e.toString()));
}
}
}
/// Abtstract classic usecase.