MCPcopy Create free account
hub / github.com/bytebase/bytebase / walkAndMaskJSON

Function walkAndMaskJSON

backend/api/v1/document_masking.go:278–288  ·  view source on GitHub ↗
(data map[string]any, fieldPaths map[string][]*parserbase.PathAST, objectSchema *storepb.ObjectSchema, semanticTypeToMasker map[string]masker.Masker)

Source from the content-addressed store, hash-verified

276}
277
278func walkAndMaskJSON(data map[string]any, fieldPaths map[string][]*parserbase.PathAST, objectSchema *storepb.ObjectSchema, semanticTypeToMasker map[string]masker.Masker) (map[string]any, error) {
279 result := make(map[string]any)
280 for key, value := range data {
281 masked, err := maskJSONField(key, value, fieldPaths, objectSchema, semanticTypeToMasker)
282 if err != nil {
283 return nil, err
284 }
285 result[key] = masked
286 }
287 return result, nil
288}
289
290// maskJSONField masks a single field value based on its source field paths or direct schema lookup.
291func maskJSONField(key string, value any, fieldPaths map[string][]*parserbase.PathAST, objectSchema *storepb.ObjectSchema, semanticTypeToMasker map[string]masker.Masker) (any, error) {

Callers 2

maskCosmosDBFunction · 0.85
TestWalkAndMaskJSONFunction · 0.85

Calls 1

maskJSONFieldFunction · 0.85

Tested by 1

TestWalkAndMaskJSONFunction · 0.68