move queries

This commit is contained in:
Brian Cao 2022-07-12 14:14:36 -07:00
parent 910f165103
commit 8aec6d7406
53 changed files with 920 additions and 485 deletions

View file

@ -0,0 +1,10 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function createAccount(data) {
return runQuery(
prisma.account.create({
data,
}),
);
}

View file

@ -0,0 +1,12 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function deleteAccount(user_id) {
return runQuery(
prisma.account.delete({
where: {
user_id,
},
}),
);
}

View file

@ -0,0 +1,12 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function getAccountById(user_id) {
return runQuery(
prisma.account.findUnique({
where: {
user_id,
},
}),
);
}

View file

@ -0,0 +1,12 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function getAccountByUsername(username) {
return runQuery(
prisma.account.findUnique({
where: {
username,
},
}),
);
}

View file

@ -0,0 +1,22 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function getAccounts() {
return runQuery(
prisma.account.findMany({
orderBy: [
{ is_admin: 'desc' },
{
username: 'asc',
},
],
select: {
user_id: true,
username: true,
is_admin: true,
created_at: true,
updated_at: true,
},
}),
);
}

View file

@ -0,0 +1,13 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function updateAccount(user_id, data) {
return runQuery(
prisma.account.update({
where: {
user_id,
},
data,
}),
);
}

33
queries/admin/index.js Normal file
View file

@ -0,0 +1,33 @@
import { createAccount } from './account/createAccount';
import { deleteAccount } from './account/deleteAccount';
import { getAccountById } from './account/getAccountById';
import { getAccountByUsername } from './account/getAccountByUsername';
import { getAccounts } from './account/getAccounts';
import { updateAccount } from './account/updateAccount';
import { createWebsite } from './website/createWebsite';
import { deleteWebsite } from './website/deleteWebsite';
import { getAllWebsites } from './website/getAllWebsites';
import { getUserWebsites } from './website/getUserWebsites';
import { getWebsiteById } from './website/getWebsiteById';
import { getWebsiteByShareId } from './website/getWebsiteByShareId';
import { getWebsiteByUuid } from './website/getWebsiteByUuid';
import { resetWebsite } from './website/resetWebsite';
import { updateWebsite } from './website/updateWebsite';
export default {
createWebsite,
deleteWebsite,
getAllWebsites,
getUserWebsites,
getWebsiteById,
getWebsiteByShareId,
getWebsiteByUuid,
resetWebsite,
updateWebsite,
createAccount,
deleteAccount,
getAccountById,
getAccountByUsername,
getAccounts,
updateAccount,
};

View file

@ -0,0 +1,17 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function createWebsite(user_id, data) {
return runQuery(
prisma.website.create({
data: {
account: {
connect: {
user_id,
},
},
...data,
},
}),
);
}

View file

@ -0,0 +1,12 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function deleteWebsite(website_id) {
return runQuery(
prisma.website.delete({
where: {
website_id,
},
}),
);
}

View file

@ -0,0 +1,25 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function getAllWebsites() {
let data = await runQuery(
prisma.website.findMany({
orderBy: [
{
user_id: 'asc',
},
{
name: 'asc',
},
],
include: {
account: {
select: {
username: true,
},
},
},
}),
);
return data.map(i => ({ ...i, account: i.account.username }));
}

View file

@ -0,0 +1,15 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function getUserWebsites(user_id) {
return runQuery(
prisma.website.findMany({
where: {
user_id,
},
orderBy: {
name: 'asc',
},
}),
);
}

View file

@ -0,0 +1,12 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function getWebsiteById(website_id) {
return runQuery(
prisma.website.findUnique({
where: {
website_id,
},
}),
);
}

View file

@ -0,0 +1,12 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function getWebsiteByShareId(share_id) {
return runQuery(
prisma.website.findUnique({
where: {
share_id,
},
}),
);
}

View file

@ -0,0 +1,12 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function getWebsiteByUuid(website_uuid) {
return runQuery(
prisma.website.findUnique({
where: {
website_uuid,
},
}),
);
}

View file

@ -0,0 +1,6 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function resetWebsite(website_id) {
return runQuery(prisma.$queryRaw`delete from session where website_id=${website_id}`);
}

View file

@ -0,0 +1,13 @@
import { runQuery } from 'queries';
import prisma from 'lib/db';
export async function updateWebsite(website_id, data) {
return runQuery(
prisma.website.update({
where: {
website_id,
},
data,
}),
);
}