36 import java.sql.ResultSet; |
36 import java.sql.ResultSet; |
37 import java.sql.SQLException; |
37 import java.sql.SQLException; |
38 import java.util.ArrayList; |
38 import java.util.ArrayList; |
39 import java.util.List; |
39 import java.util.List; |
40 import java.util.Objects; |
40 import java.util.Objects; |
|
41 import java.util.Optional; |
41 |
42 |
42 import static de.uapcore.lightpit.dao.Functions.setStringOrNull; |
43 import static de.uapcore.lightpit.dao.Functions.setStringOrNull; |
43 |
44 |
44 public final class PGUserDao implements UserDao { |
45 public final class PGUserDao implements UserDao { |
45 |
46 |
46 private final PreparedStatement insert, update, list, find; |
47 private final PreparedStatement insert, update, list, find, findByUsername; |
47 |
48 |
48 public PGUserDao(Connection connection) throws SQLException { |
49 public PGUserDao(Connection connection) throws SQLException { |
49 list = connection.prepareStatement( |
50 list = connection.prepareStatement( |
50 "select userid, username, lastname, givenname, mail " + |
51 "select userid, username, lastname, givenname, mail " + |
51 "from lpit_user where userid >= 0 " + |
52 "from lpit_user where userid >= 0 " + |
52 "order by username"); |
53 "order by username"); |
53 find = connection.prepareStatement( |
54 find = connection.prepareStatement( |
54 "select userid, username, lastname, givenname, mail " + |
55 "select userid, username, lastname, givenname, mail " + |
55 "from lpit_user where userid = ? "); |
56 "from lpit_user where userid = ? "); |
|
57 |
|
58 findByUsername = connection.prepareStatement( |
|
59 "select userid, username, lastname, givenname, mail " + |
|
60 "from lpit_user where lower(username) = lower(?) "); |
56 |
61 |
57 insert = connection.prepareStatement("insert into lpit_user (username, lastname, givenname, mail) values (?, ?, ?, ?)"); |
62 insert = connection.prepareStatement("insert into lpit_user (username, lastname, givenname, mail) values (?, ?, ?, ?)"); |
58 update = connection.prepareStatement("update lpit_user set lastname = ?, givenname = ?, mail = ? where userid = ?"); |
63 update = connection.prepareStatement("update lpit_user set lastname = ?, givenname = ?, mail = ? where userid = ?"); |
59 } |
64 } |
60 |
65 |