canValidate method
Implementation
int canValidate(DnaIdentityResponse dnaIdentityResponse) {
if (dnaIdentityResponse == null) {
return WRONG_STATUS;
}
var identityStatus1 = [
IdentityStatus.Human,
IdentityStatus.Verified,
IdentityStatus.Newbie
];
var identityStatus2 = [
IdentityStatus.Candidate,
IdentityStatus.Suspended,
IdentityStatus.Zombie
];
var identityStatus3 = [
IdentityStatus.Terminating,
IdentityStatus.Undefined,
IdentityStatus.Invite,
];
if (identityStatus3.contains(dnaIdentityResponse.result.state)) {
return WRONG_STATUS;
}
if (identityStatus2.contains(dnaIdentityResponse.result.state)) {
return CAN_VALIDATE;
} else {
bool shouldSendFlips = true;
if (identityStatus1.contains(dnaIdentityResponse.result.state)) {
try {
if (dnaIdentityResponse.result.flips != null) {
int numOfFlipsToSubmit = dnaIdentityResponse.result.requiredFlips -
dnaIdentityResponse.result.flips.length;
shouldSendFlips = numOfFlipsToSubmit > 0;
} else {
shouldSendFlips = false;
}
} catch (e) {}
}
if (identityStatus1.contains(dnaIdentityResponse.result.state) &&
!shouldSendFlips) {
return CAN_VALIDATE;
} else {
if (shouldSendFlips == false) {
return WRONG_STATUS;
} else {
return FLIPS_REQUIRED;
}
}
}
}