transactions

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Service

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

func NewService

func NewService(db Store) *Service

func (*Service) CreateTransaction

func (s *Service) CreateTransaction(ctx context.Context, u *users.User, month string, currency accounts.Currency, amt float64, desc string, cat *categories.Category) (*Transaction, error)

func (*Service) DeleteTransaction

func (s *Service) DeleteTransaction(ctx context.Context, tx *Transaction) error

func (*Service) GetTransaction

func (s *Service) GetTransaction(ctx context.Context, uuid uuid.UUID) (*Transaction, error)

func (*Service) GetUserTransactions

func (s *Service) GetUserTransactions(ctx context.Context, u *users.User, month string) (TransactionCollection, error)

type Store

type Store interface {
	SaveTransaction(ctx context.Context, tx *Transaction) error
	DeleteTransaction(ctx context.Context, tx *Transaction) error
	GetTransaction(ctx context.Context, uuid uuid.UUID) (*Transaction, error)
	GetUserTransactions(ctx context.Context, u *users.User, month string) (TransactionCollection, error)
}

func NewGormStore

func NewGormStore(db *gorm.DB) Store

type Transaction

type Transaction struct {
	datastore.Model
	User         *users.User `gorm:"embedded;embeddedPrefix:user_;notNull;index"`
	YearMonth    string
	Currency     accounts.Currency
	Amount       float64
	Description  string
	CategoryUUID *uuid.UUID           `gorm:"index"`
	Category     *categories.Category `gorm:"constraint:OnUpdate:CASCADE,OnDelete:SET NULL"`
}

func NewTransaction

func NewTransaction(u *users.User, month string, currency accounts.Currency, amt float64, desc string, cat *categories.Category) *Transaction

type TransactionCollection

type TransactionCollection []*Transaction

Jump to

Keyboard shortcuts

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