querybuilder intensifies

This commit is contained in:
Flummi
2021-05-16 13:24:31 +02:00
parent 3bc0a74932
commit 04d4787232
16 changed files with 244 additions and 410 deletions

View File

@@ -1,38 +1,19 @@
import mariadb from "mariadb";
import knex from "knex";
import callback from "mariadb/callback.js";
import Client_MySQL from "knex/lib/dialects/mysql/index.js";
import cfg from "../../config.json";
const sql = mariadb.createPool(cfg.sql);
class Client_MariaDB extends Client_MySQL {
driverName = "mariadb";
_driver() {
return callback;
}
validateConnection(conn) {
return conn.isValid();
}
};
export default sql;
//export default sql = mariadb.createPool(cfg.sql);//.getConnection();
/*const allowedMimes = [ "audio", "video", "image", "%" ];
const allowedColumns = [ "id", "mime", "size", "username", "userchannel", "usernetwork", "stamp", "dest", "src" ];
export const getItems = async ({
select = [],
user = "%",
mime = "%",
orderby = "stamp",
order = "desc",
offset = 0,
limit = 5
}) => {
select = (select.length === 0 ? allowedColumns : select).join(", ");
order = !["asc", "desc"].includes(order) ? "asc" : order;
offset = +offset;
limit = +limit;
mime = allowedMimes.filter(n => mime.startsWith(n))[0] ? mime : "%";
const query =
`select
${select}
from
items
where
username like ? and
mime like ?
order by ${orderby} ${order}
limit ?, ?
`;
return await sql.query(query, [ user, mime, offset, limit ]);
};*/
export default knex({
client: Client_MariaDB,
connection: cfg.sql
});