aa793671949b5eb95210b94b6fe69b3f81cc6b8b

Author
TheEdgeOfRage <git@theedgeofrage.com>
Committer
TheEdgeOfRage <git@theedgeofrage.com>
Date

Message

Update dependencies and tools

Diff

This diff is truncated to protect this page.

  1diff --git a/.golangci.bck.yml b/.golangci.bck.yml
  2new file mode 100644
  3index 0000000000000000000000000000000000000000..9df66c947e8a1f356a8453dbcd3e6cde88ece7ee
  4--- /dev/null
  5+++ b/.golangci.bck.yml
  6@@ -0,0 +1,17 @@
  7+---
  8+linters:
  9+  enable:
 10+    - goimports
 11+    - stylecheck
 12+    - lll
 13+  disable:
 14+    - errcheck
 15+
 16+run:
 17+  go: '1.17'
 18+
 19+issues:
 20+  exclude-rules:
 21+    - linters:
 22+        - lll
 23+      source: "// nolint:lll"
 24diff --git a/.golangci.yml b/.golangci.yml
 25index 9df66c947e8a1f356a8453dbcd3e6cde88ece7ee..c49f0a0bc288bf7e2d6a9faa9603fea4ce1e388c 100644
 26--- a/.golangci.yml
 27+++ b/.golangci.yml
 28@@ -1,17 +1,45 @@
 29----
 30+version: "2"
 31+run:
 32+  go: "1.24"
 33 linters:
 34   enable:
 35-    - goimports
 36-    - stylecheck
 37+    - forbidigo
 38     - lll
 39+    - prealloc
 40+    - predeclared
 41+    - staticcheck
 42   disable:
 43     - errcheck
 44-
 45-run:
 46-  go: '1.17'
 47-
 48-issues:
 49-  exclude-rules:
 50-    - linters:
 51-        - lll
 52-      source: "// nolint:lll"
 53+  exclusions:
 54+    generated: lax
 55+    presets:
 56+      - comments
 57+      - common-false-positives
 58+      - legacy
 59+      - std-error-handling
 60+    rules:
 61+      - linters:
 62+          - deadcode
 63+          - gosimple (megacheck)
 64+          - govet (vet, vetshadow)
 65+          - ineffassign
 66+          - lll
 67+          - revive
 68+          - staticcheck
 69+          - staticcheck (megacheck)
 70+          - structcheck
 71+          - unused (megacheck)
 72+          - varcheck
 73+        path: mocks/
 74+formatters:
 75+  enable:
 76+    - gci
 77+    - gofmt
 78+    - gofumpt
 79+    - goimports
 80+  settings:
 81+    gci:
 82+      sections:
 83+        - standard
 84+        - default
 85+        - localmodule
 86diff --git a/Makefile b/Makefile
 87index 30d04d518182ddefd32f5f2d00dc5bea4d21a5b3..f58be148ea40a62b5e46ae23b1cf65783457ba72 100644
 88--- a/Makefile
 89+++ b/Makefile
 90@@ -1,6 +1,6 @@
 91 .PHONY: all setup ytrssil-api build gen-mocks lint yamllint test migrate image-build image-push
 92 
 93-DB_URI ?= postgres://ytrssil:ytrssil@localhost:5431/ytrssil?sslmode=disable
 94+DB_URI ?= postgres://ytrssil:ytrssil@localhost:5432/ytrssil?sslmode=disable
 95 
 96 all: lint test build
 97 
 98@@ -13,7 +13,7 @@ ytrssil-api:
 99 build: ytrssil-api
