Documentation ¶
Index ¶
- type Config
- type DuplicatedEntryError
- type NotFoundError
- type Repository
- func (r *Repository) AddBalanceAccount(ctx context.Context, account domain.BalanceAccount) (domain.BalanceAccount, error)
- func (r *Repository) AddIdemEntry(ctx context.Context, id uint64, idemId string) error
- func (r *Repository) AddRootAccount(ctx context.Context, account domain.RootAccount) (domain.RootAccount, error)
- func (r *Repository) AddTransaction(ctx context.Context, transaction domain.Transaction) (domain.Transaction, error)
- func (r *Repository) AddUser(ctx context.Context, user userpkg.User) (userpkg.User, error)
- func (r *Repository) DB(ctx context.Context) *gorm.DB
- func (r *Repository) GetBalanceAccount(ctx context.Context, accountID uint64) (domain.BalanceAccount, error)
- func (r *Repository) GetBalanceAccountByRootAccountIDAndType(ctx context.Context, rootAccountID uint64, ...) (domain.BalanceAccount, error)
- func (r *Repository) GetBalanceAccountsByRootAccountIDAndVisible(ctx context.Context, rootAccountID uint64, visible bool) ([]domain.BalanceAccount, error)
- func (r *Repository) GetRootAccountByUserID(ctx context.Context, userID uint64) (domain.RootAccount, error)
- func (r *Repository) GetTransactionByParentID(ctx context.Context, parentID uint64) (domain.Transaction, error)
- func (r *Repository) GetTransactionByUserID(ctx context.Context, userID uint64) ([]domain.Transaction, error)
- func (r *Repository) GetUser(ctx context.Context, userID uint64) (userpkg.User, error)
- func (r *Repository) TxnExec(ctx context.Context, f func(ctxWithTxn context.Context) (interface{}, error)) (interface{}, error)
- func (r *Repository) UpdateBalanceAccount(ctx context.Context, account domain.BalanceAccount) (domain.BalanceAccount, error)
- func (r *Repository) UpdateIdemEntry(ctx context.Context, idemId string, response interface{}) error
- func (r *Repository) UpdateUser(ctx context.Context, user userpkg.User) (userpkg.User, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Name string `env:"DB_NAME" json:",omitempty"` User string `env:"DB_USER" json:",omitempty"` Host string `env:"DB_HOST, default=localhost" json:",omitempty"` Port string `env:"DB_PORT, default=5432" json:",omitempty"` SSLMode string `env:"DB_SSLMODE, default=require" json:",omitempty"` ConnectionTimeout int `env:"DB_CONNECT_TIMEOUT" json:",omitempty"` Password string `env:"DB_PASSWORD" json:"-"` // ignored by zap's JSON formatter SSLCertPath string `env:"DB_SSLCERT" json:",omitempty"` SSLKeyPath string `env:"DB_SSLKEY" json:",omitempty"` SSLRootCertPath string `env:"DB_SSLROOTCERT" json:",omitempty"` PoolMinConnections string `env:"DB_POOL_MIN_CONNS" json:",omitempty"` PoolMaxConnections string `env:"DB_POOL_MAX_CONNS" json:",omitempty"` PoolMaxConnLife time.Duration `env:"DB_POOL_MAX_CONN_LIFETIME, default=5m" json:",omitempty"` PoolMaxConnIdle time.Duration `env:"DB_POOL_MAX_CONN_IDLE_TIME, default=1m" json:",omitempty"` PoolHealthCheck time.Duration `env:"DB_POOL_HEALTH_CHECK_PERIOD, default=1m" json:",omitempty"` }
type DuplicatedEntryError ¶
type DuplicatedEntryError struct {
Field string
}
func (DuplicatedEntryError) Error ¶
func (e DuplicatedEntryError) Error() string
type NotFoundError ¶
type NotFoundError struct {
Field string
}
func (NotFoundError) Error ¶
func (e NotFoundError) Error() string
type Repository ¶
type Repository struct {
// contains filtered or unexported fields
}
func NewRepository ¶
func NewRepository(ctx context.Context, config *Config) (*Repository, error)
NewRepository sets up the database connections using the configuration in the process's environment variables. This should be called just once per port instance.
func (*Repository) AddBalanceAccount ¶
func (r *Repository) AddBalanceAccount(ctx context.Context, account domain.BalanceAccount) (domain.BalanceAccount, error)
func (*Repository) AddIdemEntry ¶
func (*Repository) AddRootAccount ¶
func (r *Repository) AddRootAccount(ctx context.Context, account domain.RootAccount) (domain.RootAccount, error)
func (*Repository) AddTransaction ¶
func (r *Repository) AddTransaction(ctx context.Context, transaction domain.Transaction) (domain.Transaction, error)
func (*Repository) GetBalanceAccount ¶
func (r *Repository) GetBalanceAccount(ctx context.Context, accountID uint64) (domain.BalanceAccount, error)
func (*Repository) GetBalanceAccountByRootAccountIDAndType ¶
func (r *Repository) GetBalanceAccountByRootAccountIDAndType(ctx context.Context, rootAccountID uint64, accountType domain.BalanceAccountType) (domain.BalanceAccount, error)
func (*Repository) GetBalanceAccountsByRootAccountIDAndVisible ¶
func (r *Repository) GetBalanceAccountsByRootAccountIDAndVisible(ctx context.Context, rootAccountID uint64, visible bool) ([]domain.BalanceAccount, error)
func (*Repository) GetRootAccountByUserID ¶
func (r *Repository) GetRootAccountByUserID(ctx context.Context, userID uint64) (domain.RootAccount, error)
func (*Repository) GetTransactionByParentID ¶
func (r *Repository) GetTransactionByParentID(ctx context.Context, parentID uint64) (domain.Transaction, error)
func (*Repository) GetTransactionByUserID ¶
func (r *Repository) GetTransactionByUserID(ctx context.Context, userID uint64) ([]domain.Transaction, error)
FixMe: Temporary for demo, delete later
func (*Repository) UpdateBalanceAccount ¶
func (r *Repository) UpdateBalanceAccount(ctx context.Context, account domain.BalanceAccount) (domain.BalanceAccount, error)
func (*Repository) UpdateIdemEntry ¶
func (r *Repository) UpdateIdemEntry(ctx context.Context, idemId string, response interface{}) error
func (*Repository) UpdateUser ¶
Click to show internal directories.
Click to hide internal directories.