MCPcopy Create free account
hub / github.com/compozy/agh / parsePutSettingsSandboxRequest

Function parsePutSettingsSandboxRequest

internal/api/core/settings.go:1112–1143  ·  view source on GitHub ↗
(c *gin.Context)

Source from the content-addressed store, hash-verified

1110}
1111
1112func parsePutSettingsSandboxRequest(c *gin.Context) (settingspkg.CollectionItemPutRequest, error) {
1113 var body struct {
1114 Profile *contract.SettingsSandboxProfilePayload `json:"profile"`
1115 }
1116 if err := c.ShouldBindJSON(&body); err != nil {
1117 return settingspkg.CollectionItemPutRequest{}, NewSettingsValidationError(
1118 fmt.Errorf("decode sandbox settings request: %w", err),
1119 )
1120 }
1121 if body.Profile == nil {
1122 return settingspkg.CollectionItemPutRequest{}, NewSettingsValidationError(
1123 errors.New("sandboxes.profile is required"),
1124 )
1125 }
1126 req, err := parseSettingsCollectionRequest(c, settingspkg.CollectionSandboxes)
1127 if err != nil {
1128 return settingspkg.CollectionItemPutRequest{}, err
1129 }
1130 name, err := requiredSettingsPathValue(c.Param("name"), "name")
1131 if err != nil {
1132 return settingspkg.CollectionItemPutRequest{}, err
1133 }
1134 profile, err := sandboxProfileFromPayload(*body.Profile)
1135 if err != nil {
1136 return settingspkg.CollectionItemPutRequest{}, err
1137 }
1138 return settingspkg.CollectionItemPutRequest{
1139 CollectionRequest: req,
1140 Name: name,
1141 Sandbox: &profile,
1142 }, nil
1143}
1144
1145func parsePutSettingsHookRequest(c *gin.Context) (settingspkg.CollectionItemPutRequest, error) {
1146 var body struct {

Callers 1

PutSettingsSandboxMethod · 0.85

Calls 4

Tested by

no test coverage detected