Replace mysql2 with prisma

also I updated packages,
and properly typed api input
a lot of time was spent, I don't remeber what really I did x3
but everything was related to replacing mysql2 with prisma
This commit is contained in:
Wroclaw 2023-11-08 05:35:48 +01:00
parent be1e3909b6
commit eebf25198d
39 changed files with 1081 additions and 1292 deletions

View file

@ -1,7 +1,22 @@
import { defineEventHandler } from "h3";
import { baaWrapper } from "../clients.get";
import { database } from "~/server/utils/database";
export default defineEventHandler((e) => {
return baaWrapper.RESTdeleteRecord(e);
import { createError } from "#imports";
export default defineEventHandler(async (e) => {
const id = e.context.params?.id as string;
try {
await database.client.delete({
where: {
id: BigInt(id),
},
});
} catch (e) {
// FIXME: should be 500 on errors other than "RecordNotFound"
throw createError({ statusCode: 404 });
}
return null;
});

View file

@ -1,7 +1,18 @@
import { defineEventHandler } from "h3";
import { baaWrapper } from "../clients.get";
import { database } from "~/server/utils/database";
import { prismaToWeb } from "~/server/utils/prismaToWeb";
export default defineEventHandler((e) => {
return baaWrapper.RESTgetRecord(e);
import { createError } from "#imports";
export default defineEventHandler(async (e) => {
const key = e.context.params?.id as string;
const rvalue = await database.client.findUnique({
where: {
id: BigInt(key),
},
});
if (!rvalue) throw createError({ statusCode: 404 });
return prismaToWeb(rvalue);
});

View file

@ -1,8 +1,23 @@
import { defineEventHandler } from "h3";
import { defineEventHandler, readBody } from "h3";
import { checkIsClient } from "../clients.post";
import { baaWrapper } from "../clients.get";
import { database } from "~/server/utils/database";
import { prismaToWeb } from "~/server/utils/prismaToWeb";
export default defineEventHandler((e) => {
return baaWrapper.RESTpatchRecord(e, checkIsClient);
import { createError } from "#imports";
export default defineEventHandler(async (e) => {
const body = await readBody(e);
const id = e.context.params?.id as string;
if (!checkIsClient(body, true)) throw createError({ message: "Invalid body", statusCode: 400 });
const rvalue = await database.client.update({
where: {
id: BigInt(id),
},
data: body,
});
return prismaToWeb(rvalue);
});

View file

@ -1,9 +1,16 @@
import { defineEventHandler } from "h3";
import { baaWrapper } from "~/server/api/orders.get";
import { getOrders } from "~/server/api/orders.get";
import { prismaToWeb } from "~/server/utils/prismaToWeb";
import getPaginatedParameters from "~/server/utils/baaPageParsing";
export default defineEventHandler(async (e) => {
const baa = await baaWrapper.RESTget(e, 50, 200, "`client` = ?", [e.context.params?.id]);
console.log(baa);
return baa;
export default defineEventHandler((e) => {
const pageParameters = getPaginatedParameters(e, 50, 200);
const clientId = e.context.params?.id as string;
return getOrders(
pageParameters,
{
clientId: BigInt(clientId),
},
).then(prismaToWeb);
});

View file

@ -1,7 +1,9 @@
import { defineEventHandler } from "h3";
import { baaWrapper } from "../clients.get";
import { database } from "~/server/utils/database";
export default defineEventHandler((e) => {
return baaWrapper.RESTrecordCount(e);
export default defineEventHandler(async (e) => {
return {
count: await database.client.count({}),
};
});