factor out common api code
This commit is contained in:
parent
1e63e008af
commit
67cad656d5
7 changed files with 239 additions and 201 deletions
|
@ -1,17 +1,7 @@
|
|||
/* global defineEventHandler, createError */
|
||||
import { ResultSetHeader } from "mysql2";
|
||||
/* global defineEventHandler */
|
||||
|
||||
import { database } from "~/server/utils/database";
|
||||
import { baaWrapper } from "../clients.get";
|
||||
|
||||
export default defineEventHandler(async (e) => {
|
||||
const id = e.context.params?.id as string;
|
||||
|
||||
const [result] = await database.query(
|
||||
"DELETE FROM `clients` WHERE `id` = ?",
|
||||
[id],
|
||||
) as unknown as [ResultSetHeader];
|
||||
|
||||
if (result.affectedRows === 0) throw createError({ statusCode: 404 });
|
||||
|
||||
return null;
|
||||
export default defineEventHandler((e) => {
|
||||
return baaWrapper.RESTdeleteRecord(e);
|
||||
});
|
||||
|
|
|
@ -1,20 +1,7 @@
|
|||
/* global defineEventHandler, createError */
|
||||
/* global defineEventHandler */
|
||||
|
||||
import { database, data } from "~/server/utils/database";
|
||||
import { client } from "~/utils/types/database";
|
||||
import { baaWrapper } from "../clients.get";
|
||||
|
||||
export default defineEventHandler(async (e) => {
|
||||
const id = e.context.params?.id;
|
||||
const [data] = await database.query(
|
||||
"SELECT *, CONVERT(`id`, CHAR) AS `id` FROM `clients` WHERE `id` = ?",
|
||||
[id],
|
||||
) as unknown as data<client>;
|
||||
|
||||
if (!data[0]) {
|
||||
throw createError({
|
||||
statusCode: 404,
|
||||
});
|
||||
}
|
||||
|
||||
return data[0];
|
||||
export default defineEventHandler((e) => {
|
||||
return baaWrapper.RESTgetRecord(e);
|
||||
});
|
||||
|
|
|
@ -1,36 +1,8 @@
|
|||
/* global defineEventHandler, readBody, createError */
|
||||
|
||||
import { ResultSetHeader } from "mysql2";
|
||||
/* global defineEventHandler */
|
||||
|
||||
import { checkIsClient } from "../clients.post";
|
||||
import { client } from "~/utils/types/database";
|
||||
import { database, data } from "~/server/utils/database";
|
||||
import { baaWrapper } from "../clients.get";
|
||||
|
||||
export default defineEventHandler(async (e) => {
|
||||
const body = await readBody(e);
|
||||
const id = e.context.params?.id as string;
|
||||
|
||||
if (!checkIsClient(body, false)) return; // checkIsClient already throws an detailed error
|
||||
|
||||
for (const [k, v] of Object.entries(body)) {
|
||||
const [res] = await database.query(
|
||||
// I believe it is safe to put key in the template
|
||||
// because it is limited to 4 values here
|
||||
`UPDATE \`clients\` SET \`${k}\` = ? WHERE \`id\` = ?`,
|
||||
[v, id],
|
||||
) as unknown as [ResultSetHeader];
|
||||
|
||||
if (res.affectedRows !== 1) {
|
||||
throw createError({
|
||||
statusCode: 404,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const [data] = await database.query(
|
||||
"SELECT *, CONVERT(`id`, CHAR) AS `id` FROM `clients` WHERE `id` = ?",
|
||||
[id],
|
||||
) as unknown as data<client>;
|
||||
|
||||
return data[0];
|
||||
export default defineEventHandler((e) => {
|
||||
return baaWrapper.RESTpatchRecord(e, checkIsClient);
|
||||
});
|
||||
|
|
|
@ -1,12 +1,7 @@
|
|||
/* global defineEventHandler, createError */
|
||||
/* global defineEventHandler */
|
||||
|
||||
import { database, data } from "~/server/utils/database";
|
||||
import { baaWrapper } from "../clients.get";
|
||||
|
||||
export default defineEventHandler(async (e) => {
|
||||
const [[data]] = await database.query(
|
||||
"SELECT COUNT(*) as `count` FROM `clients`",
|
||||
) as unknown as data<{count: number}>;
|
||||
|
||||
if (!data) throw createError("Database returned no rows");
|
||||
return data;
|
||||
export default defineEventHandler((e) => {
|
||||
return baaWrapper.RESTrecordCount(e);
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue