Skip to content

Commit

Permalink
update: merge main with routing
Browse files Browse the repository at this point in the history
  • Loading branch information
mhrynenko committed Jun 6, 2024
2 parents 044a833 + a5febed commit c3a3696
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 2 deletions.
5 changes: 5 additions & 0 deletions config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ db:
listener:
addr: :8000

# Routing config is used for deploying several service instances under one domain to differentiate them
# by configurable prefix. Note that prefix should be formatted as `/integrations/configured-service-prefix/`
routing:
prefix: "/integrations/configured-service-prefix/"

airdrop:
amount: amount # amount in natural numbers (1, 2, 10 etc.) decimals part is taken directly from the contract
token_address: erc20_token_address
Expand Down
1 change: 1 addition & 0 deletions internal/config/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,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)
}
3 changes: 1 addition & 2 deletions internal/service/router.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,7 @@ func Run(ctx context.Context, cfg *config.Config) {
),
handlers.DBCloneMiddleware(cfg.DB()),
)

r.Route("/integrations/evm-airdrop-svc", func(r chi.Router) {
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)
Expand Down

0 comments on commit c3a3696

Please sign in to comment.