Skip to content

Commit 05533af

Browse files
committed
fix(golint): all linting issues have been fixed
1 parent e474df8 commit 05533af

16 files changed

Lines changed: 59 additions & 43 deletions

.golangci.yml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
# See https://github.com/golangci/golangci-lint/blob/master/.golangci.example.yml
2+
# See https://github.com/golangci/golangci-lint/blob/master/.golangci.reference.yml
33
run:
4-
go: '1.21'
4+
go: '1.23' # Depends on the version with which golangci-lint was built.
55
tests: true
66

77
linters-settings:
@@ -14,9 +14,9 @@ linters-settings:
1414
- default
1515
- prefix(github.com/get-eventually/go-eventually)
1616
gocyclo:
17-
min-complexity: 15
17+
min-complexity: 20
1818
goimports:
19-
local-prefixes: prefix(github.com/get-eventually/go-eventually)
19+
local-prefixes: prefix(flugg.app/flugg)
2020
gocritic:
2121
enabled-tags:
2222
- diagnostic
@@ -29,14 +29,13 @@ linters-settings:
2929
misspell:
3030
locale: US
3131
lll:
32-
line-length: 120
32+
line-length: 160
3333
tagliatelle:
3434
case:
3535
rules:
3636
json: snake
3737
unused:
38-
exported-is-used: true
39-
exported-fields-are-used: true
38+
exported-fields-are-used: false
4039
unparam:
4140
check-exported: true
4241
gomodguard:
@@ -59,7 +58,7 @@ linters:
5958
- errcheck
6059
- exhaustive
6160
- exhaustruct
62-
- exportloopref
61+
- copyloopvar
6362
- funlen
6463
- gci
6564
- gochecknoinits
@@ -69,13 +68,12 @@ linters:
6968
- gocritic
7069
- gocyclo
7170
- godot
72-
- godox
71+
# - godox
7372
- gofumpt
7473
- goimports
7574
- gomodguard
76-
- gomnd
75+
- mnd
7776
- goprintffuncname
78-
- exportloopref
7977
- gosec
8078
- gosimple
8179
- govet
@@ -105,6 +103,8 @@ linters:
105103
- wsl
106104

107105
issues:
106+
max-issues-per-linter: 0
107+
max-same-issues: 0
108108
exclude-use-default: false
109109
exclude-rules:
110110
- path: _test\.go

aggregate/event_sourced_repository.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ func (repo EventSourcedRepository[I, T]) Save(ctx context.Context, root T) error
117117
}
118118

119119
streamID := event.StreamID(root.AggregateID().String())
120-
expectedVersion := version.CheckExact(root.Version() - version.Version(len(events)))
120+
expectedVersion := version.CheckExact(root.Version() - version.Version(len(events))) //nolint:gosec // This should not overflow.
121121

