Correct the namespace and introduce an android specific namespace
This commit is contained in:
@@ -99,11 +99,11 @@ kotlin {
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "ac.aux.compose"
|
||||
namespace = "ac.cord.auxiliary.android"
|
||||
compileSdk = libs.versions.android.compileSdk.get().toInt()
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "ac.aux.compose"
|
||||
applicationId = "ac.cord.auxiliary.android"
|
||||
minSdk = libs.versions.android.minSdk.get().toInt()
|
||||
targetSdk = libs.versions.android.targetSdk.get().toInt()
|
||||
versionCode = 1
|
||||
@@ -146,11 +146,11 @@ room {
|
||||
|
||||
compose.desktop {
|
||||
application {
|
||||
mainClass = "ac.aux.compose.MainKt"
|
||||
mainClass = "ac.cord.auxiliary.compose.MainKt"
|
||||
|
||||
nativeDistributions {
|
||||
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
|
||||
packageName = "ac.aux.compose"
|
||||
packageName = "ac.cord.auxiliary.compose"
|
||||
packageVersion = "1.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
android:theme="@android:style/Theme.Material.Light.NoActionBar">
|
||||
<activity
|
||||
android:exported="true"
|
||||
android:name=".MainActivity">
|
||||
android:name="ac.cord.auxiliary.android.MainActivity">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package ac.aux.compose
|
||||
package ac.cord.auxiliary.android
|
||||
|
||||
import ac.cord.auxiliary.compose.AuxApp
|
||||
import ac.cord.auxiliary.compose.AuxGlobal
|
||||
import ac.cord.auxiliary.compose.PlatformContext
|
||||
import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
import com.vitorpamplona.quartz.utils.platform
|
||||
|
||||
class MainActivity : ComponentActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@@ -27,4 +27,4 @@ class MainActivity : ComponentActivity() {
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose
|
||||
package ac.cord.auxiliary.compose
|
||||
|
||||
import android.os.Build
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose
|
||||
package ac.cord.auxiliary.compose
|
||||
|
||||
import android.content.Context
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package ac.aux.compose.database.builder
|
||||
package ac.cord.auxiliary.compose.database.builder
|
||||
|
||||
import ac.aux.compose.PlatformContext
|
||||
import ac.aux.compose.database.AuxDatabase
|
||||
import ac.cord.auxiliary.compose.PlatformContext
|
||||
import ac.cord.auxiliary.compose.database.AuxDatabase
|
||||
import androidx.room.Room
|
||||
import androidx.room.RoomDatabase
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.ui.theme
|
||||
package ac.cord.auxiliary.compose.ui.theme
|
||||
|
||||
import android.os.Build
|
||||
import androidx.compose.material3.ColorScheme
|
||||
@@ -1,7 +0,0 @@
|
||||
package ac.aux.compose
|
||||
|
||||
interface Platform {
|
||||
val name: String
|
||||
}
|
||||
|
||||
expect fun getPlatform(): Platform
|
||||
@@ -1,3 +0,0 @@
|
||||
package ac.aux.compose
|
||||
|
||||
expect class PlatformContext
|
||||
@@ -1,89 +0,0 @@
|
||||
package ac.aux.compose.database
|
||||
|
||||
import ac.aux.compose.database.converters.AuxConverters
|
||||
import ac.aux.compose.database.dao.BroadcastNostrEventReceiptDao
|
||||
import ac.aux.compose.database.dao.BroadcastNostrEventRequestDao
|
||||
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.RecentSearchDao
|
||||
import ac.aux.compose.database.dao.RelayDao
|
||||
import ac.aux.compose.database.dao.RepostDao
|
||||
import ac.aux.compose.database.dao.SynchronizeNostrEventRequestDao
|
||||
import ac.aux.compose.database.dao.SynchronizeNostrEventResultDao
|
||||
import ac.aux.compose.database.dao.UnsignedNostrEventDao
|
||||
import ac.aux.compose.database.dao.ZapDao
|
||||
import ac.aux.compose.database.model.BroadcastNostrEventReceipt
|
||||
import ac.aux.compose.database.model.BroadcastNostrEventRequest
|
||||
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.RecentSearch
|
||||
import ac.aux.compose.database.model.Relay
|
||||
import ac.aux.compose.database.model.Repost
|
||||
import ac.aux.compose.database.model.SynchronizeNostrEventRequest
|
||||
import ac.aux.compose.database.model.SynchronizeNostrEventResult
|
||||
import ac.aux.compose.database.model.UnsignedNostrEvent
|
||||
import ac.aux.compose.database.model.Zap
|
||||
import androidx.room.Database
|
||||
import androidx.room.RoomDatabase
|
||||
import androidx.room.TypeConverters
|
||||
import androidx.room.immediateTransaction
|
||||
import androidx.room.useWriterConnection
|
||||
import kotlin.time.Instant
|
||||
|
||||
val GENESIS_AT = Instant.fromEpochMilliseconds(1231006505000L)
|
||||
|
||||
@Database(
|
||||
entities = [
|
||||
BroadcastNostrEventReceipt::class,
|
||||
BroadcastNostrEventRequest::class,
|
||||
NostrEvent::class,
|
||||
Post::class,
|
||||
Profile::class,
|
||||
Reaction::class,
|
||||
RecentSearch::class,
|
||||
Relay::class,
|
||||
Repost::class,
|
||||
SynchronizeNostrEventRequest::class,
|
||||
SynchronizeNostrEventResult::class,
|
||||
UnsignedNostrEvent::class,
|
||||
Zap::class
|
||||
],
|
||||
version = 1
|
||||
)
|
||||
@TypeConverters(AuxConverters::class)
|
||||
abstract class AuxDatabase: RoomDatabase() {
|
||||
abstract fun broadcastNostrEventReceiptDao(): BroadcastNostrEventReceiptDao
|
||||
abstract fun broadcastNostrEventRequestDao(): BroadcastNostrEventRequestDao
|
||||
abstract fun nostrDao(): NostrDao
|
||||
|
||||
abstract fun nostrEventDao(): NostrEventDao
|
||||
abstract fun postDao(): PostDao
|
||||
abstract fun profileDao(): ProfileDao
|
||||
abstract fun reactionDao(): ReactionDao
|
||||
|
||||
abstract fun recentSearchDao(): RecentSearchDao
|
||||
|
||||
abstract fun relayDao(): RelayDao
|
||||
|
||||
abstract fun repostDao(): RepostDao
|
||||
|
||||
abstract fun synchronizeNostrEventRequestDao(): SynchronizeNostrEventRequestDao
|
||||
|
||||
abstract fun synchronizeNostrEventResultDao(): SynchronizeNostrEventResultDao
|
||||
|
||||
abstract fun unsignedNostrEventDao(): UnsignedNostrEventDao
|
||||
abstract fun zapDao(): ZapDao
|
||||
|
||||
suspend fun wipeData() {
|
||||
useWriterConnection { transactor ->
|
||||
transactor.immediateTransaction {
|
||||
// TODO: Actually delete the data...
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package ac.aux.compose.database.dao
|
||||
|
||||
import ac.aux.compose.database.model.SynchronizeNostrEventRequest
|
||||
import ac.aux.compose.database.model.SynchronizeNostrEventResult
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@Dao
|
||||
interface SynchronizeNostrEventResultDao {
|
||||
@Upsert
|
||||
fun upsert(synchronizeNostrEventResult: SynchronizeNostrEventResult)
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
package ac.aux.compose.database.model.intermdiate
|
||||
|
||||
import ac.aux.compose.database.model.BroadcastNostrEventReceipt
|
||||
import ac.aux.compose.database.model.BroadcastNostrEventRequest
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
import ac.aux.compose.database.model.Profile
|
||||
import ac.aux.compose.database.model.UnsignedNostrEvent
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Relation
|
||||
|
||||
data class LocalBroadcastNostrEventRequest(
|
||||
@Embedded val broadcastNostrEventRequest: BroadcastNostrEventRequest,
|
||||
|
||||
@Relation(
|
||||
parentColumn = "nostrEventId",
|
||||
entityColumn = "id"
|
||||
)
|
||||
val nostrEvent: NostrEvent,
|
||||
)
|
||||
@@ -1,20 +0,0 @@
|
||||
package ac.aux.compose.database.model.intermdiate
|
||||
|
||||
import ac.aux.compose.database.model.BroadcastNostrEventReceipt
|
||||
import ac.aux.compose.database.model.BroadcastNostrEventRequest
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
import ac.aux.compose.database.model.Profile
|
||||
import ac.aux.compose.database.model.SynchronizeNostrEventRequest
|
||||
import ac.aux.compose.database.model.UnsignedNostrEvent
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Relation
|
||||
|
||||
data class LocalProfile(
|
||||
@Embedded val nostrEvent: NostrEvent,
|
||||
|
||||
@Relation(
|
||||
parentColumn = "pubKey",
|
||||
entityColumn = "publicKey"
|
||||
)
|
||||
val profile: Profile,
|
||||
)
|
||||
@@ -1,4 +0,0 @@
|
||||
package ac.aux.compose.database.model.typealiases
|
||||
|
||||
typealias HexArray = Array<String>
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
package ac.aux.compose.database.model.typealiases
|
||||
|
||||
typealias KindArray = Array<Int>
|
||||
@@ -1,5 +0,0 @@
|
||||
package ac.aux.compose.database.model.typealiases
|
||||
|
||||
import ac.aux.compose.database.model.types.SynchronizationFilter
|
||||
|
||||
typealias SynchronizationFilterArray = Array<SynchronizationFilter>
|
||||
@@ -1,11 +0,0 @@
|
||||
package ac.aux.compose.database.repository
|
||||
|
||||
import ac.aux.compose.database.AuxDatabase
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
import ac.aux.compose.repository.PostRepository
|
||||
|
||||
class DatabasePostRepository(
|
||||
private val database: AuxDatabase
|
||||
): PostRepository {
|
||||
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
package ac.aux.compose.exceptions
|
||||
|
||||
class InvalidNostrPrivateKeyException: RuntimeException()
|
||||
@@ -1,15 +0,0 @@
|
||||
package ac.aux.compose.network
|
||||
|
||||
import kotlinx.serialization.json.JsonArray
|
||||
import kotlinx.serialization.json.add
|
||||
import kotlinx.serialization.json.buildJsonArray
|
||||
|
||||
object UserAgent {
|
||||
const val APP_NAME = "Aux"
|
||||
const val CLIENT_NAME = "Aux"
|
||||
}
|
||||
|
||||
fun String.asClientTag(): Array<String> = arrayOf(
|
||||
"client",
|
||||
this
|
||||
)
|
||||
@@ -1,6 +0,0 @@
|
||||
package ac.aux.compose.repository
|
||||
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
|
||||
interface PostRepository {
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
object BlankRoute: Route()
|
||||
@@ -1,12 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
import ac.aux.compose.database.model.Profile
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlin.time.Clock
|
||||
|
||||
@Serializable
|
||||
data class CreateProfileRoute(
|
||||
val nostrEventId: String? = null,
|
||||
): Route() {
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
object FeedRoute: Route()
|
||||
@@ -1,6 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
object LandingRoute: Route()
|
||||
@@ -1,6 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
object LoadingRoute: Route()
|
||||
@@ -1,12 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
import ac.aux.compose.database.model.Profile
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlin.time.Clock
|
||||
|
||||
@Serializable
|
||||
data class NostrEventDetailRoute(
|
||||
val nostrEventId: String,
|
||||
): Route() {
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
abstract class Route
|
||||
@@ -1,6 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
object SearchRoute: Route()
|
||||
@@ -1,6 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
object SignInRoute: Route()
|
||||
@@ -1,6 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
object SocialPreconditionRoute: Route()
|
||||
@@ -1,13 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
import ac.aux.compose.database.GENESIS_AT
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
import ac.aux.compose.database.model.Profile
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlin.time.Clock
|
||||
|
||||
@Serializable
|
||||
data class UnannouncedProfileRoute(
|
||||
val nostrEventId: String,
|
||||
): Route() {
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
import ac.aux.compose.database.model.Profile
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlin.time.Clock
|
||||
|
||||
@Serializable
|
||||
data class UnindexedProfileRoute(
|
||||
val nostrEventId: String,
|
||||
): Route() {
|
||||
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
import ac.aux.compose.database.model.Profile
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlin.time.Clock
|
||||
|
||||
@Serializable
|
||||
data class UnqueuedProfileRoute(
|
||||
val nostrEventId: String,
|
||||
): Route() {
|
||||
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
import ac.aux.compose.database.GENESIS_AT
|
||||
import ac.aux.compose.database.model.UnsignedNostrEvent
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlin.time.Clock
|
||||
|
||||
@Serializable
|
||||
data class UnsignedProfileRoute(
|
||||
val unsignedNostrEventId: Long,
|
||||
): Route() {
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.navigation.routes
|
||||
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
import ac.aux.compose.database.model.Profile
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlin.time.Clock
|
||||
|
||||
@Serializable
|
||||
data class WriteNewNoteRoute(
|
||||
val inReplyToEventId: String? = null,
|
||||
): Route() {
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.widgets.feed
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.core.Event
|
||||
import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair
|
||||
import kotlin.time.Clock
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
package ac.aux.compose.ui.composable.widgets.feed
|
||||
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
import ac.aux.compose.database.model.intermdiate.LocalNostrEvent
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material3.ElevatedCard
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
|
||||
@Composable
|
||||
fun FeedListItem(
|
||||
localNostrEvent: LocalNostrEvent,
|
||||
onNavigateToEvent: (HexKey) -> Unit
|
||||
) {
|
||||
localNostrEvent.ListView(
|
||||
onNavigateToEvent = onNavigateToEvent
|
||||
)
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
package ac.aux.compose
|
||||
package ac.cord.auxiliary.compose
|
||||
|
||||
import ac.aux.compose.ui.composable.navigation.AuxNavHost
|
||||
import ac.aux.compose.ui.composable.navigation.routes.LandingRoute
|
||||
import ac.aux.compose.ui.theme.AuxTheme
|
||||
import ac.cord.auxiliary.compose.ui.composable.navigation.AuxNavHost
|
||||
import ac.cord.auxiliary.compose.ui.theme.AuxTheme
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.runtime.*
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose
|
||||
package ac.cord.auxiliary.compose
|
||||
|
||||
class AuxGlobal(
|
||||
val platformContext: PlatformContext
|
||||
@@ -0,0 +1,7 @@
|
||||
package ac.cord.auxiliary.compose
|
||||
|
||||
interface Platform {
|
||||
val name: String
|
||||
}
|
||||
|
||||
expect fun getPlatform(): Platform
|
||||
@@ -0,0 +1,3 @@
|
||||
package ac.cord.auxiliary.compose
|
||||
|
||||
expect class PlatformContext
|
||||
@@ -1,7 +1,7 @@
|
||||
package ac.aux.compose.cryptography
|
||||
package ac.cord.auxiliary.compose.cryptography
|
||||
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
import ac.aux.compose.database.model.UnsignedNostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.NostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.UnsignedNostrEvent
|
||||
import com.vitorpamplona.quartz.nip01Core.core.Event
|
||||
import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair
|
||||
import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerSync
|
||||
@@ -0,0 +1,89 @@
|
||||
package ac.cord.auxiliary.compose.database
|
||||
|
||||
import ac.cord.auxiliary.compose.database.converters.AuxConverters
|
||||
import ac.cord.auxiliary.compose.database.dao.BroadcastNostrEventReceiptDao
|
||||
import ac.cord.auxiliary.compose.database.dao.BroadcastNostrEventRequestDao
|
||||
import ac.cord.auxiliary.compose.database.dao.NostrDao
|
||||
import ac.cord.auxiliary.compose.database.dao.NostrEventDao
|
||||
import ac.cord.auxiliary.compose.database.dao.PostDao
|
||||
import ac.cord.auxiliary.compose.database.dao.ProfileDao
|
||||
import ac.cord.auxiliary.compose.database.dao.ReactionDao
|
||||
import ac.cord.auxiliary.compose.database.dao.RecentSearchDao
|
||||
import ac.cord.auxiliary.compose.database.dao.RelayDao
|
||||
import ac.cord.auxiliary.compose.database.dao.RepostDao
|
||||
import ac.cord.auxiliary.compose.database.dao.SynchronizeNostrEventRequestDao
|
||||
import ac.cord.auxiliary.compose.database.dao.SynchronizeNostrEventResultDao
|
||||
import ac.cord.auxiliary.compose.database.dao.UnsignedNostrEventDao
|
||||
import ac.cord.auxiliary.compose.database.dao.ZapDao
|
||||
import ac.cord.auxiliary.compose.database.model.BroadcastNostrEventReceipt
|
||||
import ac.cord.auxiliary.compose.database.model.BroadcastNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.database.model.NostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.Post
|
||||
import ac.cord.auxiliary.compose.database.model.Profile
|
||||
import ac.cord.auxiliary.compose.database.model.Reaction
|
||||
import ac.cord.auxiliary.compose.database.model.RecentSearch
|
||||
import ac.cord.auxiliary.compose.database.model.Relay
|
||||
import ac.cord.auxiliary.compose.database.model.Repost
|
||||
import ac.cord.auxiliary.compose.database.model.SynchronizeNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.database.model.SynchronizeNostrEventResult
|
||||
import ac.cord.auxiliary.compose.database.model.UnsignedNostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.Zap
|
||||
import androidx.room.Database
|
||||
import androidx.room.RoomDatabase
|
||||
import androidx.room.TypeConverters
|
||||
import androidx.room.immediateTransaction
|
||||
import androidx.room.useWriterConnection
|
||||
import kotlin.time.Instant
|
||||
|
||||
val GENESIS_AT = Instant.fromEpochMilliseconds(1231006505000L)
|
||||
|
||||
@Database(
|
||||
entities = [
|
||||
BroadcastNostrEventReceipt::class,
|
||||
BroadcastNostrEventRequest::class,
|
||||
NostrEvent::class,
|
||||
Post::class,
|
||||
Profile::class,
|
||||
Reaction::class,
|
||||
RecentSearch::class,
|
||||
Relay::class,
|
||||
Repost::class,
|
||||
SynchronizeNostrEventRequest::class,
|
||||
SynchronizeNostrEventResult::class,
|
||||
UnsignedNostrEvent::class,
|
||||
Zap::class
|
||||
],
|
||||
version = 1
|
||||
)
|
||||
@TypeConverters(AuxConverters::class)
|
||||
abstract class AuxDatabase: RoomDatabase() {
|
||||
abstract fun broadcastNostrEventReceiptDao(): BroadcastNostrEventReceiptDao
|
||||
abstract fun broadcastNostrEventRequestDao(): BroadcastNostrEventRequestDao
|
||||
abstract fun nostrDao(): NostrDao
|
||||
|
||||
abstract fun nostrEventDao(): NostrEventDao
|
||||
abstract fun postDao(): PostDao
|
||||
abstract fun profileDao(): ProfileDao
|
||||
abstract fun reactionDao(): ReactionDao
|
||||
|
||||
abstract fun recentSearchDao(): RecentSearchDao
|
||||
|
||||
abstract fun relayDao(): RelayDao
|
||||
|
||||
abstract fun repostDao(): RepostDao
|
||||
|
||||
abstract fun synchronizeNostrEventRequestDao(): SynchronizeNostrEventRequestDao
|
||||
|
||||
abstract fun synchronizeNostrEventResultDao(): SynchronizeNostrEventResultDao
|
||||
|
||||
abstract fun unsignedNostrEventDao(): UnsignedNostrEventDao
|
||||
abstract fun zapDao(): ZapDao
|
||||
|
||||
suspend fun wipeData() {
|
||||
useWriterConnection { transactor ->
|
||||
transactor.immediateTransaction {
|
||||
// TODO: Actually delete the data...
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.database
|
||||
package ac.cord.auxiliary.compose.database
|
||||
|
||||
import androidx.room.RoomDatabaseConstructor
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package ac.aux.compose.database.builder
|
||||
package ac.cord.auxiliary.compose.database.builder
|
||||
|
||||
import ac.aux.compose.PlatformContext
|
||||
import ac.aux.compose.database.AuxDatabase
|
||||
import ac.cord.auxiliary.compose.PlatformContext
|
||||
import ac.cord.auxiliary.compose.database.AuxDatabase
|
||||
import androidx.room.RoomDatabase
|
||||
import androidx.sqlite.driver.bundled.BundledSQLiteDriver
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -1,11 +1,10 @@
|
||||
package ac.aux.compose.database.converters
|
||||
package ac.cord.auxiliary.compose.database.converters
|
||||
|
||||
import ac.aux.compose.database.model.typealiases.SynchronizationFilterArray
|
||||
import ac.aux.compose.database.model.typealiases.HexArray
|
||||
import ac.aux.compose.database.model.typealiases.KindArray
|
||||
import ac.cord.auxiliary.compose.database.model.typealiases.SynchronizationFilterArray
|
||||
import ac.cord.auxiliary.compose.database.model.typealiases.HexArray
|
||||
import ac.cord.auxiliary.compose.database.model.typealiases.KindArray
|
||||
import androidx.room.TypeConverter
|
||||
import co.touchlab.kermit.Logger
|
||||
import com.vitorpamplona.quartz.nip01Core.core.OptimizedJsonMapper
|
||||
import com.vitorpamplona.quartz.nip01Core.core.TagArray
|
||||
import kotlinx.serialization.json.Json
|
||||
import kotlin.time.Instant
|
||||
@@ -1,7 +1,6 @@
|
||||
package ac.aux.compose.database.dao
|
||||
package ac.cord.auxiliary.compose.database.dao
|
||||
|
||||
import ac.aux.compose.database.model.BroadcastNostrEventReceipt
|
||||
import ac.aux.compose.database.model.BroadcastNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.database.model.BroadcastNostrEventReceipt
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
@@ -1,7 +1,7 @@
|
||||
package ac.aux.compose.database.dao
|
||||
package ac.cord.auxiliary.compose.database.dao
|
||||
|
||||
import ac.aux.compose.database.model.BroadcastNostrEventRequest
|
||||
import ac.aux.compose.database.model.intermdiate.LocalBroadcastNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.database.model.BroadcastNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.database.model.intermdiate.LocalBroadcastNostrEventRequest
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
@@ -1,24 +1,21 @@
|
||||
package ac.aux.compose.database.dao
|
||||
package ac.cord.auxiliary.compose.database.dao
|
||||
|
||||
import ac.aux.compose.database.AuxDatabase
|
||||
import ac.aux.compose.database.GENESIS_AT
|
||||
import ac.aux.compose.database.model.BroadcastNostrEventRequest
|
||||
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.SynchronizeNostrEventRequest
|
||||
import ac.aux.compose.database.model.UnsignedNostrEvent
|
||||
import ac.aux.compose.database.model.types.SynchronizationFilter
|
||||
import ac.cord.auxiliary.compose.database.AuxDatabase
|
||||
import ac.cord.auxiliary.compose.database.GENESIS_AT
|
||||
import ac.cord.auxiliary.compose.database.model.BroadcastNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.database.model.NostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.Post
|
||||
import ac.cord.auxiliary.compose.database.model.Profile
|
||||
import ac.cord.auxiliary.compose.database.model.SynchronizeNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.database.model.UnsignedNostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.types.SynchronizationFilter
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Transaction
|
||||
import co.touchlab.kermit.Logger
|
||||
import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.taggedEvents
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.people.taggedUsers
|
||||
import com.vitorpamplona.quartz.nip37Drafts.DraftWrapEvent
|
||||
import kotlin.math.log
|
||||
import kotlin.time.Clock
|
||||
import kotlin.time.Instant
|
||||
|
||||
@Dao
|
||||
abstract class NostrDao(
|
||||
@@ -1,18 +1,15 @@
|
||||
package ac.aux.compose.database.dao
|
||||
package ac.cord.auxiliary.compose.database.dao
|
||||
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
import ac.aux.compose.database.model.intermdiate.LocalNostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.NostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.intermdiate.LocalNostrEvent
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy.Companion.IGNORE
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.room.RoomRawQuery
|
||||
import androidx.room.Upsert
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.Kind
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlin.time.Instant
|
||||
|
||||
@Dao
|
||||
interface NostrEventDao {
|
||||
@@ -1,15 +1,11 @@
|
||||
package ac.aux.compose.database.dao
|
||||
package ac.cord.auxiliary.compose.database.dao
|
||||
|
||||
import ac.aux.compose.database.model.Post
|
||||
import ac.aux.compose.database.model.Profile
|
||||
import ac.aux.compose.database.model.intermdiate.LocalPost
|
||||
import ac.cord.auxiliary.compose.database.model.Post
|
||||
import ac.cord.auxiliary.compose.database.model.intermdiate.LocalPost
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.Relation
|
||||
import androidx.room.Upsert
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@Dao
|
||||
interface PostDao {
|
||||
@@ -1,8 +1,7 @@
|
||||
package ac.aux.compose.database.dao
|
||||
package ac.cord.auxiliary.compose.database.dao
|
||||
|
||||
import ac.aux.compose.database.model.Profile
|
||||
import ac.aux.compose.database.model.intermdiate.LocalAccount
|
||||
import ac.aux.compose.database.model.intermdiate.LocalProfile
|
||||
import ac.cord.auxiliary.compose.database.model.Profile
|
||||
import ac.cord.auxiliary.compose.database.model.intermdiate.LocalProfile
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
@@ -1,8 +1,7 @@
|
||||
package ac.aux.compose.database.dao
|
||||
package ac.cord.auxiliary.compose.database.dao
|
||||
|
||||
import ac.aux.compose.database.model.Reaction
|
||||
import ac.cord.auxiliary.compose.database.model.Reaction
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
@@ -1,10 +1,8 @@
|
||||
package ac.aux.compose.database.dao
|
||||
package ac.cord.auxiliary.compose.database.dao
|
||||
|
||||
import ac.aux.compose.database.model.RecentSearch
|
||||
import ac.aux.compose.database.model.Zap
|
||||
import ac.cord.auxiliary.compose.database.model.RecentSearch
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Delete
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
@@ -1,7 +1,6 @@
|
||||
package ac.aux.compose.database.dao
|
||||
package ac.cord.auxiliary.compose.database.dao
|
||||
|
||||
import ac.aux.compose.database.model.Relay
|
||||
import ac.aux.compose.database.model.UnsignedNostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.Relay
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
@@ -1,8 +1,7 @@
|
||||
package ac.aux.compose.database.dao
|
||||
package ac.cord.auxiliary.compose.database.dao
|
||||
|
||||
import ac.aux.compose.database.model.Repost
|
||||
import ac.cord.auxiliary.compose.database.model.Repost
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
@@ -1,6 +1,6 @@
|
||||
package ac.aux.compose.database.dao
|
||||
package ac.cord.auxiliary.compose.database.dao
|
||||
|
||||
import ac.aux.compose.database.model.SynchronizeNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.database.model.SynchronizeNostrEventRequest
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
@@ -0,0 +1,11 @@
|
||||
package ac.cord.auxiliary.compose.database.dao
|
||||
|
||||
import ac.cord.auxiliary.compose.database.model.SynchronizeNostrEventResult
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Upsert
|
||||
|
||||
@Dao
|
||||
interface SynchronizeNostrEventResultDao {
|
||||
@Upsert
|
||||
fun upsert(synchronizeNostrEventResult: SynchronizeNostrEventResult)
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package ac.aux.compose.database.dao
|
||||
package ac.cord.auxiliary.compose.database.dao
|
||||
|
||||
import ac.aux.compose.database.model.UnsignedNostrEvent
|
||||
import ac.aux.compose.database.model.intermdiate.LocalAccount
|
||||
import ac.cord.auxiliary.compose.database.model.UnsignedNostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.intermdiate.LocalAccount
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
@@ -1,8 +1,7 @@
|
||||
package ac.aux.compose.database.dao
|
||||
package ac.cord.auxiliary.compose.database.dao
|
||||
|
||||
import ac.aux.compose.database.model.Zap
|
||||
import ac.cord.auxiliary.compose.database.model.Zap
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
@@ -1,7 +1,7 @@
|
||||
package ac.aux.compose.database.model
|
||||
package ac.cord.auxiliary.compose.database.model
|
||||
|
||||
import ac.aux.compose.database.model.traits.NostrEventEntity
|
||||
import ac.aux.compose.database.model.traits.UnsignedNostrEventEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.NostrEventEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.UnsignedNostrEventEntity
|
||||
import androidx.room.Entity
|
||||
import androidx.room.ForeignKey
|
||||
import androidx.room.Index
|
||||
@@ -1,7 +1,7 @@
|
||||
package ac.aux.compose.database.model
|
||||
package ac.cord.auxiliary.compose.database.model
|
||||
|
||||
import ac.aux.compose.database.model.traits.NostrEventEntity
|
||||
import ac.aux.compose.database.model.traits.UnsignedNostrEventEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.NostrEventEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.UnsignedNostrEventEntity
|
||||
import androidx.room.Entity
|
||||
import androidx.room.ForeignKey
|
||||
import androidx.room.Index
|
||||
@@ -1,10 +1,10 @@
|
||||
package ac.aux.compose.database.model
|
||||
package ac.cord.auxiliary.compose.database.model
|
||||
|
||||
import ac.aux.compose.database.model.traits.BroadcastableEntity
|
||||
import ac.aux.compose.database.model.traits.LocalStoreEntity
|
||||
import ac.aux.compose.database.model.traits.SoftDeletableEntity
|
||||
import ac.aux.compose.database.model.traits.TimestampedEntity
|
||||
import ac.aux.compose.database.model.traits.UnsignedNostrEventEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.BroadcastableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.LocalStoreEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.SoftDeletableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.TimestampedEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.UnsignedNostrEventEntity
|
||||
import androidx.room.Entity
|
||||
import androidx.room.Ignore
|
||||
import androidx.room.Index
|
||||
@@ -13,10 +13,8 @@ import co.touchlab.kermit.Logger
|
||||
import com.vitorpamplona.quartz.nip01Core.core.Event
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.Kind
|
||||
import com.vitorpamplona.quartz.nip01Core.core.OptimizedJsonMapper
|
||||
import com.vitorpamplona.quartz.nip01Core.core.TagArray
|
||||
import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.commands.toRelay.EventCmd
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.events.firstTaggedEvent
|
||||
import com.vitorpamplona.quartz.nip01Core.tags.people.firstTaggedUser
|
||||
import com.vitorpamplona.quartz.nip10Notes.TextNoteEvent
|
||||
@@ -1,20 +1,18 @@
|
||||
package ac.aux.compose.database.model
|
||||
package ac.cord.auxiliary.compose.database.model
|
||||
|
||||
import ac.aux.compose.database.model.traits.BroadcastableEntity
|
||||
import ac.aux.compose.database.model.traits.LocalStoreEntity
|
||||
import ac.aux.compose.database.model.traits.NostrEventEntity
|
||||
import ac.aux.compose.database.model.traits.ProfilePublicKeyEntity
|
||||
import ac.aux.compose.database.model.traits.ReplyingToEntity
|
||||
import ac.aux.compose.database.model.traits.SoftDeletableEntity
|
||||
import ac.aux.compose.database.model.traits.TimestampedEntity
|
||||
import ac.aux.compose.database.model.traits.UserViewableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.BroadcastableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.LocalStoreEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.NostrEventEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.ProfilePublicKeyEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.ReplyingToEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.SoftDeletableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.TimestampedEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.UserViewableEntity
|
||||
import androidx.room.Entity
|
||||
import androidx.room.ForeignKey
|
||||
import androidx.room.Index
|
||||
import androidx.room.PrimaryKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.Kind
|
||||
import com.vitorpamplona.quartz.nip01Core.core.TagArray
|
||||
import kotlin.time.Clock
|
||||
import kotlin.time.Instant
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package ac.aux.compose.database.model
|
||||
package ac.cord.auxiliary.compose.database.model
|
||||
|
||||
import ac.aux.compose.database.model.traits.BroadcastableEntity
|
||||
import ac.aux.compose.database.model.traits.LocalStoreEntity
|
||||
import ac.aux.compose.database.model.traits.NostrEventEntity
|
||||
import ac.aux.compose.database.model.traits.SoftDeletableEntity
|
||||
import ac.aux.compose.database.model.traits.TimestampedEntity
|
||||
import ac.aux.compose.database.model.traits.UserViewableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.BroadcastableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.LocalStoreEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.NostrEventEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.SoftDeletableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.TimestampedEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.UserViewableEntity
|
||||
import androidx.room.Entity
|
||||
import androidx.room.ForeignKey
|
||||
import androidx.room.Index
|
||||
@@ -1,20 +1,18 @@
|
||||
package ac.aux.compose.database.model
|
||||
package ac.cord.auxiliary.compose.database.model
|
||||
|
||||
import ac.aux.compose.database.model.traits.BroadcastableEntity
|
||||
import ac.aux.compose.database.model.traits.LocalStoreEntity
|
||||
import ac.aux.compose.database.model.traits.NostrEventEntity
|
||||
import ac.aux.compose.database.model.traits.ProfilePublicKeyEntity
|
||||
import ac.aux.compose.database.model.traits.ReplyingToEntity
|
||||
import ac.aux.compose.database.model.traits.SoftDeletableEntity
|
||||
import ac.aux.compose.database.model.traits.TimestampedEntity
|
||||
import ac.aux.compose.database.model.traits.UserViewableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.BroadcastableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.LocalStoreEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.NostrEventEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.ProfilePublicKeyEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.ReplyingToEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.SoftDeletableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.TimestampedEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.UserViewableEntity
|
||||
import androidx.room.Entity
|
||||
import androidx.room.ForeignKey
|
||||
import androidx.room.Index
|
||||
import androidx.room.PrimaryKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.Kind
|
||||
import com.vitorpamplona.quartz.nip01Core.core.TagArray
|
||||
import kotlin.time.Clock
|
||||
import kotlin.time.Instant
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package ac.aux.compose.database.model
|
||||
package ac.cord.auxiliary.compose.database.model
|
||||
|
||||
import ac.aux.compose.database.model.traits.TimestampedEntity
|
||||
import ac.aux.compose.database.model.typealiases.SynchronizationFilterArray
|
||||
import ac.cord.auxiliary.compose.database.model.traits.TimestampedEntity
|
||||
import ac.cord.auxiliary.compose.database.model.typealiases.SynchronizationFilterArray
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
import kotlin.time.Clock
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.database.model
|
||||
package ac.cord.auxiliary.compose.database.model
|
||||
|
||||
import androidx.room.Entity
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package ac.aux.compose.database.model
|
||||
package ac.cord.auxiliary.compose.database.model
|
||||
|
||||
import ac.aux.compose.database.model.traits.BroadcastableEntity
|
||||
import ac.aux.compose.database.model.traits.LocalStoreEntity
|
||||
import ac.aux.compose.database.model.traits.NostrEventEntity
|
||||
import ac.aux.compose.database.model.traits.ProfilePublicKeyEntity
|
||||
import ac.aux.compose.database.model.traits.SoftDeletableEntity
|
||||
import ac.aux.compose.database.model.traits.TimestampedEntity
|
||||
import ac.aux.compose.database.model.traits.UserViewableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.BroadcastableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.LocalStoreEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.NostrEventEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.ProfilePublicKeyEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.SoftDeletableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.TimestampedEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.UserViewableEntity
|
||||
import androidx.room.Entity
|
||||
import androidx.room.ForeignKey
|
||||
import androidx.room.Index
|
||||
@@ -1,9 +1,9 @@
|
||||
package ac.aux.compose.database.model
|
||||
package ac.cord.auxiliary.compose.database.model
|
||||
|
||||
import ac.aux.compose.database.model.traits.OptionalNostrEventEntity
|
||||
import ac.aux.compose.database.model.traits.TimestampedEntity
|
||||
import ac.aux.compose.database.model.traits.UnsignedNostrEventEntity
|
||||
import ac.aux.compose.database.model.typealiases.SynchronizationFilterArray
|
||||
import ac.cord.auxiliary.compose.database.model.traits.OptionalNostrEventEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.TimestampedEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.UnsignedNostrEventEntity
|
||||
import ac.cord.auxiliary.compose.database.model.typealiases.SynchronizationFilterArray
|
||||
import androidx.room.Entity
|
||||
import androidx.room.ForeignKey
|
||||
import androidx.room.Index
|
||||
@@ -1,9 +1,7 @@
|
||||
package ac.aux.compose.database.model
|
||||
package ac.cord.auxiliary.compose.database.model
|
||||
|
||||
import ac.aux.compose.database.model.traits.NostrEventEntity
|
||||
import ac.aux.compose.database.model.traits.OptionalNostrEventEntity
|
||||
import ac.aux.compose.database.model.traits.TimestampedEntity
|
||||
import ac.aux.compose.database.model.traits.UnsignedNostrEventEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.OptionalNostrEventEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.TimestampedEntity
|
||||
import androidx.room.Entity
|
||||
import androidx.room.ForeignKey
|
||||
import androidx.room.Index
|
||||
@@ -1,23 +1,15 @@
|
||||
package ac.aux.compose.database.model
|
||||
package ac.cord.auxiliary.compose.database.model
|
||||
|
||||
import ac.aux.compose.database.model.traits.BroadcastableEntity
|
||||
import ac.aux.compose.database.model.traits.LocalStoreEntity
|
||||
import ac.aux.compose.database.model.traits.SoftDeletableEntity
|
||||
import ac.aux.compose.database.model.traits.TimestampedEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.BroadcastableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.LocalStoreEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.SoftDeletableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.TimestampedEntity
|
||||
import androidx.room.Entity
|
||||
import androidx.room.ForeignKey
|
||||
import androidx.room.Index
|
||||
import androidx.room.PrimaryKey
|
||||
import co.touchlab.kermit.Logger
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.Kind
|
||||
import com.vitorpamplona.quartz.nip01Core.core.TagArray
|
||||
import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent
|
||||
import com.vitorpamplona.quartz.nip10Notes.TextNoteEvent
|
||||
import com.vitorpamplona.quartz.nip18Reposts.RepostEvent
|
||||
import com.vitorpamplona.quartz.nip25Reactions.ReactionEvent
|
||||
import com.vitorpamplona.quartz.nip57Zaps.LnZapEvent
|
||||
import com.vitorpamplona.quartz.utils.EventFactory
|
||||
import kotlin.String
|
||||
import kotlin.time.Clock
|
||||
import kotlin.time.Instant
|
||||
@@ -1,11 +1,11 @@
|
||||
package ac.aux.compose.database.model
|
||||
package ac.cord.auxiliary.compose.database.model
|
||||
|
||||
import ac.aux.compose.database.model.traits.BroadcastableEntity
|
||||
import ac.aux.compose.database.model.traits.LocalStoreEntity
|
||||
import ac.aux.compose.database.model.traits.NostrEventEntity
|
||||
import ac.aux.compose.database.model.traits.SoftDeletableEntity
|
||||
import ac.aux.compose.database.model.traits.TimestampedEntity
|
||||
import ac.aux.compose.database.model.traits.UserViewableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.BroadcastableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.LocalStoreEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.NostrEventEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.SoftDeletableEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.TimestampedEntity
|
||||
import ac.cord.auxiliary.compose.database.model.traits.UserViewableEntity
|
||||
import androidx.room.Entity
|
||||
import androidx.room.ForeignKey
|
||||
import androidx.room.Index
|
||||
@@ -1,11 +1,11 @@
|
||||
package ac.aux.compose.database.model.intermdiate
|
||||
package ac.cord.auxiliary.compose.database.model.intermdiate
|
||||
|
||||
import ac.aux.compose.database.model.BroadcastNostrEventReceipt
|
||||
import ac.aux.compose.database.model.BroadcastNostrEventRequest
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
import ac.aux.compose.database.model.Profile
|
||||
import ac.aux.compose.database.model.SynchronizeNostrEventRequest
|
||||
import ac.aux.compose.database.model.UnsignedNostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.BroadcastNostrEventReceipt
|
||||
import ac.cord.auxiliary.compose.database.model.BroadcastNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.database.model.NostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.Profile
|
||||
import ac.cord.auxiliary.compose.database.model.SynchronizeNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.database.model.UnsignedNostrEvent
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Relation
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package ac.cord.auxiliary.compose.database.model.intermdiate
|
||||
|
||||
import ac.cord.auxiliary.compose.database.model.BroadcastNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.database.model.NostrEvent
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Relation
|
||||
|
||||
data class LocalBroadcastNostrEventRequest(
|
||||
@Embedded val broadcastNostrEventRequest: BroadcastNostrEventRequest,
|
||||
|
||||
@Relation(
|
||||
parentColumn = "nostrEventId",
|
||||
entityColumn = "id"
|
||||
)
|
||||
val nostrEvent: NostrEvent,
|
||||
)
|
||||
@@ -1,9 +1,8 @@
|
||||
package ac.aux.compose.database.model.intermdiate
|
||||
package ac.cord.auxiliary.compose.database.model.intermdiate
|
||||
|
||||
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.Repost
|
||||
import ac.cord.auxiliary.compose.database.model.NostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.Profile
|
||||
import ac.cord.auxiliary.compose.database.model.Repost
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Relation
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package ac.aux.compose.database.model.intermdiate
|
||||
package ac.cord.auxiliary.compose.database.model.intermdiate
|
||||
|
||||
import ac.aux.compose.database.model.Post
|
||||
import ac.aux.compose.database.model.Profile
|
||||
import ac.cord.auxiliary.compose.database.model.Post
|
||||
import ac.cord.auxiliary.compose.database.model.Profile
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Relation
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package ac.cord.auxiliary.compose.database.model.intermdiate
|
||||
|
||||
import ac.cord.auxiliary.compose.database.model.NostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.Profile
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Relation
|
||||
|
||||
data class LocalProfile(
|
||||
@Embedded val nostrEvent: NostrEvent,
|
||||
|
||||
@Relation(
|
||||
parentColumn = "pubKey",
|
||||
entityColumn = "publicKey"
|
||||
)
|
||||
val profile: Profile,
|
||||
)
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.database.model.traits
|
||||
package ac.cord.auxiliary.compose.database.model.traits
|
||||
|
||||
import kotlin.time.Instant
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.database.model.traits
|
||||
package ac.cord.auxiliary.compose.database.model.traits
|
||||
|
||||
import kotlin.time.Instant
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.database.model.traits
|
||||
package ac.cord.auxiliary.compose.database.model.traits
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.database.model.traits
|
||||
package ac.cord.auxiliary.compose.database.model.traits
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.database.model.traits
|
||||
package ac.cord.auxiliary.compose.database.model.traits
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.database.model.traits
|
||||
package ac.cord.auxiliary.compose.database.model.traits
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.database.model.traits
|
||||
package ac.cord.auxiliary.compose.database.model.traits
|
||||
|
||||
import kotlin.time.Instant
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.database.model.traits
|
||||
package ac.cord.auxiliary.compose.database.model.traits
|
||||
|
||||
import kotlin.time.Instant
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.database.model.traits
|
||||
package ac.cord.auxiliary.compose.database.model.traits
|
||||
|
||||
interface UnsignedNostrEventEntity {
|
||||
val unsignedNostrEventId: Long?
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.database.model.traits
|
||||
package ac.cord.auxiliary.compose.database.model.traits
|
||||
|
||||
import kotlin.time.Instant
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
package ac.cord.auxiliary.compose.database.model.typealiases
|
||||
|
||||
typealias HexArray = Array<String>
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
package ac.cord.auxiliary.compose.database.model.typealiases
|
||||
|
||||
typealias KindArray = Array<Int>
|
||||
@@ -0,0 +1,5 @@
|
||||
package ac.cord.auxiliary.compose.database.model.typealiases
|
||||
|
||||
import ac.cord.auxiliary.compose.database.model.types.SynchronizationFilter
|
||||
|
||||
typealias SynchronizationFilterArray = Array<SynchronizationFilter>
|
||||
@@ -1,9 +1,7 @@
|
||||
package ac.aux.compose.database.model.types
|
||||
package ac.cord.auxiliary.compose.database.model.types
|
||||
|
||||
import androidx.sqlite.SQLiteStatement
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.core.Kind
|
||||
import com.vitorpamplona.quartz.nip01Core.store.sqlite.bindAny
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlin.time.Instant
|
||||
|
||||
@@ -1,25 +1,24 @@
|
||||
package ac.aux.compose.database.repository
|
||||
package ac.cord.auxiliary.compose.database.repository
|
||||
|
||||
import ac.aux.compose.database.AuxDatabase
|
||||
import ac.aux.compose.database.GENESIS_AT
|
||||
import ac.aux.compose.database.model.BroadcastNostrEventReceipt
|
||||
import ac.aux.compose.database.model.BroadcastNostrEventRequest
|
||||
import ac.aux.compose.database.model.NostrEvent
|
||||
import ac.aux.compose.database.model.Profile
|
||||
import ac.aux.compose.database.model.RecentSearch
|
||||
import ac.aux.compose.database.model.Relay
|
||||
import ac.aux.compose.database.model.SynchronizeNostrEventRequest
|
||||
import ac.aux.compose.database.model.UnsignedNostrEvent
|
||||
import ac.aux.compose.database.model.intermdiate.LocalBroadcastNostrEventRequest
|
||||
import ac.aux.compose.database.model.intermdiate.LocalNostrEvent
|
||||
import ac.aux.compose.database.model.intermdiate.LocalAccount
|
||||
import ac.aux.compose.database.model.intermdiate.LocalProfile
|
||||
import ac.aux.compose.database.model.typealiases.SynchronizationFilterArray
|
||||
import ac.aux.compose.database.model.types.SynchronizationFilter
|
||||
import ac.aux.compose.nostr.Relays
|
||||
import ac.aux.compose.repository.NostrRepository
|
||||
import ac.aux.compose.repository.RelayRepository
|
||||
import androidx.room.RoomRawQuery
|
||||
import ac.cord.auxiliary.compose.database.AuxDatabase
|
||||
import ac.cord.auxiliary.compose.database.GENESIS_AT
|
||||
import ac.cord.auxiliary.compose.database.model.BroadcastNostrEventReceipt
|
||||
import ac.cord.auxiliary.compose.database.model.BroadcastNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.database.model.NostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.Profile
|
||||
import ac.cord.auxiliary.compose.database.model.RecentSearch
|
||||
import ac.cord.auxiliary.compose.database.model.Relay
|
||||
import ac.cord.auxiliary.compose.database.model.SynchronizeNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.database.model.UnsignedNostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.intermdiate.LocalBroadcastNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.database.model.intermdiate.LocalNostrEvent
|
||||
import ac.cord.auxiliary.compose.database.model.intermdiate.LocalAccount
|
||||
import ac.cord.auxiliary.compose.database.model.intermdiate.LocalProfile
|
||||
import ac.cord.auxiliary.compose.database.model.typealiases.SynchronizationFilterArray
|
||||
import ac.cord.auxiliary.compose.database.model.types.SynchronizationFilter
|
||||
import ac.cord.auxiliary.compose.nostr.Relays
|
||||
import ac.cord.auxiliary.compose.repository.NostrRepository
|
||||
import ac.cord.auxiliary.compose.repository.RelayRepository
|
||||
import co.touchlab.kermit.Logger
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent
|
||||
@@ -40,7 +39,6 @@ import com.vitorpamplona.quartz.nip57Zaps.LnZapEvent
|
||||
import com.vitorpamplona.quartz.nip65RelayList.AdvertisedRelayListEvent
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import okio.Buffer
|
||||
import kotlin.collections.emptyMap
|
||||
import kotlin.collections.plus
|
||||
import kotlin.time.Clock
|
||||
@@ -0,0 +1,10 @@
|
||||
package ac.cord.auxiliary.compose.database.repository
|
||||
|
||||
import ac.cord.auxiliary.compose.database.AuxDatabase
|
||||
import ac.cord.auxiliary.compose.repository.PostRepository
|
||||
|
||||
class DatabasePostRepository(
|
||||
private val database: AuxDatabase
|
||||
): PostRepository {
|
||||
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
package ac.aux.compose.database.repository
|
||||
package ac.cord.auxiliary.compose.database.repository
|
||||
|
||||
import ac.aux.compose.database.AuxDatabase
|
||||
import ac.aux.compose.database.model.Profile
|
||||
import ac.aux.compose.database.model.SynchronizeNostrEventRequest
|
||||
import ac.aux.compose.repository.SearchRepository
|
||||
import ac.cord.auxiliary.compose.database.AuxDatabase
|
||||
import ac.cord.auxiliary.compose.database.model.SynchronizeNostrEventRequest
|
||||
import ac.cord.auxiliary.compose.repository.SearchRepository
|
||||
|
||||
class DatabaseSearchRepository(
|
||||
private val database: AuxDatabase
|
||||
@@ -0,0 +1,3 @@
|
||||
package ac.cord.auxiliary.compose.exceptions
|
||||
|
||||
class InvalidNostrPrivateKeyException: RuntimeException()
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.exceptions
|
||||
package ac.cord.auxiliary.compose.exceptions
|
||||
|
||||
class NetworkException(
|
||||
message: String? = null,
|
||||
@@ -1,4 +1,4 @@
|
||||
package ac.aux.compose.exceptions
|
||||
package ac.cord.auxiliary.compose.exceptions
|
||||
|
||||
class NostrNoticeException(
|
||||
val reason: String?,
|
||||
@@ -1,3 +1,3 @@
|
||||
package ac.aux.compose.exceptions
|
||||
package ac.cord.auxiliary.compose.exceptions
|
||||
|
||||
class NostrPublishException(override val cause: Throwable?) : RuntimeException()
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user