diff --git a/lnurlw/lnurlw_request.go b/lnurlw/lnurlw_request.go index 50bc025..7fa5d6b 100644 --- a/lnurlw/lnurlw_request.go +++ b/lnurlw/lnurlw_request.go @@ -14,15 +14,6 @@ import ( "strings" ) -type ResponseData struct { - Tag string `json:"tag"` - Callback string `json:"callback"` - LnurlwK1 string `json:"k1"` - DefaultDescription string `json:"defaultDescription"` - MinWithdrawable int `json:"minWithdrawable"` - MaxWithdrawable int `json:"maxWithdrawable"` -} - func get_p_c(req *http.Request, p_name string, c_name string) (p string, c string) { params_p, ok := req.URL.Query()[p_name] @@ -255,6 +246,7 @@ func parse_request(req *http.Request) (int, error) { func Response(w http.ResponseWriter, req *http.Request) { env_host_domain := db.Get_setting("HOST_DOMAIN") + if req.Host != env_host_domain { log.Warn("wrong host domain") resp_err.Write(w) @@ -312,15 +304,16 @@ func Response(w http.ResponseWriter, req *http.Request) { return } - defalut_description := db.Get_setting("DEFAULT_DESCRIPTION") + default_description := db.Get_setting("DEFAULT_DESCRIPTION") - response := ResponseData{} - response.Tag = "withdrawRequest" - response.Callback = lnurlw_cb_url - response.LnurlwK1 = lnurlw_k1 - response.DefaultDescription = defalut_description - response.MinWithdrawable = min_withdraw_sats * 1000 // milliSats - response.MaxWithdrawable = max_withdraw_sats * 1000 // milliSats + response := make(map[string]interface{}) + + response["tag"] = "withdrawRequest" + response["callback"] = lnurlw_cb_url + response["k1"] = lnurlw_k1 + response["defaultDescription"] = default_description + response["minWithdrawable"] = min_withdraw_sats * 1000 // milliSats + response["maxWithdrawable"] = max_withdraw_sats * 1000 // milliSats jsonData, err := json.Marshal(response) diff --git a/script/s_setup_test_data b/script/s_setup_test_data new file mode 100755 index 0000000..7426df8 --- /dev/null +++ b/script/s_setup_test_data @@ -0,0 +1,6 @@ +# to close any database connections +sudo systemctl stop postgresql +sudo systemctl start postgresql + +psql postgres -f sql/data.test.sql +echo Test data added diff --git a/sql/data.test.sql b/sql/data.test.sql new file mode 100644 index 0000000..c5827dd --- /dev/null +++ b/sql/data.test.sql @@ -0,0 +1,24 @@ +-- connect to card_db +\c card_db; + +-- clear out table data +DELETE FROM settings; +DELETE FROM card_payments; +DELETE FROM card_receipts; +DELETE FROM cards; + +-- set up test data +INSERT INTO settings (name, value) VALUES ('LOG_LEVEL', 'DEBUG'); +INSERT INTO settings (name, value) VALUES ('AES_DECRYPT_KEY', '994de7f8156609a0effafbdb049337b1'); +INSERT INTO settings (name, value) VALUES ('HOST_DOMAIN', 'localhost:9000'); +INSERT INTO settings (name, value) VALUES ('FUNCTION_INTERNAL_API', 'ENABLE'); +INSERT INTO settings (name, value) VALUES ('MIN_WITHDRAW_SATS', '1'); +INSERT INTO settings (name, value) VALUES ('MAX_WITHDRAW_SATS', '1000'); + + +INSERT INTO cards + (k0_auth_key, k2_cmac_key, k3, k4, lnurlw_enable, last_counter_value, lnurlw_request_timeout_sec, + tx_limit_sats, day_limit_sats, card_name, pin_limit_sats) + VALUES + ('', 'd3dffa1e12d2477e443a6ee9fcfeab18', '', '', 'Y', 0, 10, + 0, 0, 'test_card', 0);