MCPcopy Create free account
hub / github.com/devaccuracy/ledgerforge / processMetadata

Method processMetadata

internal/search/search.go:303–320  ·  view source on GitHub ↗

processMetadata handles metadata field normalization for object schemas

(data map[string]interface{})

Source from the content-addressed store, hash-verified

301
302// processMetadata handles metadata field normalization for object schemas
303func (t *TypesenseClient) processMetadata(data map[string]interface{}) error {
304 if metaData, ok := data["meta_data"]; ok {
305 if metaData == nil {
306 // If metadata is null, provide an empty object for object type schemas
307 data["meta_data"] = make(map[string]interface{})
308 } else if metaDataMap, ok := metaData.(map[string]interface{}); ok {
309 data["meta_data"] = metaDataMap
310 } else {
311 // For backward compatibility, convert to string for old schemas
312 jsonString, err := json.Marshal(metaData)
313 if err != nil {
314 return fmt.Errorf("failed to marshal meta_data: %w", err)
315 }
316 data["meta_data"] = string(jsonString)
317 }
318 }
319 return nil
320}
321
322// convertLargeNumbers converts big.Int values to strings for Typesense compatibility
323func (t *TypesenseClient) convertLargeNumbers(config CollectionConfig, data map[string]interface{}) {

Calls

no outgoing calls