2019-09-22 05:05:30 +00:00
|
|
|
'use strict'
|
2019-09-15 02:49:33 +00:00
|
|
|
|
2019-09-22 05:05:30 +00:00
|
|
|
module.exports = async function dbSetup (db, domain, dummyUser) {
|
2019-09-17 01:58:32 +00:00
|
|
|
// inbox
|
2019-09-15 00:00:26 +00:00
|
|
|
await db.collection('streams').createIndex({
|
2019-09-20 01:55:32 +00:00
|
|
|
'_meta._target': 1,
|
2019-09-13 01:03:04 +00:00
|
|
|
_id: -1,
|
2019-09-20 01:55:32 +00:00
|
|
|
}, {
|
|
|
|
name: 'inbox'
|
|
|
|
})
|
|
|
|
// followers
|
|
|
|
await db.collection('streams').createIndex({
|
|
|
|
'_meta._target': 1,
|
|
|
|
}, {
|
|
|
|
partialFilterExpression: {type: 'Follow'},
|
|
|
|
name: 'followers'
|
2019-09-13 01:03:04 +00:00
|
|
|
})
|
2019-09-17 01:58:32 +00:00
|
|
|
// outbox
|
2019-09-15 00:00:26 +00:00
|
|
|
await db.collection('streams').createIndex({
|
|
|
|
actor: 1,
|
|
|
|
_id: -1,
|
|
|
|
})
|
2019-09-17 01:58:32 +00:00
|
|
|
// object lookup
|
|
|
|
await db.collection('objects').createIndex({
|
|
|
|
id: 1
|
|
|
|
})
|
2019-09-22 05:05:30 +00:00
|
|
|
if (dummyUser) {
|
|
|
|
return db.collection('objects').findOneAndReplace(
|
|
|
|
{preferredUsername: 'dummy'},
|
|
|
|
dummyUser,
|
|
|
|
{
|
|
|
|
upsert: true,
|
|
|
|
returnOriginal: false,
|
|
|
|
}
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|