Introduce a commercial license option alongside AGPL-3.0-only, require a CLA for contributors, and document the terms in COMMERCIAL.md and NOTICE. Add a script to stamp SPDX headers on Go files and apply it across the tree.
83 lines
2.2 KiB
Go
83 lines
2.2 KiB
Go
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Commercial
|
|
// SPDX-FileCopyrightText: 2025-2026 Christian Galo
|
|
|
|
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.29.0
|
|
// source: subscription_changes.sql
|
|
|
|
package billing
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
)
|
|
|
|
const createSubscriptionChange = `-- name: CreateSubscriptionChange :one
|
|
INSERT INTO core.subscription_changes (subscription_id, previous_status, new_status, stripe_event_id)
|
|
VALUES ($1, $2, $3, $4)
|
|
RETURNING change_id, subscription_id, previous_status, new_status, stripe_event_id, changed_at
|
|
`
|
|
|
|
type CreateSubscriptionChangeParams struct {
|
|
SubscriptionID string `json:"subscription_id"`
|
|
PreviousStatus sql.NullString `json:"previous_status"`
|
|
NewStatus string `json:"new_status"`
|
|
StripeEventID string `json:"stripe_event_id"`
|
|
}
|
|
|
|
func (q *Queries) CreateSubscriptionChange(ctx context.Context, arg CreateSubscriptionChangeParams) (SubscriptionChange, error) {
|
|
row := q.db.QueryRowContext(ctx, createSubscriptionChange,
|
|
arg.SubscriptionID,
|
|
arg.PreviousStatus,
|
|
arg.NewStatus,
|
|
arg.StripeEventID,
|
|
)
|
|
var i SubscriptionChange
|
|
err := row.Scan(
|
|
&i.ChangeID,
|
|
&i.SubscriptionID,
|
|
&i.PreviousStatus,
|
|
&i.NewStatus,
|
|
&i.StripeEventID,
|
|
&i.ChangedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const getSubscriptionChangesBySubscriptionID = `-- name: GetSubscriptionChangesBySubscriptionID :many
|
|
SELECT change_id, subscription_id, previous_status, new_status, stripe_event_id, changed_at FROM core.subscription_changes
|
|
WHERE subscription_id = $1
|
|
ORDER BY changed_at ASC
|
|
`
|
|
|
|
func (q *Queries) GetSubscriptionChangesBySubscriptionID(ctx context.Context, subscriptionID string) ([]SubscriptionChange, error) {
|
|
rows, err := q.db.QueryContext(ctx, getSubscriptionChangesBySubscriptionID, subscriptionID)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []SubscriptionChange{}
|
|
for rows.Next() {
|
|
var i SubscriptionChange
|
|
if err := rows.Scan(
|
|
&i.ChangeID,
|
|
&i.SubscriptionID,
|
|
&i.PreviousStatus,
|
|
&i.NewStatus,
|
|
&i.StripeEventID,
|
|
&i.ChangedAt,
|
|
); 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
|
|
}
|