You've already forked obsidian-visualiser
Progressing on profile edition and thumbnail cropping
This commit is contained in:
@@ -1,27 +1,27 @@
|
||||
import useDatabase from "~/composables/useDatabase";
|
||||
|
||||
const monthAsMs = 1000 * 60 * 60 * 24 * 30;
|
||||
const monthAsMs = 60 * 60 * 24 * 30;
|
||||
|
||||
export default defineNitroPlugin(() => {
|
||||
const db = useDatabase();
|
||||
|
||||
sessionHooks.hook('fetch', async (session, event) => {
|
||||
const query = db.prepare('SELECT lastRefresh FROM user_sessions WHERE id = ?1 AND user_id = ?2');
|
||||
const result = query.get(session.id, session.user.id) as Record<string, any>;
|
||||
const query = db.prepare('SELECT last_refresh FROM user_sessions WHERE id = ?1 AND user_id = ?2');
|
||||
const result = query.get(session.id, session.user.id) as { last_refresh: number };
|
||||
|
||||
if(!result)
|
||||
{
|
||||
clearUserSession(event);
|
||||
throw createError({ statusCode: 401, message: 'Unauthorized' });
|
||||
}
|
||||
else if(result && result.lastRefresh && result.lastRefresh < Date.now() - monthAsMs)
|
||||
else if(result && result.last_refresh && result.last_refresh < Date.now() - monthAsMs)
|
||||
{
|
||||
clearUserSession(event);
|
||||
throw createError({ statusCode: 401, message: 'Session has expired' });
|
||||
}
|
||||
else
|
||||
{
|
||||
db.prepare('UPDATE user_sessions SET lastRefresh = ?1 WHERE id = ?2 AND user_id = ?3').run(Date.now(), session.id, session.user.id);
|
||||
db.prepare('UPDATE user_sessions SET last_refresh = ?1 WHERE id = ?2 AND user_id = ?3').run(Date.now(), session.id, session.user.id);
|
||||
}
|
||||
});
|
||||
sessionHooks.hook('clear', async (session, event) => {
|
||||
|
||||
Reference in New Issue
Block a user