diff --git a/date_utils/date_utils.go b/date_utils/date_utils.go index f9ba5bd996f68455656211220eeb1408d9fa5e67..78757cef0de6a7351ec59585c8b5cc70bbeebc89 100644 --- a/date_utils/date_utils.go +++ b/date_utils/date_utils.go @@ -8,7 +8,7 @@ import ( const TimeZoneString = "Africa/Johannesburg" func DateLayoutYearMonthDayTimeT() string { - layout := "2006-01-02T15:04" + layout := "2006-01-02T15:04:05" return layout } @@ -47,6 +47,20 @@ func DateLayoutHumanReadable() string { return layout } +func DateLayoutTrimmed() string { + layout := "20060102150405" + return layout +} + +func DateDBFormattedString(date time.Time) string { + return date.Format("2006-01-02 15:04:05.000000-07") +} + +func DateDBFormattedStringDateOnly(date time.Time) string { + return date.Format("2006-01-02") +} + + func CurrentLocation() *time.Location { loc, _ := time.LoadLocation(TimeZoneString) return loc @@ -88,3 +102,13 @@ func TimeBefore(a string, b string) bool { return hoursA < hoursB } + +// ConvertToNoDateTimeString - Converts a PSQL Time type to Go Time type +func ConvertToNoDateTimeString(timeString *string) (*string, error) { + parsedTime, err := time.Parse("15:04:05", *timeString) + if err != nil { + return nil, err + } + formattedTime := parsedTime.Format("15:04") + return &formattedTime, nil +} diff --git a/encryption/encryption.go b/encryption/encryption.go index 97d2c61776e0b7fa4da79be16f6748ddbb715ca0..fd5959d5326fc648a0e9e4b1ef37ed7b60ced01d 100644 --- a/encryption/encryption.go +++ b/encryption/encryption.go @@ -2,8 +2,10 @@ package encryption import ( "crypto/hmac" + "crypto/md5" "crypto/sha256" "encoding/base64" + "fmt" ) func Hash(input string, key string) string { @@ -12,3 +14,9 @@ func Hash(input string, key string) string { h.Write([]byte(input)) return base64.StdEncoding.EncodeToString(h.Sum(nil)) } + +func Md5HashString(bytesToHash []byte) string { + hash := md5.Sum(bytesToHash) + hashString := fmt.Sprintf("%X", hash) + return hashString +} diff --git a/string_utils/string_utils.go b/string_utils/string_utils.go index 3ed36d38b465c0c778948078d134cf0a6df0e9af..114637af86d92ba71e1afa943c916eecb9226ac5 100644 --- a/string_utils/string_utils.go +++ b/string_utils/string_utils.go @@ -1,6 +1,7 @@ package string_utils import ( + "crypto/md5" "encoding/json" "fmt" "regexp" @@ -192,3 +193,21 @@ func StringTrimQuotes(stringToTrim string) string { return stringToTrim } + + +func KeyToHumanReadable(s string) string { + s = strings.TrimSpace(s) + + re := regexp.MustCompile("(_|-)") + s = re.ReplaceAllString(s, " ") + + return sentenceCase(string(s)) +} + +func sentenceCase(str string) string { + for i, v := range str { + return string(unicode.ToUpper(v)) + str[i+1:] + } + return "" +} +