-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathDashBoardController.java
More file actions
60 lines (50 loc) · 2.48 KB
/
DashBoardController.java
File metadata and controls
60 lines (50 loc) · 2.48 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package kernel360.trackyweb.dashboard.presentation;
import java.util.List;
import java.util.Map;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.v3.oas.annotations.media.Schema;
import kernel360.trackycore.core.common.api.ApiResponse;
import kernel360.trackyweb.dashboard.application.DashBoardService;
import kernel360.trackyweb.dashboard.application.dto.response.DashboardCarStatusResponse;
import kernel360.trackyweb.dashboard.application.dto.response.DashboardReturnResponse;
import kernel360.trackyweb.dashboard.application.dto.response.DashboardStatisticsResponse;
import kernel360.trackyweb.sign.infrastructure.security.principal.MemberPrincipal;
import lombok.RequiredArgsConstructor;
@RestController
@RequestMapping("/api/dashboard")
@RequiredArgsConstructor
public class DashBoardController implements DashBoardApiDocs {
private final DashBoardService dashBoardService;
@GetMapping("/return/status")
public ApiResponse<List<DashboardReturnResponse>> getdelayedReturn(
@Schema(hidden = true) @AuthenticationPrincipal MemberPrincipal memberPrincipal) {
return dashBoardService.getDelayedReturn(memberPrincipal.bizUuid());
}
@GetMapping("/cars/status")
public ApiResponse<List<DashboardCarStatusResponse>> getAllCarStatus(
@Schema(hidden = true) @AuthenticationPrincipal MemberPrincipal memberPrincipal
) {
return ApiResponse.success(dashBoardService.getAllCarStatus(memberPrincipal.bizUuid()));
}
@GetMapping("/statistics")
public ApiResponse<DashboardStatisticsResponse> getStatistics(
@Schema(hidden = true) @AuthenticationPrincipal MemberPrincipal memberPrincipal) {
return ApiResponse.success(dashBoardService.getStatistics(memberPrincipal.bizUuid()));
}
@PatchMapping("/return/status/{rentUuid}")
public ApiResponse<String> updateStatusToReturn(@PathVariable String rentUuid) {
return dashBoardService.updateStatusToReturn(rentUuid);
}
@GetMapping("/geo")
public ApiResponse<Map<String, List<String>>> getGeoData(
@Schema(hidden = true) @AuthenticationPrincipal MemberPrincipal memberPrincipal
) {
Map<String, List<String>> geoMap = dashBoardService.getGeoData(memberPrincipal.bizUuid());
return ApiResponse.success(geoMap);
}
}