MCPcopy
hub / github.com/weaviate/weaviate / validateObjectAndNormalizeNames

Method validateObjectAndNormalizeNames

usecases/objects/add.go:188–206  ·  view source on GitHub ↗
(ctx context.Context,
	principal *models.Principal,
	repl *additional.ReplicationProperties,
	incoming *models.Object, existing *models.Object, fetchedClasses map[string]versioned.Class,
)

Source from the content-addressed store, hash-verified

186}
187
188func (m *Manager) validateObjectAndNormalizeNames(ctx context.Context,
189 principal *models.Principal,
190 repl *additional.ReplicationProperties,
191 incoming *models.Object, existing *models.Object, fetchedClasses map[string]versioned.Class,
192) error {
193 err := m.validateUUID(incoming)
194 if err != nil {
195 return err
196 }
197
198 if _, ok := fetchedClasses[incoming.Class]; !ok || fetchedClasses[incoming.Class].Class == nil {
199 return fmt.Errorf("class %q not found in schema", incoming.Class)
200 }
201 class := fetchedClasses[incoming.Class].Class
202
203 return validation.New(m.vectorRepo.Exists, m.config, repl,
204 principal, m.config.Config.Namespaces.Enabled).
205 Object(ctx, class, incoming, existing)
206}
207
208func (m *Manager) validateUUID(obj *models.Object) error {
209 // Validate schema given in body with the weaviate schema

Callers 4

ValidateObjectMethod · 0.95
MergeObjectMethod · 0.95

Calls 4

validateUUIDMethod · 0.95
NewFunction · 0.92
ErrorfMethod · 0.80
ObjectMethod · 0.65

Tested by

no test coverage detected