52 lines
997 B
Go
52 lines
997 B
Go
package utils
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/charmbracelet/log"
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
var Logger *log.Logger
|
|
|
|
func SetupLogger(path string) error {
|
|
if Logger != nil {
|
|
return nil
|
|
}
|
|
file, err := os.OpenFile("converter.log", os.O_RDWR|os.O_APPEND|os.O_CREATE, os.ModePerm)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
Logger = log.New(file)
|
|
return nil
|
|
}
|
|
|
|
func GetUUID() uuid.UUID {
|
|
uuid.SetClockSequence(uuid.ClockSequence())
|
|
if uid, err := uuid.NewV7(); err == nil {
|
|
return uid
|
|
}
|
|
uid, _ := uuid.NewUUID()
|
|
return uid
|
|
}
|
|
|
|
type Creds struct {
|
|
Username string `json:"username"`
|
|
Password string `json:"password"`
|
|
}
|
|
|
|
func GetCreds() (string, string, error) {
|
|
data, err := os.ReadFile("creds.json")
|
|
if err != nil {
|
|
return "", "", fmt.Errorf("cannot read file creds.json: %v", err)
|
|
}
|
|
var creds = &Creds{}
|
|
err = json.Unmarshal(data, creds)
|
|
if err != nil {
|
|
return "", "", fmt.Errorf("cannot unmarshal data: %v", err)
|
|
}
|
|
return creds.Username, creds.Password, nil
|
|
}
|