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 }