make /info response readable
This commit is contained in:
parent
2b0c82c23c
commit
26937a8328
@ -1,5 +1,6 @@
|
|||||||
package com.example.nto.controller;
|
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.Code;
|
||||||
import com.example.nto.model.entity.Employee;
|
import com.example.nto.model.entity.Employee;
|
||||||
import com.example.nto.service.EmployeeService;
|
import com.example.nto.service.EmployeeService;
|
||||||
@ -26,8 +27,8 @@ public class EmployeeController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/info")
|
@GetMapping("/info")
|
||||||
public Employee info(@RequestParam final String login) {
|
public EmployeeDTO info(@RequestParam final String login) {
|
||||||
return employeeService.getEmployee(login);
|
return employeeService.getEmployeeDTO(login);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PatchMapping("/open")
|
@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;
|
package com.example.nto.service;
|
||||||
|
|
||||||
|
import com.example.nto.model.dto.EmployeeDTO;
|
||||||
import com.example.nto.model.entity.Employee;
|
import com.example.nto.model.entity.Employee;
|
||||||
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
|
|
||||||
public interface EmployeeService {
|
public interface EmployeeService {
|
||||||
|
|
||||||
void employeeExists(final String login);
|
EmployeeDTO getEmployeeDTO(String login);
|
||||||
|
|
||||||
Employee getEmployee(String login);
|
|
||||||
|
|
||||||
void updateVisit(String login, long value);
|
void updateVisit(String login, long value);
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package com.example.nto.service.impl;
|
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.model.entity.Employee;
|
||||||
import com.example.nto.repository.CodeRepository;
|
import com.example.nto.repository.CodeRepository;
|
||||||
import com.example.nto.repository.EmployeeRepository;
|
import com.example.nto.repository.EmployeeRepository;
|
||||||
@ -23,15 +25,24 @@ public class EmployeeServiceImpl implements EmployeeService {
|
|||||||
|
|
||||||
private final CodeRepository codeRepository;
|
private final CodeRepository codeRepository;
|
||||||
|
|
||||||
@Override
|
private final EmployeeDTOMapper employeeDTOMapper;
|
||||||
public void employeeExists(final String login) {
|
|
||||||
|
private void employeeExists(final String login) {
|
||||||
if (!employeeRepository.existsByLogin(login)) {
|
if (!employeeRepository.existsByLogin(login)) {
|
||||||
throw new EmployeeNotFoundException();
|
throw new EmployeeNotFoundException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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)) {
|
if (!employeeRepository.existsByLogin(login)) {
|
||||||
throw new EmployeeNotFoundException();
|
throw new EmployeeNotFoundException();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user