[MC-2082] Implement new event storage #380
Open
+581
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
We need to implement new events storage that is persisted across sessions and on user switches. We have used
SQLite
to store data based on our requirement and it is also light weighted.Implementation
Created class
CTEventDatabase
which will handle storing of user events data in tableCTUserEventLogs
. The schema used is as - eventName, count, firstTs, lastTs, deviceID where eventName and deviceID combined is used as primary key. We have added methods to create table, insert data, update data, check if event exists or not, and to get count, first and last time stamp of event for particular deviceID. Added unit tests also for these methods.