(meta Metadata)
| 31 | } |
| 32 | |
| 33 | func (s *metadataStore) createOrUpdate(meta Metadata) error { |
| 34 | contextDir := s.contextDir(contextdirOf(meta.Name)) |
| 35 | if err := os.MkdirAll(contextDir, 0o755); err != nil { |
| 36 | return err |
| 37 | } |
| 38 | bytes, err := json.Marshal(&meta) |
| 39 | if err != nil { |
| 40 | return err |
| 41 | } |
| 42 | return atomicwriter.WriteFile(filepath.Join(contextDir, metaFile), bytes, 0o644) |
| 43 | } |
| 44 | |
| 45 | func parseTypedOrMap(payload []byte, getter TypeGetter) (any, error) { |
| 46 | if len(payload) == 0 || string(payload) == "null" { |