38 lines
822 B
JavaScript
38 lines
822 B
JavaScript
'use strict'
|
|
const connection = require('./connection')
|
|
module.exports = async function dbSetup (domain, dummyUser) {
|
|
const db = connection.getDb()
|
|
// 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
|
|
}
|
|
)
|
|
}
|
|
}
|