rubberguppe/store/setup.js

37 lines
868 B
JavaScript

'use strict'
module.exports = async function dbSetup (db, domain, dummyUser) {
// inbox
await db.collection('streams').createIndex({
'_meta._target': 1,
_id: -1,
}, {
name: 'inbox'
})
// followers
await db.collection('streams').createIndex({
'_meta._target': 1,
}, {
partialFilterExpression: {type: 'Follow'},
name: 'followers'
})
// outbox
await db.collection('streams').createIndex({
actor: 1,
_id: -1,
})
// object lookup
await db.collection('objects').createIndex({
id: 1
})
if (dummyUser) {
return db.collection('objects').findOneAndReplace(
{preferredUsername: 'dummy'},
dummyUser,
{
upsert: true,
returnOriginal: false,
}
)
}
}