/// <summary> /// Returns Jwt token when user logged successfully. /// </summary> /// <param name="user"></param> /// <param name="notifyState">any push state, messages or notifications</param> /// <returns></returns> private IActionResult JwtAuth([NotNull] AspUser user, UserImpulseState notifyState) { var identity = _jwtFactory.GenerateClaimsIdentity(user.UserName, user.Id.ToString()); return(Json(new { Result = FeedResult.Success, userId = user.Id, userName = user.UserName, auth_token = _jwtFactory.GenerateEncodedToken(identity), expires_in = (int)_jwtOptions.ValidFor.TotalSeconds, impulses = notifyState })); }
public async Task <UserImpulseState> GetFullInteractionsState(int userId) { var state = new UserImpulseState(); var requests = await _comrades.CountActiveRequests(userId); var chatImpulses = await _messages.GetChatImpulses(userId); int messageCount = chatImpulses.Sum(m => m.Impulses); state.NotifyCount = requests + messageCount; state.ComradeRequestCount = requests; state.MessageCount = messageCount; state.ChatImpulses = chatImpulses; return(state); }