private void completeLogin(Channel channel, Session session, User user, int msgId, Version version) {
if (allowStoreIp) {
user.lastLoggedIP = IPUtils.getIp(channel.remoteAddress());
}
user.lastLoggedAt = System.currentTimeMillis();
session.addAppChannel(channel);
channel.writeAndFlush(ok(msgId), channel.voidPromise());
for (DashBoard dashBoard : user.profile.dashBoards) {
if (dashBoard.isAppConnectedOn && dashBoard.isActive) {
log.trace("{}-{}. Sending App Connected event to hardware for project {}.",
user.email, user.appName, dashBoard.id);
session.sendMessageToHardware(dashBoard.id, BLYNK_INTERNAL, 7777, "acon");
}
}
if (version.isOutdated()) {
channel.writeAndFlush(
makeASCIIStringMessage(OUTDATED_APP_NOTIFICATION, msgId,
"Your app is outdated. Please update to the latest app version. "
+ "Ignoring this notice may affect your projects."),
channel.voidPromise());
}
log.info("{} {}-app ({}) joined.", user.email, user.appName, version);
}