@@ -224,14 +224,14 @@ func (fs *FeatureStore) DestructOnlineStore() {
224224
225225func (fs * FeatureStore ) parseKind (kind interface {}) (* ParsedKind , error ) {
226226 if featureList , ok := kind .(* serving.GetOnlineFeaturesRequest_Features ); ok {
227- return & ParsedKind {features : featureList .Features .GetVal ()}, nil
227+ return & ParsedKind {features : featureList .Features .GetVal (), featureService : nil }, nil
228228 }
229229 if featureServiceRequest , ok := kind .(* serving.GetOnlineFeaturesRequest_FeatureService ); ok {
230230 featureService , err := fs .registry .getFeatureService (fs .config .Project , featureServiceRequest .FeatureService )
231231 if err != nil {
232232 return nil , err
233233 }
234- return & ParsedKind {featureService : featureService }, nil
234+ return & ParsedKind {features : nil , featureService : featureService }, nil
235235 }
236236 return nil , errors .New ("cannot parse kind from GetOnlineFeaturesRequest" )
237237}
@@ -245,10 +245,7 @@ func (fs *FeatureStore) parseKind(kind interface{}) (*ParsedKind, error) {
245245
246246func (fs * FeatureStore ) getFeatures (parsedKind * ParsedKind , allowCache bool ) ([]string , error ) {
247247
248- if parsedKind .features == nil {
249- if parsedKind .featureService == nil {
250- return nil , errors .New ("Cannot parse FeatureService from request" )
251- }
248+ if parsedKind .featureService != nil {
252249
253250 var featureViewName string
254251 features := make ([]string , 0 )
@@ -275,7 +272,7 @@ func (fs *FeatureStore) getFeatures(parsedKind *ParsedKind, allowCache bool) ([]
275272 retrieving all feature views. Similar argument to FeatureService applies.
276273
277274*/
278- func (fs * FeatureStore ) getFeatureViewsToUse (parsedKind interface {} , allowCache , hideDummyEntity bool ) ([]* FeatureView , []* RequestFeatureView , []* OnDemandFeatureView , error ) {
275+ func (fs * FeatureStore ) getFeatureViewsToUse (parsedKind * ParsedKind , allowCache , hideDummyEntity bool ) ([]* FeatureView , []* RequestFeatureView , []* OnDemandFeatureView , error ) {
279276
280277 fvs := make (map [string ]* FeatureView )
281278 requestFvs := make (map [string ]* RequestFeatureView )
@@ -296,7 +293,8 @@ func (fs *FeatureStore) getFeatureViewsToUse(parsedKind interface{}, allowCache,
296293 odFvs [onDemandFeatureView .base .name ] = onDemandFeatureView
297294 }
298295
299- if featureService , ok := parsedKind .(* FeatureService ); ok {
296+ if parsedKind .featureService != nil {
297+ featureService := parsedKind .featureService
300298
301299 fvsToUse := make ([]* FeatureView , 0 )
302300 requestFvsToUse := make ([]* RequestFeatureView , 0 )
0 commit comments