cmc-sales/go-app/internal/cmc/db/quotes.sql.go

110 lines
2.7 KiB
Go
Raw Normal View History

2025-07-14 06:26:26 -07:00
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.29.0
// source: quotes.sql
package db
import (
"context"
"time"
)
const getExpiringSoonQuotes = `-- name: GetExpiringSoonQuotes :many
SELECT d.id, u.username, e.id, e.title, q.date_issued, q.valid_until
FROM quotes q
JOIN documents d on d.id = q.document_id
JOIN users u on u.id = d.user_id
JOIN enquiries e on e.id = q.enquiry_id
WHERE valid_until >= CURRENT_DATE AND valid_until <= DATE_ADD(CURRENT_DATE, INTERVAL ? DAY)
ORDER BY valid_until DESC
`
type GetExpiringSoonQuotesRow struct {
ID int32 `json:"id"`
Username string `json:"username"`
ID_2 int32 `json:"id_2"`
Title string `json:"title"`
DateIssued time.Time `json:"date_issued"`
ValidUntil time.Time `json:"valid_until"`
}
func (q *Queries) GetExpiringSoonQuotes(ctx context.Context, dateADD interface{}) ([]GetExpiringSoonQuotesRow, error) {
rows, err := q.db.QueryContext(ctx, getExpiringSoonQuotes, dateADD)
if err != nil {
return nil, err
}
defer rows.Close()
items := []GetExpiringSoonQuotesRow{}
for rows.Next() {
var i GetExpiringSoonQuotesRow
if err := rows.Scan(
&i.ID,
&i.Username,
&i.ID_2,
&i.Title,
&i.DateIssued,
&i.ValidUntil,
); 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 getRecentlyExpiredQuotes = `-- name: GetRecentlyExpiredQuotes :many
SELECT d.id, u.username, e.id, e.title, q.date_issued, q.valid_until
FROM quotes q
JOIN documents d on d.id = q.document_id
JOIN users u on u.id = d.user_id
JOIN enquiries e on e.id = q.enquiry_id
WHERE valid_until < CURRENT_DATE AND valid_until >= DATE_SUB(CURRENT_DATE, INTERVAL ? DAY)
ORDER BY valid_until DESC
`
type GetRecentlyExpiredQuotesRow struct {
ID int32 `json:"id"`
Username string `json:"username"`
ID_2 int32 `json:"id_2"`
Title string `json:"title"`
DateIssued time.Time `json:"date_issued"`
ValidUntil time.Time `json:"valid_until"`
}
func (q *Queries) GetRecentlyExpiredQuotes(ctx context.Context, dateSUB interface{}) ([]GetRecentlyExpiredQuotesRow, error) {
rows, err := q.db.QueryContext(ctx, getRecentlyExpiredQuotes, dateSUB)
if err != nil {
return nil, err
}
defer rows.Close()
items := []GetRecentlyExpiredQuotesRow{}
for rows.Next() {
var i GetRecentlyExpiredQuotesRow
if err := rows.Scan(
&i.ID,
&i.Username,
&i.ID_2,
&i.Title,
&i.DateIssued,
&i.ValidUntil,
); 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
}