mirror of
git://jb55.com/damus
synced 2024-09-30 00:40:45 +00:00
e981ae247e
The user keypair is necessary to determine whether or not a given event is muted or not. Previously, the user keypair had to be passed on each function call as an optional parameter, and word filtering would not work unless the caller remembered to add the keypair parameter. All usages of MutelistManager functions indicate that the desired base keypair is always the same as the DamusState's keypair that owns the MutelistManager. Therefore, it is simpler and less error prone to simply pass the keypair to MutelistManager during its initialization. Signed-off-by: Daniel D’Aquino <daniel@daquino.me> Signed-off-by: William Casarin <jb55@jb55.com>
46 lines
1.2 KiB
Swift
46 lines
1.2 KiB
Swift
//
|
||
// NotificationExtensionState.swift
|
||
// DamusNotificationService
|
||
//
|
||
// Created by Daniel D’Aquino on 2023-11-27.
|
||
//
|
||
|
||
import Foundation
|
||
|
||
struct NotificationExtensionState: HeadlessDamusState {
|
||
let ndb: Ndb
|
||
let settings: UserSettingsStore
|
||
let contacts: Contacts
|
||
let mutelist_manager: MutelistManager
|
||
let keypair: Keypair
|
||
let profiles: Profiles
|
||
let zaps: Zaps
|
||
let lnurls: LNUrls
|
||
|
||
init?() {
|
||
guard let ndb = try? Ndb(owns_db_file: false) else { return nil }
|
||
self.ndb = ndb
|
||
|
||
guard let keypair = get_saved_keypair() else { return nil }
|
||
|
||
// dumb stuff needed for property wrappers
|
||
UserSettingsStore.pubkey = keypair.pubkey
|
||
self.settings = UserSettingsStore()
|
||
|
||
self.contacts = Contacts(our_pubkey: keypair.pubkey)
|
||
self.mutelist_manager = MutelistManager(user_keypair: keypair)
|
||
self.keypair = keypair
|
||
self.profiles = Profiles(ndb: ndb)
|
||
self.zaps = Zaps(our_pubkey: keypair.pubkey)
|
||
self.lnurls = LNUrls()
|
||
}
|
||
|
||
@discardableResult
|
||
func add_zap(zap: Zapping) -> Bool {
|
||
// store generic zap mapping
|
||
self.zaps.add_zap(zap: zap)
|
||
|
||
return true
|
||
}
|
||
}
|