(c *gin.Context)
| 1110 | } |
| 1111 | |
| 1112 | func 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 | |
| 1145 | func parsePutSettingsHookRequest(c *gin.Context) (settingspkg.CollectionItemPutRequest, error) { |
| 1146 | var body struct { |
no test coverage detected