diff options
author | Simon Rettberg | 2015-09-07 18:20:58 +0200 |
---|---|---|
committer | Simon Rettberg | 2015-09-07 18:20:58 +0200 |
commit | 2f140304dd193763b2aa9d509f972c6f23202e93 (patch) | |
tree | 8639a625543d78b35caccfe3dcdfa4740ba6d917 /src/main/java/org/openslx/imagemaster/db/DbUser.java | |
parent | Stuff (diff) | |
download | masterserver-2f140304dd193763b2aa9d509f972c6f23202e93.tar.gz masterserver-2f140304dd193763b2aa9d509f972c6f23202e93.tar.xz masterserver-2f140304dd193763b2aa9d509f972c6f23202e93.zip |
Start adapting to new DB/Thrift model
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/db/DbUser.java')
-rw-r--r-- | src/main/java/org/openslx/imagemaster/db/DbUser.java | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/src/main/java/org/openslx/imagemaster/db/DbUser.java b/src/main/java/org/openslx/imagemaster/db/DbUser.java deleted file mode 100644 index 87febe1..0000000 --- a/src/main/java/org/openslx/imagemaster/db/DbUser.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.openslx.imagemaster.db; - -import java.util.List; - -import org.apache.log4j.Logger; -import org.openslx.imagemaster.session.User; -import org.openslx.imagemaster.thrift.iface.UserInfo; -import org.openslx.imagemaster.util.Sha512Crypt; - -/** - * Represents a user that can login against the masterserver. - */ -public class DbUser extends User -{ - - private static Logger log = Logger.getLogger( DbUser.class ); - - public DbUser( int userId, String login, String password, String organizationId, - String firstName, String lastName, String eMail, - String satelliteAddress ) - { - super( userId, login, password, organizationId, firstName, lastName, eMail, - satelliteAddress ); - } - - /** - * Query database for user with given login - * - * @param login - * (user@organizationSuffix) - * @return instance of DbUser for matching entry from DB, or null if not - * found - */ - public static DbUser forLogin( final String login ) - { - return MySQL - .findUniqueOrNull( - DbUser.class, - "SELECT user.userid, user.login, user.password, user.organizationid, user.firstname, user.lastname, user.email, satellite.address FROM user" - + " LEFT JOIN satellite USING (organizationid)" - + " WHERE user.login = ? LIMIT 1", - login ); - } - - /** - * Query database for user with given userId - * - * @param userid - * @return instance of DbUser for matching entry from DB, or null if not - * found - */ - public static DbUser forLogin( final int userid ) - { - return MySQL - .findUniqueOrNull( - DbUser.class, - "SELECT user.userid, user.login, user.password, user.organizationid, user.firstname, user.lastname, user.email, satellite.address FROM user" - + " LEFT JOIN satellite USING (organizationid)" - + " WHERE user.userid = ? LIMIT 1", - userid ); - } - - public static boolean exists( final String login ) - { - return forLogin( login ) != null; - } - - public static DbUser forLogin( String login, String password ) - { - DbUser user = forLogin( login ); - if ( user == null || !Sha512Crypt.verifyPassword( password, user.password ) ) - return null; - return user; - } - - public static boolean insertOrUpdate( User user ) - { - log.debug( "Inserted user '" + user.login + "' into db." ); - MySQL.update( - "INSERT INTO user (login, password, organizationid, firstname, lastname, email) VALUES (?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE password=VALUES(password), organizationid=VALUES(organizationid), firstname=VALUES(firstname), lastname=VALUES(lastname), email=VALUES(email)", - user.login, user.password, user.organizationId, user.firstName, user.lastName, user.eMail ); - return false; - } - - public static boolean insertOrUpdate(UserInfo userInfo) { - log.debug( "Inserted user '" + userInfo.userId + "' into db." ); - int ret = MySQL.update( - "INSERT INTO user (login, password, organizationid, firstname, lastname, email) VALUES (?, '', ?, ?, ?, ?) ON DUPLICATE KEY UPDATE organizationid=VALUES(organizationid), firstname=VALUES(firstname), lastname=VALUES(lastname), email=VALUES(email)", - userInfo.userId, userInfo.organizationId, userInfo.firstName, userInfo.lastName, userInfo.eMail ); - return (ret != 0); - } - - public static List<UserInfo> findUser( String organizationId, String searchTerm ) - { - final String str = "%" + searchTerm + "%"; // TODO: Better handling, escape LIKE chars, or even make this use REGEXP - if ( organizationId == null ) - return MySQL.findAll( UserInfo.class, "SELECT login, firstname, lastname, email, organizationid" - + " FROM user" - + " WHERE login LIKE ? OR firstname LIKE ? OR lastname LIKE ? OR email LIKE ?" - + " LIMIT 100", str, str, str ); - return MySQL.findAll( UserInfo.class, "SELECT login, firstname, lastname, email, organizationid" - + " FROM user" - + " WHERE organizationid = ? AND (login LIKE ? OR firstname LIKE ? OR lastname LIKE ? OR email LIKE ?)" - + " LIMIT 100", organizationId, str, str, str ); - } - -} |