BasicTenantUsersQueries.java
package net.metanotion.multitenant;
/** <i>This is a SQL query class generated by the SQLC compiler.</i> */
@javax.annotation.Generated("net.metanotion.sqlc.SQLC") final class BasicTenantUsersQueries {
private final net.metanotion.util.Dictionary<Class,net.metanotion.util.types.Parser> types;
public BasicTenantUsersQueries() { this.types = new net.metanotion.util.types.TypeDictionary(); }
public BasicTenantUsersQueries(net.metanotion.util.Dictionary<Class,net.metanotion.util.types.Parser> types) { this.types = types; }
public java.util.List<net.metanotion.multitenant.TenantAccount> listTenantAccounts(final java.sql.Connection _0) throws Exception {
try (final java.sql.PreparedStatement _1 = _0.prepareStatement("SELECT u.UserID AS userId,\r\n\t\t\t\tCASE WHEN r.roles IS NULL THEN '{}'\r\n\t\t\t\t\tELSE r.roles END AS roles,\r\n\t\t\t\tCASE WHEN n.usernames IS NULL THEN '{}'\r\n\t\t\t\t\tELSE n.usernames END AS emails\r\n\t\t\tFROM Users u\r\n\t\t\t\tLEFT JOIN (SELECT UserID, array_agg(RoleName) AS roles FROM UserRoles GROUP BY UserID) r\r\n\t\t\t\t\tON (u.UserID = r.UserID)\r\n\t\t\t\tLEFT JOIN (SELECT UserID, array_agg(Username) as usernames FROM PasswordAuthenticationUsers GROUP BY UserID) n\r\n\t\t\t\t\tON (u.UserID = n.UserID)")) {
try (final java.sql.ResultSet _2 = _1.executeQuery()) {
final java.util.List<net.metanotion.multitenant.TenantAccount> _3 = new java.util.ArrayList<net.metanotion.multitenant.TenantAccount>();
final net.metanotion.util.reflect.GetInitializer<net.metanotion.multitenant.TenantAccount> _4 = net.metanotion.util.reflect.ReflectiveFieldInitializer.getInitializer(net.metanotion.multitenant.TenantAccount.class, this.types);
while(_2.next()) {
final net.metanotion.util.reflect.Initializer<net.metanotion.multitenant.TenantAccount> _5 = _4.initializer();
_5.put("userId", _2.getLong("userId"));
_5.put("roles", net.metanotion.sqlc.setters.GetArray.parse(_2.getArray("roles")));
_5.put("emails", net.metanotion.sqlc.setters.GetArray.parse(_2.getArray("emails")));
_3.add(_5.instance());
}
return _3;
}
}
}
public java.util.List<String> getRoles(final java.sql.Connection _0) throws Exception {
try (final java.sql.PreparedStatement _1 = _0.prepareStatement("SELECT RoleName FROM RoleSet")) {
try (final java.sql.ResultSet _2 = _1.executeQuery()) {
final java.util.List<String> _3 = new java.util.ArrayList<String>();
while(_2.next()) {
_3.add(_2.getString(1));
}
return _3;
}
}
}
}