mirror of
https://github.com/mainflux/mainflux.git
synced 2025-04-24 13:48:49 +08:00

* things, twins, and logger lint fixed Signed-off-by: aryan <aryangodara03@gmail.com> * all services updated, auth jwt not working, ineffectual assignment issue Signed-off-by: aryan <aryangodara03@gmail.com> * handle error from grpc server in endpointtest Signed-off-by: aryan <aryangodara03@gmail.com> * temp commit, auth/jwt needs to be resolved Signed-off-by: aryan <aryangodara03@gmail.com> * revert back to jwt v4 temporarily Signed-off-by: aryan <aryangodara03@gmail.com> * updated jwt tokenizer Signed-off-by: aryan <aryangodara03@gmail.com> * resolve EOF error for httptest requests Signed-off-by: aryan <aryangodara03@gmail.com> * fix auth jwt, update to registeredclaims Signed-off-by: aryan <aryangodara03@gmail.com> * fix ineffective assignment, auth/api/grpc endpoint failing Signed-off-by: aryan <aryangodara03@gmail.com> * temp commit, remove later Signed-off-by: aryan <aryangodara03@gmail.com> * fix grpc server setup Signed-off-by: aryan <aryangodara03@gmail.com> * resolve golangci tests, remove debug statements Signed-off-by: aryan <aryangodara03@gmail.com> * update golangci version and modify linters used Signed-off-by: aryan <aryangodara03@gmail.com> * fix failing tests Signed-off-by: aryan <aryangodara03@gmail.com> * fix grpc server for setup tests Signed-off-by: aryan <aryangodara03@gmail.com> * fix logging and errors inlined Signed-off-by: aryan <aryangodara03@gmail.com> * fix remarks, update grpc setup_test Signed-off-by: aryan <aryangodara03@gmail.com> * fix setup_test Signed-off-by: aryan <aryangodara03@gmail.com> * update setup_test grpc Signed-off-by: aryan <aryangodara03@gmail.com> * fix data race Signed-off-by: aryan <aryangodara03@gmail.com> * update setup_test grpc Signed-off-by: aryan <aryangodara03@gmail.com> * fix grpc setup down to single simple function Signed-off-by: aryan <aryangodara03@gmail.com> * fix linting issues Signed-off-by: aryan <aryangodara03@gmail.com> * resolve pr comments Signed-off-by: aryan <aryangodara03@gmail.com> * fix tests, handle returned errors, go mod tidy vendor Signed-off-by: aryan <aryangodara03@gmail.com> * fix errors from new linters Signed-off-by: aryan <aryangodara03@gmail.com> --------- Signed-off-by: aryan <aryangodara03@gmail.com>
66 lines
1.2 KiB
Go
66 lines
1.2 KiB
Go
package cli
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
|
|
"github.com/mainflux/mainflux/pkg/errors"
|
|
"github.com/pelletier/go-toml"
|
|
)
|
|
|
|
type Config struct {
|
|
Offset uint `toml:"offset"`
|
|
Limit uint `toml:"limit"`
|
|
Name string `toml:"name"`
|
|
RawOutput bool `toml:"raw_output"`
|
|
}
|
|
|
|
// read - retrieve config from a file
|
|
func read(file string) (Config, error) {
|
|
data, err := os.ReadFile(file)
|
|
c := Config{}
|
|
if err != nil {
|
|
return c, errors.New(fmt.Sprintf("failed to read config file: %s", err))
|
|
}
|
|
|
|
if err := toml.Unmarshal(data, &c); err != nil {
|
|
return Config{}, errors.New(fmt.Sprintf("failed to unmarshal config TOML: %s", err))
|
|
}
|
|
return c, nil
|
|
}
|
|
|
|
func ParseConfig() {
|
|
if ConfigPath == "" {
|
|
// No config file
|
|
return
|
|
}
|
|
|
|
if _, err := os.Stat(ConfigPath); os.IsNotExist(err) {
|
|
errConfigNotFound := errors.Wrap(errors.New("config file was not found"), err)
|
|
logError(errConfigNotFound)
|
|
return
|
|
}
|
|
|
|
config, err := read(ConfigPath)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
if config.Offset != 0 {
|
|
Offset = config.Offset
|
|
}
|
|
|
|
if config.Limit != 0 {
|
|
Limit = config.Limit
|
|
}
|
|
|
|
if config.Name != "" {
|
|
Name = config.Name
|
|
}
|
|
|
|
if config.RawOutput {
|
|
RawOutput = config.RawOutput
|
|
}
|
|
}
|