database

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	ID               string
	CreatedAt        time.Time
	UpdatedAt        time.Time
	Name             string
	Type             string
	Subtype          sql.NullString
	Mask             sql.NullString
	OfficialName     sql.NullString
	AvailableBalance sql.NullString
	CurrentBalance   sql.NullString
	IsoCurrencyCode  sql.NullString
	ItemID           string
	UserID           uuid.UUID
}

type CreateAccountParams

type CreateAccountParams struct {
	ID               string
	Name             string
	Type             string
	Subtype          sql.NullString
	Mask             sql.NullString
	OfficialName     sql.NullString
	AvailableBalance sql.NullString
	CurrentBalance   sql.NullString
	IsoCurrencyCode  sql.NullString
	ItemID           string
	UserID           uuid.UUID
}

type CreateDelegationParams

type CreateDelegationParams struct {
	ID        uuid.UUID
	UserID    uuid.UUID
	ExpiresAt time.Time
}

type CreateItemParams

type CreateItemParams struct {
	ID                    string
	UserID                uuid.UUID
	AccessToken           string
	InstitutionName       string
	Nickname              sql.NullString
	TransactionSyncCursor sql.NullString
}

type CreatePlaidWebhookRecordParams

type CreatePlaidWebhookRecordParams struct {
	ID          uuid.UUID
	WebhookType string
	WebhookCode string
	ItemID      string
	UserID      uuid.UUID
}

type CreateTagParams

type CreateTagParams struct {
	ID     uuid.UUID
	Name   string
	UserID uuid.UUID
}

type CreateTokenParams

type CreateTokenParams struct {
	ID           uuid.UUID
	HashedToken  string
	UserID       uuid.UUID
	DelegationID uuid.UUID
	ExpiresAt    time.Time
}

type CreateTransactionParams

type CreateTransactionParams struct {
	ID                      string
	AccountID               string
	Amount                  string
	IsoCurrencyCode         sql.NullString
	Date                    sql.NullTime
	MerchantName            sql.NullString
	PaymentChannel          string
	PersonalFinanceCategory string
}

type CreateTransactionToTagRecordParams

type CreateTransactionToTagRecordParams struct {
	TransactionID string
	TagID         uuid.UUID
}

type CreateUserParams

type CreateUserParams struct {
	ID             uuid.UUID
	Name           string
	HashedPassword string
	Email          string
	IsVerified     sql.NullBool
}

type CreateVerificationRecordParams

type CreateVerificationRecordParams struct {
	UserID           uuid.UUID
	VerificationCode string
	ExpiryTime       time.Time
}

type DBTX

type DBTX interface {
	ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
	PrepareContext(context.Context, string) (*sql.Stmt, error)
	QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
	QueryRowContext(context.Context, string, ...interface{}) *sql.Row
}

type Delegation

type Delegation struct {
	ID        uuid.UUID
	UserID    uuid.UUID
	CreatedAt time.Time
	ExpiresAt time.Time
	RevokedAt sql.NullTime
	IsRevoked bool
	LastUsed  time.Time
}

type DeleteAccountParams

type DeleteAccountParams struct {
	ID     string
	UserID uuid.UUID
}

type DeleteItemParams

type DeleteItemParams struct {
	ID     string
	UserID uuid.UUID
}

type DeleteTagParams

type DeleteTagParams struct {
	Name   string
	UserID uuid.UUID
}

type DeleteTransactionParams

type DeleteTransactionParams struct {
	ID        string
	AccountID string
}

type GetAccountByIdParams

type GetAccountByIdParams struct {
	ID     string
	UserID uuid.UUID
}

type GetCursorParams

type GetCursorParams struct {
	ID          string
	AccessToken string
}

type GetMerchantSummaryByMonthParams

type GetMerchantSummaryByMonthParams struct {
	AccountID string
	Year      int32
	Month     int32
}

type GetMerchantSummaryByMonthRow

type GetMerchantSummaryByMonthRow struct {
	Merchant    sql.NullString
	TxnCount    int64
	Category    string
	TotalAmount float64
	Month       string
}

type GetMerchantSummaryRow

type GetMerchantSummaryRow struct {
	Merchant    sql.NullString
	TxnCount    int64
	Category    string
	TotalAmount float64
	Month       string
}

type GetMonetaryDataForAllMonthsRow

