MCPcopy Create free account
hub / github.com/astercloud/aster / Save

Method Save

pkg/memory/preference_storage.go:49–70  ·  view source on GitHub ↗

Save 实现 PreferenceStorage 接口

(
	ctx context.Context,
	userID string,
	preferences []*Preference,
)

Source from the content-addressed store, hash-verified

47
48// Save 实现 PreferenceStorage 接口
49func (fs *FilePreferenceStorage) Save(
50 ctx context.Context,
51 userID string,
52 preferences []*Preference,
53) error {
54 fs.mu.Lock()
55 defer fs.mu.Unlock()
56
57 // 序列化为 JSON
58 data, err := json.MarshalIndent(preferences, "", " ")
59 if err != nil {
60 return fmt.Errorf("failed to marshal preferences: %w", err)
61 }
62
63 // 写入文件
64 filePath := filepath.Join(fs.dir, userID+".json")
65 if err := os.WriteFile(filePath, data, 0644); err != nil {
66 return fmt.Errorf("failed to write file: %w", err)
67 }
68
69 return nil
70}
71
72// Load 实现 PreferenceStorage 接口
73func (fs *FilePreferenceStorage) Load(

Calls 1

JoinMethod · 0.45