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

Implemented PUBLIC visibility

parent 2e1e32f2
No related branches found
No related tags found
No related merge requests found
package it.eng.urbanite.dashboard;
import java.time.Instant;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
import it.eng.urbanite.dashboard.model.enumeration.MenuType;
import it.eng.urbanite.dashboard.service.MenuBlockService;
import it.eng.urbanite.dashboard.service.dto.MenuBlockDTO;
import lombok.extern.slf4j.Slf4j;
@Component
@Slf4j
public class Runner implements ApplicationRunner {
private final Logger log = LoggerFactory.getLogger(Runner.class);
@Autowired
private MenuBlockService menuBlockService;
@Override
public void run(ApplicationArguments args) throws Exception {
// TODO Auto-generated method stub
if (hasRows()) {
log.info("------------------ Start creating menu blocks ------------------");
try {
initPersonalMenuBlock();
initSharedMenuBlock();
initPublicMenuBlock();
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
log.info("------------------ Menu blocks created ------------------");
}
void initPersonalMenuBlock() {
// logger.info("\n");
// logger.info("------------------ Start inserting pilots ------------------");
MenuBlockDTO menuBlockDTO = new MenuBlockDTO();
menuBlockDTO.setId((long) 2000);
menuBlockDTO.setCode("PERSONAL_DASHBOARDS");
menuBlockDTO.setCreatedBy("waste manager");
// GET THE USERNAME FOR EACH USER AND CHECK FOR EMPTY FOR THE
// USER!!!!!!!!!!!!!!!!!!!
menuBlockDTO.setCreatedDate(Instant.now());
menuBlockDTO.setIcon(null);
menuBlockDTO.setLabel("PERSONAL DASHBOARDS");
menuBlockDTO.setType(MenuType.PERSONAL);
menuBlockService.save(menuBlockDTO);
// logger.info("------------------ End inserting pilots ------------------");
// logger.info("\n");
}
void initSharedMenuBlock() {
// logger.info("\n");
// logger.info("------------------ Start inserting pilots ------------------");
MenuBlockDTO menuBlockDTO = new MenuBlockDTO();
menuBlockDTO.setId((long) 2000);
menuBlockDTO.setCode("SHARED_DASHBOARDS");
menuBlockDTO.setCreatedBy("waste manager");
// GET THE USERNAME FOR EACH USER AND CHECK FOR EMPTY FOR THE
// USER!!!!!!!!!!!!!!!!!!!
menuBlockDTO.setCreatedDate(Instant.now());
menuBlockDTO.setIcon(null);
menuBlockDTO.setLabel("SHARED DASHBOARDS");
menuBlockDTO.setType(MenuType.SHARED);
menuBlockService.save(menuBlockDTO);
// logger.info("------------------ End inserting pilots ------------------");
// logger.info("\n");
}
void initPublicMenuBlock() {
// logger.info("\n");
// logger.info("------------------ Start inserting pilots ------------------");
MenuBlockDTO menuBlockDTO = new MenuBlockDTO();
menuBlockDTO.setId((long) 2000);
menuBlockDTO.setCode("PUBLIC_DASHBOARDS");
menuBlockDTO.setCreatedBy("waste manager");
// GET THE USERNAME FOR EACH USER AND CHECK FOR EMPTY FOR THE
// USER!!!!!!!!!!!!!!!!!!!
menuBlockDTO.setCreatedDate(Instant.now());
menuBlockDTO.setIcon(null);
menuBlockDTO.setLabel("PUBLIC DASHBOARDS");
menuBlockDTO.setType(MenuType.PUBLIC);
menuBlockService.save(menuBlockDTO);
// logger.info("------------------ End inserting pilots ------------------");
// logger.info("\n");
}
boolean hasRows() {
log.info("------------------ Checking if there are menu blocks ------------------");
return menuBlockService.findAll().isEmpty() ? true : false;
}
}
\ No newline at end of file
......@@ -6,4 +6,5 @@ package it.eng.urbanite.dashboard.model.enumeration;
public enum MenuType {
SHARED,
PERSONAL,
PUBLIC
}
......@@ -82,7 +82,7 @@ public interface MenuBlockRepository extends JpaRepository<MenuBlock, Long>, Jpa
* @param createdBy
* @return List of MenuBlock
*/
@Query(nativeQuery=true, value= "SELECT * from menu_block m where 1=1 and ( (m.created_by = :createdBy and m.type='PERSONAL') or m.type='SHARED' ) " )
@Query(nativeQuery=true, value= "SELECT * from menu_block m where 1=1 and ( (m.created_by = :createdBy and m.type='PERSONAL') or m.type='SHARED' or m.type='PUBLIC' ) " )
List<MenuBlock> findEditable( @Param("createdBy") String createdBy );
......
......@@ -128,10 +128,18 @@ public class MenuBlockResource {
List<MenuBlockDTO> list = menuBlockService.findLinkedItems(MenuType.SHARED, createdBy);
return ResponseEntity.ok().body(list);
}
@GetMapping("/public-menu-blocks")
public ResponseEntity<List<MenuBlockDTO>> getAllPublicMenuBlocks() {
log.debug("REST request to get Shared Linked MenuBlocks");
String createdBy = SecurityUtils.getCurrentUserLogin().orElse(Constants.SYSTEM);
List<MenuBlockDTO> list = menuBlockService.findLinkedItems(MenuType.SHARED, createdBy);
return ResponseEntity.ok().body(list);
}
@GetMapping("/editable-menu-blocks")
public ResponseEntity<List<MenuBlockDTO>> getAllEditableMenuBlocks() {
log.info("REST request to get Editable (SHARED or PERSONAL created-by user) Linked MenuBlocks");
log.info("Update: REST request to get SHARED, PERSONAL and PUBLIC FIXED menu blocks created by default by the system");
List<MenuBlockDTO> list = menuBlockService.findEditableBlocks();
return ResponseEntity.ok().body(list);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment