diff --git a/.gitignore b/.gitignore
index b24d71e..24725d6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,50 +1,46 @@
-# These are some examples of commonly ignored file patterns.
-# You should customize this list as applicable to your project.
-# Learn more about .gitignore:
-# https://www.atlassian.com/git/tutorials/saving-changes/gitignore
-
-# Node artifact files
-node_modules/
-dist/
-
-# Compiled Java class files
-*.class
-
-# Compiled Python bytecode
-*.py[cod]
-
-# Log files
-*.log
-
-# Package files
+*#
+*.iml
+*.ipr
+*.iws
*.jar
-
-# Maven
-target/
-dist/
-
-# JetBrains IDE
-.idea/
-
-# Unit test reports
-TEST*.xml
-
-# Generated by MacOS
+*.sw?
+*~
+.#*
+.*.md.html
.DS_Store
+.attach_pid*
+.classpath
+.factorypath
+.gradle
+.idea
+.metadata
+.project
+.recommenders
+.settings
+.springBeans
+.vscode
+/code
+MANIFEST.MF
+_site/
+activemq-data
+bin
+build
+!/**/src/**/bin
+!/**/src/**/build
+build.log
+dependency-reduced-pom.xml
+dump.rdb
+interpolated*.xml
+lib/
+manifest.yml
+out
+overridedb.*
+target
+transaction-logs
+.flattened-pom.xml
+secrets.yml
+.gradletasknamecache
+.sts4-cache
-# Generated by Windows
-Thumbs.db
-
-# Applications
-*.app
-*.exe
-*.war
-
-# Large media files
-*.mp4
-*.tiff
-*.avi
-*.flv
-*.mov
-*.wmv
-
+mvnw
+mvnw.cmd
diff --git a/pom.xml b/pom.xml
index e9c589a..33b56a1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.0.6
+ 2.7.5
com.iconplus
@@ -14,7 +14,7 @@
smartproc
Initialisasi Smartproc Framework
- 17
+ 11
@@ -29,6 +29,24 @@
org.springframework.boot
spring-boot-starter-web
+
+ io.zipkin.brave
+ brave
+ 5.16.0
+
+
+
+ org.apache.commons
+ commons-lang3
+ 3.12.0
+
+
+
+ org.apache.velocity
+ velocity
+ 1.7
+
+
org.springframework.boot
@@ -36,6 +54,7 @@
runtime
true
+
org.postgresql
postgresql
diff --git a/src/main/java/com/iconplus/smartproc/controller/JenisAnggaranController.java b/src/main/java/com/iconplus/smartproc/controller/JenisAnggaranController.java
new file mode 100644
index 0000000..c2e0d14
--- /dev/null
+++ b/src/main/java/com/iconplus/smartproc/controller/JenisAnggaranController.java
@@ -0,0 +1,82 @@
+package com.iconplus.smartproc.controller;
+
+
+import com.iconplus.smartproc.helper.model.EmptyResponse;
+import com.iconplus.smartproc.model.request.JenisAnggaranRequest;
+import com.iconplus.smartproc.model.response.GetListJenisAnggaranResponse;
+import com.iconplus.smartproc.model.response.JenisAnggaranResponse;
+import com.iconplus.smartproc.repository.JenisAnggaranRepository;
+import com.iconplus.smartproc.service.jenisanggaran.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.web.bind.annotation.*;
+
+@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
+@RestController
+@RequestMapping("/api/jenisanggaran")
+public class JenisAnggaranController {
+
+ @Autowired
+ private JenisAnggaranRepository jenisanggaranRepository;
+
+ private final GetListJenisAnggaranService getListJenisAnggaranService;
+ private final GetJenisAnggaranByIdService getJenisAnggaranByIdService;
+ private final PostCreateJenisAnggaranService postCreateJenisAnggaranService;
+ private final PutUpdateJenisAnggaranService putUpdateJenisAnggaranService;
+ private final DeleteJenisAnggaranService deleteJenisAnggaranService;
+
+ public JenisAnggaranController(GetListJenisAnggaranService getListJenisAnggaranService,
+ GetJenisAnggaranByIdService getJenisAnggaranByIdService,
+ PostCreateJenisAnggaranService postCreateJenisAnggaranService,
+ PutUpdateJenisAnggaranService putUpdateJenisAnggaranService,
+ DeleteJenisAnggaranService deleteJenisAnggaranService) {
+ this.getListJenisAnggaranService = getListJenisAnggaranService;
+ this.getJenisAnggaranByIdService = getJenisAnggaranByIdService;
+ this.postCreateJenisAnggaranService = postCreateJenisAnggaranService;
+ this.putUpdateJenisAnggaranService = putUpdateJenisAnggaranService;
+ this.deleteJenisAnggaranService = deleteJenisAnggaranService;
+ }
+
+
+ @GetMapping
+ public GetListJenisAnggaranResponse getListJenisAnggaran(@RequestParam(name = "search", required = false) String search,
+ @RequestParam(name = "page", defaultValue = "1") Integer page,
+ @RequestParam(name = "size", defaultValue = "5") Integer size){
+
+ Pageable pageable = PageRequest.of((page - 1), size);
+ JenisAnggaranRequest jenisAnggaranRequest = JenisAnggaranRequest.builder()
+ .search(search)
+ .pageable(pageable)
+ .build();
+
+ return getListJenisAnggaranService.execute(jenisAnggaranRequest);
+ }
+
+ @PostMapping
+ public JenisAnggaranResponse createJenisAnggaran(@RequestBody JenisAnggaranRequest jenisAnggaranRequest) {
+ return postCreateJenisAnggaranService.execute(jenisAnggaranRequest);
+ }
+
+ @GetMapping("/{id}")
+ public JenisAnggaranResponse getJenisAnggaranById(@PathVariable Long id) {
+ return getJenisAnggaranByIdService.execute(JenisAnggaranRequest.builder()
+ .id(id)
+ .build());
+ }
+
+
+ @PutMapping("/{id}")
+ public JenisAnggaranResponse updateJenisanggaran(@PathVariable Long id,
+ @RequestBody JenisAnggaranRequest jenisAnggaranRequest){
+ jenisAnggaranRequest.setId(id);
+ return putUpdateJenisAnggaranService.execute(jenisAnggaranRequest);
+ }
+
+ @DeleteMapping("/{id}")
+ public EmptyResponse deleteJenisAnggaran(@PathVariable Long id) {
+ return deleteJenisAnggaranService.execute(JenisAnggaranRequest.builder()
+ .id(id)
+ .build());
+ }
+}
diff --git a/src/main/java/com/iconplus/smartproc/controller/JeniskontrakController.java b/src/main/java/com/iconplus/smartproc/controller/JenisKontrakController.java
similarity index 60%
rename from src/main/java/com/iconplus/smartproc/controller/JeniskontrakController.java
rename to src/main/java/com/iconplus/smartproc/controller/JenisKontrakController.java
index 26be349..140820d 100644
--- a/src/main/java/com/iconplus/smartproc/controller/JeniskontrakController.java
+++ b/src/main/java/com/iconplus/smartproc/controller/JenisKontrakController.java
@@ -1,8 +1,8 @@
package com.iconplus.smartproc.controller;
-import com.iconplus.smartproc.entity.Jeniskontrak;
+import com.iconplus.smartproc.model.entity.JenisKontrak;
import com.iconplus.smartproc.exception.ResourceNotFoundException;
-import com.iconplus.smartproc.repository.JeniskontrakRepository;
+import com.iconplus.smartproc.repository.JenisKontrakRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@@ -14,47 +14,47 @@ import java.util.Map;
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
@RestController
@RequestMapping("/api/jeniskontrak")
-public class JeniskontrakController {
+public class JenisKontrakController {
@Autowired
- private JeniskontrakRepository jeniskontrakRepository;
+ private JenisKontrakRepository jeniskontrakRepository;
//get all data
@GetMapping
- public List getAllJeniskontraks(){
+ public List getAllJeniskontraks(){
return jeniskontrakRepository.findAll();
}
// create
@PostMapping
- public Jeniskontrak createJeniskontrak(@RequestBody Jeniskontrak jeniskontrak) {
+ public JenisKontrak createJeniskontrak(@RequestBody JenisKontrak jeniskontrak) {
return jeniskontrakRepository.save(jeniskontrak);
}
// get jeniskontrak by id rest api
@GetMapping("/{id}")
- public ResponseEntity getJeniskontrakById(@PathVariable Long id) {
- Jeniskontrak jeniskontrak = jeniskontrakRepository.findById(id)
+ public ResponseEntity getJeniskontrakById(@PathVariable Long id) {
+ JenisKontrak jeniskontrak = jeniskontrakRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Jeniskontrak not exist with id :" + id));
return ResponseEntity.ok(jeniskontrak);
}
// update jeniskontrak rest api
@PutMapping("/{id}")
- public ResponseEntity updateJeniskontrak(@PathVariable Long id, @RequestBody Jeniskontrak jeniskontrakDetails){
- Jeniskontrak jeniskontrak = jeniskontrakRepository.findById(id)
+ public ResponseEntity updateJeniskontrak(@PathVariable Long id, @RequestBody JenisKontrak jenisKontrakDetails){
+ JenisKontrak jeniskontrak = jeniskontrakRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Jeniskontrak not exist with id :" + id));
- jeniskontrak.setJeniskontrak(jeniskontrakDetails.getJeniskontrak());
- jeniskontrak.setKeterangan(jeniskontrakDetails.getKeterangan());
+ jeniskontrak.setJenisKontrak(jenisKontrakDetails.getJenisKontrak());
+ jeniskontrak.setKeterangan(jenisKontrakDetails.getKeterangan());
- Jeniskontrak updatedJeniskontrak = jeniskontrakRepository.save(jeniskontrak);
- return ResponseEntity.ok(updatedJeniskontrak);
+ JenisKontrak updatedJenisKontrak = jeniskontrakRepository.save(jeniskontrak);
+ return ResponseEntity.ok(updatedJenisKontrak);
}
// delete jeniskontrak rest api
@DeleteMapping("/{id}")
public ResponseEntity