certimate/internal/repository/certificate.go
2025-01-05 00:08:12 +08:00

27 lines
649 B
Go

package repository
import (
"context"
"github.com/usual2970/certimate/internal/app"
"github.com/usual2970/certimate/internal/domain"
)
type CertificateRepository struct{}
func NewCertificateRepository() *CertificateRepository {
return &CertificateRepository{}
}
func (c *CertificateRepository) ListExpireSoon(ctx context.Context) ([]domain.Certificate, error) {
certificates := []domain.Certificate{}
err := app.GetApp().Dao().DB().
NewQuery("SELECT * FROM certificate WHERE expireAt > DATETIME('now') AND expireAt < DATETIME('now', '+20 days')").
All(&certificates)
if err != nil {
return nil, err
}
return certificates, nil
}