type GetMonetaryDataForAllMonthsRow struct {
	Year      int32
	Month     int32
	Income    string
	Expenses  string
	NetIncome string
}

type GetMonetaryDataForMonthParams

type GetMonetaryDataForMonthParams struct {
	Year      int32
	Month     int32
	AccountID string
}

type GetMonetaryDataForMonthRow

type GetMonetaryDataForMonthRow struct {
	Income    string
	Expenses  string
	NetIncome string
}

type GetTagParams

type GetTagParams struct {
	Name   string
	UserID uuid.UUID
}

type PlaidItem

type PlaidItem struct {
	ID                    string
	UserID                uuid.UUID
	AccessToken           string
	InstitutionName       string
	Nickname              sql.NullString
	TransactionSyncCursor sql.NullString
	CreatedAt             time.Time
	UpdatedAt             time.Time
}

type PlaidWebhookRecord

type PlaidWebhookRecord struct {
	ID          uuid.UUID
	WebhookType string
	WebhookCode string
	ItemID      string
	UserID      uuid.UUID
	CreatedAt   time.Time
	Processed   bool
	ProcessedAt sql.NullTime
}

type ProcessWebhookRecordsByTypeParams

type ProcessWebhookRecordsByTypeParams struct {
	ItemID      string
	UserID      uuid.UUID
	WebhookType string
	WebhookCode string
	CreatedAt   time.Time
}

type Queries

type Queries struct {
	// contains filtered or unexported fields
}

func New

func New(db DBTX) *Queries

func (*Queries) ClearTransactionsTable

func (q *Queries) ClearTransactionsTable(ctx context.Context) error

func (*Queries) CreateAccount

func (q *Queries) CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error)

func (*Queries) CreateDelegation

func (q *Queries) CreateDelegation(ctx context.Context, arg CreateDelegationParams) (Delegation, error)

func (*Queries) CreateItem

func (q *Queries) CreateItem(ctx context.Context, arg CreateItemParams) (PlaidItem, error)

func (*Queries) CreatePlaidWebhookRecord

func (q *Queries) CreatePlaidWebhookRecord(ctx context.Context, arg CreatePlaidWebhookRecordParams) (PlaidWebhookRecord, error)

func (*Queries) CreateTag

func (q *Queries) CreateTag(ctx context.Context, arg CreateTagParams) (TransactionTag, error)

func (*Queries) CreateToken

func (q *Queries) CreateToken(ctx context.Context, arg CreateTokenParams) (RefreshToken, error)

func (*Queries) CreateTransaction

func (q *Queries) CreateTransaction(ctx context.Context, arg CreateTransactionParams) (Transaction, error)

func (*Queries) CreateTransactionToTagRecord

func (q *Queries) CreateTransactionToTagRecord(ctx context.Context, arg CreateTransactionToTagRecordParams) error

func (*Queries) CreateUser

func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) (User, error)

func (*Queries) CreateVerificationRecord

func (q *Queries) CreateVerificationRecord(ctx context.Context, arg CreateVerificationRecordParams) (VerificationRecord, error)

func (*Queries) DeleteAccount

func (q *Queries) DeleteAccount(ctx context.Context, arg DeleteAccountParams) error

func (*Queries) DeleteAllTagsForUser

func (q *Queries) DeleteAllTagsForUser(ctx context.Context, userID uuid.UUID) error

func (*Queries) DeleteItem

func (q *Queries) DeleteItem(ctx context.Context, arg DeleteItemParams) error

func (*Queries) DeleteTag

func (q *Queries) DeleteTag(ctx context.Context, arg DeleteTagParams) error

func (*Queries) DeleteTransaction

func (q *Queries) DeleteTransaction(ctx context.Context, arg DeleteTransactionParams) error

func (*Queries) DeleteTransactionsForAccount

func (q *Queries) DeleteTransactionsForAccount(ctx context.Context, accountID string) error

func (*Queries) DeleteUser

func (q *Queries) DeleteUser(ctx context.Context, id uuid.UUID) error

func (*Queries) DeleteVerificationRecord

func (q *Queries) DeleteVerificationRecord(ctx context.Context, verificationCode string) error

func (*Queries) DeleteVerificationRecordByUser

func (q *Queries) DeleteVerificationRecordByUser(ctx context.Context, userID uuid.UUID) error

func (*Queries) ExpireAllDelegationTokens

