umami/src/lib/load.ts

52 lines
999 B
TypeScript
Raw Normal View History

2023-07-26 06:59:08 +00:00
import cache from 'lib/cache';
2024-01-30 08:10:25 +00:00
import { getSession, getUser, getWebsite } from 'queries';
2023-07-26 06:59:08 +00:00
import { User, Website, Session } from '@prisma/client';
export async function loadWebsite(websiteId: string): Promise<Website> {
let website;
if (cache.enabled) {
website = await cache.fetchWebsite(websiteId);
} else {
2024-01-30 08:10:25 +00:00
website = await getWebsite(websiteId);
2023-07-26 06:59:08 +00:00
}
if (!website || website.deletedAt) {
return null;
}
return website;
}
export async function loadSession(sessionId: string): Promise<Session> {
let session;
if (cache.enabled) {
session = await cache.fetchSession(sessionId);
} else {
2023-07-30 05:03:34 +00:00
session = await getSession(sessionId);
2023-07-26 06:59:08 +00:00
}
if (!session) {
return null;
}
return session;
}
export async function loadUser(userId: string): Promise<User> {
let user;
if (cache.enabled) {
user = await cache.fetchUser(userId);
} else {
2024-01-30 08:10:25 +00:00
user = await getUser(userId);
2023-07-26 06:59:08 +00:00
}
if (!user || user.deletedAt) {
return null;
}
return user;
}