this repo has no description

add /node/register

Akshay f057a644 39240ac4

Changed files
+16 -3
appview
db
state
+9 -3
appview/db/db.go
··· 3 3 import ( 4 4 "context" 5 5 "database/sql" 6 + "encoding/hex" 6 7 "fmt" 7 8 "log" 8 9 ··· 116 117 117 118 res := tx.QueryRow(`select secret from registrations where domain = ?`, domain) 118 119 119 - var storedSecret string 120 - err = res.Scan(&storedSecret) 120 + var hexSecret string 121 + err = res.Scan(&hexSecret) 122 + if err != nil { 123 + return err 124 + } 125 + 126 + decoded, err := hex.DecodeString(hexSecret) 121 127 if err != nil { 122 128 return err 123 129 } 124 130 125 - err = bcrypt.CompareHashAndPassword([]byte(storedSecret), []byte(secret)) 131 + err = bcrypt.CompareHashAndPassword(decoded, []byte(secret)) 126 132 if err != nil { 127 133 return err 128 134 }
+7
appview/state/state.go
··· 108 108 domain := req.Domain 109 109 secret := req.Secret 110 110 111 + err := s.Db.Register(domain, secret) 112 + if err != nil { 113 + log.Println("failed to register domain", err) 114 + return 115 + } 116 + 111 117 log.Printf("Registered domain: %s with secret: %s", domain, secret) 112 118 } 113 119 } ··· 116 122 r := chi.NewRouter() 117 123 118 124 r.Post("/login", s.Login) 125 + r.Post("/node/register", s.Register) 119 126 r.Group(func(r chi.Router) { 120 127 r.Use(AuthMiddleware(s)) 121 128 r.Post("/node/generate-key", s.GenerateRegistrationKey)