working on permissions

This commit is contained in:
2022-04-18 14:30:17 +02:00
parent 1ef430b783
commit a326004e82
8 changed files with 130 additions and 49 deletions

View File

@@ -127,6 +127,53 @@ public class Database {
return sql.toString();
}
@Override
public String toString() {
StringBuffer sql = new StringBuffer(this.sql);
if (!setValues.isEmpty()){
var keys = new ArrayList<String>();
var expressions = new ArrayList<String>();
for (var entry : setValues.entrySet()) expressions.add(entry.getKey()+" = entry.getValue()");
sql.append(" SET ").append(String.join(", ",expressions));
}
if (!values.isEmpty()){
var keys = new ArrayList<String>();
var vals = new ArrayList<String>();
for (var entry : values.entrySet()) {
keys.add(entry.getKey());
vals.add(entry.getValue().toString());
}
sql.append("(")
.append(String.join(", ",keys))
.append(")")
.append(" VALUES ")
.append("(")
.append(String.join(",",vals))
.append(")");
}
if (!where.isEmpty()){
var clauses = new ArrayList<String>();
sql.append(" WHERE ");
for (var entry : where.entrySet()) clauses.add("("+entry.getKey()+" IN ("+String.join(", ",entry.getValue().stream().map(Object::toString).toList())+"))");
sql.append(String.join(" AND ",clauses));
}
return "Request{" + "sql=" + sql + '}';
}
public Request values(Map<String,Object> newValues) {
values.putAll(newValues);
return this;
}
public Request values(String key, Object value) {
values.put(key,value);
return this;
}
public Request where(String key, Object ... values) {
for (var val : values) where(key,val);
@@ -145,15 +192,6 @@ public class Database {
return this;
}
public Request values(Map<String,Object> newValues) {
values.putAll(newValues);
return this;
}
public Request values(String key, Object value) {
values.put(key,value);
return this;
}
}
public Database(Connection connection) {