Add nostr nip-05 registration with lnd invoices #1
3 changed files with 23 additions and 21 deletions
13
main.go
13
main.go
|
@ -7,9 +7,21 @@ import (
|
|||
"git.minhas.io/asara/well-goknown/logger"
|
||||
"git.minhas.io/asara/well-goknown/matrix"
|
||||
"git.minhas.io/asara/well-goknown/nostr"
|
||||
"git.minhas.io/asara/well-goknown/redis"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var err error
|
||||
l := logger.Get()
|
||||
// connect to redis
|
||||
redis.NostrRedisConn, err = redis.New("localhost:6379", "", redis.NostrKeyspace)
|
||||
if err != nil {
|
||||
l.Fatal().Msg("unable to connect to redis")
|
||||
}
|
||||
redis.LndRedisConn, err = redis.New("localhost:6379", "", redis.LndKeyspace)
|
||||
if err != nil {
|
||||
l.Fatal().Msg("unable to connect to redis")
|
||||
}
|
||||
/*
|
||||
nostrTest := nostr.NostrRequest{
|
||||
Name: "asara",
|
||||
|
@ -19,7 +31,6 @@ func main() {
|
|||
nostr.AddNostrAddr(nostrTest)
|
||||
*/
|
||||
// matrix endpoints
|
||||
l := logger.Get()
|
||||
l.Debug().Msg("enabling matrix server endpoint")
|
||||
http.HandleFunc("/.well-known/matrix/server", matrix.MatrixServer)
|
||||
l.Debug().Msg("enabling matrix client endpoint")
|
||||
|
|
|
@ -37,12 +37,7 @@ func RequestNostrAddr(w http.ResponseWriter, r *http.Request) {
|
|||
http.ServeFile(w, r, "html/nostr_form.html")
|
||||
case "POST":
|
||||
r.ParseForm()
|
||||
redisCli, err := redis.New("localhost:6379", "", redis.NostrDb)
|
||||
if err != nil {
|
||||
l.Error().Msg("unable to connect to redis")
|
||||
w.WriteHeader(http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
redisCli := redis.NostrRedisConn
|
||||
// check if the user already exists
|
||||
rKey := getRkey("verified", r.FormValue("Name"), getHostname(r.Host))
|
||||
exists := redisCli.Client.Exists(ctx, rKey)
|
||||
|
@ -98,19 +93,13 @@ func RequestNostrAddr(w http.ResponseWriter, r *http.Request) {
|
|||
|
||||
func GetNostrAddr(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := context.TODO()
|
||||
l := logger.Get()
|
||||
// get query string for username
|
||||
r.ParseForm()
|
||||
requestedName := r.FormValue("name")
|
||||
|
||||
// connect to redis
|
||||
redisCli, err := redis.New("localhost:6379", "", redis.NostrDb)
|
||||
if err != nil {
|
||||
l.Error().Msg("unable to connect to redis")
|
||||
w.WriteHeader(http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
redisCli := redis.NostrRedisConn
|
||||
|
||||
requestedName := r.FormValue("name")
|
||||
// search for user@domain
|
||||
search := getRkey("verified", requestedName, getHostname(r.Host))
|
||||
addr, err := redisCli.Client.Get(ctx, search).Result()
|
||||
|
@ -149,10 +138,7 @@ func AddNostrAddr(n NostrRequest) {
|
|||
}
|
||||
jsonUser, _ := json.Marshal(user)
|
||||
|
||||
redisCli, err := redis.New("localhost:6379", "", redis.NostrDb)
|
||||
if err != nil {
|
||||
l.Error().Msg("unable to connect to redis")
|
||||
}
|
||||
redisCli := redis.NostrRedisConn
|
||||
nameKey := getRkey("verified", n.Name, n.Hostname)
|
||||
enc := b64.StdEncoding.EncodeToString([]byte(jsonUser))
|
||||
err = redisCli.Client.Set(ctx, nameKey, enc, 0).Err()
|
||||
|
|
|
@ -7,14 +7,19 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
NostrDb = iota
|
||||
LndDb = iota
|
||||
NostrKeyspace = iota
|
||||
LndKeyspace = iota
|
||||
)
|
||||
|
||||
type Redis struct {
|
||||
Client *redis.Client
|
||||
}
|
||||
|
||||
var (
|
||||
NostrRedisConn *Redis
|
||||
LndRedisConn *Redis
|
||||
)
|
||||
|
||||
func New(address string, password string, database int) (*Redis, error) {
|
||||
client := redis.NewClient(&redis.Options{
|
||||
Addr: address,
|
||||
|
|
Loading…
Reference in a new issue