summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/db/DbUser.java
diff options
context:
space:
mode:
authorSimon Rettberg2015-09-07 18:20:58 +0200
committerSimon Rettberg2015-09-07 18:20:58 +0200
commit2f140304dd193763b2aa9d509f972c6f23202e93 (patch)
tree8639a625543d78b35caccfe3dcdfa4740ba6d917 /src/main/java/org/openslx/imagemaster/db/DbUser.java
parentStuff (diff)
downloadmasterserver-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.java107
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 );
- }
-
-}