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 },
],
}))
}