Add nostr nip-05 registration with lnd invoices #1
1 changed files with 14 additions and 9 deletions
|
@ -31,14 +31,14 @@ func RequestNostrAddr(w http.ResponseWriter, r *http.Request) {
|
|||
http.ServeFile(w, r, "html/nostr_form.html")
|
||||
case "POST":
|
||||
r.ParseForm()
|
||||
rKey := getRkey(r.FormValue("Name"), getHostname(r.Host))
|
||||
rKey := getRkey("verified", r.FormValue("Name"), getHostname(r.Host))
|
||||
// check if the user already exists
|
||||
redis, err := redis.New("localhost:6379", "", redis.NostrDb)
|
||||
redisCli, err := redis.New("localhost:6379", "", redis.NostrDb)
|
||||
if err != nil {
|
||||
w.WriteHeader(http.StatusNotFound)
|
||||
return
|
||||
}
|
||||
exists := redis.Client.Exists(rKey)
|
||||
exists := redisCli.Client.Exists(rKey)
|
||||
if exists.Val() == 1 {
|
||||
w.WriteHeader(http.StatusConflict)
|
||||
return
|
||||
|
@ -71,6 +71,11 @@ func RequestNostrAddr(w http.ResponseWriter, r *http.Request) {
|
|||
w.WriteHeader(http.StatusServiceUnavailable)
|
||||
return
|
||||
}
|
||||
requestKey := getRkey("requested", r.FormValue("Name"), getHostname(r.Host))
|
||||
err = redisCli.Client.Set(requestKey, jsonUser, redis.NostrDb).Err()
|
||||
if err != nil {
|
||||
fmt.Println("FAILED")
|
||||
}
|
||||
spew.Dump(paymentReq)
|
||||
spew.Dump(exp)
|
||||
|
||||
|
@ -82,7 +87,7 @@ func GetNostrAddr(w http.ResponseWriter, r *http.Request) {
|
|||
r.ParseForm()
|
||||
|
||||
// connect to redis
|
||||
redis, err := redis.New("localhost:6379", "", redis.NostrDb)
|
||||
redisCli, err := redis.New("localhost:6379", "", redis.NostrDb)
|
||||
if err != nil {
|
||||
w.WriteHeader(http.StatusNotFound)
|
||||
return
|
||||
|
@ -90,8 +95,8 @@ func GetNostrAddr(w http.ResponseWriter, r *http.Request) {
|
|||
|
||||
requestedName := r.FormValue("name")
|
||||
// search for user@domain
|
||||
search := getRkey(requestedName, getHostname(r.Host))
|
||||
addr, err := redis.Client.Get(search).Result()
|
||||
search := getRkey("verified", requestedName, getHostname(r.Host))
|
||||
addr, err := redisCli.Client.Get(search).Result()
|
||||
if err != nil {
|
||||
w.WriteHeader(http.StatusNotFound)
|
||||
return
|
||||
|
@ -124,7 +129,7 @@ func AddNostrAddr(n NostrRequest) {
|
|||
if err != nil {
|
||||
fmt.Println("Failed to connect to redis")
|
||||
}
|
||||
nameKey := getRkey(n.Name, n.Hostname)
|
||||
nameKey := getRkey("verified", n.Name, n.Hostname)
|
||||
err = r.Client.Set(nameKey, jsonUser, redis.NostrDb).Err()
|
||||
if err != nil {
|
||||
fmt.Println("FAILED")
|
||||
|
@ -149,9 +154,9 @@ func convertNpubToHex(npub string) (string, error) {
|
|||
|
||||
}
|
||||
|
||||
func getRkey(user string, hostname string) string {
|
||||
func getRkey(prefix string, user string, hostname string) string {
|
||||
if strings.Contains(hostname, ":") {
|
||||
hostname = strings.Split(hostname, ":")[0]
|
||||
}
|
||||
return fmt.Sprintf("%s@%s", user, hostname)
|
||||
return fmt.Sprintf("%s:%s@%s", prefix, user, hostname)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue