Skip to content

Commit 90171f1

Browse files
committed
add item() back
1 parent 0f68b6e commit 90171f1

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

apps/workspace-engine/pkg/oapi/entity.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,17 @@ func (e *RelatableEntity) GetID() string {
8181
}
8282
return ""
8383
}
84+
85+
// Item returns the underlying entity (Resource, Deployment, or Environment) as an interface{}
86+
// This is used when the actual entity type is needed (e.g., for selectors)
87+
func (e *RelatableEntity) Item() any {
88+
switch e.GetType() {
89+
case "deployment":
90+
return e.GetDeployment()
91+
case "environment":
92+
return e.GetEnvironment()
93+
case "resource":
94+
return e.GetResource()
95+
}
96+
return nil
97+
}

apps/workspace-engine/pkg/workspace/store/relationships.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ func (r *RelationshipRules) GetRelatedEntities(
7878
if rule.FromSelector == nil {
7979
fromMatches = true
8080
} else {
81-
matched, err := selector.Match(ctx, rule.FromSelector, entity)
81+
matched, err := selector.Match(ctx, rule.FromSelector, entity.Item())
8282
if err != nil {
8383
return nil, err
8484
}
@@ -116,7 +116,7 @@ func (r *RelationshipRules) GetRelatedEntities(
116116
if rule.ToSelector == nil {
117117
toMatches = true
118118
} else {
119-
matched, err := selector.Match(ctx, rule.ToSelector, entity)
119+
matched, err := selector.Match(ctx, rule.ToSelector, entity.Item())
120120
if err != nil {
121121
return nil, err
122122
}
@@ -167,13 +167,13 @@ func (r *RelationshipRules) findMatchingEntities(
167167
for _, deployment := range r.store.Deployments.Items() {
168168
deploymentEntity := relationships.NewDeploymentEntity(deployment)
169169
if entitySelector != nil {
170-
matched, err := selector.Match(ctx, entitySelector, deploymentEntity)
170+
matched, err := selector.Match(ctx, entitySelector, deploymentEntity.Item())
171171
if err != nil {
172172
return nil, err
173173
}
174174
if !matched {
175175
continue
176-
}
176+
}
177177
}
178178

179179
pm, err := rule.Matcher.AsPropertiesMatcher()
@@ -207,7 +207,7 @@ func (r *RelationshipRules) findMatchingEntities(
207207
for _, environment := range r.store.Environments.Items() {
208208
environmentEntity := relationships.NewEnvironmentEntity(environment)
209209
if entitySelector != nil {
210-
matched, err := selector.Match(ctx, entitySelector, environmentEntity)
210+
matched, err := selector.Match(ctx, entitySelector, environmentEntity.Item())
211211
if err != nil {
212212
return nil, err
213213
}
@@ -247,7 +247,7 @@ func (r *RelationshipRules) findMatchingEntities(
247247
for _, resource := range r.store.Resources.Items() {
248248
resourceEntity := relationships.NewResourceEntity(resource)
249249
if entitySelector != nil {
250-
matched, err := selector.Match(ctx, entitySelector, resourceEntity)
250+
matched, err := selector.Match(ctx, entitySelector, resourceEntity.Item())
251251
if err != nil {
252252
return nil, err
253253
}

0 commit comments

Comments
 (0)