100 
101 bin/moq:
102-	GOBIN=$(PWD)/bin go install github.com/matryer/moq@v0.2.7
103+	GOBIN=$(PWD)/bin go install github.com/matryer/moq@v0.5.3
104 
105 gen-mocks: bin/moq
106 	./bin/moq -pkg db_mock -out ./mocks/db/db.go ./db DB
107@@ -21,20 +21,22 @@ gen-mocks: bin/moq
108 	go fmt ./...
109 
110 bin/golangci-lint:
111-	curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.48.0
112+	GOBIN=$(PWD)/bin go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.3.1
113+bin/migrate: bin
114+	GOBIN=$(PWD)/bin go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@v4.18.3
115 
116 lint: bin/golangci-lint
117-	go fmt ./...
118+	go mod tidy
119 	go vet ./...
120+	bin/golangci-lint -c .golangci.yml fmt ./...
121 	bin/golangci-lint -c .golangci.yml run ./...
122-	go mod tidy
123 
124 test:
125 	go mod tidy
126 	go test -timeout=10s -race -benchmem ./...
127 
128-migrate:
129-	migrate -database "$(DB_URI)" -path migrations up
130+migrate: bin/migrate
131+	bin/migrate -database "$(DB_URI)" -path migrations up
132 
133 image-build:
134 	@echo "# Building docker image..."
135diff --git a/cmd/main_test.go b/cmd/main_test.go
136index 9493c424cb82a4baa40dfb774e4148f6cf7b62b9..98b8f0aa670d1032e09c4ae107f11ec35bb4b0c6 100644
137--- a/cmd/main_test.go
138+++ b/cmd/main_test.go
139@@ -28,7 +28,7 @@ func init() {
140 	testConfig = config.TestConfig()
141 }
142 
143-func setupTestServer(t *testing.T, authEnabled bool) (*http.Server, db.DB) {
144+func setupTestServer(t *testing.T) (*http.Server, db.DB) {
145 	l := log.NewNopLogger()
146 
147 	db, err := db.NewPostgresDB(l, testConfig.DB)
148@@ -54,7 +54,7 @@ func setupTestServer(t *testing.T, authEnabled bool) (*http.Server, db.DB) {
149 }
150 
151 func TestHealthz(t *testing.T) {
152-	server, _ := setupTestServer(t, false)
153+	server, _ := setupTestServer(t)
154 	if !assert.NotNil(t, server) {
155 		return
156 	}
157@@ -68,7 +68,7 @@ func TestHealthz(t *testing.T) {
158 }
159 
160 func TestCreateUser(t *testing.T) {
161-	server, db := setupTestServer(t, false)
162+	server, db := setupTestServer(t)
163 	if !assert.NotNil(t, server) {
164 		return
165 	}
166diff --git a/docker-compose.yml b/compose.yaml
167rename from docker-compose.yml
168rename to compose.yaml
169index 2f58916e97f92363ffd48aca6565110bebd832f6..57f3d37cf0f472d2a17d44e49f0a69861d04e3e9 100644
170--- a/docker-compose.yml
171+++ b/compose.yaml
172@@ -1,5 +1,5 @@
173 ---
174-version: "3"
175+name: ytrssil
176 services:
177   postgres:
178     image: postgres:14-alpine
179@@ -8,6 +8,8 @@ services:
180       POSTGRES_PASSWORD: ytrssil
181       POSTGRES_USER: ytrssil
182       POSTGRES_DB: ytrssil
183+    ports:
184+      - 5432:5432
185     volumes:
186       - postgres-data:/var/lib/postgresql/data
187     healthcheck:
188diff --git a/config/config.go b/config/config.go
189index 5923c973b296ea9728defdc3c63a51bd2a0f8ec2..d018dd006d4f38606389af27f123459d7fc82f98 100644
190--- a/config/config.go
191+++ b/config/config.go
192@@ -2,6 +2,7 @@ package config
193 
194 import (
195 	"os"
196+	"strings"
197 
198 	flags "github.com/jessevdk/go-flags"
199 )
200@@ -40,7 +41,10 @@ func Parse() (Config, error) {
201 
202 // TestConfig returns a mostly hardcoded configuration used for running tests
203 func TestConfig() Config {
204-	dbURI := getenvOrDefault("DB_URI", "postgres://ytrssil:ytrssil@postgres:5432/ytrssil")
205+	dbURI := getenvOrDefault("DB_URI", "postgres://ytrssil:ytrssil@localhost:5432/ytrssil?sslmode=disable")
206+	if !strings.Contains(dbURI, "sslmode") {
207+		dbURI = dbURI + "?sslmode=disable"
208+	}
209 
210 	gin := Gin{
211 		Port: 8080,
212diff --git a/feedparser/feedparser.go b/feedparser/feedparser.go
213index 03b913eb28f1ca9218f54fd34f182a1b4b5ad399..2dbc4a5a3f52732542f90b9642968f8b5a740932 100644
214--- a/feedparser/feedparser.go
215+++ b/feedparser/feedparser.go
216@@ -8,8 +8,9 @@ import (
217 	"net/http"
218 	"sync"
219 
220-	"gitea.theedgeofrage.com/TheEdgeOfRage/ytrssil-api/lib/log"
221 	"github.com/paulrosania/go-charset/charset"
222+
223+	"gitea.theedgeofrage.com/TheEdgeOfRage/ytrssil-api/lib/log"
224 )
225 
226 var (
227diff --git a/go.mod b/go.mod
228index e30c89370bc17a1d37a909242bf229f76ef126de..b71422033684c035c3a1ff5e40340d206c88443f 100644
229--- a/go.mod
230+++ b/go.mod
231@@ -3,38 +3,44 @@ module gitea.theedgeofrage.com/TheEdgeOfRage/ytrssil-api
232 go 1.19
233 
234 require (
235-	github.com/alexedwards/argon2id v0.0.0-20211130144151-3585854a6387
236-	github.com/gin-gonic/gin v1.8.1
237+	github.com/alexedwards/argon2id v1.0.0
238+	github.com/gin-gonic/gin v1.10.1
239 	github.com/go-kit/log v0.2.1
240-	github.com/jessevdk/go-flags v1.5.0
241-	github.com/lib/pq v1.10.7
242+	github.com/jessevdk/go-flags v1.6.1
243+	github.com/lib/pq v1.10.9
244 	github.com/paulrosania/go-charset v0.0.0-20190326053356-55c9d7a5834c
245-	github.com/stretchr/testify v1.8.0
246+	github.com/stretchr/testify v1.10.0
247 )
248 
249 require (
250+	github.com/bytedance/sonic v1.11.6 // indirect
251+	github.com/bytedance/sonic/loader v0.1.1 // indirect
252+	github.com/cloudwego/base64x v0.1.4 // indirect
253+	github.com/cloudwego/iasm v0.2.0 // indirect
254 	github.com/davecgh/go-spew v1.1.1 // indirect
255+	github.com/gabriel-vasile/mimetype v1.4.3 // indirect
256 	github.com/gin-contrib/sse v0.1.0 // indirect
257 	github.com/go-logfmt/logfmt v0.5.1 // indirect
258-	github.com/go-playground/locales v0.14.0 // indirect
259-	github.com/go-playground/universal-translator v0.18.0 // indirect
260-	github.com/go-playground/validator/v10 v10.11.0 // indirect
261-	github.com/goccy/go-json v0.9.11 // indirect
262+	github.com/go-playground/locales v0.14.1 // indirect
263+	github.com/go-playground/universal-translator v0.18.1 // indirect
264+	github.com/go-playground/validator/v10 v10.20.0 // indirect
265+	github.com/goccy/go-json v0.10.2 // indirect
266 	github.com/google/go-cmp v0.5.8 // indirect
267 	github.com/json-iterator/go v1.1.12 // indirect
268-	github.com/leodido/go-urn v1.2.1 // indirect
269-	github.com/mattn/go-isatty v0.0.16 // indirect
270+	github.com/klauspost/cpuid/v2 v2.2.7 // indirect
271+	github.com/leodido/go-urn v1.4.0 // indirect
272+	github.com/mattn/go-isatty v0.0.20 // indirect
273 	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
274 	github.com/modern-go/reflect2 v1.0.2 // indirect
275-	github.com/pelletier/go-toml/v2 v2.0.5 // indirect
276+	github.com/pelletier/go-toml/v2 v2.2.2 // indirect
277 	github.com/pmezard/go-difflib v1.0.0 // indirect
278-	github.com/rogpeppe/go-internal v1.9.0 // indirect
279-	github.com/ugorji/go/codec v1.2.7 // indirect
280-	golang.org/x/crypto v0.1.0 // indirect
281-	golang.org/x/net v0.1.0 // indirect
282-	golang.org/x/sys v0.1.0 // indirect
283-	golang.org/x/text v0.4.0 // indirect
284-	google.golang.org/protobuf v1.28.0 // indirect
285-	gopkg.in/yaml.v2 v2.4.0 // indirect
286+	github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
287+	github.com/ugorji/go/codec v1.2.12 // indirect
288+	golang.org/x/arch v0.8.0 // indirect
289+	golang.org/x/crypto v0.23.0 // indirect
290+	golang.org/x/net v0.25.0 // indirect
291+	golang.org/x/sys v0.21.0 // indirect
292+	golang.org/x/text v0.15.0 // indirect
293+	google.golang.org/protobuf v1.34.1 // indirect
294 	gopkg.in/yaml.v3 v3.0.1 // indirect
295 )
296diff --git a/go.sum b/go.sum
297index 6f3783e8cf1db13aea5d4392c2ab4947ab00dad6..fd087c83db106d0209e1124a990c1af62efcb85d 100644
298--- a/go.sum
299+++ b/go.sum
300@@ -1,50 +1,52 @@
301-github.com/alexedwards/argon2id v0.0.0-20211130144151-3585854a6387 h1:loy0fjI90vF44BPW4ZYOkE3tDkGTy7yHURusOJimt+I=
302-github.com/alexedwards/argon2id v0.0.0-20211130144151-3585854a6387/go.mod h1:GuR5j/NW7AU7tDAQUDGCtpiPxWIOy/c3kiRDnlwiCHc=
303-github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
304+github.com/alexedwards/argon2id v1.0.0 h1:wJzDx66hqWX7siL/SRUmgz3F8YMrd/nfX/xHHcQQP0w=
305+github.com/alexedwards/argon2id v1.0.0/go.mod h1:tYKkqIjzXvZdzPvADMWOEZ+l6+BD6CtBXMj5fnJppiw=
306+github.com/bytedance/sonic v1.11.6 h1:oUp34TzMlL+OY1OUWxHqsdkgC/Zfc85zGqw9siXjrc0=
307+github.com/bytedance/sonic v1.11.6/go.mod h1:LysEHSvpvDySVdC2f87zGWf6CIKJcAvqab1ZaiQtds4=
308+github.com/bytedance/sonic/loader v0.1.1 h1:c+e5Pt1k/cy5wMveRDyk2X4B9hF4g7an8N3zCYjJFNM=
309+github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
310+github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y=
311+github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
312+github.com/cloudwego/iasm v0.2.0 h1:1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg=
313+github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY=
314 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
315 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
316 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
317+github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0=
318+github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk=
319 github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
320 github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
321-github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8=
322-github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk=
323+github.com/gin-gonic/gin v1.10.1 h1:T0ujvqyCSqRopADpgPgiTT63DUQVSfojyME59Ei63pQ=
324+github.com/gin-gonic/gin v1.10.1/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y=
325 github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU=
326 github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0=
327 github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=
328 github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
329-github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A=
330-github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
331-github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU=
332-github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs=
333-github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho=
334-github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA=
335-github.com/go-playground/validator/v10 v10.11.0 h1:0W+xRM511GY47Yy3bZUbJVitCNg2BOGlCyvTqsp/xIw=
336-github.com/go-playground/validator/v10 v10.11.0/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU=
337-github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk=
338-github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
339-github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
340-github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
341+github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
342+github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
343+github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
344+github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
345+github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
346+github.com/go-playground/validator/v10 v10.20.0 h1:K9ISHbSaI0lyB2eWMPJo+kOS/FBExVwjEviJTixqxL8=
347+github.com/go-playground/validator/v10 v10.20.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM=
348+github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
349+github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
350 github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
351 github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
352 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
353-github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=
354-github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
355+github.com/jessevdk/go-flags v1.6.1 h1:Cvu5U8UGrLay1rZfv/zP7iLpSHGUZ/Ou68T0iX1bBK4=
356+github.com/jessevdk/go-flags v1.6.1/go.mod h1:Mk8T1hIAWpOiJiHa9rJASDK2UGWji0EuPGBnNLMooyc=
357 github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
358 github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
359-github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
360-github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
361-github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
362-github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
363-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
364-github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
365-github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
366-github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
367-github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w=
368-github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY=
369-github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw=
370-github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
371-github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ=
372-github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
373+github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
374+github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM=
375+github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
376+github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M=
377+github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
378+github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
379+github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
380+github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
381+github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
382+github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
383 github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
384 github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
385 github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
386@@ -52,59 +54,83 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G
387 github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
388 github.com/paulrosania/go-charset v0.0.0-20190326053356-55c9d7a5834c h1:P6XGcuPTigoHf4TSu+3D/7QOQ1MbL6alNwrGhcW7sKw=
389 github.com/paulrosania/go-charset v0.0.0-20190326053356-55c9d7a5834c/go.mod h1:YnNlZP7l4MhyGQ4CBRwv6ohZTPrUJJZtEv4ZgADkbs4=
390-github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg=
391-github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas=
392-github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
393+github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM=
394+github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
395 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
396 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
397-github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
398-github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
399-github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
400diff --git a/handler/videos.go b/handler/videos.go
401index 6edde23e8883e0b48d5b576e5fa7321118c133ee..695b161040b5d68f1bab54127dcba4697ce5b7fe 100644
402--- a/handler/videos.go
403+++ b/handler/videos.go
404@@ -73,8 +73,8 @@ func (h *handler) FetchVideos(ctx context.Context) error {
405 	if err != nil {
406 		return err
407 	}
408-	var parsedChannels = make(chan *feedparser.Channel, len(channels))
409-	var errors = make(chan error, len(channels))
410+	parsedChannels := make(chan *feedparser.Channel, len(channels))
411+	errors := make(chan error, len(channels))
412 	var wg sync.WaitGroup
413 	var mu sync.Mutex
414 	for _, channel := range channels {
415diff --git a/httpserver/ytrssil/videos.go b/httpserver/ytrssil/videos.go
416index da7ce1a848eae0a540740955ce3df630d635d879..c46106d6cca434fd66b12117f98ae51bef56875e 100644
417--- a/httpserver/ytrssil/videos.go
418+++ b/httpserver/ytrssil/videos.go
419@@ -3,8 +3,9 @@ package ytrssil
420 import (
421 	"net/http"
422 
423-	"gitea.theedgeofrage.com/TheEdgeOfRage/ytrssil-api/models"
424 	"github.com/gin-gonic/gin"
425+
426+	"gitea.theedgeofrage.com/TheEdgeOfRage/ytrssil-api/models"
427 )
428 
429 func (s *server) GetNewVideos(c *gin.Context) {
430diff --git a/lib/log/log.go b/lib/log/log.go
431index 21b730fda5dd24721d6cc0d6c723f16c42ca3256..8efd86e2d4b1fa079b8a5553dfad3649c799759a 100644
432--- a/lib/log/log.go
433+++ b/lib/log/log.go
434@@ -2,9 +2,8 @@ package log
435 
436 import (
437 	"fmt"
438-	"os"
439-
440 	stdlog "log"
441+	"os"
442 
443 	"github.com/gin-gonic/gin"
444 	"github.com/go-kit/log"