verifyFace function
Implementation
Future<Either<VerificationFailure, Map<String, dynamic>>> verifyFace({
required String faceImage,
required String verificationSessionId,
required String apiKey,
}) async {
try {
var requestBody =
FaceVerificationDto().toJson(faceImage, verificationSessionId);
headers.addAll({"x-api-key": apiKey});
final http.Response response = await http.post(
Uri.parse('${apiBaseUrl}api/face-authentication'),
headers: headers,
body: jsonEncode(requestBody),
);
var result = jsonDecode(response.body);
if (kDebugMode) {
print(result);
}
if (result['success'] == true && result.containsKey('score')) {
return right(
{
"faceMatch": result['score'],
"frontImage": result['outputs']['frontImage'],
"backImage": result['outputs']['backImage'],
"sideImage": result['outputs']['sideImage'],
"faceImage": result['outputs']['faceImage'],
},
);
}
return left(const VerificationFailure.faceNotMatch());
} catch (e) {
if (kDebugMode) {
print(e);
}
return left(VerificationFailure.serverError(e.toString()));
}
}