MCPcopy Create free account
hub / github.com/tbphp/gpt-load / GetSettings

Method GetSettings

internal/handler/settings_handler.go:17–57  ·  view source on GitHub ↗

GetSettings handles the GET /api/settings request. It retrieves all system settings, groups them by category, and returns them.

(c *gin.Context)

Source from the content-addressed store, hash-verified

15// GetSettings handles the GET /api/settings request.
16// It retrieves all system settings, groups them by category, and returns them.
17func (s *Server) GetSettings(c *gin.Context) {
18 currentSettings := s.SettingsManager.GetSettings()
19 settingsInfo := utils.GenerateSettingsMetadata(&currentSettings)
20
21 // Translate settings info
22 for i := range settingsInfo {
23 // Translate name if it's an i18n key
24 if strings.HasPrefix(settingsInfo[i].Name, "config.") {
25 settingsInfo[i].Name = i18n.Message(c, settingsInfo[i].Name)
26 }
27 // Translate description if it's an i18n key
28 if strings.HasPrefix(settingsInfo[i].Description, "config.") {
29 settingsInfo[i].Description = i18n.Message(c, settingsInfo[i].Description)
30 }
31 // Translate category if it's an i18n key
32 if strings.HasPrefix(settingsInfo[i].Category, "config.") {
33 settingsInfo[i].Category = i18n.Message(c, settingsInfo[i].Category)
34 }
35 }
36
37 // Group settings by category while preserving order
38 categorized := make(map[string][]models.SystemSettingInfo)
39 var categoryOrder []string
40 for _, s := range settingsInfo {
41 if _, exists := categorized[s.Category]; !exists {
42 categoryOrder = append(categoryOrder, s.Category)
43 }
44 categorized[s.Category] = append(categorized[s.Category], s)
45 }
46
47 // Create the response structure in the correct order
48 var responseData []models.CategorizedSettings
49 for _, categoryName := range categoryOrder {
50 responseData = append(responseData, models.CategorizedSettings{
51 CategoryName: categoryName,
52 Settings: categorized[categoryName],
53 })
54 }
55
56 response.Success(c, responseData)
57}
58
59// UpdateSettings handles the PUT /api/settings request.
60func (s *Server) UpdateSettings(c *gin.Context) {

Callers 6

runLoopMethod · 0.45
RecordMethod · 0.45
flushMethod · 0.45
cleanupExpiredLogsMethod · 0.45
GetGroupConfigOptionsMethod · 0.45
getSecurityWarningsMethod · 0.45

Calls 3

GenerateSettingsMetadataFunction · 0.92
MessageFunction · 0.92
SuccessFunction · 0.92

Tested by

no test coverage detected