Documentation
¶
Index ¶
- func NewPostgresDB(db_connection_string string) (*gorm.DB, error)
- func NewSQLiteDB(file_path string) (*gorm.DB, error)
- type BaseIdModel
- type BaseJsonBModel
- type BaseTimeModel
- type DBSession
- type IRepository
- type JSONB
- type NewBaseIdModel
- type Repository
- func (r *Repository[T]) Begin() error
- func (r *Repository[T]) Commit() error
- func (r *Repository[T]) Count(whereClauses ...WhereCaluse) (int64, error)
- func (r *Repository[T]) Delete(entity *T) error
- func (r *Repository[T]) DeleteAll(whereClauses ...WhereCaluse) ([]*T, error)
- func (r *Repository[T]) Get(whereClauses ...WhereCaluse) (*T, error)
- func (r *Repository[T]) GetAll(whereClauses ...WhereCaluse) ([]*T, error)
- func (r *Repository[T]) GetContext() context.Context
- func (r *Repository[T]) GetSession() *DBSession
- func (r *Repository[T]) Refresh(entity *T) error
- func (r *Repository[T]) Rollback() error
- func (r *Repository[T]) Upsert(entity *T) error
- type WhereCaluse
- func And(clauses ...WhereCaluse) WhereCaluse
- func Between(key string, left any, right any) WhereCaluse
- func Eq(key string, value any) WhereCaluse
- func GetPrimaryKeyValueMap(db *gorm.DB, model any) (WhereCaluse, error)
- func Gt(key string, value any) WhereCaluse
- func Gte(key string, value any) WhereCaluse
- func In(key string, values ...any) WhereCaluse
- func Like(key string, value any) WhereCaluse
- func Lt(key string, value any) WhereCaluse
- func Lte(key string, value any) WhereCaluse
- func Ne(key string, value any) WhereCaluse
- func Nin(key string, values ...any) WhereCaluse
- func Or(clauses ...WhereCaluse) WhereCaluse
- func (w WhereCaluse) And(clauses ...WhereCaluse) WhereCaluse
- func (w WhereCaluse) Between(key string, left any, right any) WhereCaluse
- func (w WhereCaluse) Eq(key string, value any) WhereCaluse
- func (w WhereCaluse) Gt(key string, value any) WhereCaluse
- func (w WhereCaluse) Gte(key string, value any) WhereCaluse
- func (w WhereCaluse) In(key string, values ...any) WhereCaluse
- func (w WhereCaluse) Like(key string, value any) WhereCaluse
- func (w WhereCaluse) Lt(key string, value any) WhereCaluse
- func (w WhereCaluse) Lte(key string, value any) WhereCaluse
- func (w WhereCaluse) Ne(key string, value any) WhereCaluse
- func (w WhereCaluse) Nin(key string, values ...any) WhereCaluse
- func (w WhereCaluse) Or(clauses ...WhereCaluse) WhereCaluse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BaseIdModel ¶
type BaseIdModel struct {
Id string `gorm:"type:text;primaryKey;default:uuid_generate_v4()"`
}
type BaseJsonBModel ¶
type BaseJsonBModel struct {
Attributes JSONB `gorm:"type:jsonb" json:"attributes"`
}
type DBSession ¶
type DBSession struct {
// contains filtered or unexported fields
}
func NewSession ¶
type IRepository ¶
type IRepository[T any] interface { GetSession() *DBSession // Get the gorm db session GetContext() context.Context // Get the context GetAll(whereClause ...WhereCaluse) ([]*T, error) // Get entities. Note: GetAll() equals Select all records. Get(whereClause ...WhereCaluse) (*T, error) // Get entity Upsert(entity *T) error // Create or Replace Delete(entity *T) error // Delete entity DeleteAll(whereClause ...WhereCaluse) ([]*T, error) // Delete entities Refresh(entity *T) error // Refresh entity Count(whereClause ...WhereCaluse) (int64, error) // Count entities. Begin() error // Start a transaction Rollback() error // Rollback a transiction Commit() error // Commit a transiction }
Repository is a generic interface for database operations
type NewBaseIdModel ¶ added in v0.3.3
type NewBaseIdModel struct {
Id string `gorm:"type:text;primaryKey;default:gen_random_uuid()"`
}
type Repository ¶
type Repository[T any] struct { IRepository[T] // contains filtered or unexported fields }
func NewRepository ¶
func NewRepository[T any](ctx context.Context, session *DBSession) Repository[T]
NewRepository creates a new generic repository
func (*Repository[T]) Begin ¶
func (r *Repository[T]) Begin() error
func (*Repository[T]) Commit ¶
func (r *Repository[T]) Commit() error
func (*Repository[T]) Count ¶
func (r *Repository[T]) Count(whereClauses ...WhereCaluse) (int64, error)
func (*Repository[T]) Delete ¶
func (r *Repository[T]) Delete(entity *T) error
func (*Repository[T]) DeleteAll ¶
func (r *Repository[T]) DeleteAll(whereClauses ...WhereCaluse) ([]*T, error)
func (*Repository[T]) Get ¶
func (r *Repository[T]) Get(whereClauses ...WhereCaluse) (*T, error)
func (*Repository[T]) GetAll ¶
func (r *Repository[T]) GetAll(whereClauses ...WhereCaluse) ([]*T, error)
func (*Repository[T]) GetContext ¶ added in v0.3.3
func (r *Repository[T]) GetContext() context.Context
func (*Repository[T]) GetSession ¶ added in v0.3.3
func (r *Repository[T]) GetSession() *DBSession
func (*Repository[T]) Refresh ¶
func (r *Repository[T]) Refresh(entity *T) error
func (*Repository[T]) Rollback ¶
func (r *Repository[T]) Rollback() error
func (*Repository[T]) Upsert ¶
func (r *Repository[T]) Upsert(entity *T) error
type WhereCaluse ¶ added in v0.3.3
func And ¶ added in v0.3.3
func And(clauses ...WhereCaluse) WhereCaluse
func Eq ¶ added in v0.3.3
func Eq(key string, value any) WhereCaluse
func GetPrimaryKeyValueMap ¶
func GetPrimaryKeyValueMap(db *gorm.DB, model any) (WhereCaluse, error)
func Gt ¶ added in v0.3.3
func Gt(key string, value any) WhereCaluse
func Gte ¶ added in v0.3.3
func Gte(key string, value any) WhereCaluse
func In ¶ added in v0.3.3
func In(key string, values ...any) WhereCaluse
func Like ¶ added in v0.3.3
func Like(key string, value any) WhereCaluse
func Lt ¶ added in v0.3.3
func Lt(key string, value any) WhereCaluse
func Lte ¶ added in v0.3.3
func Lte(key string, value any) WhereCaluse
func Ne ¶ added in v0.3.3
func Ne(key string, value any) WhereCaluse
func Nin ¶ added in v0.3.3
func Nin(key string, values ...any) WhereCaluse
func Or ¶ added in v0.3.3
func Or(clauses ...WhereCaluse) WhereCaluse
func (WhereCaluse) And ¶ added in v0.3.3
func (w WhereCaluse) And(clauses ...WhereCaluse) WhereCaluse
func (WhereCaluse) Between ¶ added in v0.3.3
func (w WhereCaluse) Between(key string, left any, right any) WhereCaluse
func (WhereCaluse) Eq ¶ added in v0.3.3
func (w WhereCaluse) Eq(key string, value any) WhereCaluse
func (WhereCaluse) Gt ¶ added in v0.3.3
func (w WhereCaluse) Gt(key string, value any) WhereCaluse
func (WhereCaluse) Gte ¶ added in v0.3.3
func (w WhereCaluse) Gte(key string, value any) WhereCaluse
func (WhereCaluse) In ¶ added in v0.3.3
func (w WhereCaluse) In(key string, values ...any) WhereCaluse
func (WhereCaluse) Like ¶ added in v0.3.3
func (w WhereCaluse) Like(key string, value any) WhereCaluse
func (WhereCaluse) Lt ¶ added in v0.3.3
func (w WhereCaluse) Lt(key string, value any) WhereCaluse
func (WhereCaluse) Lte ¶ added in v0.3.3
func (w WhereCaluse) Lte(key string, value any) WhereCaluse
func (WhereCaluse) Ne ¶ added in v0.3.3
func (w WhereCaluse) Ne(key string, value any) WhereCaluse
func (WhereCaluse) Nin ¶ added in v0.3.3
func (w WhereCaluse) Nin(key string, values ...any) WhereCaluse
func (WhereCaluse) Or ¶ added in v0.3.3
func (w WhereCaluse) Or(clauses ...WhereCaluse) WhereCaluse
Click to show internal directories.
Click to hide internal directories.