const e = require("path")
module.exports = function (t) {
const i = t.namespace("keet")
;(i.require(e.join(__dirname, "../../../lib/core/hyperdb/contract/keet.js")),
i.collections.register({ name: "system-digest", schema: "@keet/system-digest", key: [] }),
i.collections.register({ name: "blind-peers", schema: "@keet/blind-peer", key: ["key"] }),
i.collections.register({ name: "room-config", schema: "@keet/room-config", key: [] }),
i.collections.register({ name: "room-capabilities", schema: "@keet/room-seed", key: [] }),
i.collections.register({
name: "join-requests",
schema: "@keet/join-request",
key: ["deviceKey"],
}),
i.collections.register({
name: "devices",
schema: "@keet/device",
key: ["key"],
trigger: "devicesTrigger",
}),
i.indexes.register({
name: "devices-by-member-key",
collection: "@keet/devices",
key: ["memberKey"],
}),
i.indexes.register({
name: "devices-by-swarm-key",
collection: "@keet/devices",
key: ["profile.swarmKey"],
unique: !0,
}),
i.indexes.register({
name: "active-devices-by-member-key",
collection: "@keet/devices",
key: {
type: { fields: [{ name: "memberKey", type: "@keet/member-key" }] },
map: "activeDevicesByMemberKeyMap",
},
}),
i.indexes.register({
name: "active-devices",
collection: "@keet/devices",
unique: !0,
key: {
type: { fields: [{ name: "key", type: "@keet/device-key" }] },
map: "activeDevicesMap",
},
}),
i.collections.register({ name: "member-proofs", schema: "@keet/member-proofs", key: ["key"] }),
i.collections.register({
name: "members",
schema: "@keet/member",
key: ["key"],
trigger: "membersTrigger",
}),
i.indexes.register({
name: "moderators",
collection: "@keet/members",
unique: !0,
key: { type: { fields: [{ name: "key", type: "@keet/member-key" }] }, map: "moderatorsMap" },
}),
i.indexes.register({
name: "admins",
collection: "@keet/members",
unique: !0,
key: { type: { fields: [{ name: "key", type: "@keet/member-key" }] }, map: "adminsMap" },
}),
i.indexes.register({
name: "active-members",
collection: "@keet/members",
unique: !0,
key: {
type: { fields: [{ name: "key", type: "@keet/member-key" }] },
map: "activeMembersMap",
},
}),
i.indexes.register({
name: "muted-members",
collection: "@keet/members",
unique: !0,
key: {
type: { fields: [{ name: "key", type: "@keet/member-key" }] },
map: "mutedMembersMap",
},
}),
i.indexes.register({
name: "members-by-member-name",
collection: "@keet/members",
key: { type: { fields: [{ name: "name", type: "string" }] }, map: "membersByMemberNameMap" },
}),
i.collections.register({
name: "member-activity",
schema: "@keet/member-activity",
key: ["key"],
}),
i.collections.register({ name: "invitations", schema: "@keet/invitation", key: ["id"] }),
i.collections.register({ name: "threads", schema: "@keet/thread", key: ["id"] }),
i.indexes.register({
name: "threads-by-parent",
collection: "@keet/threads",
unique: !0,
key: {
type: {
fields: [
{ name: "key", type: "@keet/member-key" },
{ name: "seq", type: "uint" },
],
},
map: "threadsByParentMap",
},
}),
i.collections.register({
name: "chat",
schema: "@keet/chat-message-record",
key: ["id.thread", "id.index"],
trigger: "chatTrigger",
}),
i.indexes.register({
name: "chat-by-message-id",
collection: "@keet/chat",
key: ["oplog.key", "oplog.seq"],
unique: !0,
}),
i.indexes.register({
name: "chat-mentions-by-member-id",
collection: "@keet/chat",
key: {
type: {
fields: [
{ name: "key", type: "@keet/member-key" },
{ name: "clock", type: "uint" },
],
},
map: "chatMentionsByMemberIdMap",
},
}),
i.indexes.register({
name: "pinned-chat-messages",
collection: "@keet/chat",
key: {
type: {
fields: [
{ name: "thread", type: "uint" },
{ name: "index", type: "uint" },
],
},
map: "pinnedChatMessagesMap",
},
}),
i.collections.register({
name: "reaction-digests",
schema: "@keet/reactions-digest",
key: ["id.thread", "id.index"],
}),
i.collections.register({
name: "reactions",
schema: "@keet/reaction",
key: ["id.thread", "id.index", "sender", "reaction"],
trigger: "reactionsTrigger",
}),
i.indexes.register({
name: "reactions-by-clock",
collection: "@keet/reactions",
key: ["id.thread", "id.index", "reaction", "clock", "sender"],
}),
i.collections.register({
name: "files",
schema: "@keet/file-record",
key: ["id"],
versionField: "version",
trigger: "filesTrigger",
}),
i.indexes.register({
name: "files-by-message-id",
collection: "@keet/files",
key: ["oplog.key", "oplog.seq"],
}),
i.indexes.register({
name: "files-by-type",
collection: "@keet/files",
key: {
type: {
fields: [
{ name: "type", type: "string" },
{ name: "id", type: "uint" },
],
},
map: "filesByTypeMap",
},
deprecated: !0,
}),
i.indexes.register({
name: "deleted-files",
collection: "@keet/files",
key: { type: { fields: [{ name: "id", type: "uint" }] }, map: "deletedFilesMap" },
deprecated: !0,
}),
i.indexes.register({
name: "files-by-major-type",
collection: "@keet/files",
key: {
type: {
fields: [
{ name: "type", type: "string" },
{ name: "id", type: "uint" },
],
},
map: "filesByMajorTypeMap",
},
}),
i.indexes.register({
name: "active-files",
collection: "@keet/files",
key: { type: { fields: [{ name: "id", type: "uint" }] }, map: "activeFilesMap" },
}),
i.collections.register({
name: "chat-labels",
schema: "@keet/chat-label",
key: ["id.thread", "id.index", "sender", "label"],
trigger: "chatLabelTrigger",
}),
i.collections.register({
name: "chat-label-digests",
schema: "@keet/chat-label-digest",
versionField: "version",
key: ["id.thread", "id.index"],
}),
i.indexes.register({
name: "chat-label-digests-by-clock",
collection: "@keet/chat-label-digests",
key: {
type: {
fields: [
{ name: "label", type: "@keet/label-type" },
{ name: "clock", type: "uint" },
],
},
map: "chatLabelDigestFlagMap",
},
}),
i.collections.register({
name: "member-labels",
schema: "@keet/member-label",
key: ["key", "sender", "label"],
}),
i.collections.register({
name: "member-label-digests",
schema: "@keet/member-label-digest",
key: ["key"],
}),
i.indexes.register({
name: "member-label-digests-by-clock",
collection: "@keet/member-label-digests",
key: {
type: {
fields: [
{ name: "label", type: "@keet/member-label-type" },
{ name: "clock", type: "uint" },
],
},
map: "memberLabelDigestFlagMap",
},
}),
i.collections.register({
name: "read-lengths",
schema: "@keet/read-length",
key: ["memberKey"],
}),
i.collections.register({
name: "test-collection-1",
schema: "@keet/test-collection-record-1",
key: ["key"],
}),
i.collections.register({
name: "tmp-removed-members",
schema: "@keet/tmp-removed-member",
key: ["key"],
}),
i.collections.register({ name: "calls", schema: "@keet/call-record", key: ["callKey"] }),
i.indexes.register({
name: "calls-by-timestamp",
collection: "@keet/calls",
key: ["createdAt"],
}),
i.indexes.register({
name: "active-calls-by-timestamp",
collection: "@keet/calls",
key: { type: { fields: [{ name: "createdAt", type: "uint" }] }, map: "activeCallsMap" },
}),
i.collections.register({
name: "call-members",
schema: "@keet/call-member-record",
key: ["callKey", "memberKey"],
}),
i.collections.register({
name: "call-devices",
schema: "@keet/call-device-record",
key: ["callKey", "deviceKey"],
}),
i.indexes.register({
name: "call-devices-by-member-key",
collection: "@keet/call-devices",
key: ["callKey", "memberKey"],
}),
i.collections.register({
name: "call-streams",
schema: "@keet/call-stream-record",
key: ["callKey", "streamKey"],
}),
i.indexes.register({
name: "call-streams-by-device-key",
collection: "@keet/call-streams",
key: ["callKey", "deviceKey"],
}))
const s = t.namespace("keet-private-id")
;(s.require(e.join(__dirname, "../../../lib/core/hyperdb/contract/keet-private-id.js")),
s.collections.register({ name: "identity", schema: "@keet/room-identity", key: [] }),
s.collections.register({ name: "stats", schema: "@keet-private-id/stats", key: [] }),
s.collections.register({ name: "counters", schema: "@keet-private-id/counters", key: [] }),
s.collections.register({
name: "pending-invitations",
schema: "@keet-private-id/pending-invitation",
key: ["id"],
}),
s.collections.register({
name: "rooms",
schema: "@keet-private-id/room",
key: ["roomKey"],
trigger: "roomsTrigger",
}),
s.indexes.register({
name: "rooms-by-clock",
collection: "@keet-private-id/rooms",
key: ["clock"],
}),
s.indexes.register({
name: "rooms-by-contact",
collection: "@keet-private-id/rooms",
key: {
type: { fields: [{ name: "contact", type: "@keet/member-key" }] },
map: "roomsByContactMap",
},
}),
s.collections.register({
name: "contacts",
schema: "@keet-private-id/contact-record",
key: ["memberKey"],
trigger: "contactsTrigger",
}),
s.indexes.register({
name: "contacts-by-clock",
collection: "@keet-private-id/contacts",
key: ["clock"],
}),
s.collections.register({
name: "contact-requests",
schema: "@keet-private-id/contact-request-record",
key: ["memberKey"],
trigger: "contactRequestsTrigger",
}),
s.indexes.register({
name: "contact-requests-by-clock",
collection: "@keet-private-id/contact-requests",
key: ["clock"],
}),
s.indexes.register({
name: "pending-contact-requests",
collection: "@keet-private-id/contact-requests",
key: {
type: { fields: [{ name: "clock", type: "uint" }] },
map: "pendingContactRequestsMap",
},
}),
s.indexes.register({
name: "accepted-contact-requests",
collection: "@keet-private-id/contact-requests",
key: {
type: { fields: [{ name: "clock", type: "uint" }] },
map: "acceptedContactRequestsMap",
},
}),
s.indexes.register({
name: "rejected-contact-requests",
collection: "@keet-private-id/contact-requests",
key: {
type: { fields: [{ name: "clock", type: "uint" }] },
map: "rejectedContactRequestsMap",
},
}),
s.indexes.register({
name: "discarded-contact-requests",
collection: "@keet-private-id/contact-requests",
key: {
type: { fields: [{ name: "clock", type: "uint" }] },
map: "discardedContactRequestsMap",
},
}),
s.collections.register({
name: "device-identities",
schema: "@keet/device-identity",
key: ["deviceKey"],
}),
s.collections.register({
name: "contact-requests-v2",
schema: "@keet-private-id/contact-request-record",
key: ["memberKey", "keys.key"],
trigger: "contactRequestsTrigger",
}),
s.indexes.register({
name: "contact-requests-by-member",
collection: "@keet-private-id/contact-requests-v2",
key: ["memberKey"],
}),
s.indexes.register({
name: "contact-requests-by-clock-v2",
collection: "@keet-private-id/contact-requests-v2",
key: ["clock"],
}),
s.indexes.register({
name: "pending-contact-requests-v2",
collection: "@keet-private-id/contact-requests-v2",
key: {
type: { fields: [{ name: "clock", type: "uint" }] },
map: "pendingContactRequestsMap",
},
}),
s.indexes.register({
name: "pending-contact-requests-by-member",
collection: "@keet-private-id/contact-requests-v2",
key: {
type: { fields: [{ name: "memberKey", type: "@keet/member-key" }] },
map: "pendingContactRequestsByMemberMap",
},
}),
s.indexes.register({
name: "accepted-contact-requests-v2",
collection: "@keet-private-id/contact-requests-v2",
key: {
type: { fields: [{ name: "clock", type: "uint" }] },
map: "acceptedContactRequestsMap",
},
}),
s.indexes.register({
name: "rejected-contact-requests-v2",
collection: "@keet-private-id/contact-requests-v2",
key: {
type: { fields: [{ name: "clock", type: "uint" }] },
map: "rejectedContactRequestsMap",
},
}),
s.indexes.register({
name: "discarded-contact-requests-v2",
collection: "@keet-private-id/contact-requests-v2",
key: {
type: { fields: [{ name: "clock", type: "uint" }] },
map: "discardedContactRequestsMap",
},
}),
s.collections.register({
name: "unreads-v2",
schema: "@keet-private-id/unreads",
key: ["deviceKey"],
}),
s.collections.register({
name: "unreads",
schema: "@keet-private-id/unreads",
key: ["deviceKey"],
}),
s.collections.register({ name: "settings", schema: "@keet-private-id/settings", key: [] }))
}