2023-01-13 05:40:33 +01:00
|
|
|
import { getJsonSchema } from "@/services/chart/core.js";
|
|
|
|
import { usersChart } from "@/services/chart/index.js";
|
|
|
|
import define from "../../define.js";
|
2018-10-21 02:20:11 +02:00
|
|
|
|
|
|
|
export const meta = {
|
2023-01-13 05:40:33 +01:00
|
|
|
tags: ["charts", "users"],
|
2021-07-20 20:51:59 +02:00
|
|
|
requireCredentialPrivateMode: true,
|
2019-02-23 03:20:58 +01:00
|
|
|
|
2022-02-19 06:05:32 +01:00
|
|
|
res: getJsonSchema(usersChart.schema),
|
2022-06-25 11:26:31 +02:00
|
|
|
|
|
|
|
allowGet: true,
|
|
|
|
cacheSec: 60 * 60,
|
2022-02-19 06:05:32 +01:00
|
|
|
} as const;
|
2020-03-06 17:04:36 +01:00
|
|
|
|
2022-02-20 05:15:40 +01:00
|
|
|
export const paramDef = {
|
2023-01-13 05:40:33 +01:00
|
|
|
type: "object",
|
2022-02-19 06:05:32 +01:00
|
|
|
properties: {
|
2023-01-13 05:40:33 +01:00
|
|
|
span: { type: "string", enum: ["day", "hour"] },
|
|
|
|
limit: { type: "integer", minimum: 1, maximum: 500, default: 30 },
|
|
|
|
offset: { type: "integer", nullable: true, default: null },
|
2019-02-23 03:20:58 +01:00
|
|
|
},
|
2023-01-13 05:40:33 +01:00
|
|
|
required: ["span"],
|
2022-01-18 14:27:10 +01:00
|
|
|
} as const;
|
2018-10-21 02:20:11 +02:00
|
|
|
|
2022-02-19 06:05:32 +01:00
|
|
|
export default define(meta, paramDef, async (ps) => {
|
2023-01-13 05:40:33 +01:00
|
|
|
return await usersChart.getChart(
|
|
|
|
ps.span,
|
|
|
|
ps.limit,
|
|
|
|
ps.offset ? new Date(ps.offset) : null,
|
|
|
|
);
|
2019-02-22 03:46:58 +01:00
|
|
|
});
|