2026-02-23 20:46:53 +03:00
|
|
|
package utils
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"database/sql"
|
|
|
|
|
"time"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type timeUtil interface {
|
2026-03-01 22:11:12 +03:00
|
|
|
// TimeNowUTC Use it everywhere, when you need current time.
|
2026-02-23 20:46:53 +03:00
|
|
|
TimeNowUTC() time.Time
|
2026-03-01 22:11:12 +03:00
|
|
|
|
2026-03-02 17:30:17 +03:00
|
|
|
// DeletedNullTime returns empty sql.NullTime struct with valid = false.
|
2026-02-23 20:46:53 +03:00
|
|
|
DeletedNullTime() sql.NullTime
|
2026-03-01 22:11:12 +03:00
|
|
|
|
|
|
|
|
// NullTimeNowUTC returns valid sql.NullTime struct with current time in UTC.
|
2026-02-23 20:46:53 +03:00
|
|
|
NullTimeNowUTC() sql.NullTime
|
2026-03-01 22:11:12 +03:00
|
|
|
|
|
|
|
|
// NullTimeFromNow converts time.Time to valid sql.NullTime struct.
|
|
|
|
|
NullTimeFromNow(now time.Time) sql.NullTime
|
2026-02-23 20:46:53 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (h *Handler) TimeNowUTC() time.Time {
|
|
|
|
|
return time.Now().UTC()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (h *Handler) DeletedNullTime() sql.NullTime {
|
|
|
|
|
return sql.NullTime{Time: time.Time{}, Valid: false}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (h *Handler) NullTimeNowUTC() sql.NullTime {
|
|
|
|
|
return sql.NullTime{Time: h.TimeNowUTC(), Valid: true}
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-01 22:11:12 +03:00
|
|
|
func (h *Handler) NullTimeFromNow(now time.Time) sql.NullTime {
|
|
|
|
|
return sql.NullTime{Time: now, Valid: true}
|
2026-02-23 20:46:53 +03:00
|
|
|
}
|