Skip to content

Commit d001453

Browse files
committed
[lint] fix some issues
1 parent 2686a95 commit d001453

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+518
-265
lines changed

internal/config/config.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ type Gateway struct {
2525
}
2626

2727
type HTTP struct {
28-
Listen string `yaml:"listen" envconfig:"HTTP__LISTEN"` // listen address
28+
Listen string `yaml:"listen" envconfig:"HTTP__LISTEN"` // listen address
2929
Proxies []string `yaml:"proxies" envconfig:"HTTP__PROXIES"` // proxies
3030

3131
API API `yaml:"api"`
@@ -74,7 +74,7 @@ type SSE struct {
7474
}
7575

7676
type Messages struct {
77-
CacheTTLSeconds uint16 `yaml:"cache_ttl_seconds" envconfig:"MESSAGES__CACHE_TTL_SECONDS"` // cache ttl in seconds
77+
CacheTTLSeconds uint16 `yaml:"cache_ttl_seconds" envconfig:"MESSAGES__CACHE_TTL_SECONDS"` // cache ttl in seconds
7878
ProcessedLifetimeHours uint16 `yaml:"processed_lifetime_hours" envconfig:"MESSAGES__PROCESSED_LIFETIME_HOURS"`
7979
}
8080

internal/sms-gateway/app.go

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -33,37 +33,39 @@ import (
3333
"go.uber.org/zap/zapcore"
3434
)
3535

36-
var Module = fx.Module(
37-
"server",
38-
logger.Module,
39-
appconfig.Module,
40-
appdb.Module(),
41-
http.Module,
42-
validator.Module,
43-
openapi.Module(),
44-
handlers.Module,
45-
auth.Module,
46-
push.Module(),
47-
db.Module,
48-
cache.Module(),
49-
pubsub.Module(),
50-
events.Module,
51-
messages.Module(),
52-
health.Module(),
53-
webhooks.Module,
54-
settings.Module,
55-
devices.Module,
56-
metrics.Module,
57-
cleaner.Module,
58-
sse.Module,
59-
online.Module(),
60-
)
36+
func Module() fx.Option {
37+
return fx.Module(
38+
"server",
39+
logger.Module,
40+
appconfig.Module,
41+
appdb.Module(),
42+
http.Module,
43+
validator.Module,
44+
openapi.Module(),
45+
handlers.Module,
46+
auth.Module,
47+
push.Module(),
48+
db.Module,
49+
cache.Module(),
50+
pubsub.Module(),
51+
events.Module,
52+
messages.Module(),
53+
health.Module(),
54+
webhooks.Module,
55+
settings.Module(),
56+
devices.Module,
57+
metrics.Module,
58+
cleaner.Module,
59+
sse.Module,
60+
online.Module(),
61+
)
62+
}
6163

6264
func Run() {
63-
cli.DefaultCommand = "start"
65+
cli.DefaultCommand = "start" //nolint:reassign //framework specific
6466
fx.New(
6567
cli.GetModule(),
66-
Module,
68+
Module(),
6769
fx.WithLogger(func(logger *zap.Logger) fxevent.Logger {
6870
logOption := fxevent.ZapLogger{Logger: logger}
6971
logOption.UseLogLevel(zapcore.DebugLevel)
@@ -131,6 +133,7 @@ func Start(p StartParams) error {
131133
return nil
132134
}
133135

136+
//nolint:gochecknoinits //backward compatibility
134137
func init() {
135138
cli.Register("start", Start)
136139
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package cache
2+
3+
import "errors"
4+
5+
var (
6+
ErrInvalidConfig = errors.New("invalid config")
7+
)

internal/sms-gateway/cache/factory.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ func NewFactory(config Config) (Factory, error) {
2828

2929
u, err := url.Parse(config.URL)
3030
if err != nil {
31-
return nil, fmt.Errorf("can't parse url: %w", err)
31+
return nil, fmt.Errorf("%w: can't parse url: %w", ErrInvalidConfig, err)
3232
}
3333

3434
switch u.Scheme {
3535
case "memory":
3636
return &factory{
37-
new: func(name string) (Cache, error) {
37+
new: func(_ string) (Cache, error) {
3838
return cache.NewMemory(0), nil
3939
},
4040
}, nil
@@ -50,7 +50,7 @@ func NewFactory(config Config) (Factory, error) {
5050
},
5151
}, nil
5252
default:
53-
return nil, fmt.Errorf("invalid scheme: %s", u.Scheme)
53+
return nil, fmt.Errorf("%w: invalid scheme: %s", ErrInvalidConfig, u.Scheme)
5454
}
5555
}
5656

internal/sms-gateway/handlers/base/handler_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,21 @@ import (
1616

1717
type testRequestBody struct {
1818
Name string `json:"name" validate:"required"`
19-
Age int `json:"age" validate:"required"`
19+
Age int `json:"age" validate:"required"`
2020
}
2121

2222
type testRequestBodyNoValidate struct {
2323
Name string `json:"name" validate:"required"`
24-
Age int `json:"age" validate:"required"`
24+
Age int `json:"age" validate:"required"`
2525
}
2626

2727
type testRequestQuery struct {
2828
Name string `query:"name" validate:"required"`
29-
Age int `query:"age" validate:"required"`
29+
Age int `query:"age" validate:"required"`
3030
}
3131

3232
type testRequestParams struct {
33-
ID string `params:"id" validate:"required"`
33+
ID string `params:"id" validate:"required"`
3434
Name string `params:"name" validate:"required"`
3535
}
3636

internal/sms-gateway/handlers/health.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -44,27 +44,27 @@ func (h *healthHandler) getLiveness(c *fiber.Ctx) error {
4444
return writeProbe(c, h.healthSvc.CheckLiveness(c.Context()))
4545
}
4646

47-
// @Summary Readiness probe
48-
// @Description Checks if service is ready to serve traffic (readiness probe)
49-
// @Tags System
50-
// @Produce json
51-
// @Success 200 {object} smsgateway.HealthResponse "Service is ready"
52-
// @Failure 503 {object} smsgateway.HealthResponse "Service is not ready"
53-
// @Router /health/ready [get]
54-
// @Router /3rdparty/v1/health [get]
47+
// @Summary Readiness probe
48+
// @Description Checks if service is ready to serve traffic (readiness probe)
49+
// @Tags System
50+
// @Produce json
51+
// @Success 200 {object} smsgateway.HealthResponse "Service is ready"
52+
// @Failure 503 {object} smsgateway.HealthResponse "Service is not ready"
53+
// @Router /health/ready [get]
54+
// @Router /3rdparty/v1/health [get]
5555
//
5656
// Readiness probe
5757
func (h *healthHandler) getReadiness(c *fiber.Ctx) error {
5858
return writeProbe(c, h.healthSvc.CheckReadiness(c.Context()))
5959
}
6060

61-
// @Summary Startup probe
62-
// @Description Checks if service has completed initialization (startup probe)
63-
// @Tags System
64-
// @Produce json
65-
// @Success 200 {object} smsgateway.HealthResponse "Service has completed initialization"
66-
// @Failure 503 {object} smsgateway.HealthResponse "Service has not completed initialization"
67-
// @Router /health/startup [get]
61+
// @Summary Startup probe
62+
// @Description Checks if service has completed initialization (startup probe)
63+
// @Tags System
64+
// @Produce json
65+
// @Success 200 {object} smsgateway.HealthResponse "Service has completed initialization"
66+
// @Failure 503 {object} smsgateway.HealthResponse "Service has not completed initialization"
67+
// @Router /health/startup [get]
6868
//
6969
// Startup probe
7070
func (h *healthHandler) getStartup(c *fiber.Ctx) error {

internal/sms-gateway/handlers/logs/3rdparty.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,10 @@ type ThirdPartyController struct {
3636
//
3737
// List webhooks
3838
func (h *ThirdPartyController) get(user models.User, c *fiber.Ctx) error {
39-
return fiber.NewError(fiber.StatusNotImplemented, "For privacy reasons, device's logs are not accessible through Cloud server")
39+
return fiber.NewError(
40+
fiber.StatusNotImplemented,
41+
"For privacy reasons, device's logs are not accessible through Cloud server",
42+
)
4043
}
4144

4245
func (h *ThirdPartyController) Register(router fiber.Router) {

internal/sms-gateway/handlers/messages/3rdparty.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,12 @@ func (h *ThirdPartyController) post(user models.User, c *fiber.Ctx) error {
8686
if errors.Is(err, devices.ErrNotFound) {
8787
return fiber.NewError(fiber.StatusBadRequest, "No active device with such ID found")
8888
}
89-
h.Logger.Error("Failed to get device", zap.Error(err), zap.String("user_id", user.ID), zap.String("device_id", req.DeviceID))
89+
h.Logger.Error(
90+
"Failed to get device",
91+
zap.Error(err),
92+
zap.String("user_id", user.ID),
93+
zap.String("device_id", req.DeviceID),
94+
)
9095
return fiber.NewError(fiber.StatusInternalServerError, "Can't select device. Please contact support")
9196
}
9297
} else {
@@ -137,9 +142,13 @@ func (h *ThirdPartyController) post(user models.User, c *fiber.Ctx) error {
137142
ValidUntil: req.ValidUntil,
138143
Priority: req.Priority,
139144
}
140-
state, err := h.messagesSvc.Enqueue(device, msg, messages.EnqueueOptions{SkipPhoneValidation: params.SkipPhoneValidation})
145+
state, err := h.messagesSvc.Enqueue(
146+
device,
147+
msg,
148+
messages.EnqueueOptions{SkipPhoneValidation: params.SkipPhoneValidation},
149+
)
141150
if err != nil {
142-
var errValidation messages.ErrValidation
151+
var errValidation messages.ValidationError
143152
if isBadRequest := errors.As(err, &errValidation); isBadRequest {
144153
return fiber.NewError(fiber.StatusBadRequest, errValidation.Error())
145154
}

internal/sms-gateway/handlers/messages/mobile.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ type MobileController struct {
3838
// @Tags Device, Messages
3939
// @Accept json
4040
// @Produce json
41-
// @Param order query string false "Message processing order: lifo (default) or fifo" Enums(lifo,fifo) default(lifo)
41+
// @Param order query string false "Message processing order: lifo (default) or fifo" Enums(lifo,fifo) default(lifo)
4242
// @Success 200 {object} smsgateway.MobileGetMessagesResponse "List of pending messages"
4343
// @Failure 400 {object} smsgateway.ErrorResponse "Invalid request"
4444
// @Failure 500 {object} smsgateway.ErrorResponse "Internal server error"

internal/sms-gateway/handlers/messages/params.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ type thirdPartyPostQueryParams struct {
1313
}
1414

1515
type thirdPartyGetQueryParams struct {
16-
StartDate string `query:"from" validate:"omitempty,datetime=2006-01-02T15:04:05Z07:00"`
17-
EndDate string `query:"to" validate:"omitempty,datetime=2006-01-02T15:04:05Z07:00"`
18-
State string `query:"state" validate:"omitempty,oneof=Pending Processed Sent Delivered Failed"`
16+
StartDate string `query:"from" validate:"omitempty,datetime=2006-01-02T15:04:05Z07:00"`
17+
EndDate string `query:"to" validate:"omitempty,datetime=2006-01-02T15:04:05Z07:00"`
18+
State string `query:"state" validate:"omitempty,oneof=Pending Processed Sent Delivered Failed"`
1919
DeviceID string `query:"deviceId" validate:"omitempty,len=21"`
20-
Limit int `query:"limit" validate:"omitempty,min=1,max=100"`
21-
Offset int `query:"offset" validate:"omitempty,min=0"`
20+
Limit int `query:"limit" validate:"omitempty,min=1,max=100"`
21+
Offset int `query:"offset" validate:"omitempty,min=0"`
2222
}
2323

2424
func (p *thirdPartyGetQueryParams) Validate() error {
@@ -29,8 +29,8 @@ func (p *thirdPartyGetQueryParams) Validate() error {
2929
return nil
3030
}
3131

32-
func (p *thirdPartyGetQueryParams) ToFilter() messages.MessagesSelectFilter {
33-
filter := messages.MessagesSelectFilter{}
32+
func (p *thirdPartyGetQueryParams) ToFilter() messages.SelectFilter {
33+
filter := messages.SelectFilter{}
3434

3535
if p.StartDate != "" {
3636
if t, err := time.Parse(time.RFC3339, p.StartDate); err == nil {
@@ -55,8 +55,8 @@ func (p *thirdPartyGetQueryParams) ToFilter() messages.MessagesSelectFilter {
5555
return filter
5656
}
5757

58-
func (p *thirdPartyGetQueryParams) ToOptions() messages.MessagesSelectOptions {
59-
options := messages.MessagesSelectOptions{
58+
func (p *thirdPartyGetQueryParams) ToOptions() messages.SelectOptions {
59+
options := messages.SelectOptions{
6060
WithRecipients: true,
6161
WithStates: true,
6262
}
@@ -75,10 +75,10 @@ func (p *thirdPartyGetQueryParams) ToOptions() messages.MessagesSelectOptions {
7575
}
7676

7777
type mobileGetQueryParams struct {
78-
Order messages.MessagesOrder `query:"order" validate:"omitempty,oneof=lifo fifo"`
78+
Order messages.Order `query:"order" validate:"omitempty,oneof=lifo fifo"`
7979
}
8080

81-
func (p *mobileGetQueryParams) OrderOrDefault() messages.MessagesOrder {
81+
func (p *mobileGetQueryParams) OrderOrDefault() messages.Order {
8282
if p.Order != "" {
8383
return p.Order
8484
}

0 commit comments

Comments
 (0)