import e from "hyperschema"
import { SCHEMA_DIR as a } from "./constants"
export const schema = e.from(a)
const t = schema.namespace("media")
;(t.register({
name: "dimensions",
fields: [
{ name: "width", type: "uint", required: !0 },
{ name: "height", type: "uint", required: !0 },
],
}),
t.register({
name: "metadata",
fields: [
{ name: "mimetype", type: "string" },
{ name: "dimensions", type: "@media/dimensions" },
{ name: "duration", type: "uint" },
],
}),
t.register({
name: "file",
fields: [
{ name: "metadata", type: "@media/metadata" },
{ name: "base64", type: "string" },
{ name: "buffer", type: "buffer" },
],
}),
t.register({
name: "crop",
fields: [
{ name: "left", type: "uint" },
{ name: "top", type: "uint" },
{ name: "width", type: "uint" },
{ name: "height", type: "uint" },
],
}),
t.register({
name: "create-chat-image-preview-request",
fields: [
{ name: "path", type: "string" },
{ name: "sizes", type: "string", array: !0 },
],
}),
t.register({
name: "create-chat-image-preview-response",
fields: [
{ name: "metadata", type: "@media/metadata", required: !0 },
{ name: "small", type: "@media/file" },
{ name: "medium", type: "@media/file" },
{ name: "large", type: "@media/file" },
],
}),
t.register({
name: "create-chat-video-preview-request",
fields: [
{ name: "path", type: "string" },
{ name: "sizes", type: "string", array: !0 },
],
}),
t.register({
name: "create-chat-video-preview-response",
fields: [
{ name: "metadata", type: "@media/metadata", required: !0 },
{ name: "small", type: "@media/file" },
{ name: "medium", type: "@media/file" },
{ name: "large", type: "@media/file" },
],
}),
t.register({
name: "create-chat-link-preview-request",
fields: [
{ name: "path", type: "string" },
{ name: "buffer", type: "buffer" },
],
}),
t.register({
name: "create-chat-link-preview-response",
fields: [
{ name: "metadata", type: "@media/metadata" },
{ name: "buffer", type: "buffer" },
],
}),
t.register({
name: "create-profile-avatar-request",
fields: [
{ name: "path", type: "string" },
{ name: "crop", type: "@media/crop" },
],
}),
t.register({
name: "create-profile-avatar-response",
fields: [
{ name: "small", type: "@media/file", required: !0 },
{ name: "medium", type: "@media/file", required: !0 },
],
}),
t.register({
name: "create-room-avatar-request",
fields: [
{ name: "path", type: "string" },
{ name: "crop", type: "@media/crop" },
],
}),
t.register({
name: "create-room-avatar-response",
fields: [
{ name: "small", type: "@media/file", required: !0 },
{ name: "medium", type: "@media/file", required: !0 },
],
}),
t.register({ name: "decode-image-request", fields: [{ name: "httpLink", type: "string" }] }),
t.register({
name: "decode-image-response",
fields: [
{ name: "metadata", type: "@media/metadata" },
{ name: "data", type: "buffer" },
],
}))