Database refactoring.

This commit is contained in:
Mike Cao 2022-08-27 21:38:35 -07:00
parent bb184dc2cc
commit 467c7f289f
37 changed files with 566 additions and 591 deletions

View file

@ -1,30 +1,28 @@
import { prisma, runQuery } from 'lib/relational';
import prisma from 'lib/prisma';
import redis from 'lib/redis';
export async function deleteWebsite(website_id) {
return runQuery(
prisma
.$transaction([
prisma.pageview.deleteMany({
where: { session: { website: { website_id } } },
}),
prisma.event_data.deleteMany({
where: { event: { session: { website: { website_id } } } },
}),
prisma.event.deleteMany({
where: { session: { website: { website_id } } },
}),
prisma.session.deleteMany({
where: { website: { website_id } },
}),
prisma.website.delete({
where: { website_id },
}),
])
.then(async res => {
if (process.env.REDIS_URL) {
await redis.del(`website:${res.website_uuid}`);
}
}),
);
const { client, multiQuery } = prisma;
return multiQuery([
client.pageview.deleteMany({
where: { session: { website: { website_id } } },
}),
client.event_data.deleteMany({
where: { event: { session: { website: { website_id } } } },
}),
client.event.deleteMany({
where: { session: { website: { website_id } } },
}),
client.session.deleteMany({
where: { website: { website_id } },
}),
client.website.delete({
where: { website_id },
}),
]).then(async res => {
if (process.env.REDIS_URL) {
await redis.del(`website:${res.website_uuid}`);
}
});
}