Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
package bg.softuni.invoice.model.service;

import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.time.LocalDateTime;

@Setter
@Getter
@NoArgsConstructor
public class LogServiceModel {

private String id;
Expand All @@ -10,53 +17,11 @@ public class LogServiceModel {
private LocalDateTime dateTime;
private UserServiceModel user;

public LogServiceModel() {
}

public LogServiceModel(String requestURI, String method, LocalDateTime dateTime, UserServiceModel user) {
this.requestURI = requestURI;
this.method = method;
this.dateTime = dateTime;
this.user = user;
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getRequestURI() {
return requestURI;
}

public void setRequestURI(String requestURI) {
this.requestURI = requestURI;
}

public String getMethod() {
return method;
}

public void setMethod(String method) {
this.method = method;
}

public LocalDateTime getDateTime() {
return dateTime;
}

public void setDateTime(LocalDateTime dateTime) {
this.dateTime = dateTime;
}

public UserServiceModel getUser() {
return user;
}

public void setUser(UserServiceModel user) {
this.user = user;
}
}
44 changes: 5 additions & 39 deletions src/main/java/bg/softuni/invoice/model/view/LogViewModel.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
package bg.softuni.invoice.model.view;

import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

@Setter
@Getter
public class LogViewModel {

private String id;
Expand All @@ -10,43 +15,4 @@ public class LogViewModel {
private LocalDateTime dateTime;
private String user;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getRequestURI() {
return requestURI;
}

public void setRequestURI(String requestURI) {
this.requestURI = requestURI;
}

public String getMethod() {
return method;
}

public void setMethod(String method) {
this.method = method;
}

public LocalDateTime getDateTime() {
return dateTime;
}

public void setDateTime(LocalDateTime dateTime) {
this.dateTime = dateTime;
}

public String getUser() {
return user;
}

public void setUser(String user) {
this.user = user;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,19 @@
import bg.softuni.invoice.model.service.LogServiceModel;
import bg.softuni.invoice.repository.LogRepository;
import bg.softuni.invoice.service.LogService;
import lombok.RequiredArgsConstructor;
import org.modelmapper.ModelMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;

@Service
@RequiredArgsConstructor
public class LogServiceImpl implements LogService {

private final LogRepository logRepository;
private final ModelMapper modelMapper;

@Autowired
public LogServiceImpl(LogRepository logRepository, ModelMapper modelMapper) {
this.logRepository = logRepository;
this.modelMapper = modelMapper;
}

@Override
public void createLog(LogServiceModel logServiceModel) {
Log log = this.modelMapper.map(logServiceModel, Log.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,26 @@

import bg.softuni.invoice.model.entity.Log;
import bg.softuni.invoice.repository.LogRepository;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Optional;

@CrossOrigin("http://localhost")
@RestController
@RequestMapping("/api/log")
@RequiredArgsConstructor
public class LogRestController {

private final LogRepository logRepository;

@Autowired
public LogRestController(LogRepository logRepository) {
this.logRepository = logRepository;
}

@GetMapping
@PreAuthorize("hasRole('ROOT')")
public List<Log> getLogs() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,26 @@
import bg.softuni.invoice.model.service.UserServiceModel;
import bg.softuni.invoice.service.LogService;
import bg.softuni.invoice.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.boot.autoconfigure.security.servlet.PathRequest;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;

import static bg.softuni.invoice.constant.GlobalConstants.ANONYMOUS_USER_USERNAME;

@Component
@RequiredArgsConstructor
public class LoggingInterceptor implements HandlerInterceptor {

private final LogService logService;
private final UserService userService;

@Autowired
public LoggingInterceptor(LogService logService, UserService userService) {
this.logService = logService;
this.userService = userService;
}

@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler) throws Exception {

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
String requestURI = request.getRequestURI();
String method = request.getMethod();
String username = request.getUserPrincipal() == null
Expand Down