Migrate remaining configuration documents to ConfigKit

This commit is contained in:
2026-09-07 04:02:21 +00:00
parent 9e40c729e1
commit f0225e937c
13 changed files with 297 additions and 398 deletions

View File

@@ -0,0 +1,32 @@
package config
import (
"fmt"
configkit "gitea.maximumdirect.net/eric/ConfigKit"
)
const maxConfigDocumentBytes int64 = 8 << 20
func loadCampaignWithConfigKit(path string) (*CampaignConfig, error) {
result, err := configkit.Load(configkit.File(path), configkit.Options[CampaignConfig]{
Definition: configkit.Definition[CampaignConfig]{},
})
if err != nil {
return nil, describeConfigKitLoadError("campaign", err)
}
return &result.Config, nil
}
func loadSessionWithConfigKit(label string, data []byte) (*SessionConfig, error) {
if int64(len(data)) > maxConfigDocumentBytes {
return nil, fmt.Errorf("load session config: session file %q exceeds %d-byte limit", label, maxConfigDocumentBytes)
}
result, err := configkit.Load(configkit.Bytes(label, data), configkit.Options[SessionConfig]{
Definition: configkit.Definition[SessionConfig]{},
})
if err != nil {
return nil, describeConfigKitLoadError("session", err)
}
return &result.Config, nil
}