Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package models;
- import play.db.ebean.*;
- import play.data.format.*;
- import play.data.validation.*;
- import java.util.*;
- import javax.persistence.*;
- @Entity
- @Table(name = "users")
- public class User extends Model {
- @Id
- @Constraints.Required
- public Integer id;
- @Constraints.Required
- @Formats.NonEmpty
- public String username;
- @Constraints.Required
- @Formats.NonEmpty
- public String email;
- @Constraints.Required
- public String password;
- @Constraints.Required
- @ManyToMany
- public List<Role> roles = new ArrayList<Role>();
- @Constraints.Required
- @ManyToOne(fetch = FetchType.LAZY)
- public Organization organization;
- public static Finder<String, User> find = new Finder<String, User>(String.class, User.class);
- public static List<User> findAll() {
- return find.all();
- }
- public static User findById(Integer id) {
- return find.where().eq("id", id).findUnique();
- }
- public static User findByUsername(String username) {
- return find.where().eq("username", username).findUnique();
- }
- public static User findByEmail(String email) {
- return find.where().eq("email", email).findUnique();
- }
- public static List<User> findByRole(Role role) {
- return find.where().eq("role", role.name).findList();
- }
- public static User authenticate(String username, String password) {
- return find.where().eq("username", username).eq("password", password).findUnique();
- }
- @Transient
- public Boolean isSuperAdmin() {
- return roles.contains(Role.findByRoleName(RoleNameEnum.SUPERADMIN));
- }
- @Transient
- public Boolean isAdmin() {
- return roles.contains(Role.findByRoleName(RoleNameEnum.SUPERADMIN));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement