66 lines
1.2 KiB
Go
66 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"repo-pattern/app/lib/cfg"
|
|
"repo-pattern/app/lib/db"
|
|
"repo-pattern/app/lib/logging"
|
|
"repo-pattern/app/models"
|
|
"repo-pattern/app/repository"
|
|
"repo-pattern/app/repository/smartfilter"
|
|
"time"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
var (
|
|
TRUE = true
|
|
FALSE = false
|
|
)
|
|
|
|
func doMagic(db *gorm.DB) {
|
|
var err error
|
|
query := db
|
|
|
|
// id := "6dc096ab-5c03-427e-b808-c669f7446131"
|
|
// serialNumber := "222"
|
|
// serialNumberContains := "323"
|
|
// issuer := "FINA"
|
|
location, _ := time.LoadLocation("UTC")
|
|
createdTime := time.Date(2024, 5, 26, 16, 8, 0, 0, location)
|
|
|
|
f := smartfilter.SmartCertFilter[models.Cert]{
|
|
// Alive: &FALSE,
|
|
// Id: &id,
|
|
// SerialNumber: &serialNumber,
|
|
// SerialNumberContains: &serialNumberContains,
|
|
// IssuerContains: &issuer,
|
|
CreatedAt_Lt: &createdTime,
|
|
}
|
|
|
|
query, err = f.ToQuery(query)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
var certs []models.Cert
|
|
|
|
query.Order("created_at").Find(&certs)
|
|
for n, cert := range certs {
|
|
fmt.Printf(">> [%d] %+v %s\n", n, cert.Id, cert.CreatedAt)
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
cfg.Init()
|
|
logging.Init()
|
|
defer logging.Log.Sync()
|
|
|
|
db := db.InitDB()
|
|
repository.Dao = repository.CreateDAO(db)
|
|
|
|
doMagic(db)
|
|
|
|
fmt.Println("Running...")
|
|
}
|