Skip to content

Commit

Permalink
add: router config prefix
Browse files Browse the repository at this point in the history
  • Loading branch information
mhrynenko committed Jun 6, 2024
1 parent 46786c1 commit e8baa54
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 4 deletions.
1 change: 1 addition & 0 deletions internal/config/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ type Config struct {

airdrop comfig.Once
verifier comfig.Once
routing comfig.Once
getter kv.Getter
}

Expand Down
29 changes: 29 additions & 0 deletions internal/config/routing.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package config

import (
"gitlab.com/distributed_lab/figure/v3"
"gitlab.com/distributed_lab/kit/kv"
"gitlab.com/distributed_lab/logan/v3"
"gitlab.com/distributed_lab/logan/v3/errors"
)

const routingYamlKey = "routing"

type Routing struct {
Prefix string `fig:"prefix,required"`
}

func (c *Config) NewRouting() Routing {
return c.routing.Do(func() interface{} {
var cfg Routing

err := figure.Out(&cfg).
From(kv.MustGetStringMap(c.getter, routingYamlKey)).
Please()
if err != nil {
panic(errors.Wrap(err, "failed to figure out config", logan.F{"key": routingYamlKey}))
}

return cfg
}).(Routing)
}
10 changes: 6 additions & 4 deletions internal/service/router.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,12 @@ func Run(ctx context.Context, cfg *config.Config) {
),
handlers.DBCloneMiddleware(cfg.DB()),
)
r.Route("/integrations/evm-airdrop-svc/airdrops", func(r chi.Router) {
r.Post("/", handlers.CreateAirdrop)
r.Get("/{nullifier}", handlers.GetAirdrop)
r.Get("/params", handlers.GetAirdropParams)
r.Route(cfg.NewRouting().Prefix, func(r chi.Router) {
r.Route("/airdrops", func(r chi.Router) {
r.Post("/", handlers.CreateAirdrop)
r.Get("/{nullifier}", handlers.GetAirdrop)
r.Get("/params", handlers.GetAirdropParams)
})
})

cfg.Log().Info("Service started")
Expand Down

0 comments on commit e8baa54

Please sign in to comment.