Files
ncd-fe/packages/pl-api/lib/entities/antenna.ts
mkljczk d9c38d38f4 pl-api: allow to favourite lists
Signed-off-by: mkljczk <git@mkljczk.pl>
2024-12-22 20:28:59 +01:00

36 lines
803 B
TypeScript

import * as v from 'valibot';
import { type List, listSchema } from './list';
const baseAntennaSchema = v.object({
id: v.string(),
title: v.string(),
with_media_only: v.boolean(),
ignore_reblog: v.boolean(),
stl: v.boolean(),
ltl: v.boolean(),
insert_feeds: v.boolean(),
accounts_count: v.number(),
domains_count: v.number(),
tags_count: v.number(),
keywords_count: v.number(),
favourite: v.boolean(),
});
/**
* @category Schemas
*/
const antennaSchema: v.BaseSchema<any, Antenna, v.BaseIssue<unknown>> = v.object({
...baseAntennaSchema.entries,
list: v.fallback(v.nullable(v.lazy(() => listSchema)), null),
});
/**
* @category Entity types
*/
type Antenna = v.InferOutput<typeof baseAntennaSchema> & {
list: List | null;
}
export { antennaSchema, type Antenna };