Correct the namespace and introduce an android specific namespace

This commit is contained in:
Kgothatso Ngako
2026-04-21 23:46:45 +02:00
parent 7212cad052
commit 4a2ddbc4f2
217 changed files with 880 additions and 1166 deletions

View File

@@ -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"
}
}

View File

@@ -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" />

View File

@@ -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() {
)
}
}
}
}

View File

@@ -1,4 +1,4 @@
package ac.aux.compose
package ac.cord.auxiliary.compose
import android.os.Build

View File

@@ -1,4 +1,4 @@
package ac.aux.compose
package ac.cord.auxiliary.compose
import android.content.Context

View File

@@ -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

View File

@@ -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

View File

@@ -1,7 +0,0 @@
package ac.aux.compose
interface Platform {
val name: String
}
expect fun getPlatform(): Platform

View File

@@ -1,3 +0,0 @@
package ac.aux.compose
expect class PlatformContext

View File

@@ -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...
}
}
}
}

View File

@@ -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)
}

View File

@@ -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,
)

View File

@@ -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,
)

View File

@@ -1,4 +0,0 @@
package ac.aux.compose.database.model.typealiases
typealias HexArray = Array<String>

View File

@@ -1,3 +0,0 @@
package ac.aux.compose.database.model.typealiases
typealias KindArray = Array<Int>

View File

@@ -1,5 +0,0 @@
package ac.aux.compose.database.model.typealiases
import ac.aux.compose.database.model.types.SynchronizationFilter
typealias SynchronizationFilterArray = Array<SynchronizationFilter>

View File

@@ -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 {
}

View File

@@ -1,3 +0,0 @@
package ac.aux.compose.exceptions
class InvalidNostrPrivateKeyException: RuntimeException()

View File

@@ -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
)

View File

@@ -1,6 +0,0 @@
package ac.aux.compose.repository
import ac.aux.compose.database.model.NostrEvent
interface PostRepository {
}

View File

@@ -1,6 +0,0 @@
package ac.aux.compose.ui.composable.navigation.routes
import kotlinx.serialization.Serializable
@Serializable
object BlankRoute: Route()

View File

@@ -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() {
}

View File

@@ -1,6 +0,0 @@
package ac.aux.compose.ui.composable.navigation.routes
import kotlinx.serialization.Serializable
@Serializable
object FeedRoute: Route()

View File

@@ -1,6 +0,0 @@
package ac.aux.compose.ui.composable.navigation.routes
import kotlinx.serialization.Serializable
@Serializable
object LandingRoute: Route()

View File

@@ -1,6 +0,0 @@
package ac.aux.compose.ui.composable.navigation.routes
import kotlinx.serialization.Serializable
@Serializable
object LoadingRoute: Route()

View File

@@ -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() {
}

View File

@@ -1,3 +0,0 @@
package ac.aux.compose.ui.composable.navigation.routes
abstract class Route

View File

@@ -1,6 +0,0 @@
package ac.aux.compose.ui.composable.navigation.routes
import kotlinx.serialization.Serializable
@Serializable
object SearchRoute: Route()

View File

@@ -1,6 +0,0 @@
package ac.aux.compose.ui.composable.navigation.routes
import kotlinx.serialization.Serializable
@Serializable
object SignInRoute: Route()

View File

@@ -1,6 +0,0 @@
package ac.aux.compose.ui.composable.navigation.routes
import kotlinx.serialization.Serializable
@Serializable
object SocialPreconditionRoute: Route()

View File

@@ -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() {
}

View File

@@ -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() {
}

View File

@@ -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() {
}

View File

@@ -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() {
}

View File

@@ -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() {
}

View File

@@ -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

View File

@@ -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
)
}

View File

@@ -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.*

View File

@@ -1,4 +1,4 @@
package ac.aux.compose
package ac.cord.auxiliary.compose
class AuxGlobal(
val platformContext: PlatformContext

View File

@@ -0,0 +1,7 @@
package ac.cord.auxiliary.compose
interface Platform {
val name: String
}
expect fun getPlatform(): Platform

View File

@@ -0,0 +1,3 @@
package ac.cord.auxiliary.compose
expect class PlatformContext

View File

@@ -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

View File

@@ -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...
}
}
}
}

View File

@@ -1,4 +1,4 @@
package ac.aux.compose.database
package ac.cord.auxiliary.compose.database
import androidx.room.RoomDatabaseConstructor

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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(

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1,4 +1,4 @@
package ac.aux.compose.database.model
package ac.cord.auxiliary.compose.database.model
import androidx.room.Entity

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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,
)

View File

@@ -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

View File

@@ -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

View File

@@ -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,
)

View File

@@ -1,4 +1,4 @@
package ac.aux.compose.database.model.traits
package ac.cord.auxiliary.compose.database.model.traits
import kotlin.time.Instant

View File

@@ -1,4 +1,4 @@
package ac.aux.compose.database.model.traits
package ac.cord.auxiliary.compose.database.model.traits
import kotlin.time.Instant

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1,4 +1,4 @@
package ac.aux.compose.database.model.traits
package ac.cord.auxiliary.compose.database.model.traits
import kotlin.time.Instant

View File

@@ -1,4 +1,4 @@
package ac.aux.compose.database.model.traits
package ac.cord.auxiliary.compose.database.model.traits
import kotlin.time.Instant

View File

@@ -1,4 +1,4 @@
package ac.aux.compose.database.model.traits
package ac.cord.auxiliary.compose.database.model.traits
interface UnsignedNostrEventEntity {
val unsignedNostrEventId: Long?

View File

@@ -1,4 +1,4 @@
package ac.aux.compose.database.model.traits
package ac.cord.auxiliary.compose.database.model.traits
import kotlin.time.Instant

View File

@@ -0,0 +1,4 @@
package ac.cord.auxiliary.compose.database.model.typealiases
typealias HexArray = Array<String>

View File

@@ -0,0 +1,3 @@
package ac.cord.auxiliary.compose.database.model.typealiases
typealias KindArray = Array<Int>

View File

@@ -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>

View File

@@ -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

View File

@@ -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

View File

@@ -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 {
}

View File

@@ -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

View File

@@ -0,0 +1,3 @@
package ac.cord.auxiliary.compose.exceptions
class InvalidNostrPrivateKeyException: RuntimeException()

View File

@@ -1,4 +1,4 @@
package ac.aux.compose.exceptions
package ac.cord.auxiliary.compose.exceptions
class NetworkException(
message: String? = null,

View File

@@ -1,4 +1,4 @@
package ac.aux.compose.exceptions
package ac.cord.auxiliary.compose.exceptions
class NostrNoticeException(
val reason: String?,

View File

@@ -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