package db import ( "crypto/rand" "encoding/hex" "time" ) func (d *DB) ListDomains() ([]Domain, error) { rows, err := d.Query(`SELECT ` + domainColumns + ` FROM esrv_domains ORDER BY domain_name`) if err != nil { return nil, err } defer rows.Close() var out []Domain for rows.Next() { var dm Domain var createdAt string var verifiedAt *string if err := rows.Scan(&dm.ID, &dm.DomainName, &dm.IsActive, &createdAt, &dm.VerificationToken, &dm.IsVerified, &verifiedAt, &dm.MFAExempt); err != nil { return nil, err } dm.CreatedAt, _ = parseTime(createdAt) if verifiedAt != nil { t, _ := parseTime(*verifiedAt) dm.VerifiedAt = &t } out = append(out, dm) } return out, rows.Err() } // ListActiveDomains mirrors the `domains` query used to populate