diff --git a/main.go b/main.go index 8a5bc68..ee82590 100644 --- a/main.go +++ b/main.go @@ -26,25 +26,7 @@ type Config struct { var statuses = []string{"JD", "LLM", "MCL", "PHD", "SJD", "MLS", "SPEC", "MNR", "CERT"} -func main() { - data, err := os.ReadFile("config.json") - if err != nil { - log.Fatalf("failed to read config.json: %v", err) - } - - var config Config - if err := json.Unmarshal(data, &config); err != nil { - log.Fatalf("failed to parse config.json: %v", err) - } - - total := 0 - for _, v := range config.PercentStatus { - total += v - } - if total != 100 { - log.Fatalf("percent_status values must total 100, got %d", total) - } - +func GenerateUserData (config Config) { // Build a weighted list of statuses weightedStatuses := make([]string, 0, 100) for status, pct := range config.PercentStatus { @@ -91,6 +73,29 @@ func main() { fmt.Printf("Generated %d users to users.csv\n", config.NumberOfUsers) } +func main() { + data, err := os.ReadFile("config.json") + if err != nil { + log.Fatalf("failed to read config.json: %v", err) + } + + var config Config + if err := json.Unmarshal(data, &config); err != nil { + log.Fatalf("failed to parse config.json: %v", err) + } + + total := 0 + for _, v := range config.PercentStatus { + total += v + } + if total != 100 { + log.Fatalf("percent_status values must total 100, got %d", total) + } + + GenerateUserData(config) + +} + // uniqueNumericStrings generates n unique zero-padded numeric strings of the given digit length. func uniqueNumericStrings(digits, n int) []string { max := 1