github.com/mhilton/juju-juju@v0.0.0-20150901100907-a94dd2c73455/apiserver/imagemetadata/state.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package imagemetadata 5 6 import ( 7 "github.com/juju/juju/state" 8 "github.com/juju/juju/state/cloudimagemetadata" 9 ) 10 11 type metadataAcess interface { 12 FindMetadata(cloudimagemetadata.MetadataFilter) (map[cloudimagemetadata.SourceType][]cloudimagemetadata.Metadata, error) 13 SaveMetadata(cloudimagemetadata.Metadata) error 14 } 15 16 var getState = func(st *state.State) metadataAcess { 17 return stateShim{st} 18 } 19 20 type stateShim struct { 21 *state.State 22 } 23 24 func (s stateShim) FindMetadata(f cloudimagemetadata.MetadataFilter) (map[cloudimagemetadata.SourceType][]cloudimagemetadata.Metadata, error) { 25 return s.State.CloudImageMetadataStorage.FindMetadata(f) 26 } 27 28 func (s stateShim) SaveMetadata(m cloudimagemetadata.Metadata) error { 29 return s.State.CloudImageMetadataStorage.SaveMetadata(m) 30 }