Skip to content

Commit c1ec5a6

Browse files
committed
testing changes
1 parent 2d1b245 commit c1ec5a6

File tree

2 files changed

+33
-25
lines changed

2 files changed

+33
-25
lines changed

utils/config/config.go

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package config
33
import (
44
"os"
55
"path/filepath"
6+
"strconv"
67
"strings"
78
"sync"
89

@@ -17,6 +18,7 @@ import (
1718

1819
var defaultsLayer = koanf.New(".")
1920
var userLayer = koanf.New(".")
21+
var tokensLayer = koanf.New(".")
2022

2123
var config *koanf.Koanf
2224

@@ -31,6 +33,12 @@ func LoadFile(path string, config *koanf.Koanf, parser koanf.Parser) (koanf.Prov
3133
return nil, err
3234
}
3335

36+
WatchFile(path, f)
37+
38+
return f, err
39+
}
40+
41+
func WatchFile(path string, f *file.File) {
3442
f.Watch(func(event any, err error) {
3543
if err != nil {
3644
return
@@ -43,32 +51,30 @@ func LoadFile(path string, config *koanf.Koanf, parser koanf.Parser) (koanf.Prov
4351

4452
Load()
4553
})
46-
47-
return f, err
4854
}
4955

50-
func LoadDir(dir string, parser koanf.Parser) []map[string]any {
56+
func LoadDir(path string, dir string, config *koanf.Koanf, parser koanf.Parser) []map[string]any {
5157
files, err := filepath.Glob(filepath.Join(dir, "*.yml"))
5258

5359
if err != nil {
5460
return nil
5561
}
5662

57-
data := []map[string]any{}
58-
59-
for _, file := range files {
63+
for i, f := range files {
6064
tmp := koanf.New(".")
6165

62-
_, err := LoadFile(file, tmp, parser)
66+
LoadFile(f, config, parser)
6367

64-
if err != nil {
65-
return nil
68+
wrapper := map[string]any{
69+
path: map[string]any{
70+
strconv.Itoa(i): tmp.Raw(),
71+
},
6672
}
6773

68-
data = append(data, tmp.All())
69-
}
74+
config.Load(confmap.Provider(wrapper, ""), nil);
75+
}
7076

71-
return data
77+
return nil
7278
}
7379

7480
func LoadEnv(config *koanf.Koanf) (koanf.Provider, error) {

utils/config/token-config.go

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,34 @@ package config
33
import (
44
"strconv"
55

6-
middlewareTypes "github.com/codeshelldev/secured-signal-api/internals/proxy/middlewares/types"
76
"github.com/codeshelldev/secured-signal-api/utils"
87
log "github.com/codeshelldev/secured-signal-api/utils/logger"
98
"github.com/knadh/koanf/parsers/yaml"
109
)
1110

12-
var tokens []map[string]any
11+
type TOKEN_CONFIG_ struct {
12+
TOKENS []string `koanf:"tokens"`
13+
OVERRIDES SETTING_ `koanf:"overrides"`
14+
}
1315

1416
func LoadTokens() {
1517
log.Debug("Loading Configs ", ENV.TOKENS_DIR)
1618

17-
tokens = LoadDir(ENV.TOKENS_DIR, yaml.Parser())
19+
LoadDir("tokenConfigs", ENV.TOKENS_DIR, tokensLayer, yaml.Parser())
1820

19-
log.Dev(utils.ToJson(tokens))
21+
log.Dev(utils.ToJson(tokensLayer.All()))
2022
}
2123

2224
func InitTokens() {
2325
apiTokens := config.Strings("api.tokens")
2426

25-
log.Dev(utils.ToJson(tokens))
27+
var tokenConfigs []TOKEN_CONFIG_
28+
29+
tokensLayer.Unmarshal("tokenConfigs", &tokenConfigs)
30+
31+
log.Dev(utils.ToJson(tokenConfigs))
2632

27-
overrides := ParseTokenConfigs(tokens)
33+
overrides := ParseTokenConfigs(tokenConfigs)
2834

2935
for token, override := range overrides {
3036
apiTokens = append(apiTokens, token)
@@ -51,16 +57,12 @@ func InitTokens() {
5157
}
5258
}
5359

54-
func ParseTokenConfigs(configs []map[string]any) (map[string]SETTING_) {
60+
func ParseTokenConfigs(configs []TOKEN_CONFIG_) (map[string]SETTING_) {
5561
settings := map[string]SETTING_{}
5662

5763
for _, config := range configs {
58-
for _, token := range config["tokens"].([]string) {
59-
settings[token] = SETTING_{
60-
BLOCKED_ENDPOINTS: config["override.blockedendpoints"].([]string),
61-
VARIABLES: config["overrides.variables"].(map[string]any),
62-
MESSAGE_ALIASES: config["overrides.messagealiases"].([]middlewareTypes.MessageAlias),
63-
}
64+
for _, token := range config.TOKENS {
65+
settings[token] = config.OVERRIDES
6466
}
6567
}
6668

0 commit comments

Comments
 (0)