hippofish/packages/backend/src/server/api/endpoints/charts/users.ts
ThatOneCalculator abf47e54f3
clean up w/ rome
2023-01-16 11:19:20 -08:00

31 lines
772 B
TypeScript

import { getJsonSchema } from "@/services/chart/core.js";
import { usersChart } from "@/services/chart/index.js";
import define from "../../define.js";
export const meta = {
tags: ["charts", "users"],
requireCredentialPrivateMode: true,
res: getJsonSchema(usersChart.schema),
allowGet: true,
cacheSec: 60 * 60,
} as const;
export const paramDef = {
type: "object",
properties: {
span: { type: "string", enum: ["day", "hour"] },
limit: { type: "integer", minimum: 1, maximum: 500, default: 30 },
offset: { type: "integer", nullable: true, default: null },
},
required: ["span"],
} as const;
export default define(meta, paramDef, async (ps) => {
return await usersChart.getChart(
ps.span,
ps.limit,
ps.offset ? new Date(ps.offset) : null,
);
});