2024-03-09 00:31:52 +00:00
|
|
|
// Code generated by sqlc. DO NOT EDIT.
|
|
|
|
// versions:
|
|
|
|
// sqlc v1.25.0
|
|
|
|
// source: certificate.sql
|
|
|
|
|
|
|
|
package database
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"database/sql"
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
const addCertificate = `-- name: AddCertificate :exec
|
|
|
|
INSERT INTO certificates (owner, dns, not_after, updated_at)
|
|
|
|
VALUES (?, ?, ?, ?)
|
|
|
|
`
|
|
|
|
|
|
|
|
type AddCertificateParams struct {
|
|
|
|
Owner string `json:"owner"`
|
|
|
|
Dns sql.NullInt64 `json:"dns"`
|
|
|
|
NotAfter time.Time `json:"not_after"`
|
|
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q *Queries) AddCertificate(ctx context.Context, arg AddCertificateParams) error {
|
|
|
|
_, err := q.db.ExecContext(ctx, addCertificate,
|
|
|
|
arg.Owner,
|
|
|
|
arg.Dns,
|
|
|
|
arg.NotAfter,
|
|
|
|
arg.UpdatedAt,
|
|
|
|
)
|
|
|
|
return err
|
|
|
|
}
|
2024-03-09 00:55:06 +00:00
|
|
|
|
|
|
|
const addTempCertificate = `-- name: AddTempCertificate :exec
|
|
|
|
INSERT INTO certificates (owner, dns, active, updated_at, temp_parent)
|
|
|
|
VALUES (?, NULL, 1, ?, ?)
|
|
|
|
`
|
|
|
|
|
|
|
|
type AddTempCertificateParams struct {
|
|
|
|
Owner string `json:"owner"`
|
|
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
|
|
TempParent sql.NullInt64 `json:"temp_parent"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q *Queries) AddTempCertificate(ctx context.Context, arg AddTempCertificateParams) error {
|
|
|
|
_, err := q.db.ExecContext(ctx, addTempCertificate, arg.Owner, arg.UpdatedAt, arg.TempParent)
|
|
|
|
return err
|
|
|
|
}
|
2024-03-09 00:31:52 +00:00
|
|
|
|
|
|
|
const checkCertOwner = `-- name: CheckCertOwner :one
|
|
|
|
SELECT id, owner
|
|
|
|
FROM certificates
|
|
|
|
WHERE active = 1
|
|
|
|
and id = ?
|
|
|
|
`
|
|
|
|
|
|
|
|
type CheckCertOwnerRow struct {
|
|
|
|
ID int64 `json:"id"`
|
|
|
|
Owner string `json:"owner"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q *Queries) CheckCertOwner(ctx context.Context, id int64) (CheckCertOwnerRow, error) {
|
|
|
|
row := q.db.QueryRowContext(ctx, checkCertOwner, id)
|
|
|
|
var i CheckCertOwnerRow
|
|
|
|
err := row.Scan(&i.ID, &i.Owner)
|
|
|
|
return i, err
|
|
|
|
}
|
|
|
|
|
|
|
|
const findNextCert = `-- name: FindNextCert :one
|
|
|
|
SELECT cert.id, cert.not_after, dns_acme.type, dns_acme.token, cert.temp_parent
|
|
|
|
FROM certificates AS cert
|
|
|
|
LEFT OUTER JOIN dns_acme ON cert.dns = dns_acme.id
|
|
|
|
WHERE cert.active = 1
|
|
|
|
AND (cert.auto_renew = 1 OR cert.not_after IS NULL)
|
|
|
|
AND cert.renewing = 0
|
|
|
|
AND cert.renew_failed = 0
|
|
|
|
AND (cert.not_after IS NULL OR DATETIME(cert.not_after, 'utc', '-30 days') < DATETIME())
|
|
|
|
ORDER BY cert.temp_parent, cert.not_after DESC NULLS FIRST
|
|
|
|
LIMIT 1
|
|
|
|
`
|
|
|
|
|
|
|
|
type FindNextCertRow struct {
|
|
|
|
ID int64 `json:"id"`
|
|
|
|
NotAfter time.Time `json:"not_after"`
|
|
|
|
Type sql.NullString `json:"type"`
|
|
|
|
Token sql.NullString `json:"token"`
|
|
|
|
TempParent sql.NullInt64 `json:"temp_parent"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q *Queries) FindNextCert(ctx context.Context) (FindNextCertRow, error) {
|
|
|
|
row := q.db.QueryRowContext(ctx, findNextCert)
|
|
|
|
var i FindNextCertRow
|
|
|
|
err := row.Scan(
|
|
|
|
&i.ID,
|
|
|
|
&i.NotAfter,
|
|
|
|
&i.Type,
|
|
|
|
&i.Token,
|
|
|
|
&i.TempParent,
|
|
|
|
)
|
|
|
|
return i, err
|
|
|
|
}
|
|
|
|
|
|
|
|
const findOwnedCerts = `-- name: FindOwnedCerts :many
|
|
|
|
SELECT cert.id,
|
|
|
|
cert.auto_renew,
|
|
|
|
cert.active,
|
|
|
|
cert.renewing,
|
|
|
|
cert.renew_failed,
|
|
|
|
cert.not_after,
|
|
|
|
cert.updated_at,
|
|
|
|
certificate_domains.domain
|
|
|
|
FROM certificates AS cert
|
|
|
|
INNER JOIN certificate_domains ON cert.id = certificate_domains.cert_id
|
|
|
|
`
|
|
|
|
|
|
|
|
type FindOwnedCertsRow struct {
|
|
|
|
ID int64 `json:"id"`
|
|
|
|
AutoRenew bool `json:"auto_renew"`
|
|
|
|
Active bool `json:"active"`
|
|
|
|
Renewing bool `json:"renewing"`
|
|
|
|
RenewFailed bool `json:"renew_failed"`
|
|
|
|
NotAfter time.Time `json:"not_after"`
|
|
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
|
|
Domain string `json:"domain"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q *Queries) FindOwnedCerts(ctx context.Context) ([]FindOwnedCertsRow, error) {
|
|
|
|
rows, err := q.db.QueryContext(ctx, findOwnedCerts)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
defer rows.Close()
|
|
|
|
var items []FindOwnedCertsRow
|
|
|
|
for rows.Next() {
|
|
|
|
var i FindOwnedCertsRow
|
|
|
|
if err := rows.Scan(
|
|
|
|
&i.ID,
|
|
|
|
&i.AutoRenew,
|
|
|
|
&i.Active,
|
|
|
|
&i.Renewing,
|
|
|
|
&i.RenewFailed,
|
|
|
|
&i.NotAfter,
|
|
|
|
&i.UpdatedAt,
|
|
|
|
&i.Domain,
|
|
|
|
); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
items = append(items, i)
|
|
|
|
}
|
|
|
|
if err := rows.Close(); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if err := rows.Err(); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return items, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
const removeCertificate = `-- name: RemoveCertificate :exec
|
|
|
|
UPDATE certificates
|
|
|
|
SET active = 0
|
|
|
|
WHERE id = ?
|
|
|
|
`
|
|
|
|
|
|
|
|
func (q *Queries) RemoveCertificate(ctx context.Context, id int64) error {
|
|
|
|
_, err := q.db.ExecContext(ctx, removeCertificate, id)
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
const updateCertAfterRenewal = `-- name: UpdateCertAfterRenewal :exec
|
|
|
|
UPDATE certificates
|
|
|
|
SET renewing = 0,
|
|
|
|
renew_failed=0,
|
|
|
|
not_after=?,
|
|
|
|
updated_at=?
|
|
|
|
WHERE id = ?
|
|
|
|
`
|
|
|
|
|
|
|
|
type UpdateCertAfterRenewalParams struct {
|
|
|
|
NotAfter time.Time `json:"not_after"`
|
|
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
|
|
ID int64 `json:"id"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q *Queries) UpdateCertAfterRenewal(ctx context.Context, arg UpdateCertAfterRenewalParams) error {
|
|
|
|
_, err := q.db.ExecContext(ctx, updateCertAfterRenewal, arg.NotAfter, arg.UpdatedAt, arg.ID)
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
const updateRenewingState = `-- name: UpdateRenewingState :exec
|
|
|
|
UPDATE certificates
|
|
|
|
SET renewing = ?,
|
|
|
|
renew_failed = ?
|
|
|
|
WHERE id = ?
|
|
|
|
`
|
|
|
|
|
|
|
|
type UpdateRenewingStateParams struct {
|
|
|
|
Renewing bool `json:"renewing"`
|
|
|
|
RenewFailed bool `json:"renew_failed"`
|
|
|
|
ID int64 `json:"id"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (q *Queries) UpdateRenewingState(ctx context.Context, arg UpdateRenewingStateParams) error {
|
|
|
|
_, err := q.db.ExecContext(ctx, updateRenewingState, arg.Renewing, arg.RenewFailed, arg.ID)
|
|
|
|
return err
|
|
|
|
}
|