Skip to content

Commit 8c26fbe

Browse files
authored
Merge pull request #947 from meshery/copilot/fix-52376019-290415303-6b0b12ef-0de9-4601-b80d-f96421e194ed
Update MeshModel registry code for Meshery Schemas v0.8.129
2 parents 08164d5 + 99eb27a commit 8c26fbe

6 files changed

Lines changed: 81 additions & 16 deletions

File tree

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ require (
2828
github.com/google/uuid v1.6.0
2929
github.com/kubernetes/kompose v1.37.0
3030
github.com/meshery/meshery-operator v0.8.11
31-
github.com/meshery/schemas v0.8.127
31+
github.com/meshery/schemas v0.8.129
3232
github.com/nats-io/nats.go v1.47.0
3333
github.com/open-policy-agent/opa v1.11.0
3434
github.com/opencontainers/image-spec v1.1.1
@@ -299,7 +299,7 @@ require (
299299
golang.org/x/tools/godoc v0.1.0-deprecated // indirect
300300
google.golang.org/genproto/googleapis/api v0.0.0-20251213004720-97cd9d5aeac2 // indirect
301301
google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 // indirect
302-
google.golang.org/grpc v1.77.0 // indirect
302+
google.golang.org/grpc v1.79.3 // indirect
303303
google.golang.org/protobuf v1.36.11 // indirect
304304
gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
305305
gopkg.in/inf.v0 v0.9.1 // indirect

go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -437,8 +437,8 @@ github.com/mattn/go-sqlite3 v1.14.32 h1:JD12Ag3oLy1zQA+BNn74xRgaBbdhbNIDYvQUEuuE
437437
github.com/mattn/go-sqlite3 v1.14.32/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
438438
github.com/meshery/meshery-operator v0.8.11 h1:eDo2Sw0jjVrXsvvhF8LenADM58pK+7Z68ROPVIejTPc=
439439
github.com/meshery/meshery-operator v0.8.11/go.mod h1:hQEtFKKa5Fr/Mskk6bV5ip3bQ0+3F0u1voYS3XisBp4=
440-
github.com/meshery/schemas v0.8.127 h1:MHR0sotqeZFjGsFYd+uQHP+fhOWcpAKyN9gaNWeuP6o=
441-
github.com/meshery/schemas v0.8.127/go.mod h1:5sD1I33x+J/oSIwYIdccH4VTVRQ71QCN7dUPvpqmESw=
440+
github.com/meshery/schemas v0.8.129 h1:N2ZaQFeKH4U3t3TAHKUXjx/VrWYiU+EiDde8WsO6m4o=
441+
github.com/meshery/schemas v0.8.129/go.mod h1:+N/+Q3ZJzBrGGWVGTNWA4m8PviHhM2cnrsVv8p27ieQ=
442442
github.com/miekg/dns v1.1.57 h1:Jzi7ApEIzwEPLHWRcafCN9LZSBbqQpxjt/wpgvg7wcM=
443443
github.com/miekg/dns v1.1.57/go.mod h1:uqRjCRUuEAA6qsOiJvDd+CFo/vW+y5WR6SNmHE55hZk=
444444
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
@@ -757,8 +757,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20251213004720-97cd9d5aeac2 h1:
757757
google.golang.org/genproto/googleapis/api v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:+rXWjjaukWZun3mLfjmVnQi18E1AsFbDN9QdJ5YXLto=
758758
google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 h1:2I6GHUeJ/4shcDpoUlLs/2WPnhg7yJwvXtqcMJt9liA=
759759
google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk=
760-
google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM=
761-
google.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig=
760+
google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE=
761+
google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ=
762762
google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
763763
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
764764
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

models/meshmodel/registry/registry.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ func (rm *RegistryManager) UpdateEntityStatus(ID string, status string, entityTy
152152
}
153153
switch entityType {
154154
case "models":
155-
model := model.ModelDefinition{Id: entityID}
155+
model := model.ModelDefinition{ID: entityID}
156156
err := model.UpdateStatus(rm.db, entity.EntityStatus(status))
157157
if err != nil {
158158
return err
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package registry
2+
3+
import (
4+
"testing"
5+
6+
"github.com/gofrs/uuid"
7+
"github.com/meshery/meshkit/database"
8+
"github.com/meshery/meshkit/models/meshmodel/entity"
9+
"github.com/meshery/schemas/models/v1beta1"
10+
"github.com/meshery/schemas/models/v1beta1/category"
11+
"github.com/meshery/schemas/models/v1beta1/model"
12+
"github.com/stretchr/testify/assert"
13+
"github.com/stretchr/testify/require"
14+
)
15+
16+
func TestUpdateEntityStatusUpdatesModel(t *testing.T) {
17+
db, err := database.New(database.Options{
18+
Engine: database.SQLITE,
19+
Filename: ":memory:",
20+
})
21+
require.NoError(t, err)
22+
23+
rm, err := NewRegistryManager(&db)
24+
require.NoError(t, err)
25+
t.Cleanup(func() {
26+
rm.Cleanup()
27+
assert.NoError(t, db.DBClose())
28+
})
29+
30+
hostID, err := uuid.NewV4()
31+
require.NoError(t, err)
32+
33+
modelDef := model.ModelDefinition{
34+
SchemaVersion: v1beta1.ModelSchemaVersion,
35+
Version: "1.0.0",
36+
Name: "test-model",
37+
DisplayName: "Test Model",
38+
Status: model.Enabled,
39+
Category: category.CategoryDefinition{
40+
Name: "test-category",
41+
},
42+
Model: model.Model{
43+
Version: "1.0.0",
44+
},
45+
}
46+
47+
modelID, err := modelDef.Create(&db, hostID)
48+
require.NoError(t, err)
49+
50+
err = rm.UpdateEntityStatus(modelID.String(), string(entity.Ignored), "models")
51+
require.NoError(t, err)
52+
53+
var updated model.ModelDefinition
54+
err = db.First(&updated, "id = ?", modelID).Error
55+
require.NoError(t, err)
56+
assert.Equal(t, model.Ignored, updated.Status)
57+
}
58+
59+
func TestUpdateEntityStatusReturnsErrorForInvalidUUID(t *testing.T) {
60+
rm := &RegistryManager{}
61+
62+
err := rm.UpdateEntityStatus("not-a-uuid", string(entity.Ignored), "models")
63+
64+
require.Error(t, err)
65+
}

models/meshmodel/registry/v1beta1/model_filter.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func (mf *ModelFilter) GetById(db *database.Handler) (entity.Entity, error) {
6666
var components []component.ComponentDefinition
6767
componentFinder := db.Model(&component.ComponentDefinition{}).
6868
Select("component_definition_dbs.id, component_definition_dbs.component, component_definition_dbs.display_name, component_definition_dbs.metadata, component_definition_dbs.schema_version, component_definition_dbs.version").
69-
Where("component_definition_dbs.model_id = ?", m.Id)
69+
Where("component_definition_dbs.model_id = ?", m.ID)
7070
if err := componentFinder.Scan(&components).Error; err != nil {
7171
return nil, err
7272
}
@@ -78,7 +78,7 @@ func (mf *ModelFilter) GetById(db *database.Handler) (entity.Entity, error) {
7878
var relationships []relationship.RelationshipDefinition
7979
relationshipFinder := db.Model(&relationship.RelationshipDefinition{}).
8080
Select("relationship_definition_dbs.*").
81-
Where("relationship_definition_dbs.model_id = ?", m.Id)
81+
Where("relationship_definition_dbs.model_id = ?", m.ID)
8282
if err := relationshipFinder.Scan(&relationships).Error; err != nil {
8383
return nil, err
8484
}
@@ -178,16 +178,16 @@ func (mf *ModelFilter) Get(db *database.Handler) ([]entity.Entity, int64, int, e
178178
// resolve for loop scope
179179
_modelDB := modelDB
180180
var componentCount int64
181-
db.Model(&component.ComponentDefinition{}).Where("component_definition_dbs.model_id = ?", _modelDB.Id).Count(&componentCount)
181+
db.Model(&component.ComponentDefinition{}).Where("component_definition_dbs.model_id = ?", _modelDB.ID).Count(&componentCount)
182182
var relationshipCount int64
183-
db.Model(&relationship.RelationshipDefinition{}).Where("relationship_definition_dbs.model_id = ?", _modelDB.Id).Count(&relationshipCount)
183+
db.Model(&relationship.RelationshipDefinition{}).Where("relationship_definition_dbs.model_id = ?", _modelDB.ID).Count(&relationshipCount)
184184
_modelDB.ComponentsCount = int(componentCount)
185185
_modelDB.RelationshipsCount = int(relationshipCount)
186186

187187
// If Trim is true, only include the id, name, counts and metadata
188188
if mf.Trim {
189189
trimmedModel := &model.ModelDefinition{
190-
Id: _modelDB.Id,
190+
ID: _modelDB.ID,
191191
Name: _modelDB.Name,
192192
DisplayName: _modelDB.DisplayName,
193193
Metadata: _modelDB.Metadata,
@@ -201,7 +201,7 @@ func (mf *ModelFilter) Get(db *database.Handler) ([]entity.Entity, int64, int, e
201201
var components []component.ComponentDefinition
202202
finder := db.Model(&component.ComponentDefinition{}).
203203
Select("component_definition_dbs.*").
204-
Where("component_definition_dbs.model_id = ?", _modelDB.Id)
204+
Where("component_definition_dbs.model_id = ?", _modelDB.ID)
205205
if err := finder.Scan(&components).Error; err != nil {
206206
return nil, 0, 0, err
207207
}
@@ -211,7 +211,7 @@ func (mf *ModelFilter) Get(db *database.Handler) ([]entity.Entity, int64, int, e
211211
var relationships []relationship.RelationshipDefinition
212212
finder := db.Model(&relationship.RelationshipDefinition{}).
213213
Select("relationship_definition_dbs.*").
214-
Where("relationship_definition_dbs.model_id = ?", _modelDB.Id)
214+
Where("relationship_definition_dbs.model_id = ?", _modelDB.ID)
215215
if err := finder.Scan(&relationships).Error; err != nil {
216216
return nil, 0, 0, err
217217
}

models/registration/register.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,11 @@ func (rh *RegistrationHelper) register(pkg PackagingUnit) {
138138
// 3. Register relationships
139139
for _, rel := range pkg.Relationships {
140140
rel.Model = model.ToReference()
141-
rel.ModelId = model.Id
141+
rel.ModelId = &model.ID
142142
_, _, err := rh.regManager.RegisterEntity(model.Registrant, &rel)
143143
if err != nil {
144144
err = ErrRegisterEntity(err, string(rel.Type()), string(rel.Kind))
145-
rh.regErrStore.InsertEntityRegError(hostname, model.DisplayName, entity.RelationshipDefinition, rel.Id.String(), err)
145+
rh.regErrStore.InsertEntityRegError(hostname, model.DisplayName, entity.RelationshipDefinition, rel.ID.String(), err)
146146
} else {
147147
// Successful registration, add to successfulRelationships
148148
registeredRelationships = append(registeredRelationships, rel)

0 commit comments

Comments
 (0)