adding mongodb dump

This commit is contained in:
Azmat-7860
2026-10-29 18:54:50 +05:30
parent cc4aec70df
commit 34c49990c1
6 changed files with 281 additions and 37 deletions
Binary file not shown.
@@ -0,0 +1,221 @@
package com.realnet.config;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Component;
import com.realnet.fnd.entity1.GrpMenuAccess;
import com.realnet.fnd.entity1.MenuDet;
import com.realnet.fnd.repository1.GrpMenuAccessRepository;
import com.realnet.fnd.repository1.MenuDetRepository;
import com.realnet.users.entity.Role;
import com.realnet.users.entity.Sys_Accounts;
import com.realnet.users.entity1.AppUser;
import com.realnet.users.entity1.AppUserRole;
import com.realnet.users.repository.RoleRepo;
import com.realnet.users.repository.SysAccountRepo;
import com.realnet.users.repository1.AppUserRepository;
import com.realnet.users.repository1.AppUserRoleRepository;
@Component
public class MongoDataInitializer implements CommandLineRunner {
private static final Logger LOGGER = LoggerFactory.getLogger(MongoDataInitializer.class);
@Autowired
private RoleRepo roleRepo;
@Autowired
private AppUserRoleRepository appUserRoleRepository;
@Autowired
private SysAccountRepo sysAccountRepo;
@Autowired
private AppUserRepository appUserRepository;
@Autowired
private MenuDetRepository menuDetRepository;
@Autowired
private GrpMenuAccessRepository grpMenuAccessRepository;
@Autowired
private BCryptPasswordEncoder bcryptEncoder;
@Override
public void run(String... args) throws Exception {
LOGGER.info("[MongoDataInitializer] Checking and initializing baseline data...");
// 1. Initialize Roles
Role adminRole = initRole("ROLE_ADMIN", "ADMIN");
Role devRole = initRole("ROLE_Developer", "Developer");
initRole("ROLE_USER", "USER");
initRole("ROLE_DEVEOPS", "DEVEOPS");
// 2. Initialize User Groups (AppUserRole)
AppUserRole adminGrp = initUserGroup(1L, "sysadmin", "System Administrator", 30L);
AppUserRole userGrp = initUserGroup(41L, "users", "Default Users", 20L);
AppUserRole devGrp = initUserGroup(42L, "Developer", "Developers", 25L);
// 3. Initialize Sys_Accounts
Sys_Accounts defaultAccount = initAccount(1L, "Default Account");
// 4. Initialize Default Admin User (sysadmin)
initAdminUser(adminRole, devRole, adminGrp, defaultAccount);
// 5. Initialize Core Navigation Menus
initMenusAndAccess(adminGrp, userGrp);
LOGGER.info("[MongoDataInitializer] Baseline data initialization check complete.");
}
private Role initRole(String name, String description) {
Role r = roleRepo.findByName(name);
if (r == null) {
r = new Role();
r.setName(name);
r.setDescription(description);
r = roleRepo.save(r);
LOGGER.info("[MongoDataInitializer] Created default Role: {}", name);
}
return r;
}
private AppUserRole initUserGroup(Long usrGrpId, String name, String desc, Long level) {
AppUserRole g = appUserRoleRepository.findById(usrGrpId);
if (g == null) {
g = new AppUserRole();
g.setUsrGrp(usrGrpId);
g.setGroupName(name);
g.setGroupDesc(desc);
g.setGroupLevel(level);
g.setStatus("E");
g.setCreatedate(new Date());
g = appUserRoleRepository.save(g);
LOGGER.info("[MongoDataInitializer] Created default AppUserRole group: {} ({})", name, usrGrpId);
}
return g;
}
private Sys_Accounts initAccount(Long accountId, String companyName) {
Sys_Accounts acc = sysAccountRepo.findById(accountId);
if (acc == null) {
acc = new Sys_Accounts();
acc.setAccount_id(accountId);
acc.setCompanyName(companyName);
acc = sysAccountRepo.save(acc);
LOGGER.info("[MongoDataInitializer] Created default Sys_Accounts with ID: {}", accountId);
}
return acc;
}
private void initAdminUser(Role adminRole, Role devRole, AppUserRole adminGrp, Sys_Accounts account) {
AppUser existing = appUserRepository.findByEmail("sysadmin");
if (existing == null) {
existing = appUserRepository.findByEmail("admin");
}
if (existing == null) {
AppUser adminUser = new AppUser();
adminUser.setUsername("sysadmin");
adminUser.setEmail("sysadmin@domain.com");
adminUser.setFullName("System Admin");
adminUser.setUserPassw(bcryptEncoder.encode("sysadmin"));
adminUser.setChangePassw("sysadmin");
adminUser.setActive(true);
adminUser.setIsComplete(true);
adminUser.setUsrGrp(adminGrp);
adminUser.setAccount(account);
adminUser.setCreatedate(java.time.LocalDateTime.now());
Set<Role> roles = new HashSet<>();
if (adminRole != null) roles.add(adminRole);
if (devRole != null) roles.add(devRole);
adminUser.setRoles(roles);
appUserRepository.save(adminUser);
LOGGER.info("[MongoDataInitializer] Created default Admin user: sysadmin / sysadmin");
}
}
private void initMenusAndAccess(AppUserRole adminGrp, AppUserRole userGrp) {
// Only seed menus if the menu table is empty
if (menuDetRepository.findAll().isEmpty()) {
LOGGER.info("[MongoDataInitializer] Seeding core navigation menus...");
// Root: Security
MenuDet sec = createMenu(1116L, 0L, 3000L, "Security", "security", "sec3000", "lock");
MenuDet uMaint = createMenu(1117L, 1116L, 3010L, "User Maintance", "usermaintance", "U1000", null);
MenuDet uGrpMaint = createMenu(1118L, 1116L, 3020L, "User Group Maintance", "usergrpmaintance", "U2000", null);
MenuDet mMaint = createMenu(1523L, 1116L, 3030L, "Menu Maintance", "menumaintance", "M3000", null);
MenuDet mAccess = createMenu(1524L, 1116L, 3040L, "Menu Access Control", "menuaccess", "MA4000", null);
MenuDet sysParam = createMenu(1525L, 1116L, 3050L, "System Parameters", "systemparameters", "SP5000", null);
MenuDet accType = createMenu(1526L, 1116L, 3060L, "Access Type", "accesstype", "A6000", null);
// Root: Transactions
MenuDet trans = createMenu(1577L, 0L, 7000L, "Transactions", "Transactions", "Transactions", "King");
// Root: Masters
MenuDet masters = createMenu(1601L, 0L, 9000L, "Masters", "Masters", "Masters", "data-cluster");
List<MenuDet> allMenus = new ArrayList<>();
allMenus.add(sec);
allMenus.add(uMaint);
allMenus.add(uGrpMaint);
allMenus.add(mMaint);
allMenus.add(mAccess);
allMenus.add(sysParam);
allMenus.add(accType);
allMenus.add(trans);
allMenus.add(masters);
// Grant access to admin group (1) and user group (41)
for (MenuDet m : allMenus) {
grantAccess(adminGrp, m);
grantAccess(userGrp, m);
}
LOGGER.info("[MongoDataInitializer] Core menus and permissions initialized successfully.");
}
}
private MenuDet createMenu(Long menuItemId, Long menuId, Long seq, String desc, String modName, String action, String icon) {
MenuDet m = new MenuDet();
m.setMenuItemId(menuItemId);
m.setMenuId(menuId);
m.setItemSeq(seq);
m.setMenuItemDesc(desc);
m.setModuleName(modName);
m.setMain_menu_action_name(action);
m.setMain_menu_icon_name(icon);
m.setStatus("Enable");
return menuDetRepository.save(m);
}
private void grantAccess(AppUserRole grp, MenuDet menu) {
try {
GrpMenuAccess a = new GrpMenuAccess();
a.setUsrGrp(grp);
a.setMenuItemId(menu);
a.setMenuId(menu.getMenuId());
a.setMVisible("true");
a.setMCreate("true");
a.setMEdit("true");
a.setMDelete("true");
a.setMQuery("true");
a.setMexport("true");
a.setCreatedAt(new Date());
grpMenuAccessRepository.save(a);
} catch (Exception e) {
LOGGER.warn("[MongoDataInitializer] Could not grant access for menu {}: {}", menu.getMenuItemId(), e.getMessage());
}
}
}
@@ -143,16 +143,12 @@ public class SessionController {
MDC.put("USER", loggedInUser.getUsername());
// System.out.println("/session logged in user -> " + loggedInUser);
// List<String> loggedInUserRoles = new ArrayList<String>();
StringBuilder roleString = new StringBuilder();
roleString.append(loggedInUser.getUsrGrp().getGroupName());
// .forEach(role -> {
//// loggedInUserRoles.add(role.getName());
// roleString.append(role.getName() + ", ");
// });
// String role = roleString.toString().substring(0,
// roleString.toString().lastIndexOf(","));
// List<String> roleList = Arrays.asList(role.split("\\s*,\\s*"));
if (loggedInUser.getUsrGrp() != null && loggedInUser.getUsrGrp().getGroupName() != null) {
roleString.append(loggedInUser.getUsrGrp().getGroupName());
} else {
roleString.append("users");
}
SessionResponse resp = new SessionResponse();
SessionItem sessionItem = new SessionItem();
@@ -162,11 +158,19 @@ public class SessionController {
sessionItem.setFirstName(loggedInUser.getFullName());
// sessionItem.setUsername(loggedInUser.getUsername());
sessionItem.setEmail(loggedInUser.getEmail());
// sessionItem.setRoles(roleList);
Set<Role> roles = loggedInUser.getRoles();
List<String> roleList = new ArrayList<>();
for (Role ro : roles) {
roleList.add(ro.getDescription());
if (roles != null) {
for (Role ro : roles) {
if (ro != null && ro.getDescription() != null) {
roleList.add(ro.getDescription());
} else if (ro != null && ro.getName() != null) {
roleList.add(ro.getName());
}
}
}
if (roleList.isEmpty()) {
roleList.add("ROLE_USER");
}
sessionItem.setRoles(roleList);
// sessionItem.setRoles(loggedInUser.getUsrGrp().getGroupName());
@@ -55,15 +55,21 @@ public class AppUserPrinciple implements UserDetails{
// authorities.add(new SimpleGrantedAuthority("ROLE_"+role));
// return authorities;
Set<Role> roles = u.getRoles();
List<SimpleGrantedAuthority> authorities = new ArrayList<>();
for (Role role : roles) {
// authorities.add(new SimpleGrantedAuthority(role.getName().getDeclaringClass().getName()));
authorities.add(new SimpleGrantedAuthority(role.getName()));
}
return authorities;
Set<Role> roles = u.getRoles();
List<SimpleGrantedAuthority> authorities = new ArrayList<>();
if (roles != null) {
for (Role role : roles) {
if (role != null && role.getName() != null) {
authorities.add(new SimpleGrantedAuthority(role.getName()));
}
}
}
if (authorities.isEmpty()) {
authorities.add(new SimpleGrantedAuthority("ROLE_USER"));
}
return authorities;
}
@Override
@@ -87,12 +87,14 @@ public class AppUserServiceImpl implements UserDetailsService, AppUserService {
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
Optional<AppUser> user = appUserRepository.findByUsername(username);
if (user.get() == null) {
throw new UsernameNotFoundException("Invalid Email or password.");
if (!user.isPresent()) {
AppUser userByEmail = appUserRepository.findByEmail(username);
if (userByEmail == null) {
throw new UsernameNotFoundException("Invalid Email or password: " + username);
}
return new AppUserPrinciple(userByEmail);
}
AppUserPrinciple appUserPrinciple = new AppUserPrinciple(user.get());
return appUserPrinciple;
return new AppUserPrinciple(user.get());
}
public List<AppUser> getAllAppUsers(Pageable page) {
@@ -137,13 +139,23 @@ public class AppUserServiceImpl implements UserDetailsService, AppUserService {
if (reg.getUsrGrpId() != null) {
r = appUserRoleRepository.findById(usrGrpId);
}
if (r != null) {
appUser.setUsrGrp(r);
if (r == null) {
r = new AppUserRole();
r.setUsrGrp(usrGrpId != null ? usrGrpId : 41L);
r.setGroupName("users");
r.setGroupDesc("Default Users");
r = appUserRoleRepository.save(r);
}
Long account_id = reg.getAccount_id();
appUser.setUsrGrp(r);
Sys_Accounts account = sysAccountRepo.findById(account_id);
Long account_id = reg.getAccount_id();
Sys_Accounts account = null;
if (account_id != null) {
account = sysAccountRepo.findById(account_id);
}
if (account == null) {
account = sysAccountRepo.findById(1L);
}
appUser.setAccount(account);
appUser.setFullName(reg.getFirst_name() + " " + reg.getLast_name());
appUser.setMob_no(reg.getMob_no());
@@ -156,14 +168,15 @@ public class AppUserServiceImpl implements UserDetailsService, AppUserService {
Set<Role> strRoles = appUser.getRoles();
Set<Role> roles = new HashSet<>();
if (strRoles == null || strRoles.isEmpty()) {
if (strRoles == null || strRoles.isEmpty()) {
String role1 = "ROLE_ADMIN";
// Role role = new Role();
// role.setId(1l);
// role.setName(role1);
// role.setDescription(role1);
// roleRepo.save(role);
Role userRole = roleRepo.findByName(role1);
if (userRole == null) {
userRole = new Role();
userRole.setName(role1);
userRole.setDescription("ADMIN");
userRole = roleRepo.save(userRole);
}
roles.add(userRole);
appUser.setRoles(roles);
}
Binary file not shown.