Files
financial-tracking-service/internal/database/transaction.sql.go

111 lines
2.5 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
// source: transaction.sql
package database
import (
"context"
"time"
)
const createTransaction = `-- name: CreateTransaction :one
INSERT INTO fts.transactions (
description, amount, category, transaction_date
) VALUES (
$1, $2, $3, $4
)
RETURNING transaction_id, description, amount, category, transaction_date, created_at
`
type CreateTransactionParams struct {
Description string
Amount string
Category string
TransactionDate time.Time
}
func (q *Queries) CreateTransaction(ctx context.Context, arg CreateTransactionParams) (FtsTransaction, error) {
row := q.db.QueryRowContext(ctx, createTransaction,
arg.Description,
arg.Amount,
arg.Category,
arg.TransactionDate,
)
var i FtsTransaction
err := row.Scan(
&i.TransactionID,
&i.Description,
&i.Amount,
&i.Category,
&i.TransactionDate,
&i.CreatedAt,
)
return i, err
}
const deleteTransaction = `-- name: DeleteTransaction :exec
DELETE FROM fts.transactions
WHERE transaction_id = $1
`
func (q *Queries) DeleteTransaction(ctx context.Context, transactionID int32) error {
_, err := q.db.ExecContext(ctx, deleteTransaction, transactionID)
return err
}
const getTransaction = `-- name: GetTransaction :one
SELECT transaction_id, description, amount, category, transaction_date, created_at FROM fts.transactions
WHERE transaction_id = $1
`
func (q *Queries) GetTransaction(ctx context.Context, transactionID int32) (FtsTransaction, error) {
row := q.db.QueryRowContext(ctx, getTransaction, transactionID)
var i FtsTransaction
err := row.Scan(
&i.TransactionID,
&i.Description,
&i.Amount,
&i.Category,
&i.TransactionDate,
&i.CreatedAt,
)
return i, err
}
const listTransactions = `-- name: ListTransactions :many
SELECT transaction_id, description, amount, category, transaction_date, created_at FROM fts.transactions
ORDER BY transaction_date DESC, transaction_id DESC
`
func (q *Queries) ListTransactions(ctx context.Context) ([]FtsTransaction, error) {
rows, err := q.db.QueryContext(ctx, listTransactions)
if err != nil {
return nil, err
}
defer rows.Close()
var items []FtsTransaction
for rows.Next() {
var i FtsTransaction
if err := rows.Scan(
&i.TransactionID,
&i.Description,
&i.Amount,
&i.Category,
&i.TransactionDate,
&i.CreatedAt,
); 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
}