gekentities

package module
v0.0.0-...-b6e4086 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2023 License: MIT Imports: 5 Imported by: 0

README

go-entities

A small database wrapper handling CRUD in go.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrorEntityNotFountBy = errors.New("Entity with given where condition not found")
	ErrorEntityNotDeleted = errors.New("Entity not deleted")
)

Functions

func AddNewEntityOption

func AddNewEntityOption(builder EntityOptionBuilder, params ...interface{})

AddNewEntityOption

Creates a new entity option and adds it to the given entityOptionList

Types

type Entity

type Entity struct {
	gorm.Model
}

Entity ...

func (Entity) BuildEntityOption

func (e Entity) BuildEntityOption() EntityOption

BuildEntityOption ...

func (*Entity) LoadRelatedEntities

func (e *Entity) LoadRelatedEntities(db *gorm.DB) error

LoadRelatedEntities implement this method in concrete entity

type EntityDatastore

type EntityDatastore interface {
	GetOneEntityBy(entity interface{}, key string, val interface{}) error
	GetEntityByID(entity interface{}, id uint) error
	GetAllEntities(entitySlice interface{}) error
	CreateEntity(entity interface{}) error
	SaveEntity(entity interface{}) error
	DeleteEntityByID(entity interface{}, id uint) error
	GetDB() *sql.DB
}

EntityDatastore CRUD operations with abstract entity type

type EntityHolder

type EntityHolder interface {
	LoadRelated(db *gorm.DB) error
}

EntityHolder struct that holds entities

type EntityOption

type EntityOption struct {
	ID     uint
	Value  string
	Filter string
}

EntityOption ...

type EntityOptionBuilder

type EntityOptionBuilder interface {
	BuildEntityOption() EntityOption
}

EntityOptionBuilder struct that can build entity options

type GormEntityDatastoreImpl

type GormEntityDatastoreImpl struct {
	*gorm.DB
}

GormEntityDatastoreImpl the EntityDatastore implementation using gorm.DB for database operations

func (GormEntityDatastoreImpl) CreateEntity

func (ds GormEntityDatastoreImpl) CreateEntity(entity interface{}) error

CreateEntity insert into entity table

func (GormEntityDatastoreImpl) DeleteEntityByID

func (ds GormEntityDatastoreImpl) DeleteEntityByID(entity interface{}, id uint) error

DeleteEntityByID delete entity by id (primary key) ID must be provided Attention ds is not the same as db!

func (GormEntityDatastoreImpl) GetAllEntities

func (ds GormEntityDatastoreImpl) GetAllEntities(entitySlice interface{}) error

GetAllEntities select * from table

func (GormEntityDatastoreImpl) GetDB

func (ds GormEntityDatastoreImpl) GetDB() *sql.DB

func (GormEntityDatastoreImpl) GetEntityByID

func (ds GormEntityDatastoreImpl) GetEntityByID(entity interface{}, id uint) error

GetEntityByID ...

func (GormEntityDatastoreImpl) GetOneEntityBy

func (ds GormEntityDatastoreImpl) GetOneEntityBy(entity interface{}, key string, val interface{}) error

GetOneEntityBy select * from table where key = value

func (GormEntityDatastoreImpl) LoadRelatedEntities

func (ds GormEntityDatastoreImpl) LoadRelatedEntities(i interface{}) error

LoadRelatedEntities load embedded entities

func (GormEntityDatastoreImpl) SaveEntity

func (ds GormEntityDatastoreImpl) SaveEntity(entity interface{}) error

SaveEntity update entity table

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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