database

package
v0.2.1-alpha Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package database provides functionalities for connecting, transferring and retrieving data to a database

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Database

type Database interface {
	SaveResult(ctx context.Context, res *models.Result) error
	FetchResults(ctx context.Context, options ...QueryOption) ([]*models.Result, error)
	FetchResultsByIDs(ctx context.Context, ids []string, options ...QueryOption) ([]*models.Result, error)
	FetchResultsByGroupIDs(ctx context.Context, ids []string, options ...QueryOption) ([]*models.Result, error)
	Close() error
}

func NewEntDatabase

func NewEntDatabase(ctx context.Context, dsn string) (Database, error)

type EntDatabase

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

func (*EntDatabase) Close

func (db *EntDatabase) Close() error

func (*EntDatabase) FetchResults

func (db *EntDatabase) FetchResults(ctx context.Context, options ...QueryOption) ([]*models.Result, error)

func (*EntDatabase) FetchResultsByGroupIDs

func (db *EntDatabase) FetchResultsByGroupIDs(ctx context.Context, ids []string, options ...QueryOption) ([]*ent.Result, error)

func (*EntDatabase) FetchResultsByIDs

func (db *EntDatabase) FetchResultsByIDs(ctx context.Context, ids []string, options ...QueryOption) ([]*ent.Result, error)

func (*EntDatabase) SaveResult

func (db *EntDatabase) SaveResult(ctx context.Context, res *models.Result) error

type FilterFunc

type FilterFunc func(query *ent.ResultQuery) *ent.ResultQuery

type QueryOption

type QueryOption func(*QueryOptions)

func WithFilter

func WithFilter(filterFunc FilterFunc) QueryOption

func WithLimit

func WithLimit(limit int) QueryOption

func WithOffset

func WithOffset(offset int) QueryOption

func WithOrderBy

func WithOrderBy(orderFunc func(query *ent.ResultQuery) *ent.ResultQuery) QueryOption

type QueryOptions

type QueryOptions struct {
	// You can add more fields as necessary to handle different options
	OrderBy func(query *ent.ResultQuery) *ent.ResultQuery
	Filters []FilterFunc
	Limit   int
	Offset  int
}

Jump to

Keyboard shortcuts

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