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  }