diff --git a/app/src/main/kotlin/me/rhunk/snapenhance/friends/FriendDatabase.kt b/app/src/main/kotlin/me/rhunk/snapenhance/friends/FriendDatabase.kt new file mode 100644 index 00000000..82c57662 --- /dev/null +++ b/app/src/main/kotlin/me/rhunk/snapenhance/friends/FriendDatabase.kt @@ -0,0 +1,48 @@ +package me.rhunk.snapenhance.friends + +import android.database.sqlite.SQLiteDatabase +import me.rhunk.snapenhance.RemoteSideContext +import me.rhunk.snapenhance.util.SQLiteDatabaseHelper + +class FriendDatabase( + private val context: RemoteSideContext, +) { + private lateinit var database: SQLiteDatabase + + fun init() { + database = context.androidContext.openOrCreateDatabase("friends.db", 0, null) + SQLiteDatabaseHelper.createTablesFromSchema(database, mapOf( + "friends" to listOf( + "userId VARCHAR PRIMARY KEY", + "displayName VARCHAR", + "mutable_username VARCHAR", + "bitmojiId VARCHAR", + "selfieId VARCHAR" + ), + "rules" to listOf( + "userId VARCHAR PRIMARY KEY", + "enabled BOOLEAN", + "mode VARCHAR", + "type VARCHAR" + ), + "streaks" to listOf( + "userId VARCHAR PRIMARY KEY", + "notify BOOLEAN", + "expirationTimestamp BIGINT", + "count INTEGER" + ), + "analytics_config" to listOf( + "userId VARCHAR PRIMARY KEY", + "modes VARCHAR" + ), + "analytics" to listOf( + "hash VARCHAR PRIMARY KEY", + "userId VARCHAR", + "conversationId VARCHAR", + "timestamp BIGINT", + "eventName VARCHAR", + "eventData VARCHAR" + ) + )) + } +} \ No newline at end of file diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/core/friends/FriendFeature.kt b/core/src/main/kotlin/me/rhunk/snapenhance/core/friends/FriendFeature.kt new file mode 100644 index 00000000..7f0022b9 --- /dev/null +++ b/core/src/main/kotlin/me/rhunk/snapenhance/core/friends/FriendFeature.kt @@ -0,0 +1,9 @@ +package me.rhunk.snapenhance.core.friends + +enum class FriendFeature( + val value: String, +) { + DOWNLOAD("download"), + STEALTH("stealth"), + AUTO_SAVE("auto_save"); +} \ No newline at end of file