Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.android.library) apply false
alias(libs.plugins.androidx.room) apply false
alias(libs.plugins.androidx.room3) apply false
alias(libs.plugins.kotlin.parcelize) apply false
alias(libs.plugins.kotlin.compose) apply false
Expand Down
9 changes: 4 additions & 5 deletions core/item/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
plugins {
alias(libs.plugins.keygo.android.compose)
alias(libs.plugins.keygo.android.protobuf)
alias(libs.plugins.androidx.room)
alias(libs.plugins.androidx.room3)
alias(libs.plugins.google.ksp)
}

Expand All @@ -19,9 +19,8 @@ android {

dependencies {
// Room
implementation(libs.androidx.room.runtime)
implementation(libs.androidx.room.ktx)
ksp(libs.androidx.room.compiler)
implementation(libs.androidx.room3.runtime)
ksp(libs.androidx.room3.compiler)

implementation(projects.automation)
ksp(projects.automationProcessor)
Expand All @@ -44,7 +43,7 @@ dependencies {
}
}

room {
room3 {
schemaDirectory("$projectDir/schemas")
}

Expand Down
4 changes: 3 additions & 1 deletion core/item/consumer-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,6 @@
}

# DataStore Proto
-keep class androidx.datastore.** { *; }
-keep class androidx.datastore.** { *; }

-keep class * extends androidx.room3.RoomDatabase { <init>(); }
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package de.davis.keygo.core.item.data.local.converter

import androidx.room.TypeConverter
import androidx.room3.ColumnTypeConverter
import java.time.YearMonth

internal object YearMonthConverter {

@TypeConverter
@ColumnTypeConverter
fun fromYearMonth(yearMonth: YearMonth?): Int? = yearMonth?.let {
yearMonth.year * 100 + yearMonth.monthValue
}

@TypeConverter
@ColumnTypeConverter
fun fromInt(value: Int?): YearMonth? = value?.let {
YearMonth.of(it / 100, it % 100)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package de.davis.keygo.core.item.data.local.dao

import androidx.room.Dao
import androidx.room.Query
import androidx.room.Transaction
import androidx.room.Upsert
import androidx.room3.Dao
import androidx.room3.Query
import androidx.room3.Transaction
import androidx.room3.Upsert
import de.davis.keygo.core.item.data.local.entity.CreditCardEntity
import de.davis.keygo.core.item.data.local.pojo.CreditCardProjection
import de.davis.keygo.core.item.domain.alias.ItemId
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package de.davis.keygo.core.item.data.local.dao

import androidx.room.Dao
import androidx.room.Query
import androidx.room.Transaction
import androidx.room.Upsert
import androidx.room3.Dao
import androidx.room3.Query
import androidx.room3.Transaction
import androidx.room3.Upsert
import de.davis.keygo.core.item.data.local.entity.DomainInfoEntity
import de.davis.keygo.core.item.domain.alias.ItemId

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package de.davis.keygo.core.item.data.local.dao

import androidx.room.Dao
import androidx.room.Query
import androidx.room.Transaction
import androidx.room.Upsert
import androidx.room3.Dao
import androidx.room3.Query
import androidx.room3.Transaction
import androidx.room3.Upsert
import de.davis.keygo.core.item.data.local.entity.ItemEntity
import de.davis.keygo.core.item.data.local.pojo.ItemWrappedKeyRecord
import de.davis.keygo.core.item.data.local.pojo.LightweightItem
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package de.davis.keygo.core.item.data.local.dao

import androidx.room.Dao
import androidx.room.Query
import androidx.room.Transaction
import androidx.room.Upsert
import androidx.room3.Dao
import androidx.room3.Query
import androidx.room3.Transaction
import androidx.room3.Upsert
import de.davis.keygo.core.item.data.local.entity.LoginEntity
import de.davis.keygo.core.item.data.local.pojo.LightweightLogin
import de.davis.keygo.core.item.data.local.pojo.LoginProjection
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package de.davis.keygo.core.item.data.local.dao

import androidx.room.Dao
import androidx.room.Insert
import androidx.room.Query
import androidx.room.Transaction
import androidx.room3.Dao
import androidx.room3.Insert
import androidx.room3.Query
import androidx.room3.Transaction
import de.davis.keygo.core.item.data.local.entity.credential.PasskeyEntity
import de.davis.keygo.core.item.data.local.pojo.PasskeyMetadataPojo
import de.davis.keygo.core.item.domain.alias.ItemId
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package de.davis.keygo.core.item.data.local.dao

import androidx.room.Dao
import androidx.room.Query
import androidx.room.Upsert
import androidx.room3.Dao
import androidx.room3.Query
import androidx.room3.Upsert
import de.davis.keygo.core.item.data.local.entity.credential.PasswordEntity
import de.davis.keygo.core.item.data.local.pojo.PasswordScoreProjection
import de.davis.keygo.core.item.domain.alias.ItemId
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package de.davis.keygo.core.item.data.local.dao

import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Transaction
import androidx.room3.Dao
import androidx.room3.Insert
import androidx.room3.OnConflictStrategy
import androidx.room3.Query
import androidx.room3.Transaction
import de.davis.keygo.core.item.data.local.entity.TagCrossRef
import de.davis.keygo.core.item.data.local.entity.TagEntity
import de.davis.keygo.core.item.data.local.pojo.ItemTagProjection
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package de.davis.keygo.core.item.data.local.dao

import androidx.room.Dao
import androidx.room.Query
import androidx.room.Upsert
import androidx.room3.Dao
import androidx.room3.Query
import androidx.room3.Upsert
import de.davis.keygo.core.item.data.local.entity.credential.TotpEntity
import de.davis.keygo.core.item.domain.alias.ItemId

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package de.davis.keygo.core.item.data.local.dao

import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Update
import androidx.room3.Dao
import androidx.room3.Insert
import androidx.room3.OnConflictStrategy
import androidx.room3.Query
import androidx.room3.Update
import de.davis.keygo.core.item.data.local.entity.KeyInformation
import de.davis.keygo.core.item.data.local.entity.VaultEntity
import de.davis.keygo.core.item.data.local.pojo.VaultMetadata
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package de.davis.keygo.core.item.data.local.datasource

import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
import androidx.room.TypeConverters
import androidx.room3.ColumnTypeConverters
import androidx.room3.Database
import androidx.room3.Room
import androidx.room3.RoomDatabase
import androidx.sqlite.driver.AndroidSQLiteDriver
import de.davis.keygo.core.item.data.local.converter.YearMonthConverter
import de.davis.keygo.core.item.data.local.dao.CreditCardDao
import de.davis.keygo.core.item.data.local.dao.DomainInfoDao
Expand Down Expand Up @@ -43,7 +44,7 @@ import org.koin.core.annotation.Single
],
version = 1,
)
@TypeConverters(YearMonthConverter::class)
@ColumnTypeConverters(YearMonthConverter::class)
internal abstract class ItemDatabase : RoomDatabase() {

abstract fun vaultDao(): VaultDao
Expand All @@ -69,11 +70,12 @@ internal class DatabaseModule {

@Single
fun provideDatabase(context: Context): ItemDatabase =
Room.databaseBuilder(
Room.databaseBuilder<ItemDatabase>(
context,
ItemDatabase::class.java,
"keygo_database",
).build()
)
.setDriver(AndroidSQLiteDriver())
.build()

@Single
fun provideVaultDao(db: ItemDatabase) = db.vaultDao()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package de.davis.keygo.core.item.data.local.entity

import androidx.room.ColumnInfo
import androidx.room.Embedded
import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.PrimaryKey
import androidx.room3.ColumnInfo
import androidx.room3.Embedded
import androidx.room3.Entity
import androidx.room3.ForeignKey
import androidx.room3.PrimaryKey
import de.davis.keygo.core.item.domain.alias.ItemId
import de.davis.keygo.core.item.domain.model.EncryptedPayload
import java.time.YearMonth
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package de.davis.keygo.core.item.data.local.entity

import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.Index
import androidx.room3.ColumnInfo
import androidx.room3.Entity
import androidx.room3.ForeignKey
import androidx.room3.Index
import de.davis.keygo.core.item.domain.alias.ItemId

@Entity(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package de.davis.keygo.core.item.data.local.entity

import androidx.room.ColumnInfo
import androidx.room.Embedded
import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.Index
import androidx.room.PrimaryKey
import androidx.room3.ColumnInfo
import androidx.room3.Embedded
import androidx.room3.Entity
import androidx.room3.ForeignKey
import androidx.room3.Index
import androidx.room3.PrimaryKey
import de.davis.keygo.core.item.domain.alias.ItemId
import de.davis.keygo.core.item.domain.alias.VaultId
import de.davis.keygo.core.item.generated.domain.model.VaultItemType
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package de.davis.keygo.core.item.data.local.entity

import androidx.room.ColumnInfo
import androidx.room3.ColumnInfo

internal class KeyInformation(
@ColumnInfo(name = "wrapped_key")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package de.davis.keygo.core.item.data.local.entity

import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.PrimaryKey
import androidx.room3.Entity
import androidx.room3.ForeignKey
import androidx.room3.PrimaryKey
import de.davis.keygo.core.item.domain.alias.ItemId

@Entity(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package de.davis.keygo.core.item.data.local.entity

import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.Index
import androidx.room3.ColumnInfo
import androidx.room3.Entity
import androidx.room3.ForeignKey
import androidx.room3.Index
import de.davis.keygo.core.item.domain.alias.ItemId

@Entity(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package de.davis.keygo.core.item.data.local.entity

import androidx.room.Entity
import androidx.room.Index
import androidx.room.PrimaryKey
import androidx.room3.Entity
import androidx.room3.Index
import androidx.room3.PrimaryKey

@Entity(
tableName = "tag",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package de.davis.keygo.core.item.data.local.entity

import androidx.room.ColumnInfo
import androidx.room3.ColumnInfo

internal data class Timestamp(
@ColumnInfo("created_at")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package de.davis.keygo.core.item.data.local.entity

import androidx.room.ColumnInfo
import androidx.room.Embedded
import androidx.room.Entity
import androidx.room.PrimaryKey
import androidx.room3.ColumnInfo
import androidx.room3.Embedded
import androidx.room3.Entity
import androidx.room3.PrimaryKey
import de.davis.keygo.core.item.domain.alias.VaultId
import de.davis.keygo.core.item.domain.model.Vault

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package de.davis.keygo.core.item.data.local.entity.credential

import androidx.room.ColumnInfo
import androidx.room.Embedded
import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.Index
import androidx.room.PrimaryKey
import androidx.room3.ColumnInfo
import androidx.room3.Embedded
import androidx.room3.Entity
import androidx.room3.ForeignKey
import androidx.room3.Index
import androidx.room3.PrimaryKey
import de.davis.keygo.core.item.data.local.entity.LoginEntity
import de.davis.keygo.core.item.domain.alias.ItemId
import de.davis.keygo.core.item.domain.model.EncryptedPayload
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package de.davis.keygo.core.item.data.local.entity.credential

import androidx.room.ColumnInfo
import androidx.room.Embedded
import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.PrimaryKey
import androidx.room3.ColumnInfo
import androidx.room3.Embedded
import androidx.room3.Entity
import androidx.room3.ForeignKey
import androidx.room3.PrimaryKey
import de.davis.keygo.core.item.data.local.entity.LoginEntity
import de.davis.keygo.core.item.domain.alias.ItemId
import de.davis.keygo.core.item.domain.model.EncryptedPayload
Expand Down
Loading
Loading