iceshrimp-legacy/packages/backend/src/server/api/endpoints/charts/instance.ts
ThatOneCalculator 7c2dabd047
no more eslint
2023-01-12 20:54:33 -08:00

35 lines
820 B
TypeScript

import { getJsonSchema } from "@/services/chart/core.js";
import { instanceChart } from "@/services/chart/index.js";
import define from "../../define.js";
export const meta = {
tags: ["charts"],
requireCredentialPrivateMode: true,
res: getJsonSchema(instanceChart.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 },
host: { type: "string" },
},
required: ["span", "host"],
} as const;
export default define(meta, paramDef, async (ps) => {
return await instanceChart.getChart(
ps.span,
ps.limit,
ps.offset ? new Date(ps.offset) : null,
ps.host,
);
});