MCPcopy Index your code
hub / github.com/wavetermdev/waveterm / UpdateObjectMeta

Function UpdateObjectMeta

pkg/wstore/wstore.go:57–75  ·  view source on GitHub ↗
(ctx context.Context, oref waveobj.ORef, meta waveobj.MetaMapType, mergeSpecial bool)

Source from the content-addressed store, hash-verified

55}
56
57func UpdateObjectMeta(ctx context.Context, oref waveobj.ORef, meta waveobj.MetaMapType, mergeSpecial bool) error {
58 return WithTx(ctx, func(tx *TxWrap) error {
59 if oref.IsEmpty() {
60 return fmt.Errorf("empty object reference")
61 }
62 obj, _ := DBGetORef(tx.Context(), oref)
63 if obj == nil {
64 return ErrNotFound
65 }
66 objMeta := waveobj.GetMeta(obj)
67 if objMeta == nil {
68 objMeta = make(map[string]any)
69 }
70 newMeta := waveobj.MergeMeta(objMeta, meta, mergeSpecial)
71 waveobj.SetMeta(obj, newMeta)
72 DBUpdate(tx.Context(), obj)
73 return nil
74 })
75}

Callers 5

SetMetaCommandMethod · 0.92
UpdateObjectMetaMethod · 0.92
runMethod · 0.92
CreateTabFunction · 0.92

Calls 8

GetMetaFunction · 0.92
MergeMetaFunction · 0.92
SetMetaFunction · 0.92
DBGetORefFunction · 0.85
DBUpdateFunction · 0.85
WithTxFunction · 0.70
IsEmptyMethod · 0.45
ContextMethod · 0.45

Tested by

no test coverage detected