From 3529599a186c068dcb0548164e9371f35078ac5e Mon Sep 17 00:00:00 2001 From: Adriano Caloiaro Date: Tue, 1 Aug 2023 16:45:50 -0600 Subject: [PATCH] Fix upleveling previously upleveled garbage --- go.mod | 2 +- server.go | 9 +++++++++ themes/terminal/assets/css/post.scss | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index f38d9c8..428dcec 100644 --- a/go.mod +++ b/go.mod @@ -13,6 +13,7 @@ require ( github.com/golang-migrate/migrate/v4 v4.16.2 github.com/jackc/pgx-gofrs-uuid v0.0.0-20230224015001-1d428863c2e2 github.com/jackc/pgx/v5 v5.4.2 + github.com/yuin/goldmark v1.5.5 golang.org/x/crypto v0.9.0 golang.org/x/net v0.10.0 ) @@ -29,7 +30,6 @@ require ( github.com/jsuar/go-cron-descriptor v0.1.0 // indirect github.com/lib/pq v1.10.2 // indirect github.com/robfig/cron v1.2.0 // indirect - github.com/yuin/goldmark v1.5.5 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.9.0 // indirect go.uber.org/zap v1.24.0 // indirect diff --git a/server.go b/server.go index 4536db9..fa50509 100644 --- a/server.go +++ b/server.go @@ -36,6 +36,7 @@ import ( "github.com/golang-migrate/migrate/v4/source/iofs" pgxuuid "github.com/jackc/pgx-gofrs-uuid" "github.com/jackc/pgx/v5" + "github.com/jackc/pgx/v5/pgconn" "github.com/jackc/pgx/v5/pgxpool" "github.com/yuin/goldmark" "github.com/yuin/goldmark/extension" @@ -257,11 +258,19 @@ func addUplevelHandler(w http.ResponseWriter, r *http.Request) { "INSERT INTO uplevels(garbage_id, user_id) VALUES ($1, $2)", garbageID, userID) + if err != nil { + var pgErr *pgconn.PgError + if errors.As(err, &pgErr) { + if pgErr.Code == "23505" { // duplicate key error + goto render + } + } ise(err, w) return } +render: garbageUUID, _ := uuid.FromString(garbageID) garbage := Garbage{ID: garbageUUID} tmpl := template.Must(template.ParseFS(partialsFS, "partials/garbage/uplevel_button.tmpl")) diff --git a/themes/terminal/assets/css/post.scss b/themes/terminal/assets/css/post.scss index b581342..b082a23 100644 --- a/themes/terminal/assets/css/post.scss +++ b/themes/terminal/assets/css/post.scss @@ -147,4 +147,5 @@ h1:hover a, h2:hover a, h3:hover a, h4:hover a { blockquote { padding: 0px; + margin: 0px; }