busdb

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2022 License: AGPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const LogCollectionName = "logs"

Variables

View Source
var CreateOperation = &Operation{Type: bus.DatabaseEntryCreated}
View Source
var ReadOperation = &Operation{Type: bus.DatabaseEntryRead}

Functions

func SetContext

func SetContext(r *http.Request, user *model.UserResponse) *http.Request

func SetGroupContext

func SetGroupContext(r *http.Request, groups []string) *http.Request

func UserContext

func UserContext(ctx context.Context, user *model.UserResponse) context.Context

func UserFromContext

func UserFromContext(ctx context.Context) (*model.UserResponse, bool)

Types

type BusDatabase

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

BusDatabase

  1. Save entry to log
  2. Send update ticket to bus
  3. Add document to index

func NewDatabase

func NewDatabase(ctx context.Context, internal driver.Database, b *bus.Bus) (*BusDatabase, error)

func (BusDatabase) Collection

func (db BusDatabase) Collection(ctx context.Context, name string) (col driver.Collection, err error)

func (*BusDatabase) LogBatchCreate

func (db *BusDatabase) LogBatchCreate(ctx context.Context, logentries []*model.LogEntry) error

func (*BusDatabase) LogCreate

func (db *BusDatabase) LogCreate(ctx context.Context, logType, reference, message string) (*model.LogEntry, error)

func (*BusDatabase) LogList

func (db *BusDatabase) LogList(ctx context.Context, reference string) ([]*model.LogEntry, error)

func (BusDatabase) Query

func (db BusDatabase) Query(ctx context.Context, query string, vars map[string]interface{}, operation *Operation) (cur driver.Cursor, logs *model.LogEntry, err error)

func (BusDatabase) Remove

func (db BusDatabase) Remove(ctx context.Context) (err error)

type Collection

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

func NewCollection

func NewCollection(internal driver.Collection, db *BusDatabase) *Collection

func (Collection) CreateDocument

func (c Collection) CreateDocument(ctx, newctx context.Context, key string, document interface{}) (meta driver.DocumentMeta, err error)

func (Collection) CreateEdge

func (c Collection) CreateEdge(ctx, newctx context.Context, edge *driver.EdgeDocument) (meta driver.DocumentMeta, err error)

func (Collection) CreateEdges

func (c Collection) CreateEdges(ctx context.Context, edges []*driver.EdgeDocument) (meta driver.DocumentMetaSlice, err error)

func (Collection) DocumentExists

func (c Collection) DocumentExists(ctx context.Context, id string) (exists bool, err error)

func (Collection) ReadDocument

func (c Collection) ReadDocument(ctx context.Context, key string, result interface{}) (meta driver.DocumentMeta, err error)

func (Collection) RemoveDocument

func (c Collection) RemoveDocument(ctx context.Context, formatInt string) (meta driver.DocumentMeta, err error)

func (Collection) ReplaceDocument

func (c Collection) ReplaceDocument(ctx context.Context, key string, document interface{}) (meta driver.DocumentMeta, err error)

func (Collection) Truncate

func (c Collection) Truncate(ctx context.Context) (err error)

func (Collection) UpdateDocument

func (c Collection) UpdateDocument(ctx context.Context, key string, update interface{}) (meta driver.DocumentMeta, err error)

type Keyed

type Keyed struct {
	Key string
	Doc interface{}
}

func (Keyed) MarshalJSON

func (p Keyed) MarshalJSON() ([]byte, error)

type Operation

type Operation struct {
	Type bus.DatabaseUpdateType
	Ids  []driver.DocumentID
}

Jump to

Keyboard shortcuts

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