Files
damus/damus/Nostr/NostrRequest.swift
Charlie Fish 84cfeb1604 nip42: add initial relay auth support
Lightning-Invoice: lnbc1pjcpaakpp5gjs4f626hf8w6slx84xz3wwhlf309z503rjutckdxv6wwg5ldavsdqqcqzpgxqrrs0fppqjaxxw43p7em4g59vedv7pzl76kt0qyjfsp5qcp9de7a7t8h6zs5mcssfaqp4exrnkehqtg2hf0ary3z5cjnasvs9qyyssq55523e4h3cazhkv7f8jqf5qp0n8spykls49crsu5t3m636u3yj4qdqjkdl2nxf6jet5t2r2pfrxmm8rjpqjd3ylrzqq89m4gqt5l6ycqf92c7h
Closes: https://github.com/damus-io/damus/issues/940
Signed-off-by: Charlie Fish <contact@charlie.fish>
Signed-off-by: William Casarin <jb55@jb55.com>
Changelog-Added: Add NIP-42 relay auth support
2024-01-05 10:36:03 -08:00

61 lines
1.0 KiB
Swift

//
// NostrRequest.swift
// damus
//
// Created by William Casarin on 2022-04-12.
//
import Foundation
struct NostrSubscribe {
let filters: [NostrFilter]
let sub_id: String
}
enum NostrRequestType {
case typical(NostrRequest)
case custom(String)
var is_write: Bool {
guard case .typical(let req) = self else {
return true
}
return req.is_write
}
var is_read: Bool {
guard case .typical(let req) = self else {
return true
}
return req.is_read
}
}
enum NostrRequest {
case subscribe(NostrSubscribe)
case unsubscribe(String)
case event(NostrEvent)
case auth(NostrEvent)
var is_write: Bool {
switch self {
case .subscribe:
return false
case .unsubscribe:
return false
case .event:
return true
case .auth:
return false
}
}
var is_read: Bool {
return !is_write
}
}