make /info response readable
This commit is contained in:
parent
2b0c82c23c
commit
26937a8328
@ -1,5 +1,6 @@
|
||||
package com.example.nto.controller;
|
||||
|
||||
import com.example.nto.model.dto.EmployeeDTO;
|
||||
import com.example.nto.model.entity.Code;
|
||||
import com.example.nto.model.entity.Employee;
|
||||
import com.example.nto.service.EmployeeService;
|
||||
@ -26,8 +27,8 @@ public class EmployeeController {
|
||||
}
|
||||
|
||||
@GetMapping("/info")
|
||||
public Employee info(@RequestParam final String login) {
|
||||
return employeeService.getEmployee(login);
|
||||
public EmployeeDTO info(@RequestParam final String login) {
|
||||
return employeeService.getEmployeeDTO(login);
|
||||
}
|
||||
|
||||
@PatchMapping("/open")
|
||||
|
20
src/main/java/com/example/nto/mapper/EmployeeDTOMapper.java
Normal file
20
src/main/java/com/example/nto/mapper/EmployeeDTOMapper.java
Normal file
@ -0,0 +1,20 @@
|
||||
package com.example.nto.mapper;
|
||||
|
||||
import com.example.nto.model.dto.EmployeeDTO;
|
||||
import com.example.nto.model.entity.Employee;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class EmployeeDTOMapper {
|
||||
public EmployeeDTO map (final Employee employee) {
|
||||
return EmployeeDTO.builder()
|
||||
.name(employee.getName())
|
||||
.login(employee.getLogin())
|
||||
.photo(employee.getPhoto())
|
||||
.position(employee.getPosition())
|
||||
.lastVisit(employee.getLastVisit())
|
||||
.role(employee.getRole())
|
||||
.isBanned(employee.getIsBanned())
|
||||
.build();
|
||||
}
|
||||
}
|
32
src/main/java/com/example/nto/model/dto/EmployeeDTO.java
Normal file
32
src/main/java/com/example/nto/model/dto/EmployeeDTO.java
Normal file
@ -0,0 +1,32 @@
|
||||
package com.example.nto.model.dto;
|
||||
|
||||
import com.example.nto.model.EmployeeRoleType;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.EnumType;
|
||||
import javax.persistence.Enumerated;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class EmployeeDTO {
|
||||
private String login;
|
||||
|
||||
private String name;
|
||||
|
||||
private String photo;
|
||||
|
||||
private String position;
|
||||
|
||||
private LocalDateTime lastVisit;
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
private EmployeeRoleType role;
|
||||
|
||||
private Boolean isBanned;
|
||||
}
|
@ -1,13 +1,12 @@
|
||||
package com.example.nto.service;
|
||||
|
||||
import com.example.nto.model.dto.EmployeeDTO;
|
||||
import com.example.nto.model.entity.Employee;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
|
||||
public interface EmployeeService {
|
||||
|
||||
void employeeExists(final String login);
|
||||
|
||||
Employee getEmployee(String login);
|
||||
EmployeeDTO getEmployeeDTO(String login);
|
||||
|
||||
void updateVisit(String login, long value);
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
package com.example.nto.service.impl;
|
||||
|
||||
import com.example.nto.mapper.EmployeeDTOMapper;
|
||||
import com.example.nto.model.dto.EmployeeDTO;
|
||||
import com.example.nto.model.entity.Employee;
|
||||
import com.example.nto.repository.CodeRepository;
|
||||
import com.example.nto.repository.EmployeeRepository;
|
||||
@ -23,15 +25,24 @@ public class EmployeeServiceImpl implements EmployeeService {
|
||||
|
||||
private final CodeRepository codeRepository;
|
||||
|
||||
@Override
|
||||
public void employeeExists(final String login) {
|
||||
private final EmployeeDTOMapper employeeDTOMapper;
|
||||
|
||||
private void employeeExists(final String login) {
|
||||
if (!employeeRepository.existsByLogin(login)) {
|
||||
throw new EmployeeNotFoundException();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Employee getEmployee(final String login) {
|
||||
public EmployeeDTO getEmployeeDTO(final String login) {
|
||||
if (!employeeRepository.existsByLogin(login)) {
|
||||
throw new EmployeeNotFoundException();
|
||||
}
|
||||
var e = employeeRepository.findEmployeeByLogin(login);
|
||||
return employeeDTOMapper.map(e);
|
||||
}
|
||||
|
||||
private Employee getEmployee(final String login) {
|
||||
if (!employeeRepository.existsByLogin(login)) {
|
||||
throw new EmployeeNotFoundException();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user