Documentation ¶
Index ¶
- Constants
- Variables
- func Expand(data interface{}, expansion, fields string, headers map[string]string) map[string]interface{}
- func ExpandArray(data interface{}, expansion, fields string, headers map[string]string) []interface{}
- func Init()
- func UniqueKey(collection string, id string) string
- type BulkResponseData
- type BulkResponseMongoObject
- type CacheEntry
- type Configuration
- type DBRef
- type ExpansionTask
- type Filter
- type Filters
- type MongoObject
- type ObjectId
- type WalkStateHolder
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 ¶
Types ¶
type BulkResponseData ¶
type BulkResponseData struct {
Data []map[string]interface{} `json:"data"`
}
type BulkResponseMongoObject ¶
type BulkResponseMongoObject struct {
Data []MongoObject `json:"data"`
}
type CacheEntry ¶
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 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 MongoObject ¶
type MongoObject struct {
Id string `json:"_id"`
}
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
Click to show internal directories.
Click to hide internal directories.