This repository has been archived on 2024-10-29. You can view files and clone it, but cannot push or open issues or pull requests.
website/models/Channel.ts
2022-08-31 21:44:33 +02:00

26 lines
717 B
TypeScript

import type { Static } from '@sinclair/typebox'
import { Type } from '@sinclair/typebox'
import { date, id } from './utils'
export const channelSchema = {
id,
name: Type.String({ minLength: 1, maxLength: 20 }),
createdAt: date.createdAt,
updatedAt: date.updatedAt,
guildId: id
}
const channelObjectSchema = Type.Object(channelSchema)
export type Channel = Static<typeof channelObjectSchema>
export const channelWithDefaultChannelIdSchema = {
...channelSchema,
defaultChannelId: channelSchema.id
}
export const channelWithDefaultChannelObjectSchema = Type.Object(
channelWithDefaultChannelIdSchema
)
export type ChannelWithDefaultChannelId = Static<
typeof channelWithDefaultChannelObjectSchema
>