Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseEntity ¶
type BaseEntity[I any] struct { ID I `json:"id" bson:"_id,omitempty"` CreatedAt *time.Time `json:"created_at" bson:"created_at"` UpdatedAt *time.Time `json:"updated_at" bson:"updated_at"` DeletedAt *time.Time `json:"deleted_at" bson:"deleted_at"` }
func (*BaseEntity[I]) BeforeCreate ¶
func (b *BaseEntity[I]) BeforeCreate(tx *gorm.DB) (err error)
type BaseRepository ¶
type BaseRepository[D any, I any, E Entity] interface { MasterDB() *D SlaveDB() *D FindAll(ctx context.Context, filter map[string]any) ([]E, error) FindById(ctx context.Context, ID I) (*E, error) FindByIdAndLock(ctx context.Context, ID I, trx *D) (*E, error) FindByIds(ctx context.Context, IDs []I) ([]E, error) FindByOffset(ctx context.Context, filter map[string]any, sort []string, size int, page int) (res Pagination[E], err error) FindByCursor(ctx context.Context, filter map[string]any, sort []string, size int, next *I) (res Pagination[E], err error) Insert(ctx context.Context, model E, trx *D) (E, error) InsertMany(ctx context.Context, models []E, trx *D) ([]E, error) Update(ctx context.Context, model E, trx *D) error UpdateById(ctx context.Context, ID I, payload map[string]any, trx *D) (E, error) UpdateByIds(ctx context.Context, IDs []I, payload map[string]any, trx *D) error UpdateMany(ctx context.Context, filter map[string]any, payload map[string]any, trx *D) error DeleteById(ctx context.Context, ID I, trx *D) error DeleteByIds(ctx context.Context, IDs []I, trx *D) error DeleteMany(ctx context.Context, filter map[string]any, trx *D) error Begin(ctx context.Context) (*D, error) Rollback(trx *D) *D Commit(trx *D) *D }
type Pagination ¶
type Pagination[E Entity] struct { Data []E `json:"data"` Metadata *PaginationMetadata `json:"metadata,omitempty"` }
type PaginationMetadata ¶
type PaginationNavigation ¶
type PaginationNavigation struct {
}
Click to show internal directories.
Click to hide internal directories.