diff --git a/frontend/style/app/pay/pay.go b/frontend/style/app/pay/pay.go index 29986113..54be3f85 100644 --- a/frontend/style/app/pay/pay.go +++ b/frontend/style/app/pay/pay.go @@ -24,14 +24,14 @@ type PaymentRequest struct { // Структура для ответа от localhost:5000 type PaymentResponse struct { Message string `json:"message"` - URL string `json:"url"` + URL string `json:"redir_url"` } var db *sql.DB func initDB() { var err error - dbFile := "users.db" + dbFile := "urls_pay.db" db, err = sql.Open("sqlite3", dbFile) if err != nil { log.Fatal("Ошибка подключения к базе данных:", err) @@ -97,7 +97,7 @@ func payHandler(w http.ResponseWriter, r *http.Request) { } // Сохраняем данные в базу данных - insertSQL := `INSERT INTO pay_urls (id, url) VALUES (?, ?)` + insertSQL := `INSERT INTO pay_urls (uuid, url) VALUES (?, ?)` _, err = db.Exec(insertSQL, newUUID, paymentResponse.URL) if err != nil { http.Error(w, "Ошибка при сохранении данных в базу данных", http.StatusInternalServerError) @@ -107,6 +107,12 @@ func payHandler(w http.ResponseWriter, r *http.Request) { // Формируем ответ клиенту в виде простого текста response := fmt.Sprintf("UUID: %s\nURL: %s", newUUID, paymentResponse.URL) + // Set uuid cookie + cookie = &http.Cookie{ + Name: "uuid", + Value: newUUID, + } + http.SetCookie(w, cookie) // Отправляем ответ в виде простого текста w.Header().Set("Content-Type", "text/plain") w.WriteHeader(http.StatusOK) @@ -179,6 +185,10 @@ func checkPayHandler(w http.ResponseWriter, r *http.Request) { w.Write([]byte(response)) } +func TestHandler(w http.ResponseWriter, r *http.Request) { + w.Write([]byte("Hello, World!")) +} + func main() { initDB() @@ -191,6 +201,7 @@ func main() { ) // Register handlers + http.HandleFunc("/", TestHandler) http.HandleFunc("/api/pay", payHandler) http.HandleFunc("api/check_pay", checkPayHandler) diff --git a/frontend/style/app/pay/urls_pay.db b/frontend/style/app/pay/urls_pay.db new file mode 100644 index 00000000..e21dde63 Binary files /dev/null and b/frontend/style/app/pay/urls_pay.db differ diff --git a/go.mod b/go.mod index 0fe95df4..0264dfe5 100644 --- a/go.mod +++ b/go.mod @@ -3,22 +3,22 @@ module market go 1.18 require ( + github.com/gorilla/handlers v1.5.2 + github.com/gorilla/mux v1.8.1 github.com/jmoiron/sqlx v1.4.0 + github.com/joho/godotenv v1.5.1 github.com/lib/pq v1.10.9 + github.com/mattn/go-sqlite3 v1.14.22 + github.com/rs/cors v1.11.1 gopkg.in/yaml.v2 v2.4.0 ) -require ( - github.com/felixge/httpsnoop v1.0.3 // indirect - github.com/gorilla/handlers v1.5.2 // indirect - github.com/gorilla/mux v1.8.1 // indirect - github.com/joho/godotenv v1.5.1 // indirect -) +require github.com/felixge/httpsnoop v1.0.3 // indirect require ( github.com/andybalholm/brotli v1.1.0 // indirect - github.com/gofiber/fiber/v2 v2.52.6 // indirect - github.com/google/uuid v1.6.0 // indirect + github.com/gofiber/fiber/v2 v2.52.6 + github.com/google/uuid v1.6.0 github.com/klauspost/compress v1.17.9 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect diff --git a/go.sum b/go.sum index bfb3dbd1..5d896fd6 100644 --- a/go.sum +++ b/go.sum @@ -12,8 +12,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= -github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o= @@ -31,11 +29,12 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= -github.com/mattn/go-sqlite3 v1.14.24 h1:tpSp2G2KyMnnQu99ngJ47EIkWVmliIizyZBfPrBWDRM= -github.com/mattn/go-sqlite3 v1.14.24/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= +github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasthttp v1.51.0 h1:8b30A5JlZ6C7AS81RsWjYMQmrZG6feChmgAolCl1SqA= @@ -46,10 +45,9 @@ golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=