Queries.java
package net.metanotion.sqlauthident;
/** <i>This is a SQL query class generated by the SQLC compiler.</i> */
@javax.annotation.Generated("net.metanotion.sqlc.SQLC") final class Queries {
private final net.metanotion.util.Dictionary<Class,net.metanotion.util.types.Parser> types;
public Queries() { this.types = new net.metanotion.util.types.TypeDictionary(); }
public Queries(net.metanotion.util.Dictionary<Class,net.metanotion.util.types.Parser> types) { this.types = types; }
public int createAuthentication(final java.sql.Connection _0, final @javax.inject.Named("uid") long _1, final @javax.inject.Named("username") String _2, final @javax.inject.Named("hash") String _3, final @javax.inject.Named("hmac") String _4) throws Exception {
try (final java.sql.PreparedStatement _5 = _0.prepareStatement("INSERT INTO PasswordAuthenticationUsers(UserID, UserName) VALUES (?, ?)")) {
_5.setLong(1, _1);
_5.setString(2, _2);
final int _6 = _5.executeUpdate();
try (final java.sql.PreparedStatement _7 = _0.prepareStatement("INSERT INTO PasswordAuthentication(UserID, SecretHash, HashFunction)\r\n\t\t\tVALUES (?, ?, ?)")) {
_7.setLong(1, _1);
_7.setString(2, _3);
_7.setString(3, _4);
final int _8 = _7.executeUpdate();
try (final java.sql.PreparedStatement _9 = _0.prepareStatement("UPDATE PasswordAuthentication \r\n\t\t\tSET SecretHash = ?, HashFunction = ?\r\n\t\t\tWHERE UserID = ?")) {
_9.setString(1, _3);
_9.setString(2, _4);
_9.setLong(3, _1);
final int _10 = _9.executeUpdate();
return _10;
}
}
}
}
public java.util.List<Long> getUser(final java.sql.Connection _0, final @javax.inject.Named("uid") long _1) throws Exception {
try (final java.sql.PreparedStatement _2 = _0.prepareStatement("SELECT u.UserID AS uid FROM Users u WHERE u.UserID = ?")) {
_2.setLong(1, _1);
try (final java.sql.ResultSet _3 = _2.executeQuery()) {
final java.util.List<Long> _4 = new java.util.ArrayList<Long>();
while(_3.next()) {
_4.add(_3.getLong(1));
}
return _4;
}
}
}
public long reserveUID(final java.sql.Connection _0) throws Exception {
try (final java.sql.PreparedStatement _1 = _0.prepareStatement("SELECT nextval('Users_UserID_seq') AS UID")) {
try (final java.sql.ResultSet _2 = _1.executeQuery()) {
_2.next();
return _2.getLong(1);
}
}
}
public int deleteAuthentication(final java.sql.Connection _0, final @javax.inject.Named("uid") long _1, final @javax.inject.Named("uname") String _2) throws Exception {
try (final java.sql.PreparedStatement _3 = _0.prepareStatement("DELETE FROM PasswordAuthenticationUsers WHERE UserID = ? AND Username = ?")) {
_3.setLong(1, _1);
_3.setString(2, _2);
final int _4 = _3.executeUpdate();
return _4;
}
}
public java.util.List<Long> getByUsername(final java.sql.Connection _0, final @javax.inject.Named("uname") String _1) throws Exception {
try (final java.sql.PreparedStatement _2 = _0.prepareStatement("SELECT pw.UserID AS uid \r\n\t\t\tFROM PasswordAuthenticationUsers pw \r\n\t\t\tWHERE pw.Username = ?")) {
_2.setString(1, _1);
try (final java.sql.ResultSet _3 = _2.executeQuery()) {
final java.util.List<Long> _4 = new java.util.ArrayList<Long>();
while(_3.next()) {
_4.add(_3.getLong(1));
}
return _4;
}
}
}
public int addAuthentication(final java.sql.Connection _0, final @javax.inject.Named("uid") long _1, final @javax.inject.Named("username") String _2) throws Exception {
try (final java.sql.PreparedStatement _3 = _0.prepareStatement("INSERT INTO PasswordAuthenticationUsers(UserID, UserName) VALUES (?, ?)")) {
_3.setLong(1, _1);
_3.setString(2, _2);
final int _4 = _3.executeUpdate();
return _4;
}
}
public int addUser(final java.sql.Connection _0, final @javax.inject.Named("uid") long _1) throws Exception {
try (final java.sql.PreparedStatement _2 = _0.prepareStatement("INSERT INTO Users(UserID) VALUES (?)")) {
_2.setLong(1, _1);
final int _3 = _2.executeUpdate();
return _3;
}
}
public java.util.List<String> userList(final java.sql.Connection _0, final @javax.inject.Named("uid") long _1) throws Exception {
try (final java.sql.PreparedStatement _2 = _0.prepareStatement("SELECT Username FROM PasswordAuthenticationUsers WHERE UserID = ?")) {
_2.setLong(1, _1);
try (final java.sql.ResultSet _3 = _2.executeQuery()) {
final java.util.List<String> _4 = new java.util.ArrayList<String>();
while(_3.next()) {
_4.add(_3.getString(1));
}
return _4;
}
}
}
public int deleteUser(final java.sql.Connection _0, final @javax.inject.Named("uid") long _1) throws Exception {
try (final java.sql.PreparedStatement _2 = _0.prepareStatement("DELETE FROM Users WHERE UserID = ?")) {
_2.setLong(1, _1);
final int _3 = _2.executeUpdate();
return _3;
}
}
public int updateAuthentication(final java.sql.Connection _0, final @javax.inject.Named("uname") String _1, final @javax.inject.Named("hash") String _2, final @javax.inject.Named("hmac") String _3) throws Exception {
try (final java.sql.PreparedStatement _4 = _0.prepareStatement("UPDATE PasswordAuthentication\r\n\t\t\tSET SecretHash = ?, HashFunction = ?\r\n\t\t\tWHERE UserID IN (SELECT UserID FROM PasswordAuthenticationUsers WHERE Username = ?)")) {
_4.setString(1, _2);
_4.setString(2, _3);
_4.setString(3, _1);
final int _5 = _4.executeUpdate();
try (final java.sql.PreparedStatement _6 = _0.prepareStatement("INSERT INTO PasswordAuthentication\r\n\t\t\t(SELECT UserID, ? AS SecretHash, ? AS HashFunction\r\n\t\t\t\tFROM PasswordAuthenticationUsers\r\n\t\t\t\tWHERE Username = ?\r\n\t\t\t\t\tAND NOT EXISTS (SELECT pw.UserID\r\n\t\t\t\t\t\tFROM PasswordAuthentication pw JOIN PasswordAuthenticationUsers pwau\r\n\t\t\t\t\t\t\tON (pw.UserID = pwau.UserID) WHERE pwau.Username = ?))")) {
_6.setString(1, _2);
_6.setString(2, _3);
_6.setString(3, _1);
_6.setString(4, _1);
final int _7 = _6.executeUpdate();
return _7;
}
}
}
public java.util.List<net.metanotion.sqlauthident.AuthStruct> getAuthentication(final java.sql.Connection _0, final @javax.inject.Named("uname") String _1) throws Exception {
try (final java.sql.PreparedStatement _2 = _0.prepareStatement("SELECT\t\tpw.UserID AS uid,\r\n\t\t\t\t\t\tpw.SecretHash AS hash,\r\n\t\t\t\t\t\tpw.HashFunction AS hmac\r\n\t\t\tFROM PasswordAuthentication pw JOIN\r\n\t\t\t\tPasswordAuthenticationUsers pwau\r\n\t\t\t\t\tON (pw.UserID = pwau.UserID)\r\n\t\t\tWHERE pwau.Username = ?")) {
_2.setString(1, _1);
try (final java.sql.ResultSet _3 = _2.executeQuery()) {
final java.util.List<net.metanotion.sqlauthident.AuthStruct> _4 = new java.util.ArrayList<net.metanotion.sqlauthident.AuthStruct>();
final net.metanotion.util.reflect.GetInitializer<net.metanotion.sqlauthident.AuthStruct> _5 = net.metanotion.util.reflect.ReflectiveFieldInitializer.getInitializer(net.metanotion.sqlauthident.AuthStruct.class, this.types);
while(_3.next()) {
final net.metanotion.util.reflect.Initializer<net.metanotion.sqlauthident.AuthStruct> _6 = _5.initializer();
_6.put("uid", _3.getLong("uid"));
_6.put("hash", _3.getString("hash"));
_6.put("hmac", _3.getString("hmac"));
_4.add(_6.instance());
}
return _4;
}
}
}
}