Skip to content
Snippets Groups Projects
Commit 50a719ce authored by digrazia2038's avatar digrazia2038
Browse files

public dashboards

parent ecda5cc4
Branches
No related tags found
No related merge requests found
...@@ -11,6 +11,7 @@ import lombok.Getter; ...@@ -11,6 +11,7 @@ import lombok.Getter;
public enum TargetType { public enum TargetType {
PERSON ("PERSON"), PERSON ("PERSON"),
GROUP ("GROUP"), GROUP ("GROUP"),
PUBLIC ("PUBLIC"),
ROLE ("ROLE"); ROLE ("ROLE");
@Getter private String code; @Getter private String code;
......
...@@ -51,11 +51,13 @@ public class SecurityConfig extends KeycloakWebSecurityConfigurerAdapter { ...@@ -51,11 +51,13 @@ public class SecurityConfig extends KeycloakWebSecurityConfigurerAdapter {
@Override @Override
protected void configure(HttpSecurity http) throws Exception{ protected void configure(HttpSecurity http) throws Exception{
super.configure(http); super.configure(http);
http.cors().and()
http.cors().and().csrf().disable().authorizeRequests() .anonymous().and().csrf().disable().authorizeRequests()
.antMatchers("/api/menu-blocks").permitAll()
.antMatchers("/api/**").hasAnyAuthority("ROLE_USER", "ROLE_ADMIN") .antMatchers("/api/**").hasAnyAuthority("ROLE_USER", "ROLE_ADMIN")
.antMatchers("/user/**").hasAnyAuthority("ROLE_USER", "ROLE_ADMIN") .antMatchers("/user/**").hasAnyAuthority("ROLE_USER", "ROLE_ADMIN")
.antMatchers("/app/info").permitAll() .antMatchers("/app/info").permitAll()
.antMatchers("/public/public-menu-blocks").permitAll()
.anyRequest().permitAll() // giving access to e.g. swagger .anyRequest().permitAll() // giving access to e.g. swagger
.and().httpBasic(); // Authenticate users with HTTP basic authentication .and().httpBasic(); // Authenticate users with HTTP basic authentication
......
...@@ -128,9 +128,8 @@ public class MenuBlockResource { ...@@ -128,9 +128,8 @@ public class MenuBlockResource {
} }
@GetMapping("/public-menu-blocks") @GetMapping("/public-menu-blocks")
public ResponseEntity<List<MenuBlockDTO>> getAllPublicMenuBlocks() { public ResponseEntity<List<MenuBlockDTO>> getAllPublicMenuBlocks() {
log.debug("REST request to get Shared Linked MenuBlocks"); log.debug("REST request to get PUBLIC MenuBlocks");
String createdBy = SecurityUtils.getCurrentUserLogin().orElse(Constants.SYSTEM); List<MenuBlockDTO> list = menuBlockService.findAll();
List<MenuBlockDTO> list = menuBlockService.findLinkedItems(MenuType.SHARED, createdBy);
return ResponseEntity.ok().body(list); return ResponseEntity.ok().body(list);
} }
......
...@@ -23,11 +23,13 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -23,11 +23,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import it.eng.urbanite.dashboard.config.Constants; import it.eng.urbanite.dashboard.config.Constants;
import it.eng.urbanite.dashboard.model.enumeration.MenuType;
import it.eng.urbanite.dashboard.repository.MenuItemRepository; import it.eng.urbanite.dashboard.repository.MenuItemRepository;
import it.eng.urbanite.dashboard.security.SecurityUtils; import it.eng.urbanite.dashboard.security.SecurityUtils;
import it.eng.urbanite.dashboard.service.MenuItemQueryService; import it.eng.urbanite.dashboard.service.MenuItemQueryService;
import it.eng.urbanite.dashboard.service.MenuItemService; import it.eng.urbanite.dashboard.service.MenuItemService;
import it.eng.urbanite.dashboard.service.criteria.MenuItemCriteria; import it.eng.urbanite.dashboard.service.criteria.MenuItemCriteria;
import it.eng.urbanite.dashboard.service.criteria.MenuItemCriteria.MenuTypeFilter;
import it.eng.urbanite.dashboard.service.dto.MenuItemDTO; import it.eng.urbanite.dashboard.service.dto.MenuItemDTO;
import it.eng.urbanite.dashboard.web.error.BadRequestAlertException; import it.eng.urbanite.dashboard.web.error.BadRequestAlertException;
import tech.jhipster.service.filter.LongFilter; import tech.jhipster.service.filter.LongFilter;
...@@ -112,6 +114,7 @@ public class MenuItemResource { ...@@ -112,6 +114,7 @@ public class MenuItemResource {
return ResponseEntity.ok().body(menuItemDTO.orElse(null)); return ResponseEntity.ok().body(menuItemDTO.orElse(null));
} }
@GetMapping("/menu-items-bypage/{pageId}") @GetMapping("/menu-items-bypage/{pageId}")
public ResponseEntity<List<MenuItemDTO>> getMenuItemsByPageId(@PathVariable Long pageId) { public ResponseEntity<List<MenuItemDTO>> getMenuItemsByPageId(@PathVariable Long pageId) {
MenuItemCriteria criteria = new MenuItemCriteria(); MenuItemCriteria criteria = new MenuItemCriteria();
...@@ -126,6 +129,7 @@ public class MenuItemResource { ...@@ -126,6 +129,7 @@ public class MenuItemResource {
return ResponseEntity.ok().body(list); return ResponseEntity.ok().body(list);
} }
@DeleteMapping("/menu-items/{id}") @DeleteMapping("/menu-items/{id}")
public ResponseEntity<Void> deleteMenuItem(@PathVariable Long id) { public ResponseEntity<Void> deleteMenuItem(@PathVariable Long id) {
log.debug("REST request to delete MenuItem : {}", id); log.debug("REST request to delete MenuItem : {}", id);
...@@ -133,4 +137,18 @@ public class MenuItemResource { ...@@ -133,4 +137,18 @@ public class MenuItemResource {
return ResponseEntity.noContent().build(); return ResponseEntity.noContent().build();
} }
@GetMapping("/public-menu-item")
public ResponseEntity<List<MenuItemDTO>> getPublicMenuItem() {
MenuItemCriteria criteria = new MenuItemCriteria();
MenuTypeFilter filter = new MenuTypeFilter();
filter.setEquals(MenuType.SHARED);
criteria.setType(filter);
System.out.println(criteria.toString());
log.debug("REST request to get MenuItem by criteria: {}", criteria);
List<MenuItemDTO> list = menuItemQueryService.findByCriteria(criteria);
log.debug("REST result for MenuItem: size is " + list.size());
return ResponseEntity.ok().body(list);
}
} }
package it.eng.urbanite.dashboard.web;
import java.net.URI;
import java.net.URISyntaxException;
import java.time.Instant;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.validation.Valid;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import it.eng.urbanite.dashboard.config.Constants;
import it.eng.urbanite.dashboard.model.enumeration.CloningOpionType;
import it.eng.urbanite.dashboard.model.enumeration.MenuType;
import it.eng.urbanite.dashboard.repository.DashboardPageRepository;
import it.eng.urbanite.dashboard.security.SecurityUtils;
import it.eng.urbanite.dashboard.service.DashboardPageQueryService;
import it.eng.urbanite.dashboard.service.DashboardPageService;
import it.eng.urbanite.dashboard.service.UserService;
import it.eng.urbanite.dashboard.service.criteria.DashboardPageCriteria;
import it.eng.urbanite.dashboard.service.dto.DashboardPageCloningDTO;
import it.eng.urbanite.dashboard.service.dto.DashboardPageDTO;
import it.eng.urbanite.dashboard.utils.HeaderUtil;
import it.eng.urbanite.dashboard.web.error.BadRequestAlertException;
import tech.jhipster.service.filter.BooleanFilter;
import org.keycloak.representations.idm.UserRepresentation;
/**
* REST controller for managing {@link it.eng.urbanite.dashboard.domain.DashboardPage}.
*/
@RestController
@CrossOrigin
@RequestMapping("/public")
public class PublicDashboardPageResource {
private final Logger log = LoggerFactory.getLogger(DashboardPageResource.class);
private static final String ENTITY_NAME = "dashboardPage";
private String applicationName = Constants.APP_NAME;
private final DashboardPageService dashboardPageService;
private final DashboardPageRepository dashboardPageRepository;
private final DashboardPageQueryService dashboardPageQueryService;
private final UserService userService;
public PublicDashboardPageResource(
DashboardPageService dashboardPageService,
DashboardPageRepository dashboardPageRepository,
DashboardPageQueryService dashboardPageQueryService,
UserService userService
) {
this.dashboardPageService = dashboardPageService;
this.dashboardPageRepository = dashboardPageRepository;
this.dashboardPageQueryService = dashboardPageQueryService;
this.userService = userService;
}
@GetMapping("/dashboards")
public ResponseEntity<List<DashboardPageDTO>> getAllPublicDashboardPages() {
log.debug("REST request to get DashboardPages");
List<DashboardPageDTO> list = dashboardPageService.findAll()
.stream()
.filter(d -> d.getType().equals(MenuType.PUBLIC))
.collect(Collectors.toList());
return ResponseEntity.ok().body(list);
}
}
...@@ -23,15 +23,18 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -23,15 +23,18 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import it.eng.urbanite.dashboard.config.Constants; import it.eng.urbanite.dashboard.config.Constants;
import it.eng.urbanite.dashboard.model.enumeration.TargetType;
import it.eng.urbanite.dashboard.repository.TargetRepository; import it.eng.urbanite.dashboard.repository.TargetRepository;
import it.eng.urbanite.dashboard.security.SecurityUtils; import it.eng.urbanite.dashboard.security.SecurityUtils;
import it.eng.urbanite.dashboard.service.TargetQueryService; import it.eng.urbanite.dashboard.service.TargetQueryService;
import it.eng.urbanite.dashboard.service.TargetService; import it.eng.urbanite.dashboard.service.TargetService;
import it.eng.urbanite.dashboard.service.criteria.TargetCriteria; import it.eng.urbanite.dashboard.service.criteria.TargetCriteria;
import it.eng.urbanite.dashboard.service.criteria.TargetCriteria.TargetTypeFilter;
import it.eng.urbanite.dashboard.service.dto.TargetDTO; import it.eng.urbanite.dashboard.service.dto.TargetDTO;
import it.eng.urbanite.dashboard.utils.HeaderUtil; import it.eng.urbanite.dashboard.utils.HeaderUtil;
import it.eng.urbanite.dashboard.web.error.BadRequestAlertException; import it.eng.urbanite.dashboard.web.error.BadRequestAlertException;
import tech.jhipster.service.filter.LongFilter; import tech.jhipster.service.filter.LongFilter;
import tech.jhipster.service.filter.StringFilter;
/** /**
* REST controller for managing {@link it.eng.urbanite.dashboard.domain.Target}. * REST controller for managing {@link it.eng.urbanite.dashboard.domain.Target}.
...@@ -115,6 +118,20 @@ public class TargetResource { ...@@ -115,6 +118,20 @@ public class TargetResource {
return ResponseEntity.ok().body(list); return ResponseEntity.ok().body(list);
} }
@GetMapping("/targets-bytype/{type}")
public ResponseEntity<List<TargetDTO>> getTargetByType(@PathVariable TargetType type) {
TargetCriteria criteria = new TargetCriteria();
TargetTypeFilter filter = new TargetTypeFilter();
filter.setEquals(type);
criteria.setType(new TargetTypeFilter(filter));
log.debug("REST request to get Targets by criteria: {}", criteria);
List<TargetDTO> list = targetQueryService.findByCriteria(criteria);
log.debug("REST result for Targets: size is " + list.size());
return ResponseEntity.ok().body(list);
}
@GetMapping("/targets/{id}") @GetMapping("/targets/{id}")
public ResponseEntity<TargetDTO> getTarget(@PathVariable Long id) { public ResponseEntity<TargetDTO> getTarget(@PathVariable Long id) {
log.debug("REST request to get Target : {}", id); log.debug("REST request to get Target : {}", id);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment