refactor: ensure make_metadata_event has full keypair

This commit is contained in:
William Casarin
2023-05-10 11:41:17 -07:00
parent f068833c5e
commit baed6adf49
4 changed files with 12 additions and 19 deletions

View File

@@ -434,20 +434,15 @@ struct ContentView: View {
let hide = notif.object as! Bool
home.filter_events()
guard let damus_state else {
return
}
guard let profile = damus_state.profiles.lookup(id: damus_state.pubkey) else {
guard let damus_state,
let profile = damus_state.profiles.lookup(id: damus_state.pubkey),
let keypair = damus_state.keypair.to_full()
else {
return
}
profile.reactions = !hide
guard let profile_ev = make_metadata_event(keypair: damus_state.keypair, metadata: profile) else {
return
}
let profile_ev = make_metadata_event(keypair: keypair, metadata: profile)
damus_state.postbox.send(profile_ev)
}
.alert(NSLocalizedString("Deleted Account", comment: "Alert message to indicate this is a deleted account"), isPresented: $is_deleted_account) {

View File

@@ -468,11 +468,7 @@ func make_first_contact_event(keypair: Keypair) -> NostrEvent? {
return ev
}
func make_metadata_event(keypair: Keypair, metadata: Profile) -> NostrEvent? {
guard let privkey = keypair.privkey else {
return nil
}
func make_metadata_event(keypair: FullKeypair, metadata: Profile) -> NostrEvent {
let metadata_json = encode_json(metadata)!
let ev = NostrEvent(content: metadata_json,
pubkey: keypair.pubkey,
@@ -480,7 +476,7 @@ func make_metadata_event(keypair: Keypair, metadata: Profile) -> NostrEvent? {
tags: [])
ev.calculate_id()
ev.sign(privkey: privkey)
ev.sign(privkey: keypair.privkey)
return ev
}

View File

@@ -60,9 +60,10 @@ struct EditMetadataView: View {
func save() {
let profile = to_profile()
guard let metadata_ev = make_metadata_event(keypair: damus_state.keypair, metadata: profile) else {
guard let keypair = damus_state.keypair.to_full() else {
return
}
let metadata_ev = make_metadata_event(keypair: keypair, metadata: profile)
damus_state.postbox.send(metadata_ev)
}

View File

@@ -112,12 +112,13 @@ struct SaveKeysView: View {
switch wsev {
case .connected:
let metadata = create_account_to_metadata(account)
let metadata_ev = make_metadata_event(keypair: account.keypair, metadata: metadata)
let contacts_ev = make_first_contact_event(keypair: account.keypair)
if let metadata_ev {
if let keypair = account.keypair.to_full() {
let metadata_ev = make_metadata_event(keypair: keypair, metadata: metadata)
self.pool.send(.event(metadata_ev))
}
if let contacts_ev {
self.pool.send(.event(contacts_ev))
}