func (q *Queries) ExpireAllDelegationTokens(ctx context.Context, delegationID uuid.UUID) error

func (*Queries) ExpireToken

func (q *Queries) ExpireToken(ctx context.Context, hashedToken string) error

func (*Queries) GetAccessToken

func (q *Queries) GetAccessToken(ctx context.Context, id string) (PlaidItem, error)

func (*Queries) GetAccount

func (q *Queries) GetAccount(ctx context.Context, name string) (Account, error)

func (*Queries) GetAccountById

func (q *Queries) GetAccountById(ctx context.Context, arg GetAccountByIdParams) (Account, error)

func (*Queries) GetAccountsForItem

func (q *Queries) GetAccountsForItem(ctx context.Context, itemID string) ([]Account, error)

func (*Queries) GetAllAccountsForUser

func (q *Queries) GetAllAccountsForUser(ctx context.Context, userID uuid.UUID) ([]Account, error)

func (*Queries) GetAllTagsForUser

func (q *Queries) GetAllTagsForUser(ctx context.Context, userID uuid.UUID) ([]TransactionTag, error)

func (*Queries) GetAllUsers

func (q *Queries) GetAllUsers(ctx context.Context) ([]string, error)

func (*Queries) GetCursor

func (q *Queries) GetCursor(ctx context.Context, arg GetCursorParams) (sql.NullString, error)

func (*Queries) GetDelegation

func (q *Queries) GetDelegation(ctx context.Context, id uuid.UUID) (Delegation, error)

func (*Queries) GetItemByID

func (q *Queries) GetItemByID(ctx context.Context, id string) (PlaidItem, error)

func (*Queries) GetItemByName

func (q *Queries) GetItemByName(ctx context.Context, nickname sql.NullString) (PlaidItem, error)

func (*Queries) GetItemsByUser

func (q *Queries) GetItemsByUser(ctx context.Context, userID uuid.UUID) ([]PlaidItem, error)

func (*Queries) GetLatestCursorOrNil

func (q *Queries) GetLatestCursorOrNil(ctx context.Context, id string) (sql.NullString, error)

func (*Queries) GetMerchantSummary

func (q *Queries) GetMerchantSummary(ctx context.Context, accountID string) ([]GetMerchantSummaryRow, error)

func (*Queries) GetMerchantSummaryByMonth

func (q *Queries) GetMerchantSummaryByMonth(ctx context.Context, arg GetMerchantSummaryByMonthParams) ([]GetMerchantSummaryByMonthRow, error)

func (*Queries) GetMonetaryDataForAllMonths

func (q *Queries) GetMonetaryDataForAllMonths(ctx context.Context, accountID string) ([]GetMonetaryDataForAllMonthsRow, error)

func (*Queries) GetMonetaryDataForMonth

func (q *Queries) GetMonetaryDataForMonth(ctx context.Context, arg GetMonetaryDataForMonthParams) (GetMonetaryDataForMonthRow, error)

func (*Queries) GetTag

func (q *Queries) GetTag(ctx context.Context, arg GetTagParams) (TransactionTag, error)

func (*Queries) GetTagsForTransaction

func (q *Queries) GetTagsForTransaction(ctx context.Context, transactionID string) ([]TransactionsToTag, error)

func (*Queries) GetToken

func (q *Queries) GetToken(ctx context.Context, hashedToken string) (RefreshToken, error)

func (*Queries) GetTransactions

func (q *Queries) GetTransactions(ctx context.Context, accountID string) ([]Transaction, error)

func (*Queries) GetTransactionsForUser

func (q *Queries) GetTransactionsForUser(ctx context.Context, userID uuid.UUID) ([]Transaction, error)

func (*Queries) GetTransactionsWithTag

func (q *Queries) GetTransactionsWithTag(ctx context.Context, tagID uuid.UUID) ([]TransactionsToTag, error)

func (*Queries) GetUser

func (q *Queries) GetUser(ctx context.Context, id uuid.UUID) (User, error)

func (*Queries) GetUserByEmail

func (q *Queries) GetUserByEmail(ctx context.Context, email string) (User, error)

func (*Queries) GetUserByName

func (q *Queries) GetUserByName(ctx context.Context, name string) (User, error)

func (*Queries) GetVerificationRecord

func (q *Queries) GetVerificationRecord(ctx context.Context, verificationCode string) (VerificationRecord, error)

