Files
mantra-kmp/composeApp/src/commonMain/kotlin/ac/aux/compose/database/AuxDatabase.kt
T

75 lines
2.8 KiB
Kotlin
Raw Normal View History

2026-03-24 04:47:19 +02:00
package ac.aux.compose.database
2026-03-30 01:17:44 +02:00
import ac.aux.compose.database.converters.AuxConverters
import ac.aux.compose.database.dao.BroadcastNostrEventReceiptDao
import ac.aux.compose.database.dao.BroadcastNostrEventRequestDao
2026-03-24 04:47:19 +02:00
import ac.aux.compose.database.dao.NostrDao
import ac.aux.compose.database.dao.NostrEventDao
import ac.aux.compose.database.dao.PostDao
import ac.aux.compose.database.dao.ProfileDao
import ac.aux.compose.database.dao.ReactionDao
import ac.aux.compose.database.dao.RepostDao
2026-03-29 22:22:16 +02:00
import ac.aux.compose.database.dao.SynchronizeNostrEventRequestDao
import ac.aux.compose.database.dao.SynchronizeNostrEventResultDao
import ac.aux.compose.database.dao.UnsignedNostrEventDao
2026-03-24 04:47:19 +02:00
import ac.aux.compose.database.dao.ZapDao
import ac.aux.compose.database.model.BroadcastNostrEventReceipt
import ac.aux.compose.database.model.BroadcastNostrEventRequest
2026-03-24 04:47:19 +02:00
import ac.aux.compose.database.model.NostrEvent
import ac.aux.compose.database.model.Post
import ac.aux.compose.database.model.Profile
import ac.aux.compose.database.model.Reaction
import ac.aux.compose.database.model.Repost
2026-03-29 22:22:16 +02:00
import ac.aux.compose.database.model.SynchronizeNostrEventRequest
import ac.aux.compose.database.model.SynchronizeNostrEventResult
import ac.aux.compose.database.model.UnsignedNostrEvent
2026-03-24 04:47:19 +02:00
import ac.aux.compose.database.model.Zap
import androidx.room.Database
import androidx.room.RoomDatabase
import androidx.room.TypeConverters
2026-03-26 02:52:08 +02:00
import androidx.room.immediateTransaction
import androidx.room.useWriterConnection
2026-03-24 04:47:19 +02:00
@Database(
entities = [
BroadcastNostrEventReceipt::class,
BroadcastNostrEventRequest::class,
2026-03-24 04:47:19 +02:00
NostrEvent::class,
Post::class,
Profile::class,
Reaction::class,
Repost::class,
2026-03-29 22:22:16 +02:00
SynchronizeNostrEventRequest::class,
SynchronizeNostrEventResult::class,
UnsignedNostrEvent::class,
2026-03-24 04:47:19 +02:00
Zap::class
],
version = 1
)
2026-03-30 01:17:44 +02:00
@TypeConverters(AuxConverters::class)
2026-03-24 04:47:19 +02:00
abstract class AuxDatabase: RoomDatabase() {
abstract fun broadcastNostrEventReceiptDao(): BroadcastNostrEventReceiptDao
abstract fun broadcastNostrEventRequestDao(): BroadcastNostrEventRequestDao
2026-03-24 04:47:19 +02:00
abstract fun nostrDao(): NostrDao
abstract fun nostrEventDao(): NostrEventDao
abstract fun postDao(): PostDao
abstract fun profileDao(): ProfileDao
abstract fun reactionDao(): ReactionDao
abstract fun repostDao(): RepostDao
2026-03-29 22:22:16 +02:00
abstract fun synchronizeNostrEventRequestDao(): SynchronizeNostrEventRequestDao
abstract fun synchronizeNostrEventResultDao(): SynchronizeNostrEventResultDao
abstract fun unsignedNostrEventDao(): UnsignedNostrEventDao
2026-03-24 04:47:19 +02:00
abstract fun zapDao(): ZapDao
2026-03-26 02:52:08 +02:00
suspend fun wipeData() {
useWriterConnection { transactor ->
transactor.immediateTransaction {
// TODO: Actually delete the data...
}
}
}
2026-03-24 04:47:19 +02:00
}