expander

package
v0.0.0-...-497822d Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2014 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	REF_KEY        = "ref"
	REL_KEY        = "rel"
	VERB_KEY       = "verb"
	COLLECTION_KEY = "Collection"
)

TODO: 1. add filters to expansiontask in order to correctly resolve children 2. fix other TODOs

Variables

View Source
var Cache *lru.Cache = lru.New(250)
View Source
var CacheMutex = sync.Mutex{}

Functions

func Expand

func Expand(data interface{}, expansion, fields string, headers map[string]string) map[string]interface{}

TODO: TagFields & BSONFields

func ExpandArray

func ExpandArray(data interface{}, expansion, fields string, headers map[string]string) []interface{}

func Init

func Init()

func UniqueKey

func UniqueKey(collection string, id string) string

Types

type BulkResponseData

type BulkResponseData struct {
	Data []map[string]interface{} `json:"data"`
}

type BulkResponseMongoObject

type BulkResponseMongoObject struct {
	Data []MongoObject `json:"data"`
}

type CacheEntry

type CacheEntry struct {
	Timestamp int64
	Data      string
}

type Configuration

type Configuration struct {
	UsingCache           bool
	UsingMongo           bool
	MakeBulkRequest      bool
	IdURIs               map[string]string
	CacheExpInSeconds    int64
	ConnectionTimeoutInS int
}
var ExpanderConfig Configuration = Configuration{
	UsingMongo:           false,
	UsingCache:           false,
	CacheExpInSeconds:    86400,
	ConnectionTimeoutInS: 2,
}

type DBRef

type DBRef struct {
	Collection string
	Id         interface{}
	Database   string
}

type ExpansionTask

type ExpansionTask struct {
	Id            string
	Collection    string
	OriginalDBRef DBRef
	Success       func(value map[string]interface{})
	Error         func()
}

func (*ExpansionTask) ResourceKey

func (this *ExpansionTask) ResourceKey() string

type Filter

type Filter struct {
	Children Filters
	Value    string
}

type Filters

type Filters []Filter

func (Filters) Contains

func (m Filters) Contains(v string) bool

func (Filters) Get

func (m Filters) Get(v string) Filter

func (Filters) IsEmpty

func (m Filters) IsEmpty() bool

type MongoObject

type MongoObject struct {
	Id string `json:"_id"`
}

type ObjectId

type ObjectId interface {
	Hex() string
}

type WalkStateHolder

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

func (*WalkStateHolder) AddExpansionTask

func (this *WalkStateHolder) AddExpansionTask(resolveTask ExpansionTask)

func (*WalkStateHolder) GetExpansionTasks

func (this *WalkStateHolder) GetExpansionTasks() []ExpansionTask

Jump to

Keyboard shortcuts

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