From 33130248cb2a63b11090f78ed7dfa499a65407fe Mon Sep 17 00:00:00 2001 From: BroodjeAap Date: Mon, 25 Jul 2022 19:39:01 +0000 Subject: [PATCH] added ability to modify a query --- forms.go | 8 ++ main.go | 18 ++++ templates/editQuery.html | 201 ++++++++++++++++++++++++--------------- util.go | 5 + 4 files changed, 154 insertions(+), 78 deletions(-) create mode 100644 forms.go diff --git a/forms.go b/forms.go new file mode 100644 index 0000000..046832c --- /dev/null +++ b/forms.go @@ -0,0 +1,8 @@ +package main + +type QueryUpdate struct { + ID uint `form:"query_id" binding:"required"` + Name string `form:"query_name" binding:"required" validate:"min=1"` + Type string `form:"query_type" binding:"required" validate:"oneof=css xpath regex json"` + Query string `form:"query" binding:"required"` +} diff --git a/main.go b/main.go index 5ec30a4..6b976ff 100644 --- a/main.go +++ b/main.go @@ -123,6 +123,23 @@ func (web Web) editQuery(c *gin.Context) { }) } +func (web Web) updateQuery(c *gin.Context) { + var queryUpdate QueryUpdate + errMap, err := bindAndValidateQueryUpdate(&queryUpdate, c) + if err != nil { + log.Print(err) + c.HTML(http.StatusBadRequest, "500", errMap) + return + } + var query Query + web.db.First(&query, queryUpdate.ID) + query.Name = queryUpdate.Name + query.Type = queryUpdate.Type + query.Query = queryUpdate.Query + web.db.Save(&query) + c.Redirect(http.StatusSeeOther, fmt.Sprintf("/query/edit/%d", +query.ID)) +} + func passiveBot(bot *tgbotapi.BotAPI) { u := tgbotapi.NewUpdate(0) u.Timeout = 60 @@ -201,6 +218,7 @@ func main() { router.POST("/url/create/", web.createURL) router.POST("/query/create/", web.createQuery) router.GET("/query/edit/:id", web.editQuery) + router.POST("/query/update", web.updateQuery) router.POST("/filter/create/", web.createFilter) router.Run("0.0.0.0:8080") diff --git a/templates/editQuery.html b/templates/editQuery.html index 89b2e3c..9ecab86 100644 --- a/templates/editQuery.html +++ b/templates/editQuery.html @@ -6,8 +6,17 @@
-
{{ .Query.Type }}
-
{{ .Query.Query }}
+
+ {{ .Query.Type }} +
+
+ {{ .Query.Query }} +
+
+ +
@@ -56,90 +65,126 @@
{{ end }} -