41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import type { Context } from "koa";
|
|
import { formatDate } from "date-fns";
|
|
import { uuidv7 } from "uuidv7";
|
|
|
|
export async function today(ctx: Context) {
|
|
const date = new Date();
|
|
const day = formatDate(date, "P");
|
|
|
|
const resp = await fetch("http://localhost:3000/node/sql", {
|
|
method: "POST",
|
|
headers: { "Content-Type": "application/json" },
|
|
body: JSON.stringify({
|
|
query: `
|
|
select * from node_has_attribute as na
|
|
join attribute as a on na.attrName = a.name
|
|
where a.name = 'day' and na.string = '${day}';
|
|
`,
|
|
parameters: [],
|
|
}),
|
|
});
|
|
|
|
const { rows } = await resp.json();
|
|
if (rows.length === 0) {
|
|
const id = uuidv7();
|
|
const resp = await fetch("http://localhost:3000/node/sql", {
|
|
method: "POST",
|
|
headers: { "Content-Type": "application/json" },
|
|
body: JSON.stringify({
|
|
query: `
|
|
begin transaction;
|
|
insert into node (id) values (?);
|
|
end transaction;
|
|
`,
|
|
parameters: [id],
|
|
}),
|
|
});
|
|
const data = await resp.json();
|
|
console.log("Result", data);
|
|
}
|
|
ctx.body = {};
|
|
}
|