package psql import ( "ymgb/database" "github.com/shopspring/decimal" "github.com/vinovest/sqlx" ) type Work struct { ID int Name string RequiredLevel int `db:"required_level"` MoneyIncome decimal.Decimal `db:"money_income"` MinExp int `db:"min_exp"` MaxExp int `db:"max_exp"` } type WorkRepository struct { db *sqlx.DB } func newWorkRepository(db *sqlx.DB) WorkRepository { return WorkRepository{db} } func NewWorkRepository(db *database.Context) WorkRepository { return newWorkRepository(db.Postgres) } func (rep WorkRepository) GetById(id int) (Work, error) { work := Work{} err := rep.db.Get(&work, "SELECT * FROM works WHERE id = $1;", id) return work, err } func (rep WorkRepository) GetAll() ([]Work, error) { works := make([]Work, 0) err := rep.db.Select(&works, "SELECT * FROM works;") return works, err }