Add 1 day cache limit to user/website/session

This commit is contained in:
Brian Cao 2023-08-23 12:17:32 -07:00
parent d43ab3e559
commit 06de67ec55

View File

@ -2,17 +2,20 @@ import { User, Website } from '@prisma/client';
import redis from '@umami/redis-client';
import { getSession, getUserById, getWebsiteById } from '../queries';
const { fetchObject, storeObject, deleteObject } = redis;
const { fetchObject, storeObject, deleteObject, expire } = redis;
async function fetchWebsite(id): Promise<Website> {
return fetchObject(`website:${id}`, () => getWebsiteById(id));
return fetchObject(`website:${id}`, () => getWebsiteById(id), 86400);
}
async function storeWebsite(data) {
const { id } = data;
const key = `website:${id}`;
return storeObject(key, data);
const obj = await storeObject(key, data);
await expire(key, 86400);
return obj;
}
async function deleteWebsite(id) {
@ -20,14 +23,17 @@ async function deleteWebsite(id) {
}
async function fetchUser(id): Promise<User> {
return fetchObject(`user:${id}`, () => getUserById(id, { includePassword: true }));
return fetchObject(`user:${id}`, () => getUserById(id, { includePassword: true }), 86400);
}
async function storeUser(data) {
const { id } = data;
const key = `user:${id}`;
return storeObject(key, data);
const obj = await storeObject(key, data);
await expire(key, 86400);
return obj;
}
async function deleteUser(id) {
@ -35,14 +41,17 @@ async function deleteUser(id) {
}
async function fetchSession(id) {
return fetchObject(`session:${id}`, () => getSession(id));
return fetchObject(`session:${id}`, () => getSession(id), 86400);
}
async function storeSession(data) {
const { id } = data;
const key = `session:${id}`;
return storeObject(key, data);
const obj = await storeObject(key, data);
await expire(key, 86400);
return obj;
}
async function deleteSession(id) {