pezdispenser

package
v0.0.74 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2015 License: GPL-2.0 Imports: 19 Imported by: 6

Documentation

Index

Constants

View Source
const (
	//TaskStatusAvailable - this means the task is in an avaiable state
	TaskStatusAvailable = "available"
	//TaskStatusRestocking - reclaiming inventory and restocking
	TaskStatusRestocking = "restocking"
	//TaskStatusUnavailable - unavailable procurement request
	TaskStatusUnavailable = "unavailable"
	//TaskStatusStarted - started this task
	TaskStatusStarted = "started"
	//TaskStatusProcurement - task is now in procurement
	TaskStatusProcurement = "in_procurement"
	//TaskCollectionName - collection name for tasks
	TaskCollectionName = "dispenser_tasks"
	//SuccessStatusResponseTaskByID - success statuscode for gettaskbyidcontroller
	SuccessStatusResponseTaskByID = http.StatusOK
	//FailureStatusResponseTaskByID - failure statuscode for gettaskbyidcontroller
	FailureStatusResponseTaskByID = http.StatusNotFound
	//CallerPostLease --
	CallerPostLease = "post_lease"
	//LeaseExpiresFieldName ----
	LeaseExpiresFieldName = "lease_expires"
	//InventoryIDFieldName ---
	InventoryIDFieldName = "inventory_id"
)
View Source
const (
	//APIVersion1 - version 1 const
	APIVersion1 = "v1"
)

Variables

View Source
var (
	//ErrNoMatchInStore - error when there is no matching org in the datastore
	ErrNoMatchInStore = errors.New("Could not find a matching user org or connection failure")
	//ErrCanNotAddOrgRec - error when we can not add a new org record to the datastore
	ErrCanNotAddOrgRec = errors.New("Could not add a new org record")
	//ErrEmptyBody - no data in request body
	ErrEmptyBody = errors.New("request body is empty or invalid")
)
View Source
var (
	//URLBaseV1 - v1 url path base
	URLBaseV1 = fmt.Sprintf("/%s", APIVersion1)
)

Functions

func DeleteLeaseController added in v0.0.60

func DeleteLeaseController() martini.Handler

DeleteLeaseController - this is the controller to handle a get task call

func GetAvailableInventory added in v0.0.65

func GetAvailableInventory(taskCollection integrations.Collection) (inventory map[string]skus.Sku)

GetAvailableInventory - this should return available inventory and start a long task poller

func GetInfoController added in v0.0.48

func GetInfoController() martini.Handler

GetInfoController - this is the controller to handle a info call to the api

func GetTaskByIDController added in v0.0.49

func GetTaskByIDController() martini.Handler

GetTaskByIDController - this is the controller to handle a get task call

func InitRoutes

func InitRoutes(m *martini.ClassicMartini, keyCheckHandler martini.Handler, appEnv *cfenv.App)

InitRoutes - initialize the mappings for controllers against valid routes

func ParseURL added in v0.0.49

func ParseURL(url string) (*mgo.DialInfo, error)

ParseURL - copy from latest version of mgo, but there was a version conflict, need to figure that out

func PostLeaseController added in v0.0.52

func PostLeaseController() martini.Handler

PostLeaseController - this is the controller to handle a get task call

func SetupDB added in v0.0.68

func SetupDB(dialer integrations.CollectionDialer, URI string, collectionName string) (collection integrations.Collection)

SetupDB - setup your db connection and return a collection interface

Types

type Lease added in v0.0.52

type Lease struct {
	ID              string                   `json:"_id"`
	InventoryID     string                   `json:"inventory_id"`
	UserName        string                   `json:"username"`
	Sku             string                   `json:"sku"`
	LeaseDuration   float64                  `json:"lease_duration"`
	LeaseEndDate    int64                    `json:"lease_end_date"`
	LeaseStartDate  int64                    `json:"lease_start_date"`
	ProcurementMeta map[string]interface{}   `json:"procurement_meta"`
	Task            taskmanager.RedactedTask `json:"task"`
	// contains filtered or unexported fields
}

Lease - this represents a lease object

func NewLease added in v0.0.52

func NewLease(taskCollection integrations.Collection, availableSkus map[string]skus.Sku) *Lease

NewLease - create and return a new lease object

func (*Lease) Delete added in v0.0.60

func (s *Lease) Delete(logger *log.Logger, req *http.Request) (statusCode int, response interface{})

Delete - handle a delete lease call

func (*Lease) InitFromHTTPRequest added in v0.0.52

func (s *Lease) InitFromHTTPRequest(req *http.Request) (err error)

InitFromHTTPRequest - initialize a lease from the http request object body

func (*Lease) InventoryAvailable added in v0.0.54

func (s *Lease) InventoryAvailable() (available bool)

InventoryAvailable - lets check if a inventory management task exists for this inventory item. if one does not let's created it, if it does exist lets check its Status to see if we it available or not, return true or false on outcome

func (*Lease) Post added in v0.0.52

func (s *Lease) Post(logger *log.Logger, req *http.Request) (statusCode int, response interface{})

Post - handle a post lease call

func (*Lease) Procurement added in v0.0.52

func (s *Lease) Procurement()

Procurement - method to issue a procurement request for the given lease item.

func (*Lease) ReStock added in v0.0.52

func (s *Lease) ReStock()

ReStock - this will reclaim resources for a given lease

type MongoCollection added in v0.0.23

type MongoCollection interface {
	Remove(selector interface{}) error
	Find(query interface{}) *mgo.Query
	Upsert(selector interface{}, update interface{}) (info *mgo.ChangeInfo, err error)
}

MongoCollection - interface to a collection in mongo

type MongoCollectionGetter added in v0.0.23

type MongoCollectionGetter interface {
	Collection() Persistence
}

MongoCollectionGetter - Getting collections in mongo

type MongoCollectionWrapper added in v0.0.23

type MongoCollectionWrapper struct {
	Persistence
	// contains filtered or unexported fields
}

MongoCollectionWrapper - interface to wrap mongo collections with additional persistence functions

func (*MongoCollectionWrapper) FindOne added in v0.0.23

func (s *MongoCollectionWrapper) FindOne(query interface{}, result interface{}) (err error)

FindOne - combining the Find and One calls of a Mongo collection object

func (*MongoCollectionWrapper) Remove added in v0.0.23

func (s *MongoCollectionWrapper) Remove(selector interface{}) error

Remove - removes the matching selector from collection

func (*MongoCollectionWrapper) Upsert added in v0.0.23

func (s *MongoCollectionWrapper) Upsert(selector interface{}, update interface{}) (err error)

Upsert - allow us to call upsert on Mongo collection object

type Persistence added in v0.0.23

type Persistence interface {
	Remove(selector interface{}) error
	FindOne(query interface{}, result interface{}) (err error)
	Upsert(selector interface{}, update interface{}) (err error)
}

Persistence - interface to a persistence store of some kind

func NewMongoCollectionWrapper added in v0.0.23

func NewMongoCollectionWrapper(c MongoCollection) Persistence

NewMongoCollectionWrapper - wraps a Mongo collection in as a Peristence interface implementation

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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