diff --git a/package.json b/package.json index e9b006ff..01d3b220 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hawk.api", - "version": "1.2.12", + "version": "1.2.13", "main": "index.ts", "license": "BUSL-1.1", "scripts": { diff --git a/src/resolvers/project.js b/src/resolvers/project.js index 3b7fb846..9513e497 100644 --- a/src/resolvers/project.js +++ b/src/resolvers/project.js @@ -14,6 +14,8 @@ const EVENTS_GROUP_HASH_INDEX_NAME = 'groupHashUnique'; const REPETITIONS_GROUP_HASH_INDEX_NAME = 'groupHash_hashed'; const REPETITIONS_USER_ID_INDEX_NAME = 'userId'; const EVENTS_TIMESTAMP_INDEX_NAME = 'timestamp'; +const GROUPING_TIMESTAMP_INDEX_NAME = 'groupingTimestamp'; +const GROUPING_TIMESTAMP_AND_GROUP_HASH_INDEX_NAME = 'groupingTimestampAndGroupHash'; const MAX_SEARCH_QUERY_LENGTH = 50; /** @@ -101,7 +103,20 @@ module.exports = { const projectRepetitionsEventsCollection = await mongo.databases.events.createCollection('repetitions:' + project._id); - await mongo.databases.events.createCollection('dailyEvents:' + project._id); + const projectDailyEventsCollection = await mongo.databases.events.createCollection('dailyEvents:' + project._id); + + await projectDailyEventsCollection.createIndex({ + groupingTimestamp: 1, + }, { + name: GROUPING_TIMESTAMP_INDEX_NAME, + }); + + await projectDailyEventsCollection.createIndex({ + groupingTimestamp: 1, + groupHash: 1, + }, { + name: GROUPING_TIMESTAMP_AND_GROUP_HASH_INDEX_NAME, + }); await projectEventsCollection.createIndex({ groupHash: 1,