in dotnet/space-translate/SpaceTranslate/WebHook/SpaceTranslateWebHookHandler.HandleMenuAction.cs [174:203]
public override async Task<ApplicationExecutionResult> HandleRefreshTokenAsync(RefreshTokenPayload payload)
{
var organization = await _db.Organizations.FirstOrDefaultAsync(it => it.ClientId == payload.ClientId);
if (organization == null)
{
_logger.LogWarning("The organization does not exist. ClientId={ClientId}", payload.ClientId);
return new ApplicationExecutionResult("The organization does not exist.", 400);
}
var user = await _db.Users
.Include(m => m.Organization)
.FirstOrDefaultAsync(it => it.OrganizationId == organization.Id && it.UserId == payload.UserId);
if (user == null)
{
user = new User
{
OrganizationId = organization.Id,
UserId = payload.UserId,
Created = DateTimeOffset.UtcNow
};
_db.Users.Add(user);
}
user.Scope = payload.Scope;
user.RefreshToken = payload.RefreshToken;
await _db.SaveChangesAsync();
return await base.HandleRefreshTokenAsync(payload);
}