favorites beta

This commit is contained in:
Flummi
2022-01-01 02:17:31 +01:00
parent e2411aeec0
commit e1bc2c269a
8 changed files with 109 additions and 10 deletions

View File

@ -190,6 +190,32 @@ export default (router, tpl) => {
})});
});
group.get(/\/admin\/togglefav\/\d+$/, auth, async (req, res) => {
const itemid = +req.url.split[4];
let favs = await sql('favorites').select('user_id').where('item_id', itemid);
if(Object.values(favs).filter(u => u.user_id === req.session.id)[0]) {
// del fav
await sql('favorites').where('user_id', req.session.id).andWhere('item_id', itemid).del();
}
else {
// add fav
await sql('favorites').insert({
item_id: itemid,
user_id: req.session.id
});
}
favs = await sql('favorites').select('user_id').where('item_id', itemid);
res.reply({ body: JSON.stringify({
success: true,
itemid: itemid,
favs: favs
})});
});
});
return router;

View File

@ -136,7 +136,10 @@ export default {
};
}
let items = sql("items").select("*").orderBy("items.id", "desc").whereRaw(modequery);
let items = sql("items")
.select("*")
.orderBy("items.id", "desc")
.whereRaw(modequery);
if(tag) {
items = items.innerJoin(
@ -169,6 +172,11 @@ export default {
const tags = await lib.getTags(itemid);
const cheat = items.slice(Math.max(0, item - 3), item + 4).map(i => i.id);
const link = lib.genLink({ user, tag, mime, act_page: itemid });
const favorites = await sql('favorites')
.select('user.user', 'user_options.avatar')
.leftJoin('user', 'user.id', 'favorites.user_id')
.leftJoin('user_options', 'user_options.user_id', 'favorites.user_id')
.where('favorites.item_id', itemid);
const data = {
success: true,
@ -192,6 +200,7 @@ export default {
timeago: lib.timeAgo(new Date(actitem.stamp * 1e3).toISOString()),
timefull: new Date(actitem.stamp * 1e3).toISOString()
},
favorites: favorites,
tags: tags
},
title: `${actitem.id} - f0ck.me`,
@ -204,8 +213,8 @@ export default {
cheat: cheat,
uff: true
},
link: link,
phrase: cfg.websrv.phrases[~~(Math.random() * cfg.websrv.phrases.length)],
link: link,
tmp: tmp
};
return data;

View File

@ -65,7 +65,7 @@ import flummpress from "flummpress";
if(req.cookies.session) {
const user = await sql("user_sessions") // get user
.select("user.id", "user.login", "user.user", "user.level", "user_sessions.id as sess_id", "user_options.mode", "user_options.theme")
.select("user.id", "user.login", "user.user", "user.level", "user_sessions.id as sess_id", "user_options.mode", "user_options.theme", "user_options.avatar")
.where("user_sessions.session", lib.md5(req.cookies.session))
.leftJoin("user", "user.id", "user_sessions.user_id")
.leftJoin("user_options", "user_options.user_id", "user_sessions.user_id")