besqlx

package
v0.0.0-...-fe5c0f3 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2022 License: MIT Imports: 10 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	DB() *sqlx.DB
	ConnectPostgres() error
	ConnectMySQL() error
	Connect() error

	NewUpdateHelper() *UpdateHelper

	NamedExec(paramQuery, valueQuery string, arg interface{}) (sql.Result, grerrors.Error)
	DeleteExec(arg interface{}, whereQuery string, values ...interface{}) grerrors.Error
	Get(dest interface{}, query string, args ...interface{}) grerrors.Error
	Select(model interface{}, dest interface{}, qb SelectQueryBuilder) grerrors.Error
	Count(model interface{}, whereQuery string, args []interface{}) (int64, grerrors.Error)
	SelectWithCount(model interface{}, dest interface{}, qb SelectQueryBuilder, values ...int64) (int64, grerrors.Error)
}

func NewClient

func NewClient(cfg *Config) Client

NewClient init besqlx client

type Config

type Config struct {
	DatabaseDriver         string `json:"database_driver" mapstructure:"database_driver"`
	DatabaseUrl            string `json:"database_url" mapstructure:"database_url"`
	DatabasePort           string `json:"database_port" mapstructure:"database_port"`
	DatabaseName           string `json:"database_name" mapstructure:"database_name"`
	DatabaseUsername       string `json:"database_username" mapstructure:"database_username"`
	DatabasePassword       string `json:"database_password" mapstructure:"database_password"`
	DatabaseLogEnabled     bool   `json:"database_log_enabled" mapstructure:"database_log_enabled"`
	DatabaseDisableSSLMode bool   `json:"database_disable_ssl_mode" mapstructure:"database_disable_ssl_mode"`
}

type IDModel

type IDModel struct {
	Id        string       `db:"id"`
	CreatedAt sql.NullTime `db:"created_at"`
	UpdatedAt sql.NullTime `db:"updated_at"`
	DeletedAt sql.NullTime `db:"deleted_at"`
}

func (*IDModel) BeforeCreate

func (u *IDModel) BeforeCreate() (err error)

type SelectQueryBuilder

type SelectQueryBuilder struct {
	SelectQuery  string        `json:"select_query"`
	WhereQuery   string        `json:"where_query"`
	OrderByQuery *string       `json:"order_by_query"`
	Limit        *int64        `json:"limit"`
	Page         *int64        `json:"page"`
	Args         []interface{} `json:"args"`
}

type UpdateHelper

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

func (*UpdateHelper) CommitUpdateQuery

func (h *UpdateHelper) CommitUpdateQuery(model interface{}) grerrors.Error

CommitUpdateQuery do update query

func (*UpdateHelper) HasChanged

func (h *UpdateHelper) HasChanged() bool

HasChanged check if it has any parameters added to helper or not

func (*UpdateHelper) SetParam

func (h *UpdateHelper) SetParam(key string, value interface{})

SetParam add parameter to helper

func (*UpdateHelper) SetWhereParam

func (h *UpdateHelper) SetWhereParam(key string, value interface{})

SetWhereParam add where parameter to helper

type WhereOperator

type WhereOperator string
const (
	WhereOperatorEqual WhereOperator = "="
	WhereOperatorLike  WhereOperator = "like"
)

type WhereQueryBuilder

type WhereQueryBuilder interface {
	Where(fieldName string, value interface{}, op WhereOperator)
	BuildQuery() (string, []interface{})
}

func NewWhereQueryBuilder

func NewWhereQueryBuilder() WhereQueryBuilder

NewWhereQueryBuilder create where query builder

Jump to

Keyboard shortcuts

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