diff --git a/src/insight/insight-connect.go b/src/insight/insight-connect.go index 9fe46c8..820f0b0 100644 --- a/src/insight/insight-connect.go +++ b/src/insight/insight-connect.go @@ -162,7 +162,7 @@ func (iClient *IClient) GetTimeAllTimeEntriesForUserThroughDate(userId string, e container := make([]*TimeEntry, 0, 1000) //do we want to make the default result size parametric? err := json.Unmarshal(*rawBytes, &container) if err != nil { - log.Fatal(err) + log.Panic(err) } returnChan <- &container } @@ -175,7 +175,7 @@ func (iClient *IClient) GetProjectsInList(projectIds []string) *[]Project { err := json.Unmarshal(*rawBytes, &container) if err != nil { - log.Fatal(err) + log.Panic(err) } return &container @@ -199,7 +199,7 @@ func (iClient *IClient) getRawUsers() *[]User { err := json.Unmarshal(*rawBytes, &container) if err != nil { - log.Fatal(err) + log.Panic(err) } return &container @@ -208,12 +208,12 @@ func (iClient *IClient) getRawUsers() *[]User { func (iClient *IClient) doGet(req *http.Request) *[]byte { resp, err := iClient.client.Do(req) if err != nil { - log.Fatal(err) + log.Panic(err) } bodyBytes, err := ioutil.ReadAll(resp.Body) if err != nil { - log.Fatal(err) + log.Panic(err) } return &bodyBytes @@ -224,7 +224,7 @@ func (iClient *IClient) createRequest(urlEndpoint string, tokenFile string) *htt token := (*iClient.tokens)[tokenFile] request, err := http.NewRequest("GET", reqUrl, nil) if err != nil { - log.Fatal(err) + log.Panic(err) } request.Header.Add("api-token", token) @@ -249,7 +249,7 @@ func cacheTokens() *map[string]string { subPath := fmt.Sprintf("./tokens/%s", file.Name()) fileContents, err := os.ReadFile(subPath) if err != nil { - log.Fatal(err) + log.Panic(err) } ret[file.Name()] = string(fileContents) diff --git a/src/insight/insight-database.go b/src/insight/insight-database.go index 2ad52b5..e7eb6f5 100644 --- a/src/insight/insight-database.go +++ b/src/insight/insight-database.go @@ -12,6 +12,8 @@ import ( const ( InsightDatabaseName = "insight" + dbCredsEnvName = "DB_CREDS" + dbCredsHostName = "DB_HOST" ) // @@ -40,7 +42,7 @@ func (c *DBConnector) UpdateTimeEntries(entries *[]*TimeEntry) { s, err := db.Prepare(*statement) defer s.Close() if err != nil { - log.Fatalln(err) + log.Panic(err) } for _, ent := range *entries { _, err = s.Exec(ent.ActualHours, @@ -52,7 +54,7 @@ func (c *DBConnector) UpdateTimeEntries(entries *[]*TimeEntry) { ent.UserId) if err != nil { log.Printf("%#v\n", s) - log.Fatalln(err) + log.Panic(err) } } } @@ -64,13 +66,13 @@ func (c *DBConnector) UpdateUsers(users *[]User) { s, err := db.Prepare(*statement) defer s.Close() if err != nil { - log.Fatalln(err) + log.Panic(err) } for _, user := range *users { _, err = s.Exec(user.Id, user.FirstName, user.LastName, user.EmailAddress) if err != nil { log.Printf("%#v\n", s) - log.Fatalln(err) + log.Panic(err) } } } @@ -81,13 +83,13 @@ func (c *DBConnector) FetchUsers() *[]*User { queryText := "SELECT * FROM users;" rs, err := cx.Query(queryText) if err != nil { - log.Fatalln(err) + log.Panic(err) } for rs.Next() { u := User{} err := rs.Scan(&u.Id, &u.FirstName, &u.LastName, &u.EmailAddress) if err != nil { - log.Fatalln(err) + log.Panic(err) } ret = append(ret, &u) } @@ -100,13 +102,13 @@ func (c *DBConnector) FetchEngineerUsers() *[]*User { queryText := "SELECT insight.users.Id, insight.users.FirstName, insight.users.LastName, insight.users.EmailAddress FROM insight.users INNER JOIN projects.users on insight.users.EmailAddress = projects.users.email where projects.users.priv & POW(2, 25) > 0;" rs, err := cx.Query(queryText) if err != nil { - log.Fatalln(err) + log.Panic(err) } for rs.Next() { u := User{} err := rs.Scan(&u.Id, &u.FirstName, &u.LastName, &u.EmailAddress) if err != nil { - log.Fatalln(err) + log.Panic(err) } ret = append(ret, &u) } @@ -128,7 +130,7 @@ func (c *DBConnector) ExecuteSqlScript(database string, scriptName string) { _, err := db.Exec(query + ";") if err != nil { log.Printf("Query involved in error: %s\n", query) - log.Fatal(err) + log.Panic(err) } } } @@ -149,14 +151,14 @@ func (c *DBConnector) returnConnection(db *sql.DB) { ======================================================================================*/ func createDbConnection(database string) *sql.DB { - cred := os.Getenv("DB_CREDS") - host := os.Getenv("DB_HOST") + cred := os.Getenv(dbCredsEnvName) + host := os.Getenv(dbCredsHostName) dbString := "clarity:%s@tcp(%s)/%s" connectString := fmt.Sprintf(dbString, cred, host, database) db, err := sql.Open("mysql", connectString) if err != nil { - log.Fatalln(err) + log.Panic(err) } return db } @@ -164,12 +166,12 @@ func createDbConnection(database string) *sql.DB { func getSecret(pathlike string) *string { file, err := os.OpenFile(pathlike, os.O_RDONLY, 0755) if err != nil { - log.Fatalln(err) + log.Panic(err) } defer file.Close() raw, err := ioutil.ReadAll(file) if err != nil { - log.Fatalln(err) + log.Panic(err) } str := strings.Trim(string(raw), "\n") return &str @@ -178,12 +180,12 @@ func getSecret(pathlike string) *string { func loadSqlFile(scriptName string) *string { file, err := os.OpenFile("src/sql/"+scriptName, os.O_RDONLY, 0755) if err != nil { - log.Fatalln(err) + log.Panic(err) } defer file.Close() raw, err := ioutil.ReadAll(file) if err != nil { - log.Fatalln(err) + log.Panic(err) } str := strings.Trim(string(raw), "\n") return &str diff --git a/src/mercury/csv.go b/src/mercury/csv.go index 56c3f56..ef14d02 100644 --- a/src/mercury/csv.go +++ b/src/mercury/csv.go @@ -57,7 +57,10 @@ func ProcessTrialBalances(pathlikeIn string, pathlikeOut string) { func writeTable(table *[]*[]*TrialBalanceLine, pathlikeOut string) { writer := createCsvWriter(pathlikeOut) - writer.Write(TrialBalanceHeaders) + err := writer.Write(TrialBalanceHeaders) + if err != nil { + log.Panic(err) + } for _, sheet := range *table { for _, line := range *sheet { writer.Write(line.toRow()) @@ -77,13 +80,13 @@ func processTrialBalance(pathlike *string) *[]*TrialBalanceLine { ret := make([]*TrialBalanceLine, 0, 50) file, err := os.OpenFile(*pathlike, os.O_RDONLY, 0755) if err != nil { - log.Fatalln(err) + log.Panic(err) } defer file.Close() reader := csv.NewReader(file) table, err := reader.ReadAll() if err != nil { - log.Fatalln(err) + log.Panic(err) } period := getDateFromFileName(pathlike) @@ -105,7 +108,7 @@ func getAccountTypeFromName(accountName string) string { parts := strings.Split(accountName, " ") number, err := strconv.Atoi(parts[0]) if err != nil { - log.Fatalln(err) + log.Panic(err) } if number < expenseAccountCutoff { return "income" @@ -187,7 +190,7 @@ func ProcessCSVsFromPath(pathlikeIn string, pathlikeOut string) { headers := []string{"Billing Code", "Date", "Invoice Number", "Account Name", "Class", "Amount"} err := writer.Write(headers) if err != nil { - log.Fatal(err) + log.Panic(err) } for _, pptr := range *paths { lines := processFile(pptr) @@ -205,13 +208,13 @@ func createCsvWriter(pathlike string) *csv.Writer { if os.IsNotExist(err) { file, err = os.Create(pathlike) if err != nil { - log.Fatal(err) + log.Panic(err) } } else { os.Remove(pathlike) file, err = os.Create(pathlike) if err != nil { - log.Fatal(err) + log.Panic(err) } } writer := csv.NewWriter(file) @@ -254,7 +257,7 @@ func processFile(pathlike *string) *[]*BillingLine { if err != nil { log.Printf("%#v\n", recordRow) - log.Fatal(err) + log.Panic(err) } ret = append(ret, &lineItem)