|
|
|
|
@ -12,6 +12,8 @@ import (
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
InsightDatabaseName = "insight"
|
|
|
|
|
dbCredsEnvName = "DB_CREDS"
|
|
|
|
|
dbCredsHostName = "DB_HOST"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
//<editor-fold name="DBConnector">
|
|
|
|
|
@ -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
|
|
|
|
|
|