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
61 lines
1.0 KiB
Swift
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
|
|
}
|
|
|
|
}
|