func (*Queries) GetVerificationRecordByUser

func (q *Queries) GetVerificationRecordByUser(ctx context.Context, userID uuid.UUID) (VerificationRecord, error)

func (*Queries) GetWebhookRecords

func (q *Queries) GetWebhookRecords(ctx context.Context, userID uuid.UUID) ([]PlaidWebhookRecord, error)

func (*Queries) ProcessWebhookRecordsByType

func (q *Queries) ProcessWebhookRecordsByType(ctx context.Context, arg ProcessWebhookRecordsByTypeParams) error

func (*Queries) ResetAccounts

func (q *Queries) ResetAccounts(ctx context.Context) error

func (*Queries) ResetItems

func (q *Queries) ResetItems(ctx context.Context) error

func (*Queries) ResetUsers

func (q *Queries) ResetUsers(ctx context.Context) error

func (*Queries) RevokeDelegationByID

func (q *Queries) RevokeDelegationByID(ctx context.Context, id uuid.UUID) error

func (*Queries) RevokeDelegationByUser

func (q *Queries) RevokeDelegationByUser(ctx context.Context, userID uuid.UUID) error

func (*Queries) UpdateBalances

func (q *Queries) UpdateBalances(ctx context.Context, arg UpdateBalancesParams) (Account, error)

func (*Queries) UpdateCursor

func (q *Queries) UpdateCursor(ctx context.Context, arg UpdateCursorParams) error

func (*Queries) UpdateFreeCalls

func (q *Queries) UpdateFreeCalls(ctx context.Context, id uuid.UUID) error

func (*Queries) UpdateLastUsed

func (q *Queries) UpdateLastUsed(ctx context.Context, id uuid.UUID) error

func (*Queries) UpdateMember

func (q *Queries) UpdateMember(ctx context.Context, id uuid.UUID) error

func (*Queries) UpdateNickname

func (q *Queries) UpdateNickname(ctx context.Context, arg UpdateNicknameParams) error

func (*Queries) UpdatePassword

func (q *Queries) UpdatePassword(ctx context.Context, arg UpdatePasswordParams) error

func (*Queries) ValidateCurrency

func (q *Queries) ValidateCurrency(ctx context.Context, code string) (bool, error)

func (*Queries) VerifyUser

func (q *Queries) VerifyUser(ctx context.Context, id uuid.UUID) error

func (*Queries) WithTx

func (q *Queries) WithTx(tx *sql.Tx) *Queries

type RefreshToken

type RefreshToken struct {
	ID           uuid.UUID
	HashedToken  string
	UserID       uuid.UUID
	DelegationID uuid.UUID
	CreatedAt    time.Time
	ExpiresAt    time.Time
	IsUsed       bool
	UsedAt       sql.NullTime
}

type Transaction

type Transaction struct {
	ID                      string
	AccountID               string
	Amount                  string
	IsoCurrencyCode         sql.NullString
	Date                    sql.NullTime
	MerchantName            sql.NullString
	PaymentChannel          string
	PersonalFinanceCategory string
	CreatedAt               time.Time
	UpdatedAt               time.Time
}

type TransactionTag

type TransactionTag struct {
	ID        uuid.UUID
	Name      string
	UserID    uuid.UUID
	CreatedAt time.Time
}

type TransactionsToTag

type TransactionsToTag struct {
	TransactionID string
	TagID         uuid.UUID
}

type UpdateBalancesParams

type UpdateBalancesParams struct {
	AvailableBalance sql.NullString
	CurrentBalance   sql.NullString
	ID               string
	ItemID           string
}

type UpdateCursorParams

type UpdateCursorParams struct {
	TransactionSyncCursor sql.NullString
	ID                    string
}

type UpdateNicknameParams

type UpdateNicknameParams struct {
	Nickname sql.NullString
	ID       string
	UserID   uuid.UUID
}

type UpdatePasswordParams

type UpdatePasswordParams struct {
	HashedPassword string
	ID             uuid.UUID
}

type User

type User struct {
	ID             uuid.UUID
	Name           string
	CreatedAt      time.Time
	UpdatedAt      time.Time
	HashedPassword string
	Email          string
	IsVerified     sql.NullBool
	IsMember       bool
	FreeCalls      int32
}

type VerificationRecord

type VerificationRecord struct {
	UserID           uuid.UUID
	VerificationCode string
	ExpiryTime       time.Time
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL