// NewBakeryStorage returns a new bakery.Storage. By default, items // added to the store are retained until deleted explicitly. The // store's ExpireAt method can be called to derive a new store that // will expire items at the specified time. func (st *State) NewBakeryStorage() (bakerystorage.ExpirableStorage, error) { return bakerystorage.New(bakerystorage.Config{ GetCollection: func() (mongo.Collection, func()) { return st.getCollection(bakeryStorageItemsC) }, }) }
func (s *BakeryStorageSuite) initService(c *gc.C, enableExpiry bool) { store, err := bakerystorage.New(bakerystorage.Config{ GetCollection: func() (mongo.Collection, func()) { return mongo.CollectionFromName(s.db, s.coll.Name) }, }) c.Assert(err, jc.ErrorIsNil) if enableExpiry { store = store.ExpireAt(time.Now()) } s.store = store service, err := bakery.NewService(bakery.NewServiceParams{ Location: "straya", Store: s.store, }) c.Assert(err, jc.ErrorIsNil) s.service = service }