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

* Add config Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Change key names Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Add config file path Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Add config file path Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Configure TOML parsing Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Add cli config command Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Remove debug log Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Use snake case Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Change from interactive command Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * use map for keys Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Add cli logger level Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Use mainflux logger Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix cli Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Remove unnecessary comments Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix cli error handling Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Remove fmt Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Update config Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix cli Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix cli Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix cli Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix cli Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Modify CLI Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix errors Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix cli Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix errors Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Remove user token Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Remove unused variables Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Add empty line Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Add url parsing Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * TEsts Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Make config path configurable Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix ci Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Remove empty toml Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Change url key identification Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Remove url parsing functions Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Handle parse error Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Handle url error Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Add marshal Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Update config Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix cli Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Handle file error Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Handle file error Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Modify url parsing Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Add usertoken Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix user token Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix errors Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix errors Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Remove string init Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix error Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix errors Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Remove config.toml from root Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Add empty line to config.toml Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Add empty line to config.toml Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Inline error handling Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Remove unnecessary type conversion Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix error handling Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Fix error handling Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> * Remove dynamic filters Signed-off-by: WashingtonKK <washingtonkigan@gmail.com> --------- Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
100 lines
1.9 KiB
Go
100 lines
1.9 KiB
Go
// Copyright (c) Mainflux
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package cli
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"os"
|
|
"time"
|
|
|
|
"github.com/fatih/color"
|
|
prettyjson "github.com/hokaccha/go-prettyjson"
|
|
)
|
|
|
|
var (
|
|
// Limit query parameter.
|
|
Limit uint64 = 10
|
|
// Offset query parameter.
|
|
Offset uint64 = 0
|
|
// Name query parameter.
|
|
Name string = ""
|
|
// Email query parameter.
|
|
Email string = ""
|
|
// Metadata query parameter.
|
|
Metadata string = ""
|
|
// Status query parameter.
|
|
Status string = ""
|
|
// ConfigPath config path parameter.
|
|
ConfigPath string = ""
|
|
// State query parameter.
|
|
State string = ""
|
|
// Topic query parameter.
|
|
Topic string = ""
|
|
// Contact query parameter.
|
|
Contact string = ""
|
|
// RawOutput raw output mode.
|
|
RawOutput bool = false
|
|
)
|
|
|
|
func logJSON(iList ...interface{}) {
|
|
for _, i := range iList {
|
|
m, err := json.Marshal(i)
|
|
if err != nil {
|
|
logError(err)
|
|
return
|
|
}
|
|
|
|
pj, err := prettyjson.Format(m)
|
|
if err != nil {
|
|
logError(err)
|
|
return
|
|
}
|
|
|
|
fmt.Fprintf(os.Stdout, "\n%s\n\n", string(pj))
|
|
}
|
|
}
|
|
|
|
func logUsage(u string) {
|
|
fmt.Fprintf(os.Stdout, color.YellowString("\nusage: %s\n\n"), u)
|
|
}
|
|
|
|
func logError(err error) {
|
|
boldRed := color.New(color.FgRed, color.Bold)
|
|
boldRed.Fprintf(os.Stderr, "\nerror: ")
|
|
|
|
fmt.Fprintf(os.Stderr, "%s\n\n", color.RedString(err.Error()))
|
|
}
|
|
|
|
func logOK() {
|
|
fmt.Fprintf(os.Stdout, "\n%s\n\n", color.BlueString("ok"))
|
|
}
|
|
|
|
func logCreated(e string) {
|
|
if RawOutput {
|
|
fmt.Fprintln(os.Stdout, e)
|
|
} else {
|
|
fmt.Fprintf(os.Stdout, color.BlueString("\ncreated: %s\n\n"), e)
|
|
}
|
|
}
|
|
|
|
func logRevokedTime(t time.Time) {
|
|
if RawOutput {
|
|
fmt.Fprintln(os.Stdout, t)
|
|
} else {
|
|
fmt.Fprintf(os.Stdout, color.BlueString("\nrevoked: %v\n\n"), t)
|
|
}
|
|
}
|
|
|
|
func convertMetadata(m string) (map[string]interface{}, error) {
|
|
var metadata map[string]interface{}
|
|
if m == "" {
|
|
return nil, nil
|
|
}
|
|
if err := json.Unmarshal([]byte(Metadata), &metadata); err != nil {
|
|
return nil, err
|
|
}
|
|
return nil, nil
|
|
}
|