Queries.java

  1. package net.metanotion.sqlauthident;

  2. /** <i>This is a SQL query class generated by the SQLC compiler.</i> */
  3. @javax.annotation.Generated("net.metanotion.sqlc.SQLC")  final class Queries {
  4.     private final net.metanotion.util.Dictionary<Class,net.metanotion.util.types.Parser> types;
  5.     public Queries() { this.types = new net.metanotion.util.types.TypeDictionary(); }
  6.     public Queries(net.metanotion.util.Dictionary<Class,net.metanotion.util.types.Parser> types) { this.types = types; }
  7.     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 {
  8.             try (final java.sql.PreparedStatement _5 = _0.prepareStatement("INSERT INTO PasswordAuthenticationUsers(UserID, UserName) VALUES (?, ?)")) {
  9.             _5.setLong(1, _1);
  10.             _5.setString(2, _2);
  11.             final int _6 = _5.executeUpdate();
  12.             try (final java.sql.PreparedStatement _7 = _0.prepareStatement("INSERT INTO PasswordAuthentication(UserID, SecretHash, HashFunction)\r\n\t\t\tVALUES (?, ?, ?)")) {
  13.             _7.setLong(1, _1);
  14.             _7.setString(2, _3);
  15.             _7.setString(3, _4);
  16.             final int _8 = _7.executeUpdate();
  17.             try (final java.sql.PreparedStatement _9 = _0.prepareStatement("UPDATE PasswordAuthentication \r\n\t\t\tSET SecretHash = ?, HashFunction = ?\r\n\t\t\tWHERE UserID = ?")) {
  18.             _9.setString(1, _3);
  19.             _9.setString(2, _4);
  20.             _9.setLong(3, _1);
  21.             final int _10 = _9.executeUpdate();
  22.             return _10;
  23. }
  24. }
  25. }
  26.     }
  27.     public java.util.List<Long> getUser(final java.sql.Connection _0, final @javax.inject.Named("uid") long _1) throws Exception {
  28.             try (final java.sql.PreparedStatement _2 = _0.prepareStatement("SELECT u.UserID AS uid FROM Users u WHERE u.UserID = ?")) {
  29.             _2.setLong(1, _1);
  30.             try (final java.sql.ResultSet _3 = _2.executeQuery()) {
  31.             final java.util.List<Long> _4 = new java.util.ArrayList<Long>();
  32.         while(_3.next()) {
  33.                     _4.add(_3.getLong(1));
  34.         }
  35.             return _4;
  36. }
  37. }
  38.     }
  39.     public long reserveUID(final java.sql.Connection _0) throws Exception {
  40.             try (final java.sql.PreparedStatement _1 = _0.prepareStatement("SELECT nextval('Users_UserID_seq') AS UID")) {
  41.             try (final java.sql.ResultSet _2 = _1.executeQuery()) {
  42.         _2.next();
  43.             return _2.getLong(1);
  44. }
  45. }
  46.     }
  47.     public int deleteAuthentication(final java.sql.Connection _0, final @javax.inject.Named("uid") long _1, final @javax.inject.Named("uname") String _2) throws Exception {
  48.             try (final java.sql.PreparedStatement _3 = _0.prepareStatement("DELETE FROM PasswordAuthenticationUsers WHERE UserID = ? AND Username = ?")) {
  49.             _3.setLong(1, _1);
  50.             _3.setString(2, _2);
  51.             final int _4 = _3.executeUpdate();
  52.             return _4;
  53. }
  54.     }
  55.     public java.util.List<Long> getByUsername(final java.sql.Connection _0, final @javax.inject.Named("uname") String _1) throws Exception {
  56.             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 = ?")) {
  57.             _2.setString(1, _1);
  58.             try (final java.sql.ResultSet _3 = _2.executeQuery()) {
  59.             final java.util.List<Long> _4 = new java.util.ArrayList<Long>();
  60.         while(_3.next()) {
  61.                     _4.add(_3.getLong(1));
  62.         }
  63.             return _4;
  64. }
  65. }
  66.     }
  67.     public int addAuthentication(final java.sql.Connection _0, final @javax.inject.Named("uid") long _1, final @javax.inject.Named("username") String _2) throws Exception {
  68.             try (final java.sql.PreparedStatement _3 = _0.prepareStatement("INSERT INTO PasswordAuthenticationUsers(UserID, UserName) VALUES (?, ?)")) {
  69.             _3.setLong(1, _1);
  70.             _3.setString(2, _2);
  71.             final int _4 = _3.executeUpdate();
  72.             return _4;
  73. }
  74.     }
  75.     public int addUser(final java.sql.Connection _0, final @javax.inject.Named("uid") long _1) throws Exception {
  76.             try (final java.sql.PreparedStatement _2 = _0.prepareStatement("INSERT INTO Users(UserID) VALUES (?)")) {
  77.             _2.setLong(1, _1);
  78.             final int _3 = _2.executeUpdate();
  79.             return _3;
  80. }
  81.     }
  82.     public java.util.List<String> userList(final java.sql.Connection _0, final @javax.inject.Named("uid") long _1) throws Exception {
  83.             try (final java.sql.PreparedStatement _2 = _0.prepareStatement("SELECT Username FROM PasswordAuthenticationUsers WHERE UserID = ?")) {
  84.             _2.setLong(1, _1);
  85.             try (final java.sql.ResultSet _3 = _2.executeQuery()) {
  86.             final java.util.List<String> _4 = new java.util.ArrayList<String>();
  87.         while(_3.next()) {
  88.                     _4.add(_3.getString(1));
  89.         }
  90.             return _4;
  91. }
  92. }
  93.     }
  94.     public int deleteUser(final java.sql.Connection _0, final @javax.inject.Named("uid") long _1) throws Exception {
  95.             try (final java.sql.PreparedStatement _2 = _0.prepareStatement("DELETE FROM Users WHERE UserID = ?")) {
  96.             _2.setLong(1, _1);
  97.             final int _3 = _2.executeUpdate();
  98.             return _3;
  99. }
  100.     }
  101.     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 {
  102.             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 = ?)")) {
  103.             _4.setString(1, _2);
  104.             _4.setString(2, _3);
  105.             _4.setString(3, _1);
  106.             final int _5 = _4.executeUpdate();
  107.             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 = ?))")) {
  108.             _6.setString(1, _2);
  109.             _6.setString(2, _3);
  110.             _6.setString(3, _1);
  111.             _6.setString(4, _1);
  112.             final int _7 = _6.executeUpdate();
  113.             return _7;
  114. }
  115. }
  116.     }
  117.     public java.util.List<net.metanotion.sqlauthident.AuthStruct> getAuthentication(final java.sql.Connection _0, final @javax.inject.Named("uname") String _1) throws Exception {
  118.             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 = ?")) {
  119.             _2.setString(1, _1);
  120.             try (final java.sql.ResultSet _3 = _2.executeQuery()) {
  121.             final java.util.List<net.metanotion.sqlauthident.AuthStruct> _4 = new java.util.ArrayList<net.metanotion.sqlauthident.AuthStruct>();
  122.         final net.metanotion.util.reflect.GetInitializer<net.metanotion.sqlauthident.AuthStruct> _5 = net.metanotion.util.reflect.ReflectiveFieldInitializer.getInitializer(net.metanotion.sqlauthident.AuthStruct.class, this.types);
  123.         while(_3.next()) {
  124.                     final net.metanotion.util.reflect.Initializer<net.metanotion.sqlauthident.AuthStruct> _6 = _5.initializer();
  125.                     _6.put("uid", _3.getLong("uid"));
  126.                     _6.put("hash", _3.getString("hash"));
  127.                     _6.put("hmac", _3.getString("hmac"));
  128.                     _4.add(_6.instance());
  129.         }
  130.             return _4;
  131. }
  132. }
  133.     }
  134. }