Migrates missing User filter to the new no EOSE cache manager
This commit is contained in:
+1
-5
@@ -22,16 +22,12 @@ package com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.loaders
|
||||
|
||||
import com.vitorpamplona.ammolite.relays.EVENT_FINDER_TYPES
|
||||
import com.vitorpamplona.ammolite.relays.TypedFilter
|
||||
import com.vitorpamplona.ammolite.relays.filters.EOSETime
|
||||
import com.vitorpamplona.ammolite.relays.filters.SincePerRelayFilter
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent
|
||||
import com.vitorpamplona.quartz.nip65RelayList.AdvertisedRelayListEvent
|
||||
|
||||
fun filterNewUserMetadataForKey(
|
||||
authors: Set<HexKey>,
|
||||
since: Map<String, EOSETime>?,
|
||||
): List<TypedFilter> =
|
||||
fun filterNewUserMetadataForKey(authors: Set<HexKey>): List<TypedFilter> =
|
||||
listOf(
|
||||
TypedFilter(
|
||||
types = EVENT_FINDER_TYPES,
|
||||
|
||||
+4
-8
@@ -20,25 +20,21 @@
|
||||
*/
|
||||
package com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.loaders
|
||||
|
||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.SingleSubEoseManager
|
||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.SingleSubNoEoseCacheEoseManager
|
||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.UserFinderQueryState
|
||||
import com.vitorpamplona.ammolite.relays.NostrClient
|
||||
import com.vitorpamplona.ammolite.relays.TypedFilter
|
||||
import com.vitorpamplona.ammolite.relays.filters.EOSETime
|
||||
|
||||
class UserLoaderSubAssembler(
|
||||
client: NostrClient,
|
||||
allKeys: () -> Set<UserFinderQueryState>,
|
||||
) : SingleSubEoseManager<UserFinderQueryState>(client, allKeys, invalidateAfterEose = true) {
|
||||
override fun updateFilter(
|
||||
keys: List<UserFinderQueryState>,
|
||||
since: Map<String, EOSETime>?,
|
||||
): List<TypedFilter>? {
|
||||
) : SingleSubNoEoseCacheEoseManager<UserFinderQueryState>(client, allKeys, invalidateAfterEose = true) {
|
||||
override fun updateFilter(keys: List<UserFinderQueryState>): List<TypedFilter>? {
|
||||
val firstTimers = keys.filter { it.user.latestMetadata == null }.mapTo(mutableSetOf()) { it.user.pubkeyHex }
|
||||
|
||||
if (firstTimers.isEmpty()) return null
|
||||
|
||||
return filterNewUserMetadataForKey(firstTimers, since)
|
||||
return filterNewUserMetadataForKey(firstTimers)
|
||||
}
|
||||
|
||||
override fun distinct(key: UserFinderQueryState) = key.user
|
||||
|
||||
Reference in New Issue
Block a user