finances

package
v0.0.0-...-d0ef0bd Latest Latest
Warning

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

Go to latest
Published: Jul 6, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CategoriesProvider

type CategoriesProvider interface {
	ListCategories(ctx context.Context) ([]models.Category, error)
}

type CategoriesReportProvider

type CategoriesReportProvider interface {
	ListCategoriesReport(ctx context.Context, filter string, month int, year int) ([]models.CategoryReport, error)
	Total(filter string, month int, year int) (int64, error)
	MedianAndMiddle(ctx context.Context, month int, year int) (int64, int64, error)
}

type ExpenseUpdater

type ExpenseUpdater interface {
	UpdateExpense(ctx context.Context, expense models.Expense) error
}

type ExpensesProvider

type ExpensesProvider interface {
	ListExpenses(ctx context.Context, category string, month, year int64) ([]models.Expense, int, error)
}

type ExpensesSaver

type ExpensesSaver interface {
	SaveExpense(ctx context.Context, expense models.Expense) error
}

type Finances

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

func New

func New(
	log *slog.Logger,
	expenseSaver ExpensesSaver,
	expensesUpdater ExpenseUpdater,
	expensesProvider ExpensesProvider,
	categoriesReportProvider CategoriesReportProvider,
	categoriesProvider CategoriesProvider,
	cache *imcache.IMCache,
) *Finances

func (*Finances) CategoriesList

func (f *Finances) CategoriesList(ctx context.Context) ([]financesgrpc.Category, error)

func (*Finances) CreateCategory

func (f *Finances) CreateCategory(ctx context.Context, _ string) (string, error)

func (*Finances) Expense

func (f *Finances) Expense(
	ctx context.Context,
	Description string,
	Amount int64,
	Date string,
	Category string,
	Id int64,
) (err error)

func (*Finances) ExpensesList

func (f *Finances) ExpensesList(
	ctx context.Context, category string, month int64, year int64,
) (list []financesgrpc.Expense, total int64, err error)

func (*Finances) Report

Jump to

Keyboard shortcuts

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