24 lines
493 B
TypeScript
24 lines
493 B
TypeScript
import { Type } from '@sinclair/typebox'
|
|
|
|
import { date, id } from './utils'
|
|
|
|
export const types = [Type.Literal('text'), Type.Literal('file')]
|
|
|
|
export const messageSchema = {
|
|
id,
|
|
value: Type.String({
|
|
minLength: 1,
|
|
maxLength: 20_000
|
|
}),
|
|
type: Type.Union(types, { default: 'text' }),
|
|
mimetype: Type.String({
|
|
maxLength: 127,
|
|
default: 'text/plain',
|
|
format: 'mimetype'
|
|
}),
|
|
createdAt: date.createdAt,
|
|
updatedAt: date.updatedAt,
|
|
memberId: id,
|
|
channelId: id
|
|
}
|