bigbuffet-rw/packages/pl-api/lib/entities/admin/ip-block.ts

27 lines
640 B
TypeScript
Raw Normal View History

import * as v from 'valibot';
import { datetimeSchema } from '../utils';
/**
* @category Admin schemas
* @see {@link https://docs.joinmastodon.org/entities/Admin_IpBlock/}
*/
const adminIpBlockSchema = v.object({
id: v.string(),
ip: v.pipe(v.string(), v.ip()),
severity: v.picklist(['sign_up_requires_approval', 'sign_up_block', 'no_access']),
comment: v.fallback(v.string(), ''),
created_at: datetimeSchema,
expires_at: v.fallback(v.nullable(datetimeSchema), null),
});
/**
* @category Admin types
*/
type AdminIpBlock = v.InferOutput<typeof adminIpBlockSchema>;
export {
adminIpBlockSchema,
type AdminIpBlock,
};