OverviewFilesCommitsIssuesDocsReleasesPeers

keet-cli / keet-core-4.14.4-pretty / schema / api / core / room.js

306 lines · javascript ref:
const {
  createRequest: e,
  createResponse: r,
  createWant: t,
  createUnwant: i,
} = require("../common.js")
module.exports = function (m) {
  ;(m.register({
    name: "create-room-request",
    fields: e([
      { name: "config", type: "@keet/room-config" },
      { name: "settings", type: "@keet/system-settings" },
    ]),
  }),
    m.register({
      name: "create-room-response",
      fields: r([{ name: "roomKey", type: "@keet/room-key" }]),
    }),
    m.register({
      name: "activate-room-request",
      fields: e([{ name: "roomKey", type: "@keet/room-key", required: !0 }]),
    }),
    m.register({
      name: "deactivate-room-request",
      fields: e([{ name: "roomKey", type: "@keet/room-key", required: !0 }]),
    }),
    m.register({
      name: "leave-room-request",
      fields: e([{ name: "roomKey", type: "@keet/room-key", required: !0 }]),
    }),
    m.register({ name: "leave-room-response", fields: r() }),
    m.register({
      name: "update-room-config-request",
      fields: e([
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "key", type: "uint", required: !0 },
        { name: "config", type: "@keet/room-config", required: !0 },
      ]),
    }),
    m.register({
      name: "update-room-settings-request",
      fields: e([
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "key", type: "uint", required: !0 },
        { name: "settings", type: "@keet/system-settings", required: !0 },
      ]),
    }),
    m.register({
      name: "update-room-status-request",
      fields: e([
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "key", type: "uint", required: !0 },
        { name: "status", type: "@keet-private-id/room-status", required: !0 },
      ]),
    }),
    m.register({
      name: "add-chat-message-request",
      fields: e([
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "message", type: "@keet/oplog-message", required: !0 },
      ]),
    }),
    m.register({ name: "add-chat-message-response", fields: r() }),
    m.register({
      name: "edit-chat-message-request",
      fields: e([
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "id", type: "@keet/oplog-id", required: !0 },
        { name: "message", type: "@keet/oplog-message", required: !0 },
      ]),
    }),
    m.register({ name: "edit-chat-message-response", fields: r() }),
    m.register({
      name: "remove-chat-message-request",
      fields: e([
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "id", type: "@keet/oplog-id", required: !0 },
      ]),
    }),
    m.register({ name: "remove-chat-message-response", fields: r() }),
    m.register({
      name: "add-chat-reaction-request",
      fields: e([
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "id", type: "@keet/oplog-id", required: !0 },
        { name: "reaction", type: "string", required: !0 },
      ]),
    }),
    m.register({ name: "add-chat-reaction-response", fields: r() }),
    m.register({
      name: "remove-chat-reaction-request",
      fields: e([
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "id", type: "@keet/oplog-id", required: !0 },
        { name: "reaction", type: "string", required: !0 },
      ]),
    }),
    m.register({ name: "remove-chat-reaction-response", fields: r() }),
    m.register({
      name: "want-lobby",
      fields: t([
        { name: "start", type: "uint", required: !0 },
        { name: "end", type: "uint", required: !0 },
      ]),
    }),
    m.register({ name: "unwant-lobby", fields: i() }),
    m.register({
      name: "want-room-info",
      fields: t([{ name: "keys", type: "@keet/room-key", array: !0, required: !0 }]),
    }),
    m.register({
      name: "want-chat",
      fields: t([
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "start", type: "uint" },
        { name: "size", type: "uint" },
        { name: "isBottom", type: "bool" },
      ]),
    }),
    m.register({ name: "unwant-chat", fields: i() }),
    m.register({
      name: "want-members",
      fields: t([
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "offset", type: "@keet/member-key" },
        { name: "count", type: "uint" },
      ]),
    }),
    m.register({ name: "unwant-members", fields: i() }),
    m.register({
      name: "lobby-record",
      compact: !0,
      fields: [
        { name: "timestamp", type: "uint", required: !0 },
        { name: "id", type: "@keet/room-key", required: !0 },
      ],
    }),
    m.register({ name: "lobby-record-change-type", enum: ["Changed", "Removed"] }),
    m.register({
      name: "lobby",
      fields: [
        { name: "keys", type: "@keet/room-key", array: !0, required: !0 },
        { name: "start", type: "uint", required: !0 },
        { name: "end", type: "uint", required: !0 },
        { name: "total", type: "uint", required: !0 },
      ],
    }),
    m.register({
      name: "lobby-room",
      fields: [
        { name: "type", type: "@api/core/lobby-record-change-type", required: !0 },
        { name: "room", type: "@api/core/lobby-record", required: !0 },
      ],
    }),
    m.register({
      name: "room-role",
      fields: [
        { name: "device", type: "@local/room-status", required: !0 },
        { name: "member", type: "@keet/member-status" },
      ],
    }),
    m.register({
      name: "room-info",
      fields: [
        { name: "id", type: "@keet/room-key", required: !0 },
        { name: "role", type: "@api/core/room-role", required: !0 },
        { name: "digest", type: "@keet/system-digest", required: !0 },
        { name: "config", type: "@keet/room-config", required: !0 },
        { name: "messageId", type: "@keet/oplog-id" },
      ],
    }),
    m.register({
      name: "room-info-status",
      fields: [
        { name: "id", type: "@keet/room-key", required: !0 },
        { name: "status", type: "@local/room-status", required: !0 },
      ],
    }),
    m.register({
      name: "room-info-digest",
      fields: [
        { name: "id", type: "@keet/room-key", required: !0 },
        { name: "digest", type: "@keet/system-digest", required: !0 },
      ],
    }),
    m.register({
      name: "room-info-config",
      fields: [
        { name: "id", type: "@keet/room-key", required: !0 },
        { name: "config", type: "@keet/room-config", required: !0 },
      ],
    }),
    m.register({
      name: "room-info-role",
      fields: [
        { name: "id", type: "@keet/room-key", required: !0 },
        { name: "role", type: "@api/core/room-role" },
      ],
    }),
    m.register({
      name: "room-info-last-message",
      fields: [
        { name: "id", type: "@keet/room-key", required: !0 },
        { name: "lastMessage", type: "@keet/oplog-id", required: !0 },
      ],
    }),
    m.register({
      name: "member",
      fields: [
        { name: "key", type: "@keet/member-key", required: !0 },
        { name: "profile", type: "@keet/member-profile", required: !0 },
      ],
    }),
    m.register({
      name: "device",
      fields: [
        { name: "key", type: "@keet/device-key", required: !0 },
        { name: "status", type: "@keet/device-status", required: !0 },
        { name: "profile", type: "@keet/device-profile", required: !0 },
      ],
    }),
    m.register({
      name: "member-list-add",
      fields: [
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "key", type: "@keet/member-key", required: !0 },
      ],
    }),
    m.register({
      name: "member-list-remove",
      fields: [
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "key", type: "@keet/member-key", required: !0 },
      ],
    }),
    m.register({
      name: "chat-reset",
      fields: [
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "start", type: "uint", required: !0 },
        { name: "size", type: "uint", required: !0 },
        { name: "total", type: "uint", required: !0 },
        { name: "ids", type: "@keet/oplog-id", required: !0, array: !0 },
        { name: "isBottom", type: "bool" },
      ],
    }),
    m.register({
      name: "message-timestamps",
      fields: [
        { name: "sent", type: "uint", required: !0 },
        { name: "edited", type: "uint" },
      ],
    }),
    m.register({
      name: "message",
      fields: [
        { name: "id", type: "@keet/oplog-id", required: !0 },
        { name: "clock", type: "uint", required: !0 },
        { name: "timestamps", type: "@api/core/message-timestamps", required: !0 },
        { name: "status", type: "@keet/message-status", required: !0 },
        { name: "message", type: "@keet/index-message" },
        { name: "event", type: "@keet/chat-event" },
      ],
    }),
    m.register({
      name: "message-info",
      fields: [
        { name: "chat", type: "@api/core/message", required: !0 },
        { name: "memberKey", type: "@keet/member-key", required: !0 },
        { name: "role", type: "@keet/member-status", required: !0 },
      ],
    }),
    m.register({
      name: "message-info-chat",
      fields: [{ name: "chat", type: "@api/core/message", required: !0 }],
    }),
    m.register({
      name: "message-info-member",
      fields: [
        { name: "ids", type: "@keet/oplog-id", array: !0, required: !0 },
        { name: "memberKey", type: "@keet/member-key", required: !0 },
      ],
    }),
    m.register({
      name: "message-info-role",
      fields: [
        { name: "ids", type: "@keet/oplog-id", array: !0, required: !0 },
        { name: "role", type: "@keet/member-status", required: !0 },
      ],
    }),
    m.register({
      name: "message-info-reactions",
      fields: [
        { name: "id", type: "@keet/oplog-id", required: !0 },
        { name: "reactions", type: "@keet/reactions-digest", required: !0 },
      ],
    }),
    m.register({
      name: "reactions",
      fields: [
        { name: "id", type: "@keet/oplog-id", required: !0 },
        { name: "digest", type: "@keet/reactions-digest", required: !0 },
      ],
    }))
}