diff --git a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/database/dao/NostrEventDao.kt b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/database/dao/NostrEventDao.kt index 20b7b3b2..c2dde988 100644 --- a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/database/dao/NostrEventDao.kt +++ b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/database/dao/NostrEventDao.kt @@ -19,41 +19,41 @@ import kotlinx.coroutines.flow.Flow interface NostrEventDao { @Transaction @Query("SELECT * FROM NostrEvent WHERE kind in (:kinds) ORDER BY createdAt DESC") - fun observeNostrEvents(kinds: Array): Flow?> + fun observeNostrEvents(kinds: Array): Flow> @Transaction @Query("SELECT * FROM NostrEvent WHERE content LIKE '%' || :search || '%' AND kind in (:kinds) ORDER BY createdAt DESC") fun observeFilteredNostrEvents( kinds: Array, search: String - ): Flow?> + ): Flow> @Transaction @Query("SELECT * FROM NostrEvent WHERE kind in (:kinds) AND id in (:ids) ORDER BY createdAt DESC") fun observeFilteredNostrEvents( kinds: Array, ids: Array, - ): Flow?> + ): Flow> @Transaction @Query("SELECT * FROM NostrEvent WHERE kind in (:kinds) AND pubKey in (:authors) ORDER BY createdAt DESC LIMIT 50") fun observeAuthoredNostrEvents( kinds: Array, authors: Array, - ): Flow?> + ): Flow> @Transaction @Query("SELECT * FROM NostrEvent WHERE tags LIKE '%' || :publicKey || '%' AND kind in (:kinds) ORDER BY createdAt DESC") fun observePublicKeyMentionedNostrEvents( kinds: Array, publicKey: HexKey - ): Flow?> + ): Flow> @Transaction @RawQuery fun observePublicKeyFollowingNostrEvents( query: RoomRawQuery - ): Flow?> + ): Flow> @Query("SELECT * FROM NostrEvent WHERE kind in (:kinds) ORDER BY savedAt DESC") fun getAllNostrEvents(kinds: Array): List diff --git a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/database/model/intermdiate/LocalNostrEvent.kt b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/database/model/intermdiate/LocalNostrEvent.kt index 07534449..675a3b55 100644 --- a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/database/model/intermdiate/LocalNostrEvent.kt +++ b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/database/model/intermdiate/LocalNostrEvent.kt @@ -61,7 +61,7 @@ data class LocalNostrEvent( parentColumn = "id", entityColumn = "mentioningNostrEventId", ) - val mentionedProfiles: List? = emptyList(), + val mentionedProfiles: List = emptyList(), ) { @Composable fun RenderNotePreview() { diff --git a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/database/repository/DatabaseNostrRepository.kt b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/database/repository/DatabaseNostrRepository.kt index e3f0328b..ac222896 100644 --- a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/database/repository/DatabaseNostrRepository.kt +++ b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/database/repository/DatabaseNostrRepository.kt @@ -441,7 +441,7 @@ class DatabaseNostrRepository( ) } - override suspend fun observeNostrFeed(): Flow?> { + override suspend fun observeNostrFeed(): Flow> { return database.nostrEventDao().observeNostrEvents( kinds = arrayOf( TextNoteEvent.KIND, @@ -452,7 +452,7 @@ class DatabaseNostrRepository( ) } - override suspend fun observeNostrFeed(synchronizationFilter: SynchronizationFilter): Flow?> { + override suspend fun observeNostrFeed(synchronizationFilter: SynchronizationFilter): Flow> { return when { synchronizationFilter.kinds != null && synchronizationFilter.search != null -> { diff --git a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/repository/NostrRepository.kt b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/repository/NostrRepository.kt index 6a6dc7b2..fd8311de 100644 --- a/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/repository/NostrRepository.kt +++ b/composeApp/src/commonMain/kotlin/ac/cord/auxiliary/compose/repository/NostrRepository.kt @@ -84,9 +84,9 @@ interface NostrRepository { suspend fun getNostrEvent(publicKey: HexKey, kind: Kind): NostrEvent? - suspend fun observeNostrFeed(): Flow?> + suspend fun observeNostrFeed(): Flow> - suspend fun observeNostrFeed(synchronizationFilter: SynchronizationFilter): Flow?> + suspend fun observeNostrFeed(synchronizationFilter: SynchronizationFilter): Flow> suspend fun observeLocalNostrEventById(nostrEventId: String): Flow @@ -207,11 +207,11 @@ interface NostrRepository { TODO("Not yet implemented") } - override suspend fun observeNostrFeed(): Flow?> { + override suspend fun observeNostrFeed(): Flow> { TODO("Not yet implemented") } - override suspend fun observeNostrFeed(synchronizationFilter: SynchronizationFilter): Flow?> { + override suspend fun observeNostrFeed(synchronizationFilter: SynchronizationFilter): Flow> { TODO("Not yet implemented") }