timestamps written into the database should really be UTC

This commit is contained in:
2025-10-13 15:31:43 -06:00
parent abd14ea24e
commit 55f5cc5eca
5 changed files with 7 additions and 7 deletions
+1 -1
View File
@@ -88,7 +88,7 @@ func (ar *AuditRecord) Store() error {
if ar.Record > 0 { if ar.Record > 0 {
return fmt.Errorf("audit record %d already stored", ar.Record) return fmt.Errorf("audit record %d already stored", ar.Record)
} }
moment := time.Now() moment := time.Now().UTC()
rs, err := amdb.Exec(`INSERT INTO audit (on_date, event, uid, commid, ip, data1, data2, data3, data4) rs, err := amdb.Exec(`INSERT INTO audit (on_date, event, uid, commid, ip, data1, data2, data3, data4)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);`, moment, ar.Event, ar.Uid, ar.CommId, ar.IP, VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);`, moment, ar.Event, ar.Uid, ar.CommId, ar.IP,
ar.Data1, ar.Data2, ar.Data3, ar.Data4) ar.Data1, ar.Data2, ar.Data3, ar.Data4)
+2 -2
View File
@@ -120,7 +120,7 @@ func (ci *ContactInfo) Save() (bool, error) {
_, err := amdb.NamedExec(`UPDATE contacts SET given_name = :given_name, family_name = :family_name, middle_init = :middle_init, _, err := amdb.NamedExec(`UPDATE contacts SET given_name = :given_name, family_name = :family_name, middle_init = :middle_init,
prefix = :prefix, suffix = :suffix, company = :company, addr1 = :addr1, addr2 = :addr2, locality = :locality, region = :region, prefix = :prefix, suffix = :suffix, company = :company, addr1 = :addr1, addr2 = :addr2, locality = :locality, region = :region,
pcode = :pcode, country = :country, phone = :phone, fax = :fax, mobile = :mobile, email = :email, pvt_addr = :pvt_addr, pcode = :pcode, country = :country, phone = :phone, fax = :fax, mobile = :mobile, email = :email, pvt_addr = :pvt_addr,
pvt_phone = :pvt_phone, pvt_fax = :pvt_fax, pvt_email = :pvt_email, photo_url = :photo_url, url = :url, lastupdate = NOW() pvt_phone = :pvt_phone, pvt_fax = :pvt_fax, pvt_email = :pvt_email, photo_url = :photo_url, url = :url, lastupdate = UTC_TIMESTAMP()
WHERE contactid = :contactid`, ci) WHERE contactid = :contactid`, ci)
if err != nil { if err != nil {
return false, err return false, err
@@ -132,7 +132,7 @@ func (ci *ContactInfo) Save() (bool, error) {
pvt_email, owner_uid, owner_commid, photo_url, url, lastupdate) pvt_email, owner_uid, owner_commid, photo_url, url, lastupdate)
VALUES (:given_name, :family_name, :middle_init, :prefix, :suffix, :company, :addr1, :addr2, :locality, VALUES (:given_name, :family_name, :middle_init, :prefix, :suffix, :company, :addr1, :addr2, :locality,
:region, :pcode, :country, :phone, :fax, :mobile, :email, :pvt_addr, :pvt_phone, :pvt_fax, :pvt_email, :region, :pcode, :country, :phone, :fax, :mobile, :email, :pvt_addr, :pvt_phone, :pvt_fax, :pvt_email,
:owner_uid, :owner_commid, :photo_url, :url, NOW())`, ci) :owner_uid, :owner_commid, :photo_url, :url, UTC_TIMESTAMP())`, ci)
if err != nil { if err != nil {
return false, err return false, err
} }
+1 -1
View File
@@ -66,7 +66,7 @@ func AmTestIPBan(ip_address string) (string, error) {
rows, err := amdb.Query(` rows, err := amdb.Query(`
SELECT message FROM ipban WHERE (address_lo & mask_lo) = (? & mask_lo) SELECT message FROM ipban WHERE (address_lo & mask_lo) = (? & mask_lo)
AND (address_hi & mask_hi) = (? & mask_hi) AND (expire IS NULL OR expire >= ?) AND (address_hi & mask_hi) = (? & mask_hi) AND (expire IS NULL OR expire >= ?)
AND enable <> 0 ORDER BY mask_hi DESC, mask_lo DESC`, iv_lo, iv_hi, time.Now()) AND enable <> 0 ORDER BY mask_hi DESC, mask_lo DESC`, iv_lo, iv_hi, time.Now().UTC())
if err != nil { if err != nil {
return "", err return "", err
} }
+2 -2
View File
@@ -457,7 +457,7 @@ func hashPassword(password string) string {
func touchUser(user *User) { func touchUser(user *User) {
user.Mutex.Lock() user.Mutex.Lock()
defer user.Mutex.Unlock() defer user.Mutex.Unlock()
moment := time.Now() moment := time.Now().UTC()
_, _ = amdb.Exec("UPDATE user SET lastaccess = ? WHERE uid = ?", moment, user.Uid) _, _ = amdb.Exec("UPDATE user SET lastaccess = ? WHERE uid = ?", moment, user.Uid)
user.LastAccess = &moment user.LastAccess = &moment
} }
@@ -613,7 +613,7 @@ func AmCreateNewUser(username string, password string, reminder string, dob *tim
// Insert the user record. // Insert the user record.
_, err2 := amdb.Exec(`INSERT INTO users (username, passhash, verify_email, lockout, email_confnum, _, err2 := amdb.Exec(`INSERT INTO users (username, passhash, verify_email, lockout, email_confnum,
base_lvl, created, lastaccess, passreminder, description, dob) VALUES (?, ?, 0, 0, ?, ?, NOW(), NOW(), ?, '', ?)`, base_lvl, created, lastaccess, passreminder, description, dob) VALUES (?, ?, 0, 0, ?, ?, UTC_TIMESTAMP(), UTC_TIMESTAMP(), ?, '', ?)`,
username, hashPassword(password), util.GenerateRandomConfirmationNumber(), AmDefaultRole("Global.NewUser").Level(), username, hashPassword(password), util.GenerateRandomConfirmationNumber(), AmDefaultRole("Global.NewUser").Level(),
reminder, dob) reminder, dob)
if err2 != nil { if err2 != nil {
+1 -1
View File
@@ -141,7 +141,7 @@ func (fld *DialogItem) AsDate() *time.Time {
if fld.Type == "date" && fld.AuxData != nil { if fld.Type == "date" && fld.AuxData != nil {
v := fld.AuxData.([]int) v := fld.AuxData.([]int)
if v[0] >= 1 && v[1] >= 1 && v[2] >= 1 { if v[0] >= 1 && v[1] >= 1 && v[2] >= 1 {
rc := time.Date(v[2], time.Month(v[0]), v[1], 0, 0, 0, 0, time.Now().Location()) rc := time.Date(v[2], time.Month(v[0]), v[1], 0, 0, 0, 0, time.Local)
return &rc return &rc
} }
} }