From 8a785e8cf1a23cffcd963cacabc0bb8dff09ea88 Mon Sep 17 00:00:00 2001 From: risadmin_prod Date: Sat, 14 Jun 2025 11:25:15 +0000 Subject: [PATCH] build_app --- .../Builders/Services/BuilderService.java | 6 + .../basic1/Controllers/ChildController.java | 91 +++ .../basic1/Controllers/Test_aController.java | 99 +++ .../tokenFree_ChildController.java | 91 +++ .../tokenFree_Test_aController.java | 99 +++ .../java/com/realnet/basic1/Entity/Child.java | 29 + .../com/realnet/basic1/Entity/Test_a.java | 34 + .../basic1/Repository/ChildRepository.java | 28 + .../basic1/Repository/Test_aRepository.java | 30 + .../realnet/basic1/Services/ChildService.java | 83 +++ .../basic1/Services/Test_aService.java | 93 +++ .../authsec_mysql/mysql/wf_table/wf_table.sql | 4 + .../Authsec_ReactBootStrapNew/src/App.js | 13 +- .../BuilderComponents/basic1/Child/Child.js | 483 +++++++++++++ .../BuilderComponents/basic1/TestA/TestA.js | 663 ++++++++++++++++++ 15 files changed, 1844 insertions(+), 2 deletions(-) create mode 100644 testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/ChildController.java create mode 100644 testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/Test_aController.java create mode 100644 testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/tokenFree_ChildController.java create mode 100644 testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/tokenFree_Test_aController.java create mode 100644 testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Entity/Child.java create mode 100644 testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Entity/Test_a.java create mode 100644 testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Repository/ChildRepository.java create mode 100644 testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Repository/Test_aRepository.java create mode 100644 testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Services/ChildService.java create mode 100644 testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Services/Test_aService.java create mode 100755 testrelationship-db-d/authsec_mysql/mysql/wf_table/wf_table.sql create mode 100644 testrelationship-front-f/Authsec_ReactBootStrapNew/src/components/BuilderComponents/basic1/Child/Child.js create mode 100644 testrelationship-front-f/Authsec_ReactBootStrapNew/src/components/BuilderComponents/basic1/TestA/TestA.js diff --git a/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java index f9801fb..ef32060 100644 --- a/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java +++ b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java @@ -69,6 +69,12 @@ public class BuilderService { executeDump(true); // ADD OTHER SERVICE +addCustomMenu( "Child","Child", "Transcations"); + + +addCustomMenu( "Test_a","Test_a", "Transcations"); + + System.out.println("dashboard and menu inserted..."); diff --git a/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/ChildController.java b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/ChildController.java new file mode 100644 index 0000000..e3ee2d2 --- /dev/null +++ b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/ChildController.java @@ -0,0 +1,91 @@ +package com.realnet.basic1.Controllers; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; + import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import com.fasterxml.jackson.core.JsonProcessingException; +import org.springframework.web.bind.annotation.CrossOrigin; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.realnet.config.EmailService; +import com.realnet.users.entity1.AppUser; +import com.realnet.users.service1.AppUserServiceImpl; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.data.domain.*; +import com.realnet.fnd.response.EntityResponse; +import org.springframework.http.*; +import org.springframework.beans.factory.annotation.*; +import com.realnet.basic1.Entity.Child; +import com.realnet.basic1.Services.ChildService ; + + + + +@RequestMapping(value = "/Child") + @CrossOrigin("*") +@RestController +public class ChildController { + @Autowired + private ChildService Service; + +@Value("${projectPath}") + private String projectPath; + + + + + + @PostMapping("/Child") + public Child Savedata(@RequestBody Child data) { + Child save = Service.Savedata(data) ; + + + + System.out.println("data saved..." + save); + + return save; + } +@PutMapping("/Child/{id}") + public Child update(@RequestBody Child data,@PathVariable Integer id ) { + Child update = Service.update(data,id); + System.out.println("data update..." + update); + return update; + } +// get all with pagination + @GetMapping("/Child/getall/page") + public Page getall(@RequestParam(value = "page", required = false) Integer page, + @RequestParam(value = "size", required = false) Integer size) { + Pageable paging = PageRequest.of(page, size); + Page get = Service.getAllWithPagination(paging); + + return get; + + } + @GetMapping("/Child") + public List getdetails() { + List get = Service.getdetails(); + return get; +} +// get all without authentication + + @GetMapping("/token/Child") + public List getallwioutsec() { + List get = Service.getdetails(); + return get; +} +@GetMapping("/Child/{id}") + public Child getdetailsbyId(@PathVariable Integer id ) { + Child get = Service.getdetailsbyId(id); + return get; + } +@DeleteMapping("/Child/{id}") + public ResponseEntity delete_by_id(@PathVariable Integer id ) { + Service.delete_by_id(id); + return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); + + } + + + + + +} \ No newline at end of file diff --git a/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/Test_aController.java b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/Test_aController.java new file mode 100644 index 0000000..f905597 --- /dev/null +++ b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/Test_aController.java @@ -0,0 +1,99 @@ +package com.realnet.basic1.Controllers; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; + import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import com.fasterxml.jackson.core.JsonProcessingException; +import org.springframework.web.bind.annotation.CrossOrigin; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.realnet.config.EmailService; +import com.realnet.users.entity1.AppUser; +import com.realnet.users.service1.AppUserServiceImpl; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.data.domain.*; +import com.realnet.fnd.response.EntityResponse; +import org.springframework.http.*; +import org.springframework.beans.factory.annotation.*; +import com.realnet.basic1.Entity.Test_a; +import com.realnet.basic1.Services.Test_aService ; + + + + + + +@RequestMapping(value = "/Test_a") + @CrossOrigin("*") +@RestController +public class Test_aController { + @Autowired + private Test_aService Service; + +@Value("${projectPath}") + private String projectPath; + + + + + + + + @PostMapping("/Test_a") + public Test_a Savedata(@RequestBody Test_a data) { + Test_a save = Service.Savedata(data) ; + + + + + + System.out.println("data saved..." + save); + + return save; + } +@PutMapping("/Test_a/{id}") + public Test_a update(@RequestBody Test_a data,@PathVariable Integer id ) { + Test_a update = Service.update(data,id); + System.out.println("data update..." + update); + return update; + } +// get all with pagination + @GetMapping("/Test_a/getall/page") + public Page getall(@RequestParam(value = "page", required = false) Integer page, + @RequestParam(value = "size", required = false) Integer size) { + Pageable paging = PageRequest.of(page, size); + Page get = Service.getAllWithPagination(paging); + + return get; + + } + @GetMapping("/Test_a") + public List getdetails() { + List get = Service.getdetails(); + return get; +} +// get all without authentication + + @GetMapping("/token/Test_a") + public List getallwioutsec() { + List get = Service.getdetails(); + return get; +} +@GetMapping("/Test_a/{id}") + public Test_a getdetailsbyId(@PathVariable Integer id ) { + Test_a get = Service.getdetailsbyId(id); + return get; + } +@DeleteMapping("/Test_a/{id}") + public ResponseEntity delete_by_id(@PathVariable Integer id ) { + Service.delete_by_id(id); + return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); + + } + + + + + + + +} \ No newline at end of file diff --git a/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/tokenFree_ChildController.java b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/tokenFree_ChildController.java new file mode 100644 index 0000000..1400591 --- /dev/null +++ b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/tokenFree_ChildController.java @@ -0,0 +1,91 @@ +package com.realnet.basic1.Controllers; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; + import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import com.fasterxml.jackson.core.JsonProcessingException; +import org.springframework.web.bind.annotation.CrossOrigin; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.realnet.config.EmailService; +import com.realnet.users.entity1.AppUser; +import com.realnet.users.service1.AppUserServiceImpl; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.data.domain.*; +import com.realnet.fnd.response.EntityResponse; +import org.springframework.http.*; +import org.springframework.beans.factory.annotation.*; +import com.realnet.basic1.Entity.Child; +import com.realnet.basic1.Services.ChildService ; + + + + +@RequestMapping(value = "/token/Child") + @CrossOrigin("*") +@RestController +public class tokenFree_ChildController { + @Autowired + private ChildService Service; + +@Value("${projectPath}") + private String projectPath; + + + + + + @PostMapping("/Child") + public Child Savedata(@RequestBody Child data) { + Child save = Service.Savedata(data) ; + + + + System.out.println("data saved..." + save); + + return save; + } +@PutMapping("/Child/{id}") + public Child update(@RequestBody Child data,@PathVariable Integer id ) { + Child update = Service.update(data,id); + System.out.println("data update..." + update); + return update; + } +// get all with pagination + @GetMapping("/Child/getall/page") + public Page getall(@RequestParam(value = "page", required = false) Integer page, + @RequestParam(value = "size", required = false) Integer size) { + Pageable paging = PageRequest.of(page, size); + Page get = Service.getAllWithPagination(paging); + + return get; + + } + @GetMapping("/Child") + public List getdetails() { + List get = Service.getdetails(); + return get; +} +// get all without authentication + + @GetMapping("/token/Child") + public List getallwioutsec() { + List get = Service.getdetails(); + return get; +} +@GetMapping("/Child/{id}") + public Child getdetailsbyId(@PathVariable Integer id ) { + Child get = Service.getdetailsbyId(id); + return get; + } +@DeleteMapping("/Child/{id}") + public ResponseEntity delete_by_id(@PathVariable Integer id ) { + Service.delete_by_id(id); + return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); + + } + + + + + +} \ No newline at end of file diff --git a/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/tokenFree_Test_aController.java b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/tokenFree_Test_aController.java new file mode 100644 index 0000000..a24496f --- /dev/null +++ b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Controllers/tokenFree_Test_aController.java @@ -0,0 +1,99 @@ +package com.realnet.basic1.Controllers; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; + import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import com.fasterxml.jackson.core.JsonProcessingException; +import org.springframework.web.bind.annotation.CrossOrigin; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.realnet.config.EmailService; +import com.realnet.users.entity1.AppUser; +import com.realnet.users.service1.AppUserServiceImpl; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.data.domain.*; +import com.realnet.fnd.response.EntityResponse; +import org.springframework.http.*; +import org.springframework.beans.factory.annotation.*; +import com.realnet.basic1.Entity.Test_a; +import com.realnet.basic1.Services.Test_aService ; + + + + + + +@RequestMapping(value = "/token/Test_a") + @CrossOrigin("*") +@RestController +public class tokenFree_Test_aController { + @Autowired + private Test_aService Service; + +@Value("${projectPath}") + private String projectPath; + + + + + + + + @PostMapping("/Test_a") + public Test_a Savedata(@RequestBody Test_a data) { + Test_a save = Service.Savedata(data) ; + + + + + + System.out.println("data saved..." + save); + + return save; + } +@PutMapping("/Test_a/{id}") + public Test_a update(@RequestBody Test_a data,@PathVariable Integer id ) { + Test_a update = Service.update(data,id); + System.out.println("data update..." + update); + return update; + } +// get all with pagination + @GetMapping("/Test_a/getall/page") + public Page getall(@RequestParam(value = "page", required = false) Integer page, + @RequestParam(value = "size", required = false) Integer size) { + Pageable paging = PageRequest.of(page, size); + Page get = Service.getAllWithPagination(paging); + + return get; + + } + @GetMapping("/Test_a") + public List getdetails() { + List get = Service.getdetails(); + return get; +} +// get all without authentication + + @GetMapping("/token/Test_a") + public List getallwioutsec() { + List get = Service.getdetails(); + return get; +} +@GetMapping("/Test_a/{id}") + public Test_a getdetailsbyId(@PathVariable Integer id ) { + Test_a get = Service.getdetailsbyId(id); + return get; + } +@DeleteMapping("/Test_a/{id}") + public ResponseEntity delete_by_id(@PathVariable Integer id ) { + Service.delete_by_id(id); + return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); + + } + + + + + + + +} \ No newline at end of file diff --git a/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Entity/Child.java b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Entity/Child.java new file mode 100644 index 0000000..c16f853 --- /dev/null +++ b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Entity/Child.java @@ -0,0 +1,29 @@ +package com.realnet.basic1.Entity; + import lombok.*; +import com.realnet.WhoColumn.Entity.Extension; + import javax.persistence.*; + import java.time.LocalDateTime; + import java.util.*; + + + + + @Entity + @Data + public class Child extends Extension { + /** + * + */ + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + +private String name; + +@Column(length = 2000) +private String description; + + +} diff --git a/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Entity/Test_a.java b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Entity/Test_a.java new file mode 100644 index 0000000..1ca94af --- /dev/null +++ b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Entity/Test_a.java @@ -0,0 +1,34 @@ +package com.realnet.basic1.Entity; + import lombok.*; +import com.realnet.WhoColumn.Entity.Extension; + import javax.persistence.*; + import java.time.LocalDateTime; + import java.util.*; + + + + +import com.realnet.basic1.Entity.Child; + + @Entity + @Data + public class Test_a extends Extension { + /** + * + */ + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + +private String name; + +@Column(length = 2000) +private String description; + +@OneToMany( cascade=CascadeType.ALL) + private List child = new ArrayList<>(); + + +} diff --git a/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Repository/ChildRepository.java b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Repository/ChildRepository.java new file mode 100644 index 0000000..10a87ec --- /dev/null +++ b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Repository/ChildRepository.java @@ -0,0 +1,28 @@ +package com.realnet.basic1.Repository; + + +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import org.springframework.stereotype.Repository; +import java.util.*; + + + + + + + +import com.realnet.basic1.Entity.Child; + +@Repository +public interface ChildRepository extends JpaRepository { + +@Query(value = "select * from child where created_by=?1", nativeQuery = true) + List findAll(Long creayedBy); + +@Query(value = "select * from child where created_by=?1", nativeQuery = true) + Page findAll(Pageable page, Long creayedBy); +} \ No newline at end of file diff --git a/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Repository/Test_aRepository.java b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Repository/Test_aRepository.java new file mode 100644 index 0000000..e988a1e --- /dev/null +++ b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Repository/Test_aRepository.java @@ -0,0 +1,30 @@ +package com.realnet.basic1.Repository; + + +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import org.springframework.stereotype.Repository; +import java.util.*; + + + + + + + + + +import com.realnet.basic1.Entity.Test_a; + +@Repository +public interface Test_aRepository extends JpaRepository { + +@Query(value = "select * from test_a where created_by=?1", nativeQuery = true) + List findAll(Long creayedBy); + +@Query(value = "select * from test_a where created_by=?1", nativeQuery = true) + Page findAll(Pageable page, Long creayedBy); +} \ No newline at end of file diff --git a/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Services/ChildService.java b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Services/ChildService.java new file mode 100644 index 0000000..859b9be --- /dev/null +++ b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Services/ChildService.java @@ -0,0 +1,83 @@ +package com.realnet.basic1.Services; +import com.realnet.basic1.Repository.ChildRepository; +import com.realnet.basic1.Entity.Child +;import java.util.*; + +import org.springframework.beans.factory.annotation.Autowired; +import com.realnet.SequenceGenerator.Service.SequenceService; +import org.springframework.data.domain.Page; +import com.realnet.realm.Entity.Realm; +import com.realnet.realm.Services.RealmService; +import org.springframework.data.domain.Pageable; +import org.springframework.http.*; +import com.realnet.users.service1.AppUserServiceImpl; +import com.realnet.users.entity1.AppUser; + + + + + import org.springframework.stereotype.Service; + +@Service + public class ChildService { +@Autowired +private ChildRepository Repository; + @Autowired + private AppUserServiceImpl userService; +@Autowired + private RealmService realmService; + + + +public Child Savedata(Child data) { + + + + + data.setUpdatedBy(getUser().getUserId()); + data.setCreatedBy(getUser().getUserId()); + data.setAccountId(getUser().getAccount().getAccount_id()); +Child save = Repository.save(data); + return save; + } + + +// get all with pagination + public Page getAllWithPagination(Pageable page) { + return Repository.findAll(page, getUser().getUserId()); + } +public List getdetails() { + List realm = realmService.findByUserId(getUser().getUserId()); +List all = Repository.findAll(getUser().getUserId()); + + return all ; } + + +public Child getdetailsbyId(Integer id) { + return Repository.findById(id).get(); + } + + + public void delete_by_id(Integer id) { + Repository.deleteById(id); +} + + +public Child update(Child data,Integer id) { + Child old = Repository.findById(id).get(); +old.setName(data.getName()); + +old.setDescription(data.getDescription()); + +final Child test = Repository.save(old); + data.setUpdatedBy(getUser().getUserId()); + return test;} + + + + + public AppUser getUser() { + AppUser user = userService.getLoggedInUser(); + return user; + + }} diff --git a/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Services/Test_aService.java b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Services/Test_aService.java new file mode 100644 index 0000000..fdb0153 --- /dev/null +++ b/testrelationship-back-b/authsec_springboot/backend/src/main/java/com/realnet/basic1/Services/Test_aService.java @@ -0,0 +1,93 @@ +package com.realnet.basic1.Services; +import com.realnet.basic1.Repository.Test_aRepository; +import com.realnet.basic1.Entity.Test_a +;import java.util.*; + +import org.springframework.beans.factory.annotation.Autowired; +import com.realnet.SequenceGenerator.Service.SequenceService; +import org.springframework.data.domain.Page; +import com.realnet.realm.Entity.Realm; +import com.realnet.realm.Services.RealmService; +import org.springframework.data.domain.Pageable; +import org.springframework.http.*; +import com.realnet.users.service1.AppUserServiceImpl; +import com.realnet.users.entity1.AppUser; + + + + + + + import org.springframework.stereotype.Service; + +@Service + public class Test_aService { +@Autowired +private Test_aRepository Repository; + @Autowired + private AppUserServiceImpl userService; +@Autowired + private RealmService realmService; + + + + + +public Test_a Savedata(Test_a data) { + + + + + + + data.setUpdatedBy(getUser().getUserId()); + data.setCreatedBy(getUser().getUserId()); + data.setAccountId(getUser().getAccount().getAccount_id()); +Test_a save = Repository.save(data); + return save; + } + + +// get all with pagination + public Page getAllWithPagination(Pageable page) { + return Repository.findAll(page, getUser().getUserId()); + } +public List getdetails() { + List realm = realmService.findByUserId(getUser().getUserId()); +List all = Repository.findAll(getUser().getUserId()); + + return all ; } + + +public Test_a getdetailsbyId(Integer id) { + return Repository.findById(id).get(); + } + + + public void delete_by_id(Integer id) { + Repository.deleteById(id); +} + + +public Test_a update(Test_a data,Integer id) { + Test_a old = Repository.findById(id).get(); +old.setName(data.getName()); + +old.setDescription(data.getDescription()); + +old.setChild(data.getChild()); + +final Test_a test = Repository.save(old); + data.setUpdatedBy(getUser().getUserId()); + return test;} + + + + + + + public AppUser getUser() { + AppUser user = userService.getLoggedInUser(); + return user; + + }} diff --git a/testrelationship-db-d/authsec_mysql/mysql/wf_table/wf_table.sql b/testrelationship-db-d/authsec_mysql/mysql/wf_table/wf_table.sql new file mode 100755 index 0000000..09ea80f --- /dev/null +++ b/testrelationship-db-d/authsec_mysql/mysql/wf_table/wf_table.sql @@ -0,0 +1,4 @@ +CREATE TABLE db.Test_a(id BIGINT NOT NULL AUTO_INCREMENT, description VARCHAR(400), onetomanyextension VARCHAR(400), name VARCHAR(400), PRIMARY KEY (id)); + +CREATE TABLE db.Child(id BIGINT NOT NULL AUTO_INCREMENT, description VARCHAR(400), name VARCHAR(400), PRIMARY KEY (id)); + diff --git a/testrelationship-front-f/Authsec_ReactBootStrapNew/src/App.js b/testrelationship-front-f/Authsec_ReactBootStrapNew/src/App.js index 772d707..94ae974 100644 --- a/testrelationship-front-f/Authsec_ReactBootStrapNew/src/App.js +++ b/testrelationship-front-f/Authsec_ReactBootStrapNew/src/App.js @@ -1,3 +1,7 @@ +import Child from "./components/BuilderComponents/basic1/Child/Child"; + +import TestA from "./components/BuilderComponents/basic1/TestA/TestA"; + import React from "react"; @@ -143,6 +147,12 @@ const App = () => { {/* buildercomponents */} + } /> + + + } /> + + }> } /> @@ -155,5 +165,4 @@ const App = () => { ); }; -export default App; - +export default App; \ No newline at end of file diff --git a/testrelationship-front-f/Authsec_ReactBootStrapNew/src/components/BuilderComponents/basic1/Child/Child.js b/testrelationship-front-f/Authsec_ReactBootStrapNew/src/components/BuilderComponents/basic1/Child/Child.js new file mode 100644 index 0000000..4ff4aed --- /dev/null +++ b/testrelationship-front-f/Authsec_ReactBootStrapNew/src/components/BuilderComponents/basic1/Child/Child.js @@ -0,0 +1,483 @@ +import React, { useEffect, useState , useRef } from "react"; +import QRCode from "qrcode.react"; +import Barcode from "react-barcode"; +import html2canvas from "html2canvas"; +import Select from "react-select"; +import ReCAPTCHA from "react-google-recaptcha"; +import axios from "axios"; +import { FaTrash } from "react-icons/fa"; +import { Modal, Button, Form, Pagination,Container, Row, Col, Image , ProgressBar , } from "react-bootstrap"; +import { ToastContainer, toast } from "react-toastify"; +import "react-toastify/dist/ReactToastify.css"; +import { getToken } from '../../../../utils/tokenService';import Table from "react-bootstrap/Table"; +const FILE_API_URL = `${process.env.REACT_APP_API_URL}/FileUpload/Uploadeddocs`; +const API_URL = `${process.env.REACT_APP_API_URL}/Child/Child`; +const REACT_APP_API_TOKEN = localStorage.getItem("authToken") + +const EntityTable = () => { + const [data, setData] = useState([]); + const [filteredData, setFilteredData] = useState([]); + const [newEntity, setNewEntity] = useState({ + name: "", + + description: "", + + }); + const [editEntity, setEditEntity] = useState(null); + const [showEditModal, setShowEditModal] = useState(false); + const [showAddModal, setShowAddModal] = useState(false); + const [showDeleteModal, setShowDeleteModal] = useState(false); + const [deleteEntityId, setDeleteEntityId] = useState(null); + const [currentPage, setCurrentPage] = useState(1); + const [itemsPerPage] = useState(5); // Adjust this value as needed + const [searchQuery, setSearchQuery] = useState(""); + const [loading, setLoading] = useState(true); + const [options, setOptions] = useState([]); + const [filteredOptions, setFilteredOptions] = useState([]); + const [error, setError] = useState(null); + const [uploadProgress, setUploadProgress] = useState(0); + const [showModal, setShowModal] = useState(false); + const [showValulistModal, setShowValulistModal] = useState(false); + const barcodeRef = useRef(null); + const [serverData, setServerData] = useState([]); + const recaptchaRef = useRef(null); + const editBarcodeRef = useRef(null); + useEffect(() => { + fetchData(); + + + + + }, []); + + useEffect(() => { + handleSearch(); + }, [searchQuery, data]); + const fetchData = async () => { + try { +const token = getToken(); + const response = await axios.get(API_URL, { + headers: { Authorization: `Bearer ${token}` }, + }); + setData(response.data); + } catch (error) { + console.error("Error fetching data:", error); + } + }; + + const handleDelete = async () => { + try { + const token = getToken(); + await axios.delete(`${API_URL}/${deleteEntityId}`, { + headers: { Authorization: `Bearer ${token}` }, + }); + fetchData(); + toast.success("Successfully deleted!"); + setShowDeleteModal(false); + } catch (error) { + console.error("Error deleting data:", error); + } + }; + + const handleAdd = async () => { + + + + + try { + const token = getToken(); + await axios.post(API_URL, newEntity, { + + + + + headers: { Authorization: `Bearer ${token}` }, + }); + fetchData(); + setNewEntity({ + name: "", + + description: "", + + }); + setShowAddModal(false); + toast.success("Successfully added!"); + } catch (error) { + console.error("Error adding data:", error); + } + }; + + const handleChange = (e) => { + const { name, value } = e.target; + setNewEntity({ ...newEntity, [name]: value }); + }; + + const handleEditChange = (e) => { + const { name, value } = e.target; + setEditEntity({ ...editEntity, [name]: value }); + }; + + const handleEdit = (entity) => { + setEditEntity(entity); + + + + + + setShowEditModal(true); + }; + + const formatCurrency = (value) => { + if (value && !value.startsWith('₹')) { + return `₹${value}`; + } + return value; +}; + + + + + + + const handleUpdate = async () => { + + + + + try { +const token = getToken(); + await axios.put(`${API_URL}/${editEntity.id}`, editEntity, { + + + + + headers: { Authorization: `Bearer ${token}` }, + }); + fetchData(); + setShowEditModal(false); + toast.success("Successfully updated!"); + } catch (error) { + console.error("Error updating data:", error); + } + }; + + const handleSearch = () => { + const filtered = data.filter( + (entity) => + + entity.name.toLowerCase().includes(searchQuery.toLowerCase()) || + + + + entity.description.toLowerCase().includes(searchQuery.toLowerCase()) ); + setFilteredData(filtered); + }; + + const handlePageChange = (pageNumber) => { + setCurrentPage(pageNumber); + }; + + const generateBarcodeImage = async (ref) => { + if (ref.current) { + const canvas = await html2canvas(ref.current); + const imgData = canvas.toDataURL("image/png"); + const link = document.createElement("a"); + link.href = imgData; + link.download = "barcode.png"; + link.click(); + } + }; + + // Calculate items for current page + const indexOfLastItem = currentPage * itemsPerPage; + const indexOfFirstItem = indexOfLastItem - itemsPerPage; + const currentItems = filteredData.slice(indexOfFirstItem, indexOfLastItem); + + return ( +
+ +

Entity Table

+
+ + + + + + + setSearchQuery(e.target.value)} + /> +
+ + + + + + + + + + + + {currentItems.map((entity) => ( + + + + + + + + + + + + ))} + +
namedescriptionAction
{entity.name}{entity.description} + + + + + + + +
+ + {Array.from( + { length: Math.ceil(filteredData.length / itemsPerPage) }, + (_, index) => ( + handlePageChange(index + 1)} + > + {index + 1} + + ) + )} + + + + + + setShowEditModal(false)}> + + Edit Entity + + + {editEntity && ( +
+
+
+
+
+
+
+ + +
+ { + e.target.style.borderColor = '#007bff'; + e.target.style.boxShadow = '0 0 8px rgba(0, 123, 255, 0.25)'; + }} + onBlur={(e) => { + e.target.style.borderColor = '#ced4da'; + e.target.style.boxShadow = 'none'; + }} + /> +
+ + + Description + { + e.target.style.borderColor = '#007bff'; + e.target.style.boxShadow = '0 0 8px rgba(0, 123, 255, 0.25)'; + }} + onBlur={(e) => { + e.target.style.borderColor = '#ced4da'; + e.target.style.boxShadow = 'none'; + }} + /> + + + +
+
+
+
+
+ + )} +
+ + + + +
+ setShowAddModal(false)}> + + Add New Entity + + +
+
+
+
+
+
+
+ + +
+ { + e.target.style.borderColor = '#007bff'; + e.target.style.boxShadow = '0 0 8px rgba(0, 123, 255, 0.25)'; + }} + onBlur={(e) => { + e.target.style.borderColor = '#ced4da'; + e.target.style.boxShadow = 'none'; + }} + /> +
+ +
+ + +
+ +
+
+
+
+
+ +
+ + + + + + + + +
+ setShowDeleteModal(false)}> + + Confirm Delete + + Are you sure you want to delete this entity? + + + + + +
+ ); +}; + +export default EntityTable; diff --git a/testrelationship-front-f/Authsec_ReactBootStrapNew/src/components/BuilderComponents/basic1/TestA/TestA.js b/testrelationship-front-f/Authsec_ReactBootStrapNew/src/components/BuilderComponents/basic1/TestA/TestA.js new file mode 100644 index 0000000..9e515aa --- /dev/null +++ b/testrelationship-front-f/Authsec_ReactBootStrapNew/src/components/BuilderComponents/basic1/TestA/TestA.js @@ -0,0 +1,663 @@ +import React, { useEffect, useState , useRef } from "react"; +import QRCode from "qrcode.react"; +import Barcode from "react-barcode"; +import html2canvas from "html2canvas"; +import Select from "react-select"; +import ReCAPTCHA from "react-google-recaptcha"; +import axios from "axios"; +import { FaTrash } from "react-icons/fa"; +import { Modal, Button, Form, Pagination,Container, Row, Col, Image , ProgressBar , } from "react-bootstrap"; +import { ToastContainer, toast } from "react-toastify"; +import "react-toastify/dist/ReactToastify.css"; +import { getToken } from '../../../../utils/tokenService';import Table from "react-bootstrap/Table"; +const FILE_API_URL = `${process.env.REACT_APP_API_URL}/FileUpload/Uploadeddocs`; +const API_URL = `${process.env.REACT_APP_API_URL}/TestA/TestA`; +const REACT_APP_API_TOKEN = localStorage.getItem("authToken") + +const EntityTable = () => { + const [data, setData] = useState([]); + const [filteredData, setFilteredData] = useState([]); + const [newEntity, setNewEntity] = useState({ + name: "", + + description: "", + + child: [{ + + + Description: "" + + + + Name: "" + + + }] + + }); + const [editEntity, setEditEntity] = useState(null); + const [showEditModal, setShowEditModal] = useState(false); + const [showAddModal, setShowAddModal] = useState(false); + const [showDeleteModal, setShowDeleteModal] = useState(false); + const [deleteEntityId, setDeleteEntityId] = useState(null); + const [currentPage, setCurrentPage] = useState(1); + const [itemsPerPage] = useState(5); // Adjust this value as needed + const [searchQuery, setSearchQuery] = useState(""); + const [loading, setLoading] = useState(true); + const [options, setOptions] = useState([]); + const [filteredOptions, setFilteredOptions] = useState([]); + const [error, setError] = useState(null); + const [uploadProgress, setUploadProgress] = useState(0); + const [showModal, setShowModal] = useState(false); + const [showValulistModal, setShowValulistModal] = useState(false); + const barcodeRef = useRef(null); + const [serverData, setServerData] = useState([]); + const recaptchaRef = useRef(null); + const editBarcodeRef = useRef(null); + useEffect(() => { + fetchData(); + + + + + + + }, []); + + useEffect(() => { + handleSearch(); + }, [searchQuery, data]); + const fetchData = async () => { + try { +const token = getToken(); + const response = await axios.get(API_URL, { + headers: { Authorization: `Bearer ${token}` }, + }); + setData(response.data); + } catch (error) { + console.error("Error fetching data:", error); + } + }; + + const handleDelete = async () => { + try { + const token = getToken(); + await axios.delete(`${API_URL}/${deleteEntityId}`, { + headers: { Authorization: `Bearer ${token}` }, + }); + fetchData(); + toast.success("Successfully deleted!"); + setShowDeleteModal(false); + } catch (error) { + console.error("Error deleting data:", error); + } + }; + + const handleAdd = async () => { + + + + + + + try { + const token = getToken(); + await axios.post(API_URL, newEntity, { + + + + + + + headers: { Authorization: `Bearer ${token}` }, + }); + fetchData(); + setNewEntity({ + name: "", + + description: "", + + child: [{ + + + Description: "" + + + + Name: "" + + + }] + + }); + setShowAddModal(false); + toast.success("Successfully added!"); + } catch (error) { + console.error("Error adding data:", error); + } + }; + + const handleChange = (e) => { + const { name, value } = e.target; + setNewEntity({ ...newEntity, [name]: value }); + }; + + const handleEditChange = (e) => { + const { name, value } = e.target; + setEditEntity({ ...editEntity, [name]: value }); + }; + + const handleEdit = (entity) => { + setEditEntity(entity); + + + + + + + + setShowEditModal(true); + }; + + const formatCurrency = (value) => { + if (value && !value.startsWith('₹')) { + return `₹${value}`; + } + return value; +}; + + + + + + const addNewField = () => { + setNewEntity((prev) => ({ + ...prev, + child: [...prev.child, { + + +Description: "" + + + +Name: "" + + +}], + })); + }; + + + + + + + + + + const handlesChange = (e, index = null) => { + const { name, value } = e.target; + + if (index !== null) { + const updated = [...newEntity.child]; + updated[index] = { ...updated[index], [name]: value }; + setNewEntity({ ...newEntity, child: updated }); + } else { + setNewEntity({ ...newEntity, [name]: value }); + } + }; +// For handling changes in the edit entity form +const handlesEditChange = (e, index = null) => { + const { name, value } = e.target; + + if (index !== null) { + const updated = [...editEntity.child]; + updated[index] = { ...updated[index], [name]: value }; + setEditEntity({ ...editEntity, child: updated }); + } else { + setEditEntity({ ...editEntity, [name]: value }); + } +}; + + + + const handleUpdate = async () => { + + + + + + + try { +const token = getToken(); + await axios.put(`${API_URL}/${editEntity.id}`, editEntity, { + + + + + + + headers: { Authorization: `Bearer ${token}` }, + }); + fetchData(); + setShowEditModal(false); + toast.success("Successfully updated!"); + } catch (error) { + console.error("Error updating data:", error); + } + }; + + const handleSearch = () => { + const filtered = data.filter( + (entity) => + + entity.name.toLowerCase().includes(searchQuery.toLowerCase()) || + + + + entity.description.toLowerCase().includes(searchQuery.toLowerCase()) || + + + + entity.child.toLowerCase().includes(searchQuery.toLowerCase()) ); + setFilteredData(filtered); + }; + + const handlePageChange = (pageNumber) => { + setCurrentPage(pageNumber); + }; + + const generateBarcodeImage = async (ref) => { + if (ref.current) { + const canvas = await html2canvas(ref.current); + const imgData = canvas.toDataURL("image/png"); + const link = document.createElement("a"); + link.href = imgData; + link.download = "barcode.png"; + link.click(); + } + }; + + // Calculate items for current page + const indexOfLastItem = currentPage * itemsPerPage; + const indexOfFirstItem = indexOfLastItem - itemsPerPage; + const currentItems = filteredData.slice(indexOfFirstItem, indexOfLastItem); + + return ( +
+ +

Entity Table

+
+ + + + + + + + + setSearchQuery(e.target.value)} + /> +
+ + + + + + + + + + + + + + {currentItems.map((entity) => ( + + + + + + + + + + + + + + + + + + + + + + ))} + +
namedescriptionchildAction
{entity.name}{entity.description}{entity.child.map(p => p.Description).join(", ")}{entity.child.map(p => p.Name).join(", ")} + + + + + + + + + +
+ + {Array.from( + { length: Math.ceil(filteredData.length / itemsPerPage) }, + (_, index) => ( + handlePageChange(index + 1)} + > + {index + 1} + + ) + )} + + + + + + + + setShowEditModal(false)}> + + Edit Entity + + + {editEntity && ( +
+
+
+
+
+
+
+ + +
+ { + e.target.style.borderColor = '#007bff'; + e.target.style.boxShadow = '0 0 8px rgba(0, 123, 255, 0.25)'; + }} + onBlur={(e) => { + e.target.style.borderColor = '#ced4da'; + e.target.style.boxShadow = 'none'; + }} + /> +
+ + + Description + { + e.target.style.borderColor = '#007bff'; + e.target.style.boxShadow = '0 0 8px rgba(0, 123, 255, 0.25)'; + }} + onBlur={(e) => { + e.target.style.borderColor = '#ced4da'; + e.target.style.boxShadow = 'none'; + }} + /> + + + {editEntity.child.map((p, index) => ( + + child + + + handlesEditChange(e, index)} + /> + + ))} + + + + + handlesEditChange(e, index)} + /> + + ))} + + + + + +
+
+
+
+
+ + )} +
+ + + + +
+ setShowAddModal(false)}> + + Add New Entity + + +
+
+
+
+
+
+
+ + +
+ { + e.target.style.borderColor = '#007bff'; + e.target.style.boxShadow = '0 0 8px rgba(0, 123, 255, 0.25)'; + }} + onBlur={(e) => { + e.target.style.borderColor = '#ced4da'; + e.target.style.boxShadow = 'none'; + }} + /> +
+ +
+ + +
+ + {newEntity.child.map((p, index) => ( + + child + + + handlesChange(e, index)} + /> + + ))} + + + + + handlesChange(e, index)} + /> + + ))} + + + + + + +
+
+
+
+
+ +
+ + + + + + + + + + +
+ setShowDeleteModal(false)}> + + Confirm Delete + + Are you sure you want to delete this entity? + + + + + +
+ ); +}; + +export default EntityTable;