/** * @param resourceDTO * @param siteId * @param comment * @return * @throws IOException * @throws ValidationException */ @PreAuthorize( "@tiiltaAuthorization.hasPermission('TemplatingDjango', @userService.getConnected())") @RequestMapping( value = "/bender/{siteId:.+}/resource", method = RequestMethod.POST, headers = {"content-type=application/json"}) public ResponseEntity<BenderResource> createResource( @RequestBody @Valid BenderResource resourceDTO, @PathVariable("siteId") String siteId, @RequestParam(value = "comment", required = false) String comment) throws IOException, ValidationException { ResponseEntity<BenderResource> result = new ResponseEntity<>(null, new HttpHeaders(), HttpStatus.BAD_REQUEST); Site site = siteService.getSite(siteId); if (site == null) { throw new ValidationException("Le site est inconnu"); } User user = userService.getConnected(); resourceDTO.setSite(siteId); resourceDTO.setCreationDate(new Date()); resourceDTO.setUpdateDate(new Date()); // set Resource Path // format path with Path.get resourceDTO.setPath( Paths.get( resourceDTO.getPath() + File.separator + resourceDTO.getName() + "." + StringUtils.lowerCase(resourceDTO.getType())) .toString()); BenderResource createdResource = benderService.persist(resourceDTO); if (createdResource != null) result = new ResponseEntity<>( this.getResourceById(createdResource.getId(), null, siteId), new HttpHeaders(), HttpStatus.OK); return result; }
/** * @param siteId * @param id * @return * @throws ValidationException */ @PreAuthorize( "@tiiltaAuthorization.hasPermission('TemplatingDjango', @userService.getConnected())") @RequestMapping(value = "/bender/{siteId:.+}/resource/{id}/revisions", method = RequestMethod.GET) @ResponseBody public List<EntityVersionInfo> getListRevision( @PathVariable("siteId") String siteId, @PathVariable("id") String id) throws ValidationException { List<EntityVersionInfo> versionBeans = new ArrayList<>(); Site site = siteService.getSite(siteId); if (site == null) { throw new ValidationException("Le site est inconnu"); } BenderResource resourceDTO = new BenderResource(); resourceDTO = benderService.getResourceById(id, null); if (resourceDTO != null) { versionBeans.addAll( benderService.getListRevision(site.getEditoRootPath(), resourceDTO.getPath(), 10l)); } return versionBeans; }