github.com/matthieudolci/hatcher@v0.2.8/common/common.go (about) 1 package common 2 3 import ( 4 "database/sql" 5 "fmt" 6 7 log "github.com/Sirupsen/logrus" 8 "github.com/matthieudolci/hatcher/database" 9 uuid "github.com/satori/go.uuid" 10 "github.com/slack-go/slack" 11 ) 12 13 // Slack is the primary struct for our slackbot 14 type Slack struct { 15 Name string 16 Token string 17 18 User string 19 UserID string 20 21 Client *slack.Client 22 MessageEvent *slack.MessageEvent 23 } 24 25 func RowExists(query string, args ...interface{}) bool { 26 27 var exists bool 28 29 err := database.DB.QueryRow(query, args...).Scan(&exists) 30 if err != nil && err != sql.ErrNoRows { 31 log.WithFields(log.Fields{ 32 "arg": args, 33 }).WithError(err).Error("error checking if row exists") 34 } 35 return exists 36 } 37 38 func QueryRow(query string, args ...interface{}) error { 39 40 var id int 41 42 err := database.DB.QueryRow(query, args...).Scan(&id) 43 if err != nil && err != sql.ErrNoRows { 44 log.WithFields(log.Fields{ 45 "arg": args, 46 }).WithError(err).Error("error querying the row") 47 } 48 return nil 49 } 50 51 func QueryUUID(query string, args ...interface{}) (string, error) { 52 53 var uuid string 54 55 err := database.DB.QueryRow(query, args...).Scan(&uuid) 56 if err != nil && err != sql.ErrNoRows { 57 log.WithFields(log.Fields{ 58 "arg": args, 59 }).WithError(err).Error("error querying the row") 60 } 61 62 u := fmt.Sprint(uuid) 63 64 return u, err 65 } 66 67 func CreatesUUID() string { 68 u := uuid.NewV4() 69 uuid := fmt.Sprint(u) 70 return uuid 71 }