Skip to content

Commit

Permalink
BAH-4163 | Refactor. Extract functions for link token reponse handler
Browse files Browse the repository at this point in the history
  • Loading branch information
mohan-13 committed Jan 28, 2025
1 parent 7387be0 commit 48d5932
Showing 1 changed file with 40 additions and 25 deletions.
65 changes: 40 additions & 25 deletions src/In.ProjectEKA.HipService/UserAuth/UserAuthService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -374,34 +374,14 @@ public async Task<Tuple<AuthConfirm, ErrorRepresentation>> HandleOnGenerateLinkT
{
healthId = getHealthId(accessToken);
}
var authConfirm = new AuthConfirm(healthId, accessToken);
var savedAuthConfirm = userAuthRepository.Get(healthId).Result;
if (savedAuthConfirm.Equals(Option.Some<AuthConfirm>(null)))
Tuple<AuthConfirm, ErrorRepresentation> authConfirmResponse = await updateAuthConfirmRepository(healthId, accessToken);
if (authConfirmResponse.Item2 != null)
{
var authConfirmResponse = await userAuthRepository.Add(authConfirm).ConfigureAwait(false);
if (!authConfirmResponse.HasValue)
{
return new Tuple<AuthConfirm, ErrorRepresentation>(null,
new ErrorRepresentation(new Error(ErrorCode.DuplicateAuthConfirmRequest,
"Auth confirm request already exists")));
}
return authConfirmResponse;
}
else
{
userAuthRepository.Update(authConfirm);
}

var requestId = Guid.Parse(onGenerateTokenRequest.Response.RequestId);
UserAuthMap.RequestIdToAccessToken.Add(requestId, accessToken);
if (UserAuthMap.HealthIdToAccessToken.ContainsKey(healthId))
{
UserAuthMap.HealthIdToAccessToken[healthId] = accessToken;
}
else
{
UserAuthMap.HealthIdToAccessToken.Add(healthId, accessToken);
}
return new Tuple<AuthConfirm, ErrorRepresentation>(authConfirm, null);
updateUserAuthMaps(accessToken, healthId, requestId);
return authConfirmResponse;
}

public Error CheckAccessToken(string accessToken)
Expand All @@ -424,5 +404,40 @@ public Error CheckAccessToken(string accessToken)

}

private void updateUserAuthMaps(string accessToken, string healthId, Guid requestId)
{
UserAuthMap.RequestIdToAccessToken.Add(requestId, accessToken);
if (UserAuthMap.HealthIdToAccessToken.ContainsKey(healthId))
{
UserAuthMap.HealthIdToAccessToken[healthId] = accessToken;
}
else
{
UserAuthMap.HealthIdToAccessToken.Add(healthId, accessToken);
}
}

private async Task<Tuple<AuthConfirm, ErrorRepresentation>> updateAuthConfirmRepository(string healthId, string accessToken)
{
var authConfirm = new AuthConfirm(healthId, accessToken);
var savedAuthConfirm = userAuthRepository.Get(healthId).Result;
if (savedAuthConfirm.Equals(Option.Some<AuthConfirm>(null)))
{
var authConfirmResponse = await userAuthRepository.Add(authConfirm).ConfigureAwait(false);
if (!authConfirmResponse.HasValue)
{
return new Tuple<AuthConfirm, ErrorRepresentation>(null,
new ErrorRepresentation(new Error(ErrorCode.DuplicateAuthConfirmRequest,
"Auth confirm request already exists")));
}
}
else
{
userAuthRepository.Update(authConfirm);
}

return new Tuple<AuthConfirm, ErrorRepresentation>(authConfirm, null);
}

}
}

0 comments on commit 48d5932

Please sign in to comment.