94 lines
3.2 KiB
Go
94 lines
3.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: payment_method_mappings.sql
|
|
|
|
package stripe
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
)
|
|
|
|
const getPaymentMethodMappingByPaymentMethodID = `-- name: GetPaymentMethodMappingByPaymentMethodID :one
|
|
SELECT payment_method_id, stripe_payment_method_id, sync_status, created_at, updated_at, livemode FROM stripe.payment_method_mappings
|
|
WHERE payment_method_id = $1
|
|
`
|
|
|
|
func (q *Queries) GetPaymentMethodMappingByPaymentMethodID(ctx context.Context, paymentMethodID string) (PaymentMethodMapping, error) {
|
|
row := q.db.QueryRowContext(ctx, getPaymentMethodMappingByPaymentMethodID, paymentMethodID)
|
|
var i PaymentMethodMapping
|
|
err := row.Scan(
|
|
&i.PaymentMethodID,
|
|
&i.StripePaymentMethodID,
|
|
&i.SyncStatus,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
&i.Livemode,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const getPaymentMethodMappingByStripeID = `-- name: GetPaymentMethodMappingByStripeID :one
|
|
SELECT payment_method_id, stripe_payment_method_id, sync_status, created_at, updated_at, livemode FROM stripe.payment_method_mappings
|
|
WHERE stripe_payment_method_id = $1
|
|
`
|
|
|
|
func (q *Queries) GetPaymentMethodMappingByStripeID(ctx context.Context, stripePaymentMethodID sql.NullString) (PaymentMethodMapping, error) {
|
|
row := q.db.QueryRowContext(ctx, getPaymentMethodMappingByStripeID, stripePaymentMethodID)
|
|
var i PaymentMethodMapping
|
|
err := row.Scan(
|
|
&i.PaymentMethodID,
|
|
&i.StripePaymentMethodID,
|
|
&i.SyncStatus,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
&i.Livemode,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const upsertPaymentMethodMapping = `-- name: UpsertPaymentMethodMapping :one
|
|
INSERT INTO stripe.payment_method_mappings (payment_method_id, stripe_payment_method_id, sync_status, livemode)
|
|
VALUES ($1, $2, $3, $4)
|
|
ON CONFLICT (payment_method_id) DO UPDATE
|
|
SET stripe_payment_method_id = EXCLUDED.stripe_payment_method_id,
|
|
sync_status = EXCLUDED.sync_status,
|
|
livemode = COALESCE(EXCLUDED.livemode, payment_method_mappings.livemode),
|
|
updated_at = NOW()
|
|
RETURNING payment_method_id, stripe_payment_method_id, sync_status, created_at, updated_at, livemode
|
|
`
|
|
|
|
type UpsertPaymentMethodMappingParams struct {
|
|
PaymentMethodID string `json:"payment_method_id"`
|
|
StripePaymentMethodID sql.NullString `json:"stripe_payment_method_id"`
|
|
SyncStatus string `json:"sync_status"`
|
|
Livemode sql.NullBool `json:"livemode"`
|
|
}
|
|
|
|
// livemode comes from the payment method object's own flag inside the
|
|
// stored webhook payload (stripe-environment-stamp D1), not from the
|
|
// event envelope. The conflict branch COALESCEs it so a caller with no
|
|
// flag to offer passes NULL without erasing a known environment.
|
|
func (q *Queries) UpsertPaymentMethodMapping(ctx context.Context, arg UpsertPaymentMethodMappingParams) (PaymentMethodMapping, error) {
|
|
row := q.db.QueryRowContext(ctx, upsertPaymentMethodMapping,
|
|
arg.PaymentMethodID,
|
|
arg.StripePaymentMethodID,
|
|
arg.SyncStatus,
|
|
arg.Livemode,
|
|
)
|
|
var i PaymentMethodMapping
|
|
err := row.Scan(
|
|
&i.PaymentMethodID,
|
|
&i.StripePaymentMethodID,
|
|
&i.SyncStatus,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
&i.Livemode,
|
|
)
|
|
return i, err
|
|
}
|