OverviewFilesCommitsIssuesDocsReleasesPeers

keet-deobfuscated / @holepunchto / keet-media / shared / spec / schema.js

119 lines · javascript ref:
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" },
    ],
  }))