diff --git a/backend/.factorypath b/backend/.factorypath
index 5602677..8ce71c3 100644
--- a/backend/.factorypath
+++ b/backend/.factorypath
@@ -137,7 +137,7 @@
-
+
diff --git a/backend/logs/ExceptionLogs/Error.log b/backend/logs/ExceptionLogs/Error.log
index d2bb0c7..13666f4 100644
--- a/backend/logs/ExceptionLogs/Error.log
+++ b/backend/logs/ExceptionLogs/Error.log
@@ -51,3 +51,6 @@
2024-01-19T14:14:02.474+0530 ERROR Login Failed No value present
2024-01-19T14:14:03.357+0530 ERROR Login Failed No value present
2026-10-22T16:02:27.789+0530 ERROR Login Failed Cannot invoke "com.realnet.users.entity.Role.getName()" because "role" is null
+2026-11-03T22:44:08.881+0530 ERROR Login Failed Bad credentials
+2026-11-03T22:45:04.751+0530 ERROR Login Failed ac-4fqaq2v-shard-00-01.u9a6g8k.mongodb.net; nested exception is com.mongodb.MongoSocketException: ac-4fqaq2v-shard-00-01.u9a6g8k.mongodb.net
+2026-11-03T22:45:46.935+0530 ERROR Login Failed Query { "$java" : Query: { "username" : "sysadmin"}, Fields: {}, Sort: {} } returned non unique result.
diff --git a/backend/pom.xml b/backend/pom.xml
index 942e1a1..dfc7f4a 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -290,7 +290,7 @@
org.projectlombok
lombok
- 1.18.20
+ 1.18.30
provided
diff --git a/backend/src/main/java/com/realnet/Accesstype_back/Controllers/AccesstypeController.java b/backend/src/main/java/com/realnet/Accesstype_back/Controllers/AccesstypeController.java
new file mode 100644
index 0000000..ac57f8f
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Accesstype_back/Controllers/AccesstypeController.java
@@ -0,0 +1,61 @@
+package com.realnet.Accesstype_back.Controllers;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+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 com.fasterxml.jackson.core.JsonProcessingException;
+import com.realnet.Accesstype_back.Entity.Accesstype;
+import com.realnet.Accesstype_back.Services.AccesstypeService;
+import com.realnet.fnd.response.EntityResponse;
+
+@RequestMapping(value = "/access_type")
+@CrossOrigin(origins = "*", maxAge = 3600)
+@RestController
+public class AccesstypeController {
+
+ @Autowired
+ private AccesstypeService service;
+
+ @PostMapping("/Accesstype")
+ public Accesstype Savedata(@RequestBody Accesstype data) throws JsonProcessingException {
+ Accesstype save = service.Savedata(data);
+ return save;
+ }
+
+ @GetMapping("/Accesstype")
+ public List getdetails() {
+ List get = service.getdetails();
+ return get;
+ }
+
+ @GetMapping("/Accesstype/{id}")
+ public Accesstype getdetailsbyId(@PathVariable Long id) {
+ Accesstype get = service.getdetailsbyId(id);
+ return get;
+ }
+
+ @PutMapping("/Accesstype/{id}")
+ public Accesstype update(@RequestBody Accesstype data, @PathVariable Long id) {
+ Accesstype update = service.update(data, id);
+ return update;
+ }
+
+ @DeleteMapping("/Accesstype/{id}")
+ public ResponseEntity> delete_by_id(@PathVariable Long id) {
+ service.delete_by_id(id);
+ return new ResponseEntity<>(new EntityResponse("deleted"), HttpStatus.OK);
+ }
+}
+
diff --git a/backend/src/main/java/com/realnet/Accesstype_back/Controllers/TokenFreeAccesstypeController.java b/backend/src/main/java/com/realnet/Accesstype_back/Controllers/TokenFreeAccesstypeController.java
new file mode 100644
index 0000000..d4b52e1
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Accesstype_back/Controllers/TokenFreeAccesstypeController.java
@@ -0,0 +1,60 @@
+package com.realnet.Accesstype_back.Controllers;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+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 com.fasterxml.jackson.core.JsonProcessingException;
+import com.realnet.Accesstype_back.Entity.Accesstype;
+import com.realnet.Accesstype_back.Services.AccesstypeService;
+
+@RequestMapping(value = "/token/access_type")
+@CrossOrigin(origins = "*", maxAge = 3600)
+@RestController
+public class TokenFreeAccesstypeController {
+
+ @Autowired
+ private AccesstypeService service;
+
+ @PostMapping("/Accesstype")
+ public Accesstype Savedata(@RequestBody Accesstype data) throws JsonProcessingException {
+ Accesstype save = service.Savedata(data);
+ return save;
+ }
+
+ @GetMapping("/Accesstype")
+ public List getdetails() {
+ List get = service.getdetails();
+ return get;
+ }
+
+ @GetMapping("/Accesstype/{id}")
+ public Accesstype getdetailsbyId(@PathVariable Long id) {
+ Accesstype get = service.getdetailsbyId(id);
+ return get;
+ }
+
+ @PutMapping("/Accesstype/{id}")
+ public Accesstype update(@RequestBody Accesstype data, @PathVariable Long id) {
+ Accesstype update = service.update(data, id);
+ return update;
+ }
+
+ @DeleteMapping("/Accesstype/{id}")
+ public ResponseEntity> delete_by_id(@PathVariable Long id) {
+ service.delete_by_id(id);
+ return new ResponseEntity<>("deleted", HttpStatus.OK);
+ }
+}
+
diff --git a/backend/src/main/java/com/realnet/Accesstype_back/Entity/Accesstype.java b/backend/src/main/java/com/realnet/Accesstype_back/Entity/Accesstype.java
new file mode 100644
index 0000000..d83c58d
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Accesstype_back/Entity/Accesstype.java
@@ -0,0 +1,21 @@
+package com.realnet.Accesstype_back.Entity;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import lombok.Data;
+
+@Document
+@Data
+public class Accesstype {
+
+ @Id
+ private String mongoid;
+
+ private Long id;
+
+ private String name;
+ private String description;
+ private boolean defaultvalue;
+}
+
diff --git a/backend/src/main/java/com/realnet/Accesstype_back/Repository/AccesstypeRepository.java b/backend/src/main/java/com/realnet/Accesstype_back/Repository/AccesstypeRepository.java
new file mode 100644
index 0000000..66197cb
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Accesstype_back/Repository/AccesstypeRepository.java
@@ -0,0 +1,19 @@
+package com.realnet.Accesstype_back.Repository;
+
+import java.util.Optional;
+
+import org.springframework.data.mongodb.repository.MongoRepository;
+import org.springframework.data.mongodb.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import com.realnet.Accesstype_back.Entity.Accesstype;
+
+@Repository
+public interface AccesstypeRepository extends MongoRepository {
+
+ @Query("{'id': ?0}")
+ Optional findById(Long id);
+
+ Optional findTopByOrderByIdDesc();
+}
+
diff --git a/backend/src/main/java/com/realnet/Accesstype_back/Services/AccesstypeService.java b/backend/src/main/java/com/realnet/Accesstype_back/Services/AccesstypeService.java
new file mode 100644
index 0000000..42c01a9
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Accesstype_back/Services/AccesstypeService.java
@@ -0,0 +1,51 @@
+package com.realnet.Accesstype_back.Services;
+
+import java.util.List;
+import java.util.Optional;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.realnet.Accesstype_back.Entity.Accesstype;
+import com.realnet.Accesstype_back.Repository.AccesstypeRepository;
+
+@Service
+public class AccesstypeService {
+
+ @Autowired
+ private AccesstypeRepository repository;
+
+ public Accesstype Savedata(Accesstype data) {
+ if (data.getId() == null || data.getId() <= 0) {
+ Optional top = repository.findTopByOrderByIdDesc();
+ data.setId(top.map(a -> a.getId() + 1).orElse(1L));
+ }
+ return repository.save(data);
+ }
+
+ public List getdetails() {
+ return repository.findAll();
+ }
+
+ public Accesstype getdetailsbyId(Long id) {
+ return repository.findById(id).orElse(null);
+ }
+
+ public void delete_by_id(Long id) {
+ Optional existing = repository.findById(id);
+ existing.ifPresent(a -> repository.delete(a));
+ }
+
+ public Accesstype update(Accesstype data, Long id) {
+ Accesstype old = repository.findById(id).orElse(null);
+ if (old == null) {
+ data.setId(id);
+ return repository.save(data);
+ }
+ old.setName(data.getName());
+ old.setDescription(data.getDescription());
+ old.setDefaultvalue(data.isDefaultvalue());
+ return repository.save(old);
+ }
+}
+
diff --git a/backend/src/main/java/com/realnet/Communication/Services/EmailNotificationService.java b/backend/src/main/java/com/realnet/Communication/Services/EmailNotificationService.java
new file mode 100644
index 0000000..65e07bd
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Communication/Services/EmailNotificationService.java
@@ -0,0 +1,120 @@
+package com.realnet.Communication.Services;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.client.ResourceAccessException;
+import org.springframework.web.client.RestTemplate;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.realnet.config.EmailService;
+import com.realnet.users.service1.AppUserServiceImpl;
+import com.realnet.utils.Port_Constant;
+
+@Service
+public class EmailNotificationService {
+
+ @Autowired
+ private EmailService emailService;
+
+ @Autowired
+ private AppUserServiceImpl userService;
+
+ public void sendDirectEmail(String email, String subject, String message) throws JsonProcessingException {
+ emailService.sendSimpleMessage(null, email, subject, message);
+ }
+
+ public void sendmailViaSetu(String email, String Name, String type) {
+ switch (type) {
+ case "TeamMember":
+ sendEmailTeamMember(email, Name);
+ break;
+ case "WorkSpaceUser":
+ sendEmailtoWorkUser(email, Name);
+ break;
+ case "AddProject":
+ sendEmailAfterAddPrj(email, Name);
+ break;
+ case "CopyProject":
+ sendEmailAfterCopyPrj(email, Name);
+ break;
+ case "CreateWireframe":
+ sendEmailAfterCopyPrj(email, Name);
+ break;
+ default:
+ break;
+ }
+ }
+
+ public ResponseEntity> sendEmailTeamMember(String email, String FullName) {
+ String subject = "Team Added to Workspace";
+ String message = "Dear " + FullName + ",\n\nYou have been added to the workspace.";
+ String templateName = "addproject";
+ String gatewayName = "ganesh";
+ return sendEmailViaSetu(email, message, templateName, gatewayName);
+ }
+
+ public ResponseEntity> sendEmailtoWorkUser(String email, String FullName) {
+ String subject = "Workspace Access Granted";
+ String message = "Dear " + FullName + ",\n\nYou have been granted access to the workspace.";
+ String templateName = "addproject";
+ String gatewayName = "ganesh";
+ return sendEmailViaSetu(email, message, templateName, gatewayName);
+ }
+
+ public ResponseEntity> sendEmailAfterAddPrj(String email, String Name) {
+ String subject = "Add Project";
+ String message = "Project " + Name + " has been created successfully.";
+ String templateName = "addproject";
+ String gatewayName = "ganesh";
+ return sendEmailViaSetu(email, message, templateName, gatewayName);
+ }
+
+ public ResponseEntity> sendEmailAfterCopyPrj(String email, String Name) {
+ String subject = "Copy Project";
+ String message = "Project " + Name + " has been Copied successfully.";
+ String templateName = "addproject";
+ String gatewayName = "ganesh";
+ return sendEmailViaSetu(email, message, templateName, gatewayName);
+ }
+
+ public ResponseEntity> sendEmailAfterCreateWireframe(String email, String Name) {
+ String subject = "Create Wireframe";
+ String message = "A new wireframe has been successfully added to your project.";
+ String templateName = "addproject";
+ String gatewayName = "ganesh";
+ return sendEmailViaSetu(email, message, templateName, gatewayName);
+ }
+
+ public ResponseEntity> sendEmailViaSetu(String email, String message, String templateName, String gatewayName)
+ throws ResourceAccessException {
+ try {
+ String jsonData = "{\r\n" + " \"job_type\": \"Email\",\r\n" + " \"send_to\": \"" + (email != null ? email.trim() : "")
+ + "\",\r\n" + " \"cc\": \"cc@example.com\",\r\n"
+ + " \"gatewaydone\": \"N\",\r\n" + " \"template_name\": \"" + (templateName != null ? templateName.trim() : "") + "\",\r\n"
+ + " \"replacement_string\": \"Hello, {name} " + message + "!\",\r\n" + " \"gatewayName\": \""
+ + (gatewayName != null ? gatewayName.trim() : "") + "\"\r\n" + "}\r\n";
+
+ HttpHeaders headers = new HttpHeaders();
+ MultiValueMap queryParams = new LinkedMultiValueMap<>();
+ queryParams.add("data", jsonData);
+ HttpEntity> requestEntity = new HttpEntity<>(queryParams, headers);
+
+ String apiUrl2 = Port_Constant.SURE_SETU_DOMAIN + "/token/Surecommunication/communication/jobtable/Com_jobTable";
+ RestTemplate restTemplate = new RestTemplate();
+ ResponseEntity responseEntity = restTemplate.postForEntity(apiUrl2, requestEntity, String.class);
+ return ResponseEntity.ok(responseEntity.getBody());
+ } catch (ResourceAccessException e) {
+ throw new ResourceAccessException("communication server no start..." + e);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
+ }
+ }
+}
+
diff --git a/backend/src/main/java/com/realnet/Dashboard1/Controller/Dashbord1Controller.java b/backend/src/main/java/com/realnet/Dashboard1/Controller/Dashbord1Controller.java
new file mode 100644
index 0000000..486e506
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Dashboard1/Controller/Dashbord1Controller.java
@@ -0,0 +1,93 @@
+package com.realnet.Dashboard1.Controller;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+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.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.realnet.Dashboard1.Entity.Dashbord1_Line;
+import com.realnet.Dashboard1.Entity.Dashbord_Header;
+import com.realnet.Dashboard1.Repository.HeaderRepository;
+import com.realnet.Dashboard1.Service.HeaderService;
+
+@RestController
+@CrossOrigin(origins = "*", maxAge = 3600)
+public class Dashbord1Controller {
+
+ @Autowired
+ private HeaderService headerService;
+
+ @Autowired
+ private HeaderRepository headerRepository;
+
+ @PostMapping("/Savedata")
+ public Dashbord_Header Savedata(@RequestBody Dashbord_Header dashbord_Header) {
+ Dashbord_Header dash = headerService.Savedata(dashbord_Header);
+ return dash;
+ }
+
+ @GetMapping("/get_Dashboard_header")
+ public List getdetails() {
+ List dash = headerService.getdetails();
+ return dash;
+ }
+
+ @GetMapping("/get_all_lines")
+ public List get_all_lines() {
+ List dash = headerService.get_all_lines();
+ return dash;
+ }
+
+ @GetMapping("/get_module_id")
+ public List get_by_module_id(@RequestParam(value = "module_id") int module_id) {
+ List module = headerService.get_by_module_id(module_id);
+ return module;
+ }
+
+ @GetMapping("/get_dashboard_headerbyid/{id}")
+ public Dashbord_Header getdetailsbyId(@PathVariable int id) {
+ Dashbord_Header dash = headerService.getdetailsbyId(id);
+ return dash;
+ }
+
+ @PutMapping("/update_dashboard_header")
+ public Dashbord_Header update_dashboard_header(@RequestBody Dashbord_Header dashbord_Header) {
+ Dashbord_Header dash = headerService.update_dashboard_header(dashbord_Header);
+ return dash;
+ }
+
+ @PutMapping("/update_Dashbord1_Lineby_id/{id}")
+ public Dashbord1_Line update_Dashbord1_Lineby_id(@PathVariable int id, @RequestBody Dashbord1_Line dashbord1_Line) {
+ Dashbord1_Line dash = headerService.update_Dashbord1_Lineby_id(id, dashbord1_Line);
+ return dash;
+ }
+
+ @PostMapping("/update_Dashbord1_Line")
+ public Dashbord1_Line update_Dashbord1_Line(@RequestBody Dashbord1_Line dashbord1_Line) {
+ Dashbord1_Line dash1 = headerService.update_Dashbord1_Line(dashbord1_Line);
+ return dash1;
+ }
+
+ @DeleteMapping("/delete_by_header_id/{id}")
+ public void delete_by_id(@PathVariable int id) {
+ headerService.delete_by_id(id);
+ }
+
+ @GetMapping("/get_dashboard/{module_id}")
+ public ResponseEntity> getREPORT(@PathVariable Integer module_id) {
+ List list = headerRepository.findbydashboardmodule(module_id);
+ int count = list != null ? list.size() : 0;
+ return new ResponseEntity<>(count, HttpStatus.OK);
+ }
+}
+
diff --git a/backend/src/main/java/com/realnet/Dashboard1/Entity/Dashbord1_Line.java b/backend/src/main/java/com/realnet/Dashboard1/Entity/Dashbord1_Line.java
new file mode 100644
index 0000000..63ab34b
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Dashboard1/Entity/Dashbord1_Line.java
@@ -0,0 +1,31 @@
+package com.realnet.Dashboard1.Entity;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+
+@ToString(exclude = { "dashbord_Header" })
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Document
+public class Dashbord1_Line extends dashbord_Who_collumn {
+
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ private String mongoid;
+
+ private Integer id;
+
+ private String header_id;
+
+ private String Model;
+
+ private String common_filter;
+
+ private Dashbord_Header dashbord_Header;
+}
+
diff --git a/backend/src/main/java/com/realnet/Dashboard1/Entity/Dashbord_Header.java b/backend/src/main/java/com/realnet/Dashboard1/Entity/Dashbord_Header.java
new file mode 100644
index 0000000..488cbbd
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Dashboard1/Entity/Dashbord_Header.java
@@ -0,0 +1,51 @@
+package com.realnet.Dashboard1.Entity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+
+@ToString(exclude = { "dashbord1_Line" })
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Document
+public class Dashbord_Header extends dashbord_Who_collumn {
+
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ private String mongoid;
+
+ private Integer id;
+
+ private String menuName;
+
+ private boolean updated;
+
+ private String tech_Stack;
+
+ private String object_type;
+ private String sub_object_type;
+
+ private boolean build;
+
+ private boolean testing;
+
+ private String dashboard_name;
+
+ private int module_id;
+
+ private String description;
+
+ private String secuirity_profile;
+
+ private Boolean add_to_home;
+
+ private List dashbord1_Line = new ArrayList<>();
+}
+
diff --git a/backend/src/main/java/com/realnet/Dashboard1/Entity/dashbord_Who_collumn.java b/backend/src/main/java/com/realnet/Dashboard1/Entity/dashbord_Who_collumn.java
new file mode 100644
index 0000000..f511b67
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Dashboard1/Entity/dashbord_Who_collumn.java
@@ -0,0 +1,28 @@
+package com.realnet.Dashboard1.Entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import org.springframework.data.annotation.CreatedDate;
+import org.springframework.data.annotation.LastModifiedDate;
+
+import lombok.Data;
+
+@Data
+public class dashbord_Who_collumn implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @CreatedDate
+ private Date createdAt;
+
+ private Long createdBy;
+
+ private Long updatedBy;
+
+ @LastModifiedDate
+ private Date updatedAt;
+
+ private Long accountId;
+}
+
diff --git a/backend/src/main/java/com/realnet/Dashboard1/Repository/Dashboard_lineRepository.java b/backend/src/main/java/com/realnet/Dashboard1/Repository/Dashboard_lineRepository.java
new file mode 100644
index 0000000..641a3bd
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Dashboard1/Repository/Dashboard_lineRepository.java
@@ -0,0 +1,23 @@
+package com.realnet.Dashboard1.Repository;
+
+import java.util.List;
+import java.util.Optional;
+
+import org.springframework.data.mongodb.repository.MongoRepository;
+import org.springframework.data.mongodb.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import com.realnet.Dashboard1.Entity.Dashbord1_Line;
+
+@Repository
+public interface Dashboard_lineRepository extends MongoRepository {
+
+ @Query("{'id': ?0}")
+ Dashbord1_Line findById(int id);
+
+ @Query("{'header_id': ?0}")
+ List getByheader(String id);
+
+ Optional findTopByOrderByIdDesc();
+}
+
diff --git a/backend/src/main/java/com/realnet/Dashboard1/Repository/HeaderRepository.java b/backend/src/main/java/com/realnet/Dashboard1/Repository/HeaderRepository.java
new file mode 100644
index 0000000..5c4e8fb
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Dashboard1/Repository/HeaderRepository.java
@@ -0,0 +1,29 @@
+package com.realnet.Dashboard1.Repository;
+
+import java.util.List;
+import java.util.Optional;
+
+import org.springframework.data.mongodb.repository.MongoRepository;
+import org.springframework.data.mongodb.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import com.realnet.Dashboard1.Entity.Dashbord_Header;
+
+@Repository
+public interface HeaderRepository extends MongoRepository {
+
+ @Query("{'id': ?0}")
+ Dashbord_Header findById(int id);
+
+ @Query("{'module_id': ?0}")
+ List findbydashboardmodule(int module_id);
+
+ @Query("{'dashboard_name': ?0}")
+ Dashbord_Header findByDashboard_name(String dashboard_name);
+
+ Optional findTopByOrderByIdDesc();
+
+ @Query(value = "{'module_id': ?0}", count = true)
+ Long countByModule_id(int module_id);
+}
+
diff --git a/backend/src/main/java/com/realnet/Dashboard1/Service/HeaderService.java b/backend/src/main/java/com/realnet/Dashboard1/Service/HeaderService.java
new file mode 100644
index 0000000..badef71
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Dashboard1/Service/HeaderService.java
@@ -0,0 +1,90 @@
+package com.realnet.Dashboard1.Service;
+
+import java.util.List;
+import java.util.Optional;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.realnet.Dashboard1.Entity.Dashbord1_Line;
+import com.realnet.Dashboard1.Entity.Dashbord_Header;
+import com.realnet.Dashboard1.Repository.Dashboard_lineRepository;
+import com.realnet.Dashboard1.Repository.HeaderRepository;
+
+@Service
+public class HeaderService {
+
+ @Autowired
+ private HeaderRepository headerRepository;
+
+ @Autowired
+ private Dashboard_lineRepository dashboard_lineRepository;
+
+ public Dashbord_Header Savedata(Dashbord_Header dashbord_Header) {
+ if (dashbord_Header.getId() == null || dashbord_Header.getId() <= 0) {
+ Optional top = headerRepository.findTopByOrderByIdDesc();
+ dashbord_Header.setId(top.map(h -> h.getId() + 1).orElse(1));
+ }
+ if (dashbord_Header.getDashbord1_Line() != null) {
+ for (Dashbord1_Line line : dashbord_Header.getDashbord1_Line()) {
+ if (line.getId() == null || line.getId() <= 0) {
+ Optional topL = dashboard_lineRepository.findTopByOrderByIdDesc();
+ line.setId(topL.map(l -> l.getId() + 1).orElse(1));
+ }
+ line.setHeader_id(String.valueOf(dashbord_Header.getId()));
+ dashboard_lineRepository.save(line);
+ }
+ }
+ return headerRepository.save(dashbord_Header);
+ }
+
+ public List getdetails() {
+ return headerRepository.findAll();
+ }
+
+ public Dashbord_Header getdetailsbyId(int id) {
+ return headerRepository.findById(id);
+ }
+
+ public void delete_by_id(int id) {
+ Dashbord_Header existing = headerRepository.findById(id);
+ if (existing != null) {
+ headerRepository.delete(existing);
+ }
+ }
+
+ public Dashbord_Header update_dashboard_header(Dashbord_Header dashbord_Header) {
+ return headerRepository.save(dashbord_Header);
+ }
+
+ public Dashbord1_Line update_Dashbord1_Line(Dashbord1_Line dashbord1_Line) {
+ if (dashbord1_Line.getId() == null || dashbord1_Line.getId() <= 0) {
+ Optional topL = dashboard_lineRepository.findTopByOrderByIdDesc();
+ dashbord1_Line.setId(topL.map(l -> l.getId() + 1).orElse(1));
+ }
+ return dashboard_lineRepository.save(dashbord1_Line);
+ }
+
+ public List get_by_module_id(int module_id) {
+ return headerRepository.findbydashboardmodule(module_id);
+ }
+
+ public List get_all_lines() {
+ return dashboard_lineRepository.findAll();
+ }
+
+ public Dashbord1_Line update_Dashbord1_Lineby_id(int id, Dashbord1_Line dashbord1_Line) {
+ Dashbord1_Line oldline = dashboard_lineRepository.findById(id);
+ if (oldline == null) {
+ dashbord1_Line.setId(id);
+ return dashboard_lineRepository.save(dashbord1_Line);
+ }
+ oldline.setAccountId(dashbord1_Line.getAccountId());
+ oldline.setHeader_id(dashbord1_Line.getHeader_id());
+ oldline.setModel(dashbord1_Line.getModel());
+ oldline.setCommon_filter(dashbord1_Line.getCommon_filter());
+
+ return dashboard_lineRepository.save(oldline);
+ }
+}
+
diff --git a/backend/src/main/java/com/realnet/FromExtensionJson/Controllers/FromExtensionJson_Controller.java b/backend/src/main/java/com/realnet/FromExtensionJson/Controllers/FromExtensionJson_Controller.java
new file mode 100644
index 0000000..dc93454
--- /dev/null
+++ b/backend/src/main/java/com/realnet/FromExtensionJson/Controllers/FromExtensionJson_Controller.java
@@ -0,0 +1,87 @@
+package com.realnet.FromExtensionJson.Controllers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+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 com.realnet.FromExtensionJson.Entity.FromExtensionJson_t;
+import com.realnet.FromExtensionJson.Repository.FromExtensionJson_Repository;
+import com.realnet.FromExtensionJson.Services.FromExtensionJson_Service;
+
+@RequestMapping(value = { "/FromExtensionJson", "/FromExtensionJsonExtensionJson" })
+@RestController
+public class FromExtensionJson_Controller {
+
+ @Autowired
+ private FromExtensionJson_Service service;
+
+ @Autowired
+ private FromExtensionJson_Repository extensionJson_Repository;
+
+ @PostMapping("/ExtensionJson")
+ public FromExtensionJson_t Savedata(@RequestBody FromExtensionJson_t data) {
+ FromExtensionJson_t save = service.Savedata(data);
+ return save;
+ }
+
+ @GetMapping("/ExtensionJson")
+ public List getdetails() {
+ List get = service.getdetails();
+ return get;
+ }
+
+ @GetMapping("/ExtensionJson/{id}")
+ public FromExtensionJson_t getdetailsbyId(@PathVariable String id) {
+ FromExtensionJson_t get = service.getdetailsbyId(id);
+ return get;
+ }
+
+ @DeleteMapping("/ExtensionJson/{id}")
+ public void delete_by_id(@PathVariable String id) {
+ service.delete_by_id(id);
+ }
+
+ @PutMapping("/ExtensionJson/{id}")
+ public FromExtensionJson_t update(@RequestBody FromExtensionJson_t data, @PathVariable String id) {
+ FromExtensionJson_t update = service.update(data, id);
+ return update;
+ }
+
+ @GetMapping({ "/ExtensionJson/{formCode}", "/{formCode}" })
+ public ResponseEntity getdetailsbyFormcode(@PathVariable String formCode) {
+ FromExtensionJson_t get = extensionJson_Repository.getdetailsbyFormCode(formCode);
+ if (get != null) {
+ String jsonObject = get.getJsonObject();
+ return ResponseEntity.ok().body(jsonObject);
+ } else {
+ return ResponseEntity.notFound().build();
+ }
+ }
+
+ @GetMapping("/ListExtensionJson/{formCode}")
+ public ResponseEntity> getJsonObjectsByFormCodeList(@PathVariable String formCode) {
+ List list = extensionJson_Repository.getJsonObjectsByFormCode(formCode);
+ if (list != null && !list.isEmpty()) {
+ List jsonObjects = new ArrayList<>();
+ for (FromExtensionJson_t item : list) {
+ if (item.getJsonObject() != null) {
+ jsonObjects.add(item.getJsonObject());
+ }
+ }
+ return ResponseEntity.ok().body(jsonObjects);
+ } else {
+ return ResponseEntity.notFound().build();
+ }
+ }
+}
+
diff --git a/backend/src/main/java/com/realnet/FromExtensionJson/Entity/FromExtensionJson_t.java b/backend/src/main/java/com/realnet/FromExtensionJson/Entity/FromExtensionJson_t.java
new file mode 100644
index 0000000..7d27052
--- /dev/null
+++ b/backend/src/main/java/com/realnet/FromExtensionJson/Entity/FromExtensionJson_t.java
@@ -0,0 +1,17 @@
+package com.realnet.FromExtensionJson.Entity;
+
+import lombok.Data;
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+@Document
+@Data
+public class FromExtensionJson_t {
+
+ @Id
+ private String id;
+ private String form_code;
+ private String account_id;
+ private String jsonObject;
+}
+
diff --git a/backend/src/main/java/com/realnet/FromExtensionJson/Repository/FromExtensionJson_Repository.java b/backend/src/main/java/com/realnet/FromExtensionJson/Repository/FromExtensionJson_Repository.java
new file mode 100644
index 0000000..71eebc7
--- /dev/null
+++ b/backend/src/main/java/com/realnet/FromExtensionJson/Repository/FromExtensionJson_Repository.java
@@ -0,0 +1,21 @@
+package com.realnet.FromExtensionJson.Repository;
+
+import java.util.List;
+
+import org.springframework.data.mongodb.repository.MongoRepository;
+import org.springframework.data.mongodb.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import com.realnet.FromExtensionJson.Entity.FromExtensionJson_t;
+
+@Repository
+public interface FromExtensionJson_Repository extends MongoRepository {
+
+ @Query("{'form_code': ?0}")
+ FromExtensionJson_t getdetailsbyFormCode(String formCode);
+
+ @Query("{'form_code': ?0}")
+ List getJsonObjectsByFormCode(String formCode);
+
+}
+
diff --git a/backend/src/main/java/com/realnet/FromExtensionJson/Services/FromExtensionJson_Service.java b/backend/src/main/java/com/realnet/FromExtensionJson/Services/FromExtensionJson_Service.java
new file mode 100644
index 0000000..a56d66f
--- /dev/null
+++ b/backend/src/main/java/com/realnet/FromExtensionJson/Services/FromExtensionJson_Service.java
@@ -0,0 +1,44 @@
+package com.realnet.FromExtensionJson.Services;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.realnet.FromExtensionJson.Entity.FromExtensionJson_t;
+import com.realnet.FromExtensionJson.Repository.FromExtensionJson_Repository;
+
+@Service
+public class FromExtensionJson_Service {
+
+ @Autowired
+ private FromExtensionJson_Repository repository;
+
+ public FromExtensionJson_t Savedata(FromExtensionJson_t data) {
+ return repository.save(data);
+ }
+
+ public List getdetails() {
+ return (List) repository.findAll();
+ }
+
+ public FromExtensionJson_t getdetailsbyId(String id) {
+ return repository.findById(id).orElse(null);
+ }
+
+ public void delete_by_id(String id) {
+ repository.deleteById(id);
+ }
+
+ public FromExtensionJson_t update(FromExtensionJson_t data, String id) {
+ FromExtensionJson_t old = repository.findById(id).orElse(null);
+ if (old != null) {
+ old.setForm_code(data.getForm_code());
+ old.setAccount_id(data.getAccount_id());
+ old.setJsonObject(data.getJsonObject());
+ return repository.save(old);
+ }
+ return null;
+ }
+}
+
diff --git a/backend/src/main/java/com/realnet/Modules_t_back/Controllers/Modules_tController.java b/backend/src/main/java/com/realnet/Modules_t_back/Controllers/Modules_tController.java
new file mode 100644
index 0000000..d7124a1
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Modules_t_back/Controllers/Modules_tController.java
@@ -0,0 +1,56 @@
+package com.realnet.Modules_t_back.Controllers;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+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 com.realnet.Modules_t_back.Entity.Modules_t;
+import com.realnet.Modules_t_back.Services.Modules_tService;
+
+@RequestMapping(value = "/_back")
+@CrossOrigin(origins = "*", maxAge = 3600)
+@RestController
+public class Modules_tController {
+
+ @Autowired
+ private Modules_tService service;
+
+ @PostMapping("/Modules_t")
+ public Modules_t Savedata(@RequestBody Modules_t data) {
+ Modules_t save = service.Savedata(data);
+ return save;
+ }
+
+ @GetMapping("/Modules_t")
+ public List getdetails() {
+ List get = service.getdetails();
+ return get;
+ }
+
+ @GetMapping("/Modules_t/{id}")
+ public Modules_t getdetailsbyId(@PathVariable Long id) {
+ Modules_t get = service.getdetailsbyId(id);
+ return get;
+ }
+
+ @DeleteMapping("/Modules_t/{id}")
+ public void delete_by_id(@PathVariable Long id) {
+ service.delete_by_id(id);
+ }
+
+ @PutMapping("/Modules_t/{id}")
+ public Modules_t update(@RequestBody Modules_t data, @PathVariable Long id) {
+ Modules_t update = service.update(data, id);
+ return update;
+ }
+}
+
diff --git a/backend/src/main/java/com/realnet/Modules_t_back/Entity/Modules_t.java b/backend/src/main/java/com/realnet/Modules_t_back/Entity/Modules_t.java
new file mode 100644
index 0000000..9629290
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Modules_t_back/Entity/Modules_t.java
@@ -0,0 +1,20 @@
+package com.realnet.Modules_t_back.Entity;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import lombok.Data;
+
+@Document
+@Data
+public class Modules_t {
+
+ @Id
+ private String mongoid;
+
+ private Long id;
+
+ private String module_name;
+ private String module_description;
+}
+
diff --git a/backend/src/main/java/com/realnet/Modules_t_back/Repository/Modules_tRepository.java b/backend/src/main/java/com/realnet/Modules_t_back/Repository/Modules_tRepository.java
new file mode 100644
index 0000000..20e74ec
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Modules_t_back/Repository/Modules_tRepository.java
@@ -0,0 +1,19 @@
+package com.realnet.Modules_t_back.Repository;
+
+import java.util.Optional;
+
+import org.springframework.data.mongodb.repository.MongoRepository;
+import org.springframework.data.mongodb.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import com.realnet.Modules_t_back.Entity.Modules_t;
+
+@Repository
+public interface Modules_tRepository extends MongoRepository {
+
+ @Query("{'id': ?0}")
+ Optional findById(Long id);
+
+ Optional findTopByOrderByIdDesc();
+}
+
diff --git a/backend/src/main/java/com/realnet/Modules_t_back/Services/Modules_tService.java b/backend/src/main/java/com/realnet/Modules_t_back/Services/Modules_tService.java
new file mode 100644
index 0000000..8c7375e
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Modules_t_back/Services/Modules_tService.java
@@ -0,0 +1,50 @@
+package com.realnet.Modules_t_back.Services;
+
+import java.util.List;
+import java.util.Optional;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.realnet.Modules_t_back.Entity.Modules_t;
+import com.realnet.Modules_t_back.Repository.Modules_tRepository;
+
+@Service
+public class Modules_tService {
+
+ @Autowired
+ private Modules_tRepository repository;
+
+ public Modules_t Savedata(Modules_t data) {
+ if (data.getId() == null || data.getId() <= 0) {
+ Optional top = repository.findTopByOrderByIdDesc();
+ data.setId(top.map(m -> m.getId() + 1).orElse(1L));
+ }
+ return repository.save(data);
+ }
+
+ public List getdetails() {
+ return repository.findAll();
+ }
+
+ public Modules_t getdetailsbyId(Long id) {
+ return repository.findById(id).orElse(null);
+ }
+
+ public void delete_by_id(Long id) {
+ Optional existing = repository.findById(id);
+ existing.ifPresent(m -> repository.delete(m));
+ }
+
+ public Modules_t update(Modules_t data, Long id) {
+ Modules_t old = repository.findById(id).orElse(null);
+ if (old == null) {
+ data.setId(id);
+ return repository.save(data);
+ }
+ old.setModule_name(data.getModule_name());
+ old.setModule_description(data.getModule_description());
+ return repository.save(old);
+ }
+}
+
diff --git a/backend/src/main/java/com/realnet/Rpt_builder2/Controllers/Rpt_builder2_Controller.java b/backend/src/main/java/com/realnet/Rpt_builder2/Controllers/Rpt_builder2_Controller.java
new file mode 100644
index 0000000..7aecd1d
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Rpt_builder2/Controllers/Rpt_builder2_Controller.java
@@ -0,0 +1,56 @@
+package com.realnet.Rpt_builder2.Controllers;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+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 com.realnet.Rpt_builder2.Entity.Rpt_builder2_t;
+import com.realnet.Rpt_builder2.Services.Rpt_builder2_Service;
+
+@RequestMapping(value = "/Rpt_builder2")
+@CrossOrigin(origins = "*", maxAge = 3600)
+@RestController
+public class Rpt_builder2_Controller {
+
+ @Autowired
+ private Rpt_builder2_Service service;
+
+ @PostMapping("/Rpt_builder2")
+ public Rpt_builder2_t Savedata(@RequestBody Rpt_builder2_t data) {
+ Rpt_builder2_t save = service.Savedata(data);
+ return save;
+ }
+
+ @GetMapping("/Rpt_builder2")
+ public List getdetails() {
+ List get = service.getdetails();
+ return get;
+ }
+
+ @GetMapping("/Rpt_builder2/{id}")
+ public Rpt_builder2_t getdetailsbyId(@PathVariable Long id) {
+ Rpt_builder2_t get = service.getdetailsbyId(id);
+ return get;
+ }
+
+ @DeleteMapping("/Rpt_builder2/{id}")
+ public void delete_by_id(@PathVariable Long id) {
+ service.delete_by_id(id);
+ }
+
+ @PutMapping("/Rpt_builder2/{id}")
+ public Rpt_builder2_t update(@RequestBody Rpt_builder2_t data, @PathVariable Long id) {
+ Rpt_builder2_t update = service.update(data, id);
+ return update;
+ }
+}
+
diff --git a/backend/src/main/java/com/realnet/Rpt_builder2/Entity/Rpt_builder2_t.java b/backend/src/main/java/com/realnet/Rpt_builder2/Entity/Rpt_builder2_t.java
new file mode 100644
index 0000000..65c0a4b
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Rpt_builder2/Entity/Rpt_builder2_t.java
@@ -0,0 +1,33 @@
+package com.realnet.Rpt_builder2.Entity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import com.realnet.Rpt_builder2_lines.Entity.Rpt_builder2_lines_t;
+
+import lombok.Data;
+
+@Document
+@Data
+public class Rpt_builder2_t {
+
+ @Id
+ private String mongoid;
+
+ private Long id;
+
+ private String reportName;
+ private String description;
+ private Boolean active;
+ private Boolean isSql;
+
+ private Integer sureConnectId;
+ private String sureconnect_name;
+ private String folderName;
+
+ private List Rpt_builder2_lines = new ArrayList<>();
+}
+
diff --git a/backend/src/main/java/com/realnet/Rpt_builder2/Repository/Rpt_builder2_Repository.java b/backend/src/main/java/com/realnet/Rpt_builder2/Repository/Rpt_builder2_Repository.java
new file mode 100644
index 0000000..76e529f
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Rpt_builder2/Repository/Rpt_builder2_Repository.java
@@ -0,0 +1,19 @@
+package com.realnet.Rpt_builder2.Repository;
+
+import java.util.Optional;
+
+import org.springframework.data.mongodb.repository.MongoRepository;
+import org.springframework.data.mongodb.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import com.realnet.Rpt_builder2.Entity.Rpt_builder2_t;
+
+@Repository
+public interface Rpt_builder2_Repository extends MongoRepository {
+
+ @Query("{'id': ?0}")
+ Optional findById(Long id);
+
+ Optional findTopByOrderByIdDesc();
+}
+
diff --git a/backend/src/main/java/com/realnet/Rpt_builder2/Services/Rpt_builder2_Service.java b/backend/src/main/java/com/realnet/Rpt_builder2/Services/Rpt_builder2_Service.java
new file mode 100644
index 0000000..1d065bc
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Rpt_builder2/Services/Rpt_builder2_Service.java
@@ -0,0 +1,56 @@
+package com.realnet.Rpt_builder2.Services;
+
+import java.util.List;
+import java.util.Optional;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.realnet.Rpt_builder2.Entity.Rpt_builder2_t;
+import com.realnet.Rpt_builder2.Repository.Rpt_builder2_Repository;
+
+@Service
+public class Rpt_builder2_Service {
+
+ @Autowired
+ private Rpt_builder2_Repository repository;
+
+ public Rpt_builder2_t Savedata(Rpt_builder2_t data) {
+ if (data.getId() == null || data.getId() <= 0) {
+ Optional top = repository.findTopByOrderByIdDesc();
+ data.setId(top.map(r -> r.getId() + 1).orElse(1L));
+ }
+ return repository.save(data);
+ }
+
+ public List getdetails() {
+ return repository.findAll();
+ }
+
+ public Rpt_builder2_t getdetailsbyId(Long id) {
+ return repository.findById(id).orElse(null);
+ }
+
+ public void delete_by_id(Long id) {
+ Optional existing = repository.findById(id);
+ existing.ifPresent(r -> repository.delete(r));
+ }
+
+ public Rpt_builder2_t update(Rpt_builder2_t data, Long id) {
+ Rpt_builder2_t old = repository.findById(id).orElse(null);
+ if (old == null) {
+ data.setId(id);
+ return repository.save(data);
+ }
+ old.setReportName(data.getReportName());
+ old.setDescription(data.getDescription());
+ old.setActive(data.getActive());
+ old.setFolderName(data.getFolderName());
+ if (data.getSureConnectId() != null) {
+ old.setSureConnectId(data.getSureConnectId());
+ old.setSureconnect_name(data.getSureconnect_name());
+ }
+ return repository.save(old);
+ }
+}
+
diff --git a/backend/src/main/java/com/realnet/Rpt_builder2_lines/Entity/Rpt_builder2_lines_t.java b/backend/src/main/java/com/realnet/Rpt_builder2_lines/Entity/Rpt_builder2_lines_t.java
new file mode 100644
index 0000000..86d2e3a
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Rpt_builder2_lines/Entity/Rpt_builder2_lines_t.java
@@ -0,0 +1,25 @@
+package com.realnet.Rpt_builder2_lines.Entity;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import com.realnet.Rpt_builder2.Entity.Rpt_builder2_t;
+
+import lombok.Data;
+
+@Document
+@Data
+public class Rpt_builder2_lines_t {
+
+ @Id
+ private String mongoid;
+
+ private Long id;
+
+ private String header_id;
+
+ private String model;
+
+ private Rpt_builder2_t rpt_builder2_t;
+}
+
diff --git a/backend/src/main/java/com/realnet/Workspaceuser/Controller/DDController.java b/backend/src/main/java/com/realnet/Workspaceuser/Controller/DDController.java
new file mode 100644
index 0000000..518f626
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Workspaceuser/Controller/DDController.java
@@ -0,0 +1,103 @@
+package com.realnet.Workspaceuser.Controller;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.realnet.Workspaceuser.Entity.DDTable;
+import com.realnet.Workspaceuser.Entity.SecUsedDd;
+import com.realnet.Workspaceuser.Entity.Sec_teams;
+import com.realnet.Workspaceuser.Repository.Sec_teams_Repository;
+import com.realnet.users.entity1.AppUser;
+import com.realnet.users.repository1.AppUserRepository;
+
+@RestController
+public class DDController {
+
+ @Autowired
+ private Sec_teams_Repository sec_teams_Repository;
+
+ @Autowired
+ private AppUserRepository appUserRepository;
+
+ @GetMapping("/Sec_team")
+ public ResponseEntity> getteam() {
+ List sec = sec_teams_Repository.findAll();
+ ArrayList dd = new ArrayList<>();
+ if (sec != null) {
+ for (Sec_teams s : sec) {
+ DDTable d = new DDTable();
+ d.setId(s.getId());
+ d.setName(s.getName());
+ dd.add(d);
+ }
+ }
+ return new ResponseEntity<>(dd, HttpStatus.OK);
+ }
+
+ @GetMapping("/Report_to")
+ public ResponseEntity> reportto() {
+ List sec = appUserRepository.findAll();
+ ArrayList dd = new ArrayList<>();
+ if (sec != null) {
+ for (AppUser s : sec) {
+ SecUsedDd d = new SecUsedDd();
+ d.setUserId(s.getUserId());
+ d.setFullName(s.getFullName());
+ dd.add(d);
+ }
+ }
+ return new ResponseEntity<>(dd, HttpStatus.OK);
+ }
+
+ @GetMapping("/Assign")
+ public ResponseEntity> Assign() {
+ List sec = appUserRepository.findAll();
+ ArrayList dd = new ArrayList<>();
+ if (sec != null) {
+ for (AppUser s : sec) {
+ SecUsedDd d = new SecUsedDd();
+ d.setUserId(s.getUserId());
+ d.setFullName(s.getFullName());
+ dd.add(d);
+ }
+ }
+ return new ResponseEntity<>(dd, HttpStatus.OK);
+ }
+
+ @GetMapping("/Requestor")
+ public ResponseEntity> Requestor() {
+ List sec = appUserRepository.findAll();
+ ArrayList dd = new ArrayList<>();
+ if (sec != null) {
+ for (AppUser s : sec) {
+ SecUsedDd d = new SecUsedDd();
+ d.setUserId(s.getUserId());
+ d.setFullName(s.getFullName());
+ dd.add(d);
+ }
+ }
+ return new ResponseEntity<>(dd, HttpStatus.OK);
+ }
+
+ @GetMapping("/Owner")
+ public ResponseEntity> Owner() {
+ List sec = appUserRepository.findAll();
+ ArrayList dd = new ArrayList<>();
+ if (sec != null) {
+ for (AppUser s : sec) {
+ SecUsedDd d = new SecUsedDd();
+ d.setUserId(s.getUserId());
+ d.setFullName(s.getFullName());
+ dd.add(d);
+ }
+ }
+ return new ResponseEntity<>(dd, HttpStatus.OK);
+ }
+}
+
diff --git a/backend/src/main/java/com/realnet/Workspaceuser/Controller/SecTeamController.java b/backend/src/main/java/com/realnet/Workspaceuser/Controller/SecTeamController.java
new file mode 100644
index 0000000..8dc80ce
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Workspaceuser/Controller/SecTeamController.java
@@ -0,0 +1,75 @@
+package com.realnet.Workspaceuser.Controller;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+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 com.realnet.Workspaceuser.Entity.Sec_teams;
+import com.realnet.Workspaceuser.Service.Sec_teamService;
+import com.realnet.users.entity1.AppUser;
+import com.realnet.users.service1.AppUserServiceImpl;
+
+@RequestMapping("/Workspace_team")
+@RestController
+public class SecTeamController {
+
+ @Autowired
+ private Sec_teamService sec_teamService;
+
+ @Autowired
+ private AppUserServiceImpl userService;
+
+ @PostMapping("/SecTeam")
+ public Sec_teams create(@RequestBody Sec_teams rnrule) {
+ AppUser loggedInUser = userService.getLoggedInUser();
+ if (loggedInUser != null && loggedInUser.getAccount() != null) {
+ long accountId = loggedInUser.getAccount().getAccount_id();
+ rnrule.setAccountId(accountId);
+ }
+ return sec_teamService.create(rnrule);
+ }
+
+ @GetMapping("/SecTeam")
+ public ResponseEntity> getall() {
+ List li = sec_teamService.getall();
+ return new ResponseEntity<>(li, HttpStatus.OK);
+ }
+
+ @GetMapping("/SecTeam/AccountId")
+ public ResponseEntity> getallByAccountId() {
+ AppUser loggedInUser = userService.getLoggedInUser();
+ long accountId = (loggedInUser != null && loggedInUser.getAccount() != null)
+ ? loggedInUser.getAccount().getAccount_id()
+ : 0L;
+ List li = sec_teamService.getallbyAccountId(accountId);
+ return new ResponseEntity<>(li, HttpStatus.OK);
+ }
+
+ @GetMapping("/SecTeam/{id}")
+ public ResponseEntity> getbyid(@PathVariable int id) {
+ Sec_teams rn = sec_teamService.getbyid(id);
+ return new ResponseEntity<>(rn, HttpStatus.OK);
+ }
+
+ @PutMapping("/SecTeam/{id}")
+ public ResponseEntity> update(@RequestBody Sec_teams project, @PathVariable int id) {
+ Sec_teams rule_t = sec_teamService.updatebyid(project, id);
+ return new ResponseEntity<>(rule_t, HttpStatus.OK);
+ }
+
+ @DeleteMapping("/SecTeam/{id}")
+ public void deletebyid(@PathVariable int id) {
+ sec_teamService.deletebyid(id);
+ }
+}
+
diff --git a/backend/src/main/java/com/realnet/Workspaceuser/Controller/SecWorkSpaceUSerController.java b/backend/src/main/java/com/realnet/Workspaceuser/Controller/SecWorkSpaceUSerController.java
new file mode 100644
index 0000000..a0b31a3
--- /dev/null
+++ b/backend/src/main/java/com/realnet/Workspaceuser/Controller/SecWorkSpaceUSerController.java
@@ -0,0 +1,149 @@
+package com.realnet.Workspaceuser.Controller;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+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.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.realnet.Communication.Services.EmailNotificationService;
+import com.realnet.Workspaceuser.Entity.Sec_team_members;
+import com.realnet.Workspaceuser.Entity.Sec_workspace_users;
+import com.realnet.Workspaceuser.Repository.SecWorkspaceUserRepo;
+import com.realnet.Workspaceuser.Repository.Sec_team_MemberRepository;
+import com.realnet.users.entity.Role;
+import com.realnet.users.entity1.AppUser;
+import com.realnet.users.repository.RoleRepo;
+import com.realnet.users.repository1.AppUserRepository;
+import com.realnet.users.response.MessageResponse;
+import com.realnet.users.service1.AppUserServiceImpl;
+
+@RestController
+@RequestMapping("/workspace/secworkspaceuser")
+public class SecWorkSpaceUSerController {
+
+ @Autowired
+ private SecWorkspaceUserRepo secWorkspaceUserRepo;
+
+ @Autowired
+ private AppUserServiceImpl userService;
+
+ @Autowired
+ private Sec_team_MemberRepository memberRepository;
+
+ @Autowired
+ private AppUserRepository userRepository;
+
+ @Autowired
+ private RoleRepo roleRepo;
+
+ @Autowired
+ private EmailNotificationService emailNotificationService;
+
+ @PostMapping("/addteam/{project_id}/{team_id}")
+ public ResponseEntity> addwholeteam(@PathVariable Integer project_id, @PathVariable int team_id,
+ @RequestBody Sec_workspace_users users) {
+ List