예제 #1
0
 @RequestMapping(value = "/{storyId}", method = RequestMethod.PUT)
 @Interceptors({ProjectMemberRequired.class})
 @ResponseBody
 @Caching(
     evict = {
       @CacheEvict(value = GET_STORIES_CACHE, key = "#projectId + '*'"),
       @CacheEvict(value = IterationApiController.ITERATION_CACHE_NAME, key = "#projectId + '*'"),
       @CacheEvict(value = IterationApiController.ITERATIONS_CACHE_NAME, key = "#projectId + '*'")
     })
 public StoryDTO updateStory(
     @PathVariable("companyId") int companyId,
     @PathVariable("projectId") int projectId,
     @PathVariable("storyId") int storyId,
     @Valid @RequestBody StoryForm form) {
   Story story = storyService.getStoryByIdWithoutChilds(storyId);
   form.setId(storyId);
   if (form.getParentStoryId() != null && form.getParentStoryId() != story.getParentStoryId()) {
     boolean succeed = storyService.changeStoryParentStoryId(storyId, form.getParentStoryId());
     if (!succeed) {
       throw new BadRequestException();
     }
   }
   storyService.updateStoryWithoutChangingParent(form);
   Story updatedStory = storyService.getById(story.getId());
   StoryDTO storyDTO = StoryTransform.storyToStoryDTO(updatedStory);
   fillStoryDTO(storyDTO);
   return storyDTO;
 }
예제 #2
0
  @RequestMapping(value = "", method = RequestMethod.POST)
  @Interceptors({ProjectMemberRequired.class})
  @ResponseBody
  @Caching(evict = {@CacheEvict(value = GET_STORIES_CACHE, key = "#projectId + '*'")})
  public StoryDTO newStory(
      @PathVariable("companyId") int companyId,
      @PathVariable("projectId") int projectId,
      @Valid @RequestBody StoryForm storyForm) {
    storyForm.setProjectId(projectId);
    storyForm.setCompanyId(companyId);
    storyForm.setCreatorId(sessionService.getCurrentUser().getId());
    storyForm.setCreatorName(sessionService.getCurrentUser().getName());
    Story story = storyService.create(storyForm);

    StoryDTO storyDTO = StoryTransform.storyToStoryDTO(story);
    fillStoryDTO(storyDTO);
    return storyDTO;
  }