feat(scum): rebuild plugin-owned management data

This commit is contained in:
npc0-hue
2026-08-15 12:43:09 +08:00
parent 92b1159cc8
commit 65353cf269
113 changed files with 3116 additions and 8058 deletions
+18
View File
@@ -11,6 +11,24 @@ type PluginDataPutRequest struct {
Value map[string]any `json:"value"`
}
type PluginDataMutationBody struct {
Operation string `json:"operation"`
Key string `json:"key"`
Value map[string]any `json:"value,omitempty"`
}
type PluginDataTransactionRequest struct {
Mutations []PluginDataMutationBody `json:"mutations"`
}
func (request PluginDataTransactionRequest) ToDomain(pluginID, serverInstanceID, collection string) domain.PluginDataTransaction {
mutations := make([]domain.PluginDataMutation, len(request.Mutations))
for index, mutation := range request.Mutations {
mutations[index] = domain.PluginDataMutation{Operation: domain.PluginDataMutationOperation(mutation.Operation), Key: mutation.Key, Value: mutation.Value}
}
return domain.PluginDataTransaction{PluginID: pluginID, ServerInstanceID: serverInstanceID, Collection: collection, Mutations: mutations}
}
type PluginDataRecordResponse struct {
Key string `json:"key"`
Value map[string]any `json:"value"`