diff --git a/src/main/java/com/commafeed/backend/model/User.java b/src/main/java/com/commafeed/backend/model/User.java index d00dfa16..14efa899 100644 --- a/src/main/java/com/commafeed/backend/model/User.java +++ b/src/main/java/com/commafeed/backend/model/User.java @@ -1,5 +1,6 @@ package com.commafeed.backend.model; +import java.util.Date; import java.util.Set; import javax.persistence.CascadeType; @@ -7,6 +8,8 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.OneToMany; import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; import org.hibernate.annotations.Index; @@ -34,6 +37,9 @@ public class User extends AbstractModel { @Column(nullable = false) private boolean disabled; + @Temporal(TemporalType.TIMESTAMP) + private Date lastLogin; + @OneToMany(mappedBy = "user", cascade = CascadeType.PERSIST) private Set roles = Sets.newHashSet(); @@ -85,4 +91,12 @@ public class User extends AbstractModel { this.email = email; } + public Date getLastLogin() { + return lastLogin; + } + + public void setLastLogin(Date lastLogin) { + this.lastLogin = lastLogin; + } + } diff --git a/src/main/java/com/commafeed/backend/services/UserService.java b/src/main/java/com/commafeed/backend/services/UserService.java index 91c206b3..d363b398 100644 --- a/src/main/java/com/commafeed/backend/services/UserService.java +++ b/src/main/java/com/commafeed/backend/services/UserService.java @@ -1,5 +1,6 @@ package com.commafeed.backend.services; +import java.util.Calendar; import java.util.Collection; import javax.ejb.Stateless; @@ -25,6 +26,8 @@ public class UserService { boolean authenticated = encryptionService.authenticate(password, user.getPassword(), user.getSalt()); if (authenticated) { + user.setLastLogin(Calendar.getInstance().getTime()); + userDAO.update(user); return user; } }