internalapi backward compatibility

This commit is contained in:
Peter Rounce 2023-08-02 18:54:07 +00:00
parent 4828610a5d
commit 8f83e04564
5 changed files with 217 additions and 36 deletions

View file

@ -1,8 +1,6 @@
package internalapi
import (
"crypto/rand"
"encoding/hex"
"github.com/boltcard/boltcard/db"
"github.com/boltcard/boltcard/resp_err"
log "github.com/sirupsen/logrus"
@ -11,16 +9,7 @@ import (
"strings"
)
func random_hex() string {
b := make([]byte, 16)
_, err := rand.Read(b)
if err != nil {
log.Warn(err.Error())
return ""
}
return hex.EncodeToString(b)
}
// random_hex() from Createboltcardwithpin used here
func Createboltcard(w http.ResponseWriter, r *http.Request) {
if db.Get_setting("FUNCTION_INTERNAL_API") != "ENABLE" {
@ -83,33 +72,12 @@ func Createboltcard(w http.ResponseWriter, r *http.Request) {
return
}
pin_enable_flag_str := r.URL.Query().Get("enable_pin")
pin_enable_flag, err := strconv.ParseBool(pin_enable_flag_str)
if err != nil {
msg := "updateboltcard: enable_pin is not a valid boolean"
log.Warn(msg)
resp_err.Write_message(w, msg)
return
}
pin_number := r.URL.Query().Get("pin_number")
pin_limit_sats_str := r.URL.Query().Get("pin_limit_sats")
pin_limit_sats, err := strconv.Atoi(pin_limit_sats_str)
if err != nil {
msg := "updateboltcard: pin_limit_sats is not a valid integer"
log.Warn(msg)
resp_err.Write_message(w, msg)
return
}
// log the request
log.WithFields(log.Fields{
"card_name": card_name, "tx_max": tx_max, "day_max": day_max,
"enable": enable_flag, "uid_privacy": uid_privacy_flag,
"allow_neg_bal": allow_neg_bal_flag, "enable_pin": pin_enable_flag,
"pin_number": pin_number, "pin_limit_sats": pin_limit_sats}).Info("createboltcard API request")
"allow_neg_bal": allow_neg_bal_flag}).Info("createboltcard API request")
// create the keys
@ -123,7 +91,7 @@ func Createboltcard(w http.ResponseWriter, r *http.Request) {
err = db.Insert_card(one_time_code, k0_auth_key, k2_cmac_key, k3, k4,
tx_max, day_max, enable_flag, card_name,
uid_privacy_flag, allow_neg_bal_flag, pin_enable_flag, pin_number, pin_limit_sats)
uid_privacy_flag, allow_neg_bal_flag)
if err != nil {
log.Warn(err.Error())
return