'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 } ) } }