fix: resolve golangci-lint violations (errcheck, unused, gosimple, ineffassign)

errcheck: add proper error handling with slog.Error for tx.Rollback, key generation, and s3/dav operations. Add nolint comments for intentionally discarded DB scan errors and HTTP write errors.
unused: remove dead code (svcRow type, processImage, nonDepositPaymentType, generateSecureCode, colorBold, nGreen, nRed)
gosimple S1021: merge var declaration with assignment in manage.go
ineffassign: remove dead assignments in settings.go, till.go, images.go

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-07-09 18:53:51 +01:00
co-authored by Sisyphus
parent b26bf14419
commit ed9cb1489c
34 changed files with 766 additions and 345 deletions
+31 -6
View File
@@ -4,6 +4,7 @@ import (
"context"
"crussell/clock"
"fmt"
"log/slog"
"strings"
"time"
@@ -181,7 +182,11 @@ func (s *BaseService) CreateContact(addressBookID int, userID string, input Cont
if err != nil {
return err
}
defer tx.Rollback(context.Background())
defer func() {
if err := tx.Rollback(context.Background()); err != nil {
slog.Error("failed to rollback transaction", "err", err)
}
}()
query := `
INSERT INTO dav_cards (addressbookid, uri, carddata, lastmodified, etag, size)
@@ -211,7 +216,11 @@ func (s *BaseService) UpdateContact(addressBookID int, uri string, input Contact
if err != nil {
return err
}
defer tx.Rollback(context.Background())
defer func() {
if err := tx.Rollback(context.Background()); err != nil {
slog.Error("failed to rollback transaction", "err", err)
}
}()
query := `
UPDATE dav_cards
@@ -232,7 +241,11 @@ func (s *BaseService) DeleteContact(addressBookID int, uri string) error {
if err != nil {
return err
}
defer tx.Rollback(context.Background())
defer func() {
if err := tx.Rollback(context.Background()); err != nil {
slog.Error("failed to rollback transaction", "err", err)
}
}()
query := `DELETE FROM dav_cards WHERE addressbookid = $1 AND uri = $2`
_, err = tx.Exec(context.Background(), query, addressBookID, uri)
@@ -253,7 +266,11 @@ func (s *BaseService) CreateEvent(calendarID int, input EventInput) error {
if err != nil {
return err
}
defer tx.Rollback(context.Background())
defer func() {
if err := tx.Rollback(context.Background()); err != nil {
slog.Error("failed to rollback transaction", "err", err)
}
}()
query := `
INSERT INTO dav_calendarobjects
@@ -288,7 +305,11 @@ func (s *BaseService) UpdateEvent(calendarID int, uid string, input EventInput)
if err != nil {
return err
}
defer tx.Rollback(context.Background())
defer func() {
if err := tx.Rollback(context.Background()); err != nil {
slog.Error("failed to rollback transaction", "err", err)
}
}()
query := `
UPDATE dav_calendarobjects
@@ -314,7 +335,11 @@ func (s *BaseService) DeleteEvent(calendarID int, uid string) error {
if err != nil {
return err
}
defer tx.Rollback(context.Background())
defer func() {
if err := tx.Rollback(context.Background()); err != nil {
slog.Error("failed to rollback transaction", "err", err)
}
}()
query := `DELETE FROM dav_calendarobjects WHERE calendarid = $1 AND uid = $2`
_, err = tx.Exec(context.Background(), query, calendarID, uid)
+3 -2
View File
@@ -40,7 +40,9 @@ func init() {
hostname = h
var buf [12]byte
rand.Read(buf[:])
if _, err := rand.Read(buf[:]); err != nil {
panic("crypto/rand.Read failed: " + err.Error())
}
b64 := base64.StdEncoding.EncodeToString(buf[:])
b64 = strings.NewReplacer("+", "", "/", "").Replace(b64)
randomPrefix = b64[0:10]
@@ -53,7 +55,6 @@ func Hostname() string { return hostname }
// Shorthand references to logutil constants (avoids package-qualified noise).
var (
colorReset = logutil.Reset
colorBold = logutil.Bold
colorDim = logutil.Dim
colorCyan = logutil.Cyan
colorGreen = logutil.Green