Skip to content

Commit

Permalink
Fix [Feature store] row expansion request should consider all applied…
Browse files Browse the repository at this point in the history
… filters (#3058)
  • Loading branch information
Taras-Hlukhovetskyi authored Jan 28, 2025
1 parent 956ea27 commit ec96cd4
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 24 deletions.
16 changes: 8 additions & 8 deletions src/actions/featureStore.js
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,9 @@ const featureStoreActions = {
deleteFeatureVector: (project, featureVector) => () => {
return featureStoreApi.deleteFeatureVector(project, featureVector)
},
fetchEntity: (project, entityName, entityMetadataName) => dispatch => {
fetchEntity: (project, entityName, entityMetadataName, labels) => dispatch => {
return featureStoreApi
.getEntity(project, entityName)
.getEntity(project, entityName, labels)
.then(response => {
const parsedEntities = parseFeatures(response.data, entityMetadataName)

Expand Down Expand Up @@ -204,9 +204,9 @@ const featureStoreActions = {
type: FETCH_FEATURE_SETS_SUCCESS,
payload: featureSets
}),
fetchExpandedFeatureSet: (project, featureSet, tag) => dispatch => {
fetchExpandedFeatureSet: (project, featureSet, tag, labels) => dispatch => {
return featureStoreApi
.getExpandedFeatureSet(project, featureSet, tag)
.getExpandedFeatureSet(project, featureSet, tag, labels)
.then(response => {
const generatedFeatureSets = parseFeatureSets(response.data?.feature_sets)

Expand Down Expand Up @@ -251,9 +251,9 @@ const featureStoreActions = {
fetchFeatureSetSuccess: () => ({
type: FETCH_FEATURE_SET_SUCCESS
}),
fetchFeatureVector: (project, featureVector, tag) => dispatch => {
fetchFeatureVector: (project, featureVector, tag, labels) => dispatch => {
return featureStoreApi
.getFeatureVector(project, featureVector, tag)
.getFeatureVector(project, featureVector, tag, labels)
.then(response => {
const generatedFeatureVectors = parseFeatureVectors(response.data?.feature_vectors)

Expand Down Expand Up @@ -314,9 +314,9 @@ const featureStoreActions = {
type: FETCH_FEATURE_VECTORS_SUCCESS,
payload: featureSets
}),
fetchFeature: (project, featureName, featureMetadataName) => dispatch => {
fetchFeature: (project, featureName, featureMetadataName, labels) => dispatch => {
return featureStoreApi
.getFeature(project, featureName)
.getFeature(project, featureName, labels)
.then(response => {
const parsedFeatures = parseFeatures(response.data, featureMetadataName)

Expand Down
42 changes: 32 additions & 10 deletions src/api/featureStore-api.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,20 @@ const featureStoreApi = {
mainHttpClient.get(`/projects/${project}/feature-sets/*/tags`, config),
fetchFeatureVectorsTags: (project, config) =>
mainHttpClient.get(`/projects/${project}/feature-vectors/*/tags`, config),
getEntity: (project, entity) =>
mainHttpClientV2.get(`/projects/${project}/entities`, {
params: { name: entity }
}),
getEntity: (project, entity, labels) => {
const params = { name: entity }

if (labels) {
params.labels = labels
}

return mainHttpClientV2.get(`/projects/${project}/entities`, {
params
})
},
getEntities: (project, filters, config) =>
fetchFeatureStoreContent(`/projects/${project}/entities`, filters, config ?? {}, true, true),
getExpandedFeatureSet: (project, featureSet, tag) => {
getExpandedFeatureSet: (project, featureSet, tag, labels) => {
const params = {
name: featureSet,
format: 'minimal'
Expand All @@ -86,6 +93,10 @@ const featureStoreApi = {
params.tag = tag
}

if (labels) {
params.labels = labels
}

return mainHttpClient.get(`/projects/${project}/feature-sets`, {
params
})
Expand All @@ -105,7 +116,7 @@ const featureStoreApi = {
true
)
},
getFeatureVector: (project, featureVector, tag) => {
getFeatureVector: (project, featureVector, tag, labels) => {
const params = {
name: featureVector
}
Expand All @@ -114,6 +125,10 @@ const featureStoreApi = {
params.tag = tag
}

if (labels) {
params.labels = labels
}

return mainHttpClient.get(`/projects/${project}/feature-vectors`, {
params
})
Expand All @@ -129,10 +144,17 @@ const featureStoreApi = {
true
)
},
getFeature: (project, feature) =>
mainHttpClientV2.get(`/projects/${project}/features`, {
params: { name: feature }
}),
getFeature: (project, feature, labels) => {
const params = { name: feature }

if (labels) {
params.labels = labels
}

return mainHttpClientV2.get(`/projects/${project}/features`, {
params
})
},
getFeatures: (project, filters, config) =>
fetchFeatureStoreContent(
`/projects/${project}/${FEATURES_TAB}`,
Expand Down
4 changes: 2 additions & 2 deletions src/components/FeatureStore/FeatureSets/FeatureSets.js
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ const FeatureSets = ({
}
}))

fetchExpandedFeatureSet(item.project, item.name, featureSetsFilters.tag)
fetchExpandedFeatureSet(item.project, item.name, featureSetsFilters.tag, featureSetsFilters.labels)
.then(result => {
const content = [...parseFeatureSets(result)].map(contentItem =>
createFeatureSetsRowData(contentItem, params.projectName, FEATURE_SETS_TAB, true)
Expand All @@ -221,7 +221,7 @@ const FeatureSets = ({
}))
})
},
[fetchExpandedFeatureSet, featureSetsFilters.tag, params.projectName]
[fetchExpandedFeatureSet, featureSetsFilters.tag, featureSetsFilters.labels, params.projectName]
)

const { latestItems, toggleRow } = useGroupContent(
Expand Down
4 changes: 2 additions & 2 deletions src/components/FeatureStore/FeatureVectors/FeatureVectors.js
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ const FeatureVectors = ({
}
}))

fetchFeatureVector(featureVector.project, featureVector.name, featureVectorsFilters.tag)
fetchFeatureVector(featureVector.project, featureVector.name, featureVectorsFilters.tag, featureVectorsFilters.labels)
.then(result => {
const content = sortListByDate(parseFeatureVectors(result), 'updated', false).map(
contentItem =>
Expand All @@ -304,7 +304,7 @@ const FeatureVectors = ({
}))
})
},
[fetchFeatureVector, featureVectorsFilters.tag, params.projectName]
[fetchFeatureVector, featureVectorsFilters.tag, featureVectorsFilters.labels, params.projectName]
)

const { latestItems, toggleRow } = useGroupContent(
Expand Down
4 changes: 2 additions & 2 deletions src/components/FeatureStore/Features/Features.js
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ const Features = ({
}
}))

fetchData(feature.metadata.project, feature.name, feature.metadata.name)
fetchData(feature.metadata.project, feature.name, feature.metadata.name, featuresFilters.labels)
.then(result => {
if (result?.length > 0) {
const content = [...result].map(contentItem =>
Expand All @@ -246,7 +246,7 @@ const Features = ({
}))
})
},
[fetchEntity, fetchFeature, tableStore.isTablePanelOpen]
[featuresFilters.labels, fetchEntity, fetchFeature, tableStore.isTablePanelOpen]
)

const { latestItems, toggleRow } = useGroupContent(
Expand Down

0 comments on commit ec96cd4

Please sign in to comment.