mirror of
https://github.com/sstent/go-garth.git
synced 2026-01-25 16:42:28 +00:00
This commit implements the package structure refactoring as outlined in phase1.md (Task 1A.1). Key changes include: - Reorganized packages into `pkg/garmin` for public API and `internal/` for internal implementations. - Updated all import paths to reflect the new structure. - Consolidated types and client logic into their respective new packages. - Updated `cmd/garth/main.go` to use the new public API. - Fixed various compilation and test issues encountered during the refactoring process. - Converted `internal/api/client/auth_test.go` to a functional test. This establishes a solid foundation for future enhancements and improves maintainability.
33 lines
741 B
Go
33 lines
741 B
Go
package credentials
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/joho/godotenv"
|
|
)
|
|
|
|
// LoadEnvCredentials loads credentials from .env file
|
|
func LoadEnvCredentials() (email, password, domain string, err error) {
|
|
// Load .env file
|
|
if err := godotenv.Load(); err != nil {
|
|
return "", "", "", fmt.Errorf("error loading .env file: %w", err)
|
|
}
|
|
|
|
email = os.Getenv("GARMIN_EMAIL")
|
|
password = os.Getenv("GARMIN_PASSWORD")
|
|
domain = os.Getenv("GARMIN_DOMAIN")
|
|
|
|
if email == "" {
|
|
return "", "", "", fmt.Errorf("GARMIN_EMAIL not found in .env file")
|
|
}
|
|
if password == "" {
|
|
return "", "", "", fmt.Errorf("GARMIN_PASSWORD not found in .env file")
|
|
}
|
|
if domain == "" {
|
|
domain = "garmin.com" // default value
|
|
}
|
|
|
|
return email, password, domain, nil
|
|
}
|