122122
if _, err := repo.eventStore.Append(ctx, streamID, expectedVersion, events...); err != nil {
123123
return fmt.Errorf("aggregate.EventSourcedRepository: failed to commit recorded events, %w", err)

event/store_inmemory.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func (es *InMemoryStore) Stream(
5757
}
5858

5959
for i, evt := range events {
60-
eventVersion := version.Version(i) + 1
60+
eventVersion := version.Version(i) + 1 //nolint:gosec // This should not overflow.
6161

6262
if eventVersion < selector.From {
6363
continue
@@ -100,17 +100,17 @@ func (es *InMemoryStore) Append(
100100
es.mx.Lock()
101101
defer es.mx.Unlock()
102102

103-
currentVersion := version.CheckExact(len(es.events[id]))
103+
currentVersion := version.CheckExact(len(es.events[id])) //nolint:gosec // This should not overflow.
104104

105-
if expected != version.Any && currentVersion != expected {
105+
if v, expectsExactVersion := expected.(version.CheckExact); expectsExactVersion && currentVersion != expected {
106106
return 0, fmt.Errorf("event.InMemoryStore: failed to append events, %w", version.ConflictError{
107-
Expected: version.Version(expected.(version.CheckExact)),
107+
Expected: version.Version(v),
108108
Actual: version.Version(currentVersion),
109109
})
110110
}
111111

112112
es.events[id] = append(es.events[id], events...)
113-
newEventStreamVersion := version.Version(len(es.events[id]))
113+
newEventStreamVersion := version.Version(len(es.events[id])) //nolint:gosec // This should not overflow.
114114

115115
return newEventStreamVersion, nil
116116
}

event/store_tracking.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,12 @@ func (es *TrackingStore) Append(
6060
return v, err
6161
}
6262

63-
previousVersion := v - version.Version(len(events))
63+
previousVersion := v - version.Version(len(events)) //nolint:gosec // This should not overflow.
6464

6565
for i, evt := range events {
6666
es.recorded = append(es.recorded, Persisted{
6767
StreamID: id,
68-
Version: previousVersion + version.Version(i) + 1,
68+
Version: previousVersion + version.Version(i) + 1, //nolint:gosec // This should not overflow.
6969
Envelope: evt,
7070
})
7171
}

firestore/event_store.go

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,12 @@ func (es EventStore) Stream(
6565
return fmt.Errorf("firestore.EventStore.Stream: failed while reading iterator, %w", err)
6666
}
6767

68-
msg, err := es.Serde.Deserialize(doc.Data()["payload"].([]byte))
68+
payload, ok := doc.Data()["payload"].([]byte)
69+
if !ok {
70+
return fmt.Errorf("firestore.EventStore.Stream: invalid payload type, expected: []byte, got: %T", doc.Data()["payload"])
71+
}
72+
73+
msg, err := es.Serde.Deserialize(payload)
6974
if err != nil {
7075
return fmt.Errorf("firestore.EventStore.Stream: failed to deserialize message payload, %w", err)
7176
}
@@ -75,9 +80,14 @@ func (es EventStore) Stream(
7580
metadata = v
7681
}
7782

83+
v, ok := doc.Data()["version"].(int64)
84+
if !ok {
85+
return fmt.Errorf("firestore.EventStore.Stream: invalid version type, expected: int64, got: %T", doc.Data()["version"])
86+
}
87+
7888
stream <- event.Persisted{
7989
StreamID: id,
80-
Version: version.Version(doc.Data()["version"].(int64)),
90+
Version: version.Version(v), //nolint:gosec // This should not overflow.
8191
Envelope: event.Envelope{
8292
Message: msg,
8393
Metadata: metadata,
@@ -102,8 +112,14 @@ func (es EventStore) checkAndUpsertEventStream(
102112
}
103113

104114
var currentVersion version.Version
115+
105116
if err == nil {
106-
currentVersion = version.Version(doc.Data()["last_version"].(int64))
117+
lastVersion, ok := doc.Data()["last_version"].(int64)
118+
if !ok {
119+
return 0, fmt.Errorf("firestore.EventStore.Append: invalid last_version type, expected: int64, got: %T", doc.Data()["last_version"])
120+
}
121+
122+
currentVersion = version.Version(lastVersion) //nolint:gosec // This should not overflow.
107123
}
108124

109125
if v, ok := expected.(version.CheckExact); ok && version.Version(v) != currentVersion {
@@ -113,7 +129,7 @@ func (es EventStore) checkAndUpsertEventStream(
113129
})
114130
}
115131

116-
newVersion := currentVersion + version.Version(newEventsLength)
132+
newVersion := currentVersion + version.Version(newEventsLength) //nolint:gosec // This should not overflow.
117133

118134
if err := tx.Set(docRef, map[string]interface{}{
119135
"last_version": newVersion,
@@ -165,7 +181,7 @@ func (es EventStore) Append(
165181
for i, evt := range events {
166182
if err := es.appendEvent(tx, event.Persisted{
167183
StreamID: id,
168-
Version: currentVersion + version.Version(i) + 1,
184+
Version: currentVersion + version.Version(i) + 1, //nolint:gosec // This should not overflow.
169185
Envelope: evt,
170186
}); err != nil {
171187
return err
@@ -177,5 +193,5 @@ func (es EventStore) Append(
177193
return 0, fmt.Errorf("firestore.EventStore.Append: failed to commit transaction, %w", err)
178194
}
179195

180-
return currentVersion + version.Version(len(events)), nil
196+
return currentVersion + version.Version(len(events)), nil //nolint:gosec // This should not overflow.
181197
}

firestore/event_store_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func TestEventStore(t *testing.T) {
3838
require.NoError(t, firestoreContainer.Terminate(ctx))
3939
}()
4040

41-
conn, err := grpc.Dial(firestoreContainer.URI, grpc.WithTransportCredentials(insecure.NewCredentials()))
41+
conn, err := grpc.NewClient(firestoreContainer.URI, grpc.WithTransportCredentials(insecure.NewCredentials()))
4242
require.NoError(t, err)
4343

4444
client, err := firestore.NewClient(ctx, projectID, option.WithGRPCConn(conn))

internal/user/serde.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
)
1515

1616
func timeToDate(t time.Time) *date.Date {
17+
//nolint:gosec // These surely won't overflow.
1718
return &date.Date{
1819
Year: int32(t.Year()),
1920
Month: int32(t.Month()),

internal/user/suite_aggregate_repository.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
//
2222
// Package user of this module exposes a Protobuf-based serde, which can be useful
2323
// to test serialization and deserialization of data to the target repository implementation.
24-
func AggregateRepositorySuite(repository aggregate.Repository[uuid.UUID, *User]) func(t *testing.T) { //nolint:funlen,lll // It's a test suite.
24+
func AggregateRepositorySuite(repository aggregate.Repository[uuid.UUID, *User]) func(t *testing.T) { //nolint:funlen // It's a test suite.
2525
return func(t *testing.T) {
2626
ctx := context.Background()
2727
now := time.Now()
@@ -83,7 +83,7 @@ func AggregateRepositorySuite(repository aggregate.Repository[uuid.UUID, *User])
8383

8484
expectedErr := version.ConflictError{
8585
Expected: 0,
86-
Actual: 2, //nolint:gomnd // False positive.
86+
Actual: 2, //nolint:mnd // False positive.
8787
}
8888

8989
var conflictErr version.ConflictError

internal/user/suite_event_store.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ func EventStoreSuite(eventStore event.Store) func(t *testing.T) {
3333
require.NoError(t, usr.UpdateEmail("dani.ross@mail.com", now, nil))
3434

3535
eventsToCommit := usr.FlushRecordedEvents()
36-
expectedVersion := version.Version(len(eventsToCommit))
36+
expectedVersion := version.Version(len(eventsToCommit)) //nolint:gosec // This should not overflow.
3737

3838
newVersion, err := eventStore.Append(
3939
ctx,
@@ -50,7 +50,7 @@ func EventStoreSuite(eventStore event.Store) func(t *testing.T) {
5050
require.NoError(t, usr.UpdateEmail("daniross123@gmail.com", now, nil))
5151

5252
newEventsToCommit := usr.FlushRecordedEvents()
53-
expectedVersion += version.Version(len(newEventsToCommit))
53+
expectedVersion += version.Version(len(newEventsToCommit)) //nolint:gosec // This should not overflow.
5454

5555
newVersion, err = eventStore.Append(
5656
ctx,

postgres/aggregate_repository.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,16 +116,15 @@ func (repo AggregateRepository[ID, T]) get(ctx context.Context, tx queryRower, i
116116

117117
// Save saves the new state of the provided aggregate.Root instance.
118118
func (repo AggregateRepository[ID, T]) Save(ctx context.Context, root T) (err error) {
119-
txOpts := pgx.TxOptions{
119+
txOpts := pgx.TxOptions{ //nolint:exhaustruct // We don't need all fields.
120120
IsoLevel: pgx.Serializable,
121121
AccessMode: pgx.ReadWrite,
122122
DeferrableMode: pgx.Deferrable,
123-
BeginQuery: "",
124123
}
125124

126125
return internal.RunTransaction(ctx, repo.conn, txOpts, func(ctx context.Context, tx pgx.Tx) error {
127126
eventsToCommit := root.FlushRecordedEvents()
128-
expectedRootVersion := root.Version() - version.Version(len(eventsToCommit))
127+
expectedRootVersion := root.Version() - version.Version(len(eventsToCommit)) //nolint:gosec // This should not overflow.
129128
eventStreamID := event.StreamID(root.AggregateID().String())
130129

131130
newEventStreamVersion, err := appendDomainEvents(

0 commit comments

Comments
 (0)