-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathFindApiLogsService.java
More file actions
37 lines (33 loc) · 1.94 KB
/
FindApiLogsService.java
File metadata and controls
37 lines (33 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package clap.server.application.service.log;
import clap.server.adapter.inbound.web.dto.common.PageResponse;
import clap.server.adapter.inbound.web.dto.log.response.AnonymousLogResponse;
import clap.server.adapter.inbound.web.dto.log.request.FilterLogRequest;
import clap.server.adapter.inbound.web.dto.log.response.MemberLogResponse;
import clap.server.application.mapper.response.LogResponseMapper;
import clap.server.application.port.inbound.log.FindApiLogsUsecase;
import clap.server.application.port.outbound.log.LoadLogPort;
import clap.server.common.annotation.architecture.ApplicationService;
import clap.server.domain.model.log.AnonymousLog;
import clap.server.domain.model.log.MemberLog;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.transaction.annotation.Transactional;
@ApplicationService
@RequiredArgsConstructor
@Transactional(readOnly = true)
public class FindApiLogsService implements FindApiLogsUsecase {
private final LoadLogPort loadLogPort;
@Override
public PageResponse<AnonymousLogResponse> filterAnonymousLogs(FilterLogRequest anonymousLogRequest, Pageable pageable, String sortDirection) {
Page<AnonymousLog> anonymousLogs = loadLogPort.filterAnonymousLogs(anonymousLogRequest, pageable, sortDirection);
Page<AnonymousLogResponse> anonymousLogResponses = anonymousLogs.map(LogResponseMapper::toAnonymousLogResponse);
return PageResponse.from(anonymousLogResponses);
}
@Override
public PageResponse<MemberLogResponse> filterMemberLogs(FilterLogRequest memberLogRequest, Pageable pageable, String sortDirection) {
Page<MemberLog> memberLogs = loadLogPort.filterMemberLogs(memberLogRequest, pageable, sortDirection);
Page<MemberLogResponse> memberLogResponses = memberLogs.map(LogResponseMapper::toMemberLogResponse);
return PageResponse.from(memberLogResponses);
}
}