Files
ncd-fe/packages/pl-api/lib/entities/admin/cohort.ts
Nicole Mikołajczyk c634684dbd pl-fe: steal more dashboard code from mastodon
Signed-off-by: Nicole Mikołajczyk <git@mkljczk.pl>
2025-04-28 20:37:16 +02:00

28 lines
579 B
TypeScript

import * as v from 'valibot';
import { datetimeSchema } from '../utils';
/**
* @category Admin schemas
* @see {@link https://docs.joinmastodon.org/entities/Admin_Cohort/}
*/
const adminCohortSchema = v.object({
period: datetimeSchema,
frequency: v.picklist(['day', 'month']),
data: v.array(v.object({
date: datetimeSchema,
rate: v.number(),
value: v.pipe(v.unknown(), v.transform(Number)),
})),
});
/**
* @category Admin entity types
*/
type AdminCohort = v.InferOutput<typeof adminCohortSchema>;
export {
adminCohortSchema,
type AdminCohort,
};