@@ -216,7 +216,7 @@ [FromBody] MissionQuery customMissionQuery
216216 /// <response code="200"> The mission definition was successfully updated </response>
217217 /// <response code="400"> The mission definition data is invalid </response>
218218 /// <response code="404"> There was no mission definition with the given ID in the database </response>
219- [ HttpPut ]
219+ [ HttpPatch ]
220220 [ Authorize ( Roles = Role . User ) ]
221221 [ Route ( "{id}" ) ]
222222 [ ProducesResponseType ( typeof ( MissionDefinitionResponse ) , StatusCodes . Status200OK ) ]
@@ -235,24 +235,31 @@ [FromBody] UpdateMissionDefinitionQuery missionDefinitionQuery
235235 logger . LogInformation ( "Updating mission definition with id '{Id}'" , id ) ;
236236
237237 if ( ! ModelState . IsValid )
238- {
239238 return BadRequest ( "Invalid data." ) ;
240- }
241239
242240 var missionDefinition = await missionDefinitionService . ReadById ( id , readOnly : false ) ;
243241 if ( missionDefinition == null )
244- {
245242 return NotFound ( $ "Could not find mission definition with id '{ id } '") ;
246- }
247243
248- if ( missionDefinitionQuery . Name == null )
244+ if ( missionDefinitionQuery . Name != null )
245+ missionDefinition . Name = missionDefinitionQuery . Name ;
246+
247+ if ( missionDefinitionQuery . Comment != null )
248+ missionDefinition . Comment = missionDefinitionQuery . Comment ;
249+
250+ if ( missionDefinitionQuery . InspectionFrequency != null )
251+ missionDefinition . InspectionFrequency = missionDefinitionQuery . InspectionFrequency ;
252+
253+ if ( missionDefinitionQuery . Tasks != null )
249254 {
250- return BadRequest ( "Name cannot be null." ) ;
255+ missionDefinition . Tasks =
256+ [
257+ .. missionDefinitionQuery . Tasks . Select (
258+ ( taskQuery , index ) => new TaskDefinition ( taskQuery , index + 1 )
259+ ) ,
260+ ] ;
251261 }
252262
253- missionDefinition . Name = missionDefinitionQuery . Name ;
254- missionDefinition . Comment = missionDefinitionQuery . Comment ;
255- missionDefinition . InspectionFrequency = missionDefinitionQuery . InspectionFrequency ;
256263 if ( missionDefinitionQuery . SchedulingTimesCETperWeek != null )
257264 {
258265 var schedulingTimesCETperWeek = missionDefinitionQuery
0 commit comments