change psql-lib from knex to postgres.js
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import crypto from "crypto";
|
||||
import util from "util";
|
||||
import sql from "./sql.mjs";
|
||||
import db from "./sql.mjs";
|
||||
|
||||
const scrypt = util.promisify(crypto.scrypt);
|
||||
|
||||
@@ -46,7 +46,7 @@ export default new class {
|
||||
tmp = "items.id not in (select item_id from tags_assign group by item_id)";
|
||||
break;
|
||||
case 3: // all
|
||||
tmp = "";
|
||||
tmp = "1 = 1";
|
||||
break;
|
||||
default: // sfw
|
||||
tmp = "items.id in (select item_id from tags_assign where tag_id = 1 group by item_id)";
|
||||
@@ -73,10 +73,26 @@ export default new class {
|
||||
|
||||
// async funcs
|
||||
async countf0cks() {
|
||||
const tagged = (await sql("items").whereRaw("id in (select item_id from tags_assign group by item_id)").count("* as total"))[0].total;
|
||||
const untagged = (await sql("items").whereRaw("id not in (select item_id from tags_assign group by item_id)").count("* as total"))[0].total;
|
||||
const sfw = (await sql("items").whereRaw("id in (select item_id from tags_assign where tag_id = 1 group by item_id)").count("* as total"))[0].total;
|
||||
const nsfw = (await sql("items").whereRaw("id in (select item_id from tags_assign where tag_id = 2 group by item_id)").count("* as total"))[0].total;
|
||||
const tagged = (await db`
|
||||
select count(*) as total
|
||||
from "items"
|
||||
where id in (select item_id from tags_assign group by item_id)
|
||||
`)[0].total;
|
||||
const untagged = (await db`
|
||||
select count(*) as total
|
||||
from "items"
|
||||
where id not in (select item_id from tags_assign group by item_id)
|
||||
`)[0].total;
|
||||
const sfw = (await db`
|
||||
select count(*) as total
|
||||
from "items"
|
||||
where id in (select item_id from tags_assign where tag_id = 1 group by item_id)
|
||||
`)[0].total;
|
||||
const nsfw = (await db`
|
||||
select count(*) as total
|
||||
from "items"
|
||||
where id in (select item_id from tags_assign where tag_id = 2 group by item_id)
|
||||
`)[0].total;
|
||||
return {
|
||||
tagged,
|
||||
untagged,
|
||||
@@ -106,12 +122,14 @@ export default new class {
|
||||
return next();
|
||||
};
|
||||
async getTags(itemid) {
|
||||
const tags = await sql("tags_assign")
|
||||
.select("tags.id", "tags.tag", "tags.normalized", "user.user")
|
||||
.leftJoin("tags", "tags.id", "tags_assign.tag_id")
|
||||
.leftJoin("user", "user.id", "tags_assign.user_id")
|
||||
.where("tags_assign.item_id", +itemid)
|
||||
.orderBy("tags.id", "asc");
|
||||
const tags = await db`
|
||||
select "tags".id, "tags".tag, "tags".normalized, "user".user
|
||||
from "tags_assign"
|
||||
left join "tags" on "tags".id = "tags_assign".tag_id
|
||||
left join "user" on "user".id = "tags_assign".user_id
|
||||
where "tags_assign".item_id = ${+itemid}
|
||||
order by "tags".id asc
|
||||
`;
|
||||
for(let t = 0; t < tags.length; t++) {
|
||||
if(tags[t].tag.startsWith(">"))
|
||||
tags[t].badge = "badge-greentext badge-light";
|
||||
|
Reference in New Issue
Block a user