Files
member-console/internal/billing/invoice_line_items.sql.go
T
cgalo5758 b0072d8971 Consolidate domain tables into core schema
Squash the pre-production migration history into fresh core, fedwiki,
and stripe baselines and reduce the canonical source list to those
three streams.

Update sqlc configs, generated queries, raw SQL, tests, and docs while
keeping provider tables schema-qualified.

BREAKING: existing local database volumes must be wiped because goose
version history restarts from the new baselines.
2026-07-05 20:10:23 -05:00

108 lines
2.8 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.29.0
// source: invoice_line_items.sql
package billing
import (
"context"
"database/sql"
"github.com/google/uuid"
)
const createInvoiceLineItem = `-- name: CreateInvoiceLineItem :one
INSERT INTO core.invoice_line_items (
invoice_id, subscription_item_id, price_id,
amount, currency, description, quantity,
period_start, period_end
)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)
RETURNING line_item_id, invoice_id, subscription_item_id, price_id, amount, currency, description, quantity, period_start, period_end, created_at, updated_at
`
type CreateInvoiceLineItemParams struct {
InvoiceID string `json:"invoice_id"`
SubscriptionItemID uuid.NullUUID `json:"subscription_item_id"`
PriceID string `json:"price_id"`
Amount int32 `json:"amount"`
Currency string `json:"currency"`
Description sql.NullString `json:"description"`
Quantity int32 `json:"quantity"`
PeriodStart sql.NullTime `json:"period_start"`
PeriodEnd sql.NullTime `json:"period_end"`
}
func (q *Queries) CreateInvoiceLineItem(ctx context.Context, arg CreateInvoiceLineItemParams) (InvoiceLineItem, error) {
row := q.db.QueryRowContext(ctx, createInvoiceLineItem,
arg.InvoiceID,
arg.SubscriptionItemID,
arg.PriceID,
arg.Amount,
arg.Currency,
arg.Description,
arg.Quantity,
arg.PeriodStart,
arg.PeriodEnd,
)
var i InvoiceLineItem
err := row.Scan(
&i.LineItemID,
&i.InvoiceID,
&i.SubscriptionItemID,
&i.PriceID,
&i.Amount,
&i.Currency,
&i.Description,
&i.Quantity,
&i.PeriodStart,
&i.PeriodEnd,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const getInvoiceLineItemsByInvoiceID = `-- name: GetInvoiceLineItemsByInvoiceID :many
SELECT line_item_id, invoice_id, subscription_item_id, price_id, amount, currency, description, quantity, period_start, period_end, created_at, updated_at FROM core.invoice_line_items
WHERE invoice_id = $1
ORDER BY created_at ASC
`
func (q *Queries) GetInvoiceLineItemsByInvoiceID(ctx context.Context, invoiceID string) ([]InvoiceLineItem, error) {
rows, err := q.db.QueryContext(ctx, getInvoiceLineItemsByInvoiceID, invoiceID)
if err != nil {
return nil, err
}
defer rows.Close()
items := []InvoiceLineItem{}
for rows.Next() {
var i InvoiceLineItem
if err := rows.Scan(
&i.LineItemID,
&i.InvoiceID,
&i.SubscriptionItemID,
&i.PriceID,
&i.Amount,
&i.Currency,
&i.Description,
&i.Quantity,
&i.PeriodStart,
&i.PeriodEnd,
&i.CreatedAt,
&i.UpdatedAt,
); 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
}