diff --git a/pom.xml b/pom.xml
index 12c6610..e6f3017 100644
--- a/pom.xml
+++ b/pom.xml
@@ -77,11 +77,6 @@
lombok
true
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
org.json
json
diff --git a/src/main/java/com/consola/lis/configuration/EnumConfig.java b/src/main/java/com/consola/lis/configuration/EnumConfig.java
index 83afa63..2bbe289 100644
--- a/src/main/java/com/consola/lis/configuration/EnumConfig.java
+++ b/src/main/java/com/consola/lis/configuration/EnumConfig.java
@@ -1,11 +1,12 @@
package com.consola.lis.configuration;
+
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.DeserializationFeature;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
-public class EnumConfig{
+public class EnumConfig {
@Bean
public ObjectMapper objectMapper() {
@@ -13,4 +14,7 @@ public ObjectMapper objectMapper() {
objectMapper.configure(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL, true);
return objectMapper;
}
+
+
+
}
diff --git a/src/main/java/com/consola/lis/controller/InventoryController.java b/src/main/java/com/consola/lis/controller/InventoryController.java
index 7002f41..ed4a2e9 100644
--- a/src/main/java/com/consola/lis/controller/InventoryController.java
+++ b/src/main/java/com/consola/lis/controller/InventoryController.java
@@ -1,5 +1,7 @@
package com.consola.lis.controller;
+import com.consola.lis.dto.TableRegistersItemDTO;
+import com.consola.lis.dto.TableRegistersLoanDTO;
import com.consola.lis.model.enums.ItemState;
import com.consola.lis.util.constans.ApiDescription;
import com.consola.lis.util.constans.EndpointConstant;
@@ -10,6 +12,7 @@
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
+import org.springframework.data.domain.PageRequest;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@@ -49,9 +52,10 @@ public void deleteItem(@PathVariable("itemId") String itemId){
@Operation(summary = ApiDescription.DESCRIPTION_INVENTORY_TABLE)
- @GetMapping(EndpointConstant.ENDPOINT_INVENTORY_TABLE)
- public Map inventoryItems(Pageable pageable) {
- return inventoryItemService.getAllItemsMapped(pageable);
+ @PostMapping(EndpointConstant.ENDPOINT_INVENTORY_TABLE)
+ public Map inventoryItems(@RequestBody TableRegistersItemDTO tableRegistersDTO){
+ Pageable pageable = PageRequest.of(tableRegistersDTO.getPage(), tableRegistersDTO.getSize());
+ return inventoryItemService.getAllItemsMapped(tableRegistersDTO.getLendable(),pageable);
}
@Operation(summary = ApiDescription.DESCRIPTION_ONE_ITEM)
diff --git a/src/main/java/com/consola/lis/controller/LoanController.java b/src/main/java/com/consola/lis/controller/LoanController.java
index 4c9c7e3..a7e24d3 100644
--- a/src/main/java/com/consola/lis/controller/LoanController.java
+++ b/src/main/java/com/consola/lis/controller/LoanController.java
@@ -2,6 +2,7 @@
import com.consola.lis.dto.LoanDTO;
+import com.consola.lis.dto.TableRegistersLoanDTO;
import com.consola.lis.model.entity.Loan;
import com.consola.lis.service.LoanService;
import com.consola.lis.util.constans.ApiDescription;
@@ -9,6 +10,7 @@
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
+import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -18,6 +20,8 @@
import java.util.List;
import java.util.Map;
+import static java.lang.Integer.parseInt;
+
@Tag(name = "Manage Loans", description = ApiDescription.DESCRIPTION_CONTROLLER_LOAN)
@RestController
@RequestMapping(EndpointConstant.ENDPOINT_LOAN)
@@ -51,10 +55,12 @@ public List gelAllLoans(){
return loanService.getAllLoans();
}
+
@Operation(summary = ApiDescription.DESCRIPTION_ALL_LOANS_TABLE)
- @GetMapping(EndpointConstant.ENDPOINT_ALL_LOANS_TABLE)
- public Map loans(Pageable pageable){
- return loanService.getAllLoansMapper(pageable);
+ @PostMapping(EndpointConstant.ENDPOINT_ALL_LOANS_TABLE )
+ public Map loans(@RequestBody TableRegistersLoanDTO tableRegistersDTO){
+ Pageable pageable = PageRequest.of(tableRegistersDTO.getPage(), tableRegistersDTO.getSize());
+ return loanService.getAllLoansMapper(tableRegistersDTO.getLoanState(),pageable);
}
@Operation(summary = ApiDescription.DESCRIPTION_HEADERS_LOAN)
diff --git a/src/main/java/com/consola/lis/dto/LoanInfoDTO.java b/src/main/java/com/consola/lis/dto/LoanInfoDTO.java
index 38ade44..a711e10 100644
--- a/src/main/java/com/consola/lis/dto/LoanInfoDTO.java
+++ b/src/main/java/com/consola/lis/dto/LoanInfoDTO.java
@@ -17,6 +17,8 @@ public class LoanInfoDTO {
private String loanName;
private String loanState;
private String borrowerUser;
+
+ private String loanItemId;
private String loanType;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date loanDate;
diff --git a/src/main/java/com/consola/lis/dto/TableRegistersItemDTO.java b/src/main/java/com/consola/lis/dto/TableRegistersItemDTO.java
new file mode 100644
index 0000000..ca645a3
--- /dev/null
+++ b/src/main/java/com/consola/lis/dto/TableRegistersItemDTO.java
@@ -0,0 +1,17 @@
+package com.consola.lis.dto;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class TableRegistersItemDTO {
+ private int page;
+ private int size;
+ private Boolean lendable;
+}
diff --git a/src/main/java/com/consola/lis/dto/TableRegistersLoanDTO.java b/src/main/java/com/consola/lis/dto/TableRegistersLoanDTO.java
new file mode 100644
index 0000000..436142c
--- /dev/null
+++ b/src/main/java/com/consola/lis/dto/TableRegistersLoanDTO.java
@@ -0,0 +1,21 @@
+package com.consola.lis.dto;
+
+import com.consola.lis.model.enums.LoanState;
+import com.consola.lis.util.deserializer.LoanStateDeserializer;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class TableRegistersLoanDTO {
+ private int page;
+ private int size;
+ @JsonDeserialize(using = LoanStateDeserializer.class)
+ private LoanState loanState;
+}
diff --git a/src/main/java/com/consola/lis/model/entity/Loan.java b/src/main/java/com/consola/lis/model/entity/Loan.java
index aa80e96..daea64e 100644
--- a/src/main/java/com/consola/lis/model/entity/Loan.java
+++ b/src/main/java/com/consola/lis/model/entity/Loan.java
@@ -41,6 +41,8 @@ public class Loan {
@Column(name = "lender_user")
private String lenderUser;
+ private String item;
+ private String category;
@JsonFormat(pattern="yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone="GMT-5")
@CreationTimestamp
@Temporal(TemporalType.TIMESTAMP)
diff --git a/src/main/java/com/consola/lis/model/enums/ItemState.java b/src/main/java/com/consola/lis/model/enums/ItemState.java
index da7ce0f..3f75b22 100644
--- a/src/main/java/com/consola/lis/model/enums/ItemState.java
+++ b/src/main/java/com/consola/lis/model/enums/ItemState.java
@@ -27,6 +27,9 @@ public String toString() {
}
public static ItemState fromString(String text) {
+ if (text == null || text.trim().isEmpty()) {
+ return null;
+ }
for (ItemState state : ItemState.values()) {
if (state.lowerCase.equalsIgnoreCase(text)) {
return state;
@@ -35,6 +38,8 @@ public static ItemState fromString(String text) {
throw new IllegalArgumentException("No enum constant with text " + text);
}
+
+
public static List getLowerCaseValuesList() {
List lowerCaseValues = new ArrayList<>();
for (ItemState state : ItemState.values()) {
diff --git a/src/main/java/com/consola/lis/model/enums/LoanState.java b/src/main/java/com/consola/lis/model/enums/LoanState.java
index b0c7625..86328e5 100644
--- a/src/main/java/com/consola/lis/model/enums/LoanState.java
+++ b/src/main/java/com/consola/lis/model/enums/LoanState.java
@@ -23,6 +23,9 @@ public String toString() {
}
public static LoanState fromString(String text) {
+ if (text == null || text.trim().isEmpty()) {
+ return null;
+ }
for (LoanState state : LoanState.values()) {
if (state.lowerCase.equalsIgnoreCase(text)) {
return state;
diff --git a/src/main/java/com/consola/lis/model/enums/UserRole.java b/src/main/java/com/consola/lis/model/enums/UserRole.java
index de48ab1..049dec6 100644
--- a/src/main/java/com/consola/lis/model/enums/UserRole.java
+++ b/src/main/java/com/consola/lis/model/enums/UserRole.java
@@ -13,6 +13,7 @@ public enum UserRole {
AUXPROG ("Auxiliar de ProgramaciĆ³n"),
AUXADMI("Auxiliar Administrativo"),
STUDENT("Estudiante"),
+ GRADUATED("Egresado"),
PROFESSOR("Profesor");
final String lowerCase;
@@ -27,16 +28,17 @@ public String toString() {
}
public static UserRole fromString(String text) {
- try {
- for (UserRole role : UserRole.values()) {
- if (role.lowerCase.equalsIgnoreCase(text)) {
- return role;
- }
+ if (text == null || text.isEmpty()) {
+ throw new IllegalArgumentException("Text cannot be null or empty");
+ }
+
+ for (UserRole role : UserRole.values()) {
+ if (role.lowerCase.equalsIgnoreCase(text)) {
+ return role;
}
- } catch (IllegalArgumentException e) {
- return fromNumericString(text);
}
- throw new IllegalArgumentException("No enum constant with text " + text);
+
+ return fromNumericString(text);
}
diff --git a/src/main/java/com/consola/lis/model/repository/InventoryItemRepository.java b/src/main/java/com/consola/lis/model/repository/InventoryItemRepository.java
index c7ca8c0..da76d40 100644
--- a/src/main/java/com/consola/lis/model/repository/InventoryItemRepository.java
+++ b/src/main/java/com/consola/lis/model/repository/InventoryItemRepository.java
@@ -1,12 +1,11 @@
package com.consola.lis.model.repository;
import com.consola.lis.model.entity.InventoryItem;
-
-import com.consola.lis.model.enums.ItemState;
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.data.repository.query.Param;
import org.springframework.stereotype.Repository;
@@ -16,5 +15,6 @@ public interface InventoryItemRepository extends JpaRepository findAllItems(Pageable pageable);
- Page findByState(ItemState state, Pageable pageable);
+ @Query("SELECT p FROM InventoryItem p WHERE (:lendable IS NULL OR p.lendable = :lendable)")
+ Page findAllLoansByLendable(@Param("lendable") Boolean lendable, Pageable pageable);
}
\ No newline at end of file
diff --git a/src/main/java/com/consola/lis/model/repository/LoanRepository.java b/src/main/java/com/consola/lis/model/repository/LoanRepository.java
index dffcf66..3e1679a 100644
--- a/src/main/java/com/consola/lis/model/repository/LoanRepository.java
+++ b/src/main/java/com/consola/lis/model/repository/LoanRepository.java
@@ -6,6 +6,7 @@
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
import java.util.List;
@@ -14,4 +15,8 @@ public interface LoanRepository extends JpaRepository {
@Query("SELECT p FROM Loan p ")
Page findAllLoans(Pageable pageable);
+
+
+ @Query("SELECT p FROM Loan p WHERE (:loanState IS NULL OR p.loanState = :loanState) ORDER BY CASE WHEN p.loanState = 'ACTIVE' THEN 0 ELSE 1 END, p.loanId ASC")
+ Page findAllLoansByState(@Param("loanState") LoanState loanState, Pageable pageable);
}
diff --git a/src/main/java/com/consola/lis/service/InventoryItemService.java b/src/main/java/com/consola/lis/service/InventoryItemService.java
index d35a492..a409fb1 100644
--- a/src/main/java/com/consola/lis/service/InventoryItemService.java
+++ b/src/main/java/com/consola/lis/service/InventoryItemService.java
@@ -140,9 +140,8 @@ public boolean existItem(String itemId) {
}
- public Map getAllItemsMapped(Pageable pageable) {
- Page inventoryItemsPage = getAllInventoryItems(pageable);
-
+ public Map getAllItemsMapped(Boolean lendable, Pageable pageable) {
+ Page inventoryItemsPage = getAllInventoryItems(lendable, pageable);
Map result = new HashMap<>();
result.put("totalElements", inventoryItemsPage.getTotalElements());
result.put("totalPages", inventoryItemsPage.getTotalPages());
@@ -158,8 +157,8 @@ private List mapToItemInfoList(List items) {
.toList();
}
- private Page getAllInventoryItems(Pageable pageable) {
- return inventoryItemRepository.findAllItems(pageable);
+ private Page getAllInventoryItems(Boolean lendable,Pageable pageable) {
+ return inventoryItemRepository.findAllLoansByLendable(lendable,pageable);
}
public List getHeaders() {
List header = new ArrayList<>();
diff --git a/src/main/java/com/consola/lis/service/LoanService.java b/src/main/java/com/consola/lis/service/LoanService.java
index 37b2508..2d13eff 100644
--- a/src/main/java/com/consola/lis/service/LoanService.java
+++ b/src/main/java/com/consola/lis/service/LoanService.java
@@ -7,6 +7,7 @@
import com.consola.lis.model.enums.LoanState;
import com.consola.lis.model.enums.LoanType;
import com.consola.lis.model.enums.ItemState;
+import com.consola.lis.model.repository.InventoryItemRepository;
import com.consola.lis.model.repository.LoanRepository;
import com.consola.lis.util.exception.AlreadyExistsException;
import com.consola.lis.util.exception.IllegalParameterInRequest;
@@ -27,6 +28,7 @@ public class LoanService {
private final LoanRepository loanRepository;
private final InventoryItemService inventoryItemService;
+ private final InventoryItemRepository inventoryItemRepository;
public Loan createLoan(LoanDTO loanRequest) {
validateLoanRequest(loanRequest);
@@ -68,12 +70,16 @@ private Loan buildLoanFromRequest(LoanDTO loanRequest) {
if (loanRequest.getLoanType() == null) {
loanRequest.setLoanType(LoanType.GENERAL);
}
+ Optional item = inventoryItemRepository.findById(loanRequest.getItemId());
+
return Loan.builder()
.itemId(loanRequest.getItemId())
.loanType(LoanType.valueOf(loanRequest.getLoanType().name()))
.borrowerUser(loanRequest.getBorrowerUser())
.lenderUser(loanRequest.getLenderUser())
+ .item(loanRequest.getItemId())
+ .category(item.get().getCategory().getCategoryName())
.quantity(loanRequest.getQuantity())
.loanState(LoanState.ACTIVE)
.observation(loanRequest.getObservation())
@@ -104,8 +110,10 @@ public List getAllLoans() {
- public Map getAllLoansMapper(Pageable pageable) {
- Page loanPage = getAllLoans(pageable);
+
+ public Map getAllLoansMapper(LoanState loanState,Pageable pageable) {
+
+ Page loanPage = getAllLoans(loanState, pageable);
Map result = new HashMap<>();
result.put("totalElements", loanPage.getTotalElements());
@@ -117,12 +125,15 @@ public Map getAllLoansMapper(Pageable pageable) {
private List mapToLoanInfoList(List loans) {
return loans.stream()
- .map(loan -> LoanMapper.mapLoanToDTO(loan, inventoryItemService.findInventoryItem(loan.getItemId())))
+ .map(loan -> {
+ InventoryItem item = loan.getItemId() != null ? inventoryItemService.findInventoryItem(loan.getItemId()) : null;
+ return LoanMapper.mapLoanToDTO(loan, item);
+ })
.toList();
}
- private Page getAllLoans(Pageable pageable) {
- return loanRepository.findAllLoans(pageable);
+ private Page getAllLoans(LoanState loanState,Pageable pageable) {
+ return loanRepository.findAllLoansByState(loanState, pageable);
}
public List getHeaders() {
@@ -139,7 +150,7 @@ public List getHeaders() {
public void updateReturnLoanState (int loanId, LoanState state) {
Loan existingLoan = loanRepository.findById(loanId)
- .orElseThrow(() -> new NotExistingException("409", HttpStatus.CONFLICT, "Item not exists into inventary"));
+ .orElseThrow(() -> new NotExistingException("409", HttpStatus.CONFLICT, "Item not exists into inventory"));
existingLoan.setLoanState(state);
loanRepository.save(existingLoan);
diff --git a/src/main/java/com/consola/lis/service/RegisterService.java b/src/main/java/com/consola/lis/service/RegisterService.java
index ec37cc6..608ff29 100644
--- a/src/main/java/com/consola/lis/service/RegisterService.java
+++ b/src/main/java/com/consola/lis/service/RegisterService.java
@@ -7,10 +7,15 @@
import com.consola.lis.model.repository.UserHelloLisRepository;
import com.consola.lis.model.repository.UserLisRepository;
import com.consola.lis.util.exception.AlreadyExistsException;
+import com.consola.lis.util.exception.NotExistingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;
-import org.springframework.http.HttpStatus;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.*;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
@Service
@RequiredArgsConstructor
@@ -19,13 +24,35 @@ public class RegisterService {
private final UserLisRepository userLisRepository;
private final UserHelloLisRepository userHelloLisRepository;
private final PasswordEncoder passwordEncoder;
+ private final RestTemplate restTemplate;
+
+
+ @Value("${oAuthTokenAsoneMicroservice}")
+ private String oAuthTokenAsone;
+
+ @Value("${asoneMicroservice}")
+ private String asoneMicroservice;
+
+ @Value("${asoneTypeConnection}")
+ private String asoneTypeConnection;
+
+ @Value("${asoneMicroservice}")
+ private String endpointAsone;
+
+
public UserLis registerUserLis(UserLisDTO registerUserLisDTO) {
- if(userLisRepository.existsById(registerUserLisDTO.getIdUser()) || userLisRepository.existsByUsername(registerUserLisDTO.getUsername())){
+ boolean userExists = userLisRepository.existsById(registerUserLisDTO.getIdUser())
+ || userLisRepository.existsByUsername(registerUserLisDTO.getUsername());
+ if (userExists) {
throw new AlreadyExistsException("409", HttpStatus.CONFLICT, "User already exists");
}
+ if (registerUserLisDTO.getRole() == UserRole.STUDENT && !getBasicAcademicInfo(registerUserLisDTO.getIdUser())) {
+ throw new NotExistingException("403", HttpStatus.FORBIDDEN, "The student does not belong to systems engineering");
+ }
+
UserLis userLis = UserLis.builder()
.username(registerUserLisDTO.getUsername())
.role(registerUserLisDTO.getRole())
@@ -36,6 +63,7 @@ public UserLis registerUserLis(UserLisDTO registerUserLisDTO) {
return userLisRepository.save(userLis);
}
+
public void registerUserHelloLis(UserHelloLisDTO registerUserHelloLisDTO) {
if(userLisRepository.existsById(registerUserHelloLisDTO.getIdUser())){
throw new AlreadyExistsException("409", HttpStatus.CONFLICT, "User already exists");
@@ -56,6 +84,37 @@ public void registerUserHelloLis(UserHelloLisDTO registerUserHelloLisDTO) {
userHelloLisRepository.save(userHelloLis);
}
+ private boolean getBasicAcademicInfo(String identificationNumber) {
+ try{
+ String url = endpointAsone + identificationNumber;
+
+ HttpHeaders headers = new HttpHeaders();
+ headers.set("OAuth_Token", oAuthTokenAsone);
+ headers.set("Tipo_Conexion", asoneTypeConnection);
+
+ HttpEntity entity = new HttpEntity<>(headers);
+
+ ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
+ if (response == null) {
+ return false;
+ }
+ ObjectMapper objectMapper = new ObjectMapper();
+ JsonNode root = objectMapper.readTree(response.getBody());
+ JsonNode objects = root.path("object");
+
+ if (objects.isArray() && objects.size() > 0) {
+ JsonNode lastObject = objects.get(objects.size() - 1);
+ int program = lastObject.path("programa").asInt();
+ String stateProgram = lastObject.path("estadoAlumnoPrograma").asText();
+ return program == 504 && "ACTIVO".equals(stateProgram);
+ }
+
+ return false;
+
+ }catch(Exception e){
+ return false;
+ }
+ }
}
diff --git a/src/main/java/com/consola/lis/service/UserService.java b/src/main/java/com/consola/lis/service/UserService.java
index 9c6ad6f..12b6c53 100644
--- a/src/main/java/com/consola/lis/service/UserService.java
+++ b/src/main/java/com/consola/lis/service/UserService.java
@@ -9,6 +9,7 @@
import com.consola.lis.model.enums.UserRole;
import jakarta.transaction.Transactional;
import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
@@ -24,13 +25,15 @@ public class UserService {
public final JwtService jwtService;
+ @Value("${ldap}")
+ private String endpointLdap;
+
public UserLis getUser(String username) {
return userLisRepository.findByUsername(username).orElseThrow(()-> new NotExistingException("404", HttpStatus.NOT_FOUND, "the category whit id " + username + " not exist "));
}
public AuthResponseDTO changeUserRole(String username, UserRole newRole) {
- System.out.println("holi"+newRole.name());
UserLis user = userLisRepository.findByUsername(username).orElseThrow(()-> new NotExistingException("404", HttpStatus.NOT_FOUND, "the category whit id " + username + " not exist "));
user.setRole(newRole);
@@ -63,11 +66,12 @@ public Boolean checkExistUser(String username) {
if (existUser(username)) {
return true;
}
- ResponseEntity response = this.restTemplate.getForEntity("https://sistemas.udea.edu.co/api/ldap/login/{username}", UserLisDTO.class, username);
+ ResponseEntity response = this.restTemplate.getForEntity(endpointLdap +"{username}", UserLisDTO.class, username);
UserLisDTO userLdap = response.getBody();
if (userLdap == null) {
return false;
} else {
+
UserLis userLis = UserLis.builder()
.idUser(userLdap.getIdUser())
.username(userLdap.getUsername())
@@ -83,4 +87,6 @@ public Boolean checkExistUser(String username) {
return false;
}
}
+
+
}
\ No newline at end of file
diff --git a/src/main/java/com/consola/lis/util/constans/EndpointConstant.java b/src/main/java/com/consola/lis/util/constans/EndpointConstant.java
index f1765b4..0b50c54 100644
--- a/src/main/java/com/consola/lis/util/constans/EndpointConstant.java
+++ b/src/main/java/com/consola/lis/util/constans/EndpointConstant.java
@@ -21,7 +21,7 @@ public class EndpointConstant {
//Endpoints Inventory Item
public static final String ENDPOINT_INVENTORY = "/api/console-lis/user/inventory/item";
- public static final String ENDPOINT_INVENTORY_TABLE = "/tableRegisters";
+ public static final String ENDPOINT_INVENTORY_TABLE = "/table";
public static final String ENDPOINT_DELETE_ITEM="/delete/{itemId}";
public static final String ENDPOINT_EDIT_ITEM_STATE="/item/state/{itemId}";
public static final String ENDPOINT_ONE_ITEM = "/{itemId}";
@@ -42,7 +42,7 @@ public class EndpointConstant {
public static final String ENDPOINT_GET_ONE_LOAN = "/{loanId}";
- public static final String ENDPOINT_ALL_LOANS_TABLE = "/tableRegisters";
+ public static final String ENDPOINT_ALL_LOANS_TABLE = "/table";
public static final String ENDPOINT_HEADERS_LOAN = "/tableHeaders/";
//Return Loan
@@ -58,6 +58,6 @@ public class EndpointConstant {
public static final String ENDPOINT_SELECT_LIST_ENUM_LOAN_STATE = "/loanState";
public static final String ENDPOINT_SELECT_LIST_ENUM_ITEM_STATE = "/itemState";
-
+ public static final String ENDPOINT_LDAP="https://sistemas.udea.edu.co/api/ldap/login/";
}
diff --git a/src/main/java/com/consola/lis/util/deserializer/LoanStateDeserializer.java b/src/main/java/com/consola/lis/util/deserializer/LoanStateDeserializer.java
index e6bd6c6..b7545f4 100644
--- a/src/main/java/com/consola/lis/util/deserializer/LoanStateDeserializer.java
+++ b/src/main/java/com/consola/lis/util/deserializer/LoanStateDeserializer.java
@@ -12,6 +12,10 @@ public class LoanStateDeserializer extends JsonDeserializer {
@Override
public LoanState deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
String loanStateLowerCase = jsonParser.getText();
+ if (loanStateLowerCase == null || loanStateLowerCase.trim().isEmpty()) {
+ return null;
+ }
return LoanState.fromString(loanStateLowerCase);
+
}
}
diff --git a/src/main/java/com/consola/lis/util/mapper/LoanMapper.java b/src/main/java/com/consola/lis/util/mapper/LoanMapper.java
index dabeade..7436a7d 100644
--- a/src/main/java/com/consola/lis/util/mapper/LoanMapper.java
+++ b/src/main/java/com/consola/lis/util/mapper/LoanMapper.java
@@ -13,14 +13,14 @@ private LoanMapper(){
public static LoanInfoDTO mapLoanToDTO(Loan loan, InventoryItem item){
-
return LoanInfoDTO.builder()
.loanId(loan.getLoanId())
.loanType(loan.getLoanType().toString())
.loanState(loan.getLoanState().toString())
.borrowerUser(loan.getBorrowerUser())
.loanDate(loan.getLoanDate())
- .loanName(item.getCategory().getCategoryName())
+ .loanName(loan.getCategory())
+ .loanItemId(loan.getItem())
.returnDate(loan.getReturnDate())
.loanDate(loan.getLoanDate())
.build();
diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties
index aef12da..8d0cc2e 100644
--- a/src/main/resources/application-dev.properties
+++ b/src/main/resources/application-dev.properties
@@ -2,6 +2,8 @@ server.port=8092
spring.application.name=consola-lis-api
jwt.secret=Ax4skyFJwtRXE8ZDP5qCZLTKxDb/Ian18VYf9/CHiNw=
+
+
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
spring.ldap.urls=rls=https://sistemas.udea.edu.co/api/ldap/login/{username}
diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties
index 70dc2f2..39957e2 100644
--- a/src/main/resources/application-prod.properties
+++ b/src/main/resources/application-prod.properties
@@ -2,6 +2,11 @@ server.port=${SPRING_DOCKER_PORT}
spring.application.name=consola-lis-api
jwt.secret=${JWT_SECRET}
+oAuthTokenAsoneMicroservice=${OAUTH_TOKEN}
+asoneMicroservice=${URL_ASONE_MICROSERVICE}
+asoneTypeConnection=${TYPE_CONNECTION}
+
+ldap=${URL_LDAP_MICROSERVICE}
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
spring.ldap.urls=rls=https://sistemas.udea.edu.co/api/ldap/login/{username}