enter message here

This commit is contained in:
Flummi
2022-05-14 12:59:35 +02:00
parent a97ed32c9f
commit 2ae986ccf1
10 changed files with 341 additions and 41 deletions

View File

@ -28,27 +28,46 @@ export default router => {
});
});
group.get(/\/p\/([0-9]+)/, async (req, res) => { // legacy
let eps = 100;
let id = +req.url.split[3];
const rows = await db`
select *
from "items"
where id < ${+id}
order by id desc
limit ${+eps}
`;
const items = {
items: rows,
last: rows[rows.length - 1].id
group.get(/\/items\/get/, async (req, res) => {
let eps = 150;
const opt = {
older: req.url.qs.older ?? null,
newer: req.url.qs.newer ?? null,
mode: +req.url.qs.mode ?? 0 // 0 sfw, 1 nsfw, 2 untagged, 3 all
};
const newest = (await db`select max(id) as id from "items"`)[0].id;
const oldest = (await db`select min(id) as id from "items"`)[0].id;
const modequery = lib.getMode(opt.mode);
const rows = (await db`
select "items".id, "items".mime, coalesce("tags_assign".tag_id, 0) as tag_id
from "items"
left join "tags_assign" on "tags_assign".item_id = "items".id and ("tags_assign".tag_id = 1 or "tags_assign".tag_id = 2)
where
${db.unsafe(modequery)}
${
opt.older
? db`and id <= ${opt.older}`
: opt.newer
? db`and id >= ${opt.newer}`
: db``
}
order by id ${
opt.newer
? db`asc`
: db`desc`
}
limit ${eps}
`).sort((a, b) => b.id - a.id);
return res.json({
atEnd: rows[0].id === newest,
atStart: rows[rows.length - 1].id === oldest,
success: true,
items
});
items: rows
}, 200);
});
group.get(/\/item\/[0-9]+$/, async (req, res) => {
@ -152,13 +171,13 @@ export default router => {
}
const q = (await db`
update "tags" set ${
db({
tag: newtag
}, 'tag')
}
where tag = ${tagname}
returning *
update "tags" set ${
db({
tag: newtag
}, 'tag')
}
where tag = ${tagname}
returning *
`)?.[0];
return res.json(q, tagname === newtag ? 200 : 201); // created (modified)
@ -204,6 +223,12 @@ export default router => {
});
}
const postid = +req.post.postid;
if(postid <= 1) {
return res.json({
success: false
});
}
await db`
delete from "items"

View File

@ -131,6 +131,14 @@ export default router => {
const postid = +req.params.postid;
const tagname = decodeURIComponent(req.params.tagname);
if(tagname == 'sfw' || tagname == 'nsfw' || tagname == 'hentai' || tagname == 'audio') {
return res.json({
success: false,
msg: 'blacklisted',
tags: await lib.getTags(postid)
});
}
const tags = await lib.getTags(postid);
const tagid = tags.filter(t => t.tag === tagname)[0]?.id ?? null;

View File

@ -1,10 +1,4 @@
//import knex from "knex";
import postgres from "postgres";
import cfg from "./config.mjs";
const db = postgres(cfg.sql);
if(cfg.sql.schema)
await db.unsafe(`set search_path to '${cfg.sql.schema}';`);
export default db;
export default postgres(cfg.sql);

View File

@ -13,7 +13,7 @@ export default async bot => {
for(let id of e.args) {
id = +id;
if(id <= 0)
if(id <= 1)
continue;
const f0ck = await db`

View File

@ -214,8 +214,8 @@ export default async bot => {
insert into "tags_assign" ${
db({
item_id: f.id,
tag_id: 8, // hentai
user_id: 7 // autotagger
tag_id: 4, // hentai
user_id: 1 // autotagger
})
}
`;
@ -228,11 +228,11 @@ export default async bot => {
db([{
item_id: itemid,
tag_id: 1,
user_id: 7
user_id: 1
}, {
item_id: itemid,
tag_id: 7178,
user_id: 7
tag_id: 3, // audio
user_id: 1
}])
}
`;