Files
member-console/internal/integrations/stripe/store/subscription_mappings.sql.go
T

154 lines
5.1 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_mappings.sql
package stripe
import (
"context"
"database/sql"
)
const countSubscriptionMappingsOutsideMode = `-- name: CountSubscriptionMappingsOutsideMode :one
SELECT COUNT(*) FROM stripe.subscription_mappings
WHERE livemode IS NOT NULL AND livemode <> $1::boolean
`
func (q *Queries) CountSubscriptionMappingsOutsideMode(ctx context.Context, keyLivemode bool) (int64, error) {
row := q.db.QueryRowContext(ctx, countSubscriptionMappingsOutsideMode, keyLivemode)
var count int64
err := row.Scan(&count)
return count, err
}
const getSubscriptionMappingByStripeID = `-- name: GetSubscriptionMappingByStripeID :one
SELECT subscription_id, stripe_subscription_id, sync_status, created_at, updated_at, livemode FROM stripe.subscription_mappings
WHERE stripe_subscription_id = $1
`
func (q *Queries) GetSubscriptionMappingByStripeID(ctx context.Context, stripeSubscriptionID sql.NullString) (SubscriptionMapping, error) {
row := q.db.QueryRowContext(ctx, getSubscriptionMappingByStripeID, stripeSubscriptionID)
var i SubscriptionMapping
err := row.Scan(
&i.SubscriptionID,
&i.StripeSubscriptionID,
&i.SyncStatus,
&i.CreatedAt,
&i.UpdatedAt,
&i.Livemode,
)
return i, err
}
const getSubscriptionMappingBySubscriptionID = `-- name: GetSubscriptionMappingBySubscriptionID :one
SELECT subscription_id, stripe_subscription_id, sync_status, created_at, updated_at, livemode FROM stripe.subscription_mappings
WHERE subscription_id = $1
`
func (q *Queries) GetSubscriptionMappingBySubscriptionID(ctx context.Context, subscriptionID string) (SubscriptionMapping, error) {
row := q.db.QueryRowContext(ctx, getSubscriptionMappingBySubscriptionID, subscriptionID)
var i SubscriptionMapping
err := row.Scan(
&i.SubscriptionID,
&i.StripeSubscriptionID,
&i.SyncStatus,
&i.CreatedAt,
&i.UpdatedAt,
&i.Livemode,
)
return i, err
}
const listSubscriptionIDsOutsideMode = `-- name: ListSubscriptionIDsOutsideMode :many
SELECT subscription_id FROM stripe.subscription_mappings
WHERE livemode IS NOT NULL AND livemode <> $1::boolean
`
// The subscriptions the operator views exclude under the current key
// (stripe-environment-stamp D7). A NULL livemode is unverified and shows
// under either key, so it is not in this list.
func (q *Queries) ListSubscriptionIDsOutsideMode(ctx context.Context, keyLivemode bool) ([]string, error) {
rows, err := q.db.QueryContext(ctx, listSubscriptionIDsOutsideMode, keyLivemode)
if err != nil {
return nil, err
}
defer rows.Close()
items := []string{}
for rows.Next() {
var subscription_id string
if err := rows.Scan(&subscription_id); err != nil {
return nil, err
}
items = append(items, subscription_id)
}
if err := rows.Close(); err != nil {
return nil, err
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const updateSubscriptionMappingSyncStatus = `-- name: UpdateSubscriptionMappingSyncStatus :exec
UPDATE stripe.subscription_mappings
SET sync_status = $2, updated_at = NOW()
WHERE subscription_id = $1
`
type UpdateSubscriptionMappingSyncStatusParams struct {
SubscriptionID string `json:"subscription_id"`
SyncStatus string `json:"sync_status"`
}
func (q *Queries) UpdateSubscriptionMappingSyncStatus(ctx context.Context, arg UpdateSubscriptionMappingSyncStatusParams) error {
_, err := q.db.ExecContext(ctx, updateSubscriptionMappingSyncStatus, arg.SubscriptionID, arg.SyncStatus)
return err
}
const upsertSubscriptionMapping = `-- name: UpsertSubscriptionMapping :one
INSERT INTO stripe.subscription_mappings (subscription_id, stripe_subscription_id, sync_status, livemode)
VALUES ($1, $2, $3, $4)
ON CONFLICT (subscription_id) DO UPDATE
SET stripe_subscription_id = EXCLUDED.stripe_subscription_id,
sync_status = EXCLUDED.sync_status,
livemode = COALESCE(EXCLUDED.livemode, subscription_mappings.livemode),
updated_at = NOW()
RETURNING subscription_id, stripe_subscription_id, sync_status, created_at, updated_at, livemode
`
type UpsertSubscriptionMappingParams struct {
SubscriptionID string `json:"subscription_id"`
StripeSubscriptionID sql.NullString `json:"stripe_subscription_id"`
SyncStatus string `json:"sync_status"`
Livemode sql.NullBool `json:"livemode"`
}
// livemode is the refetched subscription's own flag
// (stripe-environment-stamp D4): the console never creates a subscription,
// so the stamp rides the read-back the reconcile already performs. The
// conflict branch COALESCEs it so a caller with no flag to offer passes
// NULL without erasing a known environment.
func (q *Queries) UpsertSubscriptionMapping(ctx context.Context, arg UpsertSubscriptionMappingParams) (SubscriptionMapping, error) {
row := q.db.QueryRowContext(ctx, upsertSubscriptionMapping,
arg.SubscriptionID,
arg.StripeSubscriptionID,
arg.SyncStatus,
arg.Livemode,
)
var i SubscriptionMapping
err := row.Scan(
&i.SubscriptionID,
&i.StripeSubscriptionID,
&i.SyncStatus,
&i.CreatedAt,
&i.UpdatedAt,
&i.Livemode,
)
return i, err
}