Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func New ¶
func New(log *zap.SugaredLogger, db pgxw.PgDatabase, currencyApi *currency_api.Client) *store
Types ¶
type AddSpendingsReq ¶
type Spending ¶
type Spending struct {
Id int32 `db:"id"`
Total float64 `db:"total"`
Currency string `db:"currency"`
UserID int32 `db:"user_id"`
Records []SpendingRecord `db:"-"`
}
type SpendingRecord ¶
type Store ¶
type Store interface {
BeginTx(ctx context.Context, txOpt *sql.TxOptions) (*sqlx.Tx, error)
GetUser(ctx context.Context, userId int32) (u *User, err error)
CreateUser(ctx context.Context, u *User) error
ExistUser(ctx context.Context, userId int32) (ok bool, err error)
DeleteUser(ctx context.Context, userId int32) error
GetLastSpendingRecords(ctx context.Context, userId int32) ([]SpendingRecord, error)
GetSpendingTotal(ctx context.Context, userId int32) (total float64, currency string, err error)
AddSpending(ctx context.Context, userId int64, amount float64, currency string, date time.Time) error
AddSpendings(ctx context.Context, userId int64, req []AddSpendingsReq) error
SetSpendingsDefaultCurrency(ctx context.Context, userId int32, currency string) (err error)
}
Click to show internal directories.
Click to hide internal directories.