rename TimeZone to Timezone
Signed-off-by: Peter Siegmund <developer@mars3142.org>
This commit is contained in:
@@ -11,9 +11,9 @@ import org.springframework.context.annotation.Configuration;
|
||||
public class OpenAPIConfig {
|
||||
|
||||
@Bean
|
||||
public OpenAPI timeZoneOpenAPI() {
|
||||
public OpenAPI timezoneOpenAPI() {
|
||||
return new OpenAPI()
|
||||
.info(new Info().title("TimeZone API").version("1.0"))
|
||||
.info(new Info().title("Timezone API").version("1.0"))
|
||||
.servers(
|
||||
List.of(
|
||||
new Server().url("https://api.firmware-hq.dev"),
|
||||
|
@@ -2,8 +2,8 @@ package dev.mars3142.fhq.timezone_service.timezone.controllers;
|
||||
|
||||
import dev.mars3142.fhq.timezone_service.timezone.domain.entities.response.TimeApiTimezoneZoneResponse;
|
||||
import dev.mars3142.fhq.timezone_service.timezone.domain.model.response.LocationResponse;
|
||||
import dev.mars3142.fhq.timezone_service.timezone.domain.model.response.TimeZoneResponse;
|
||||
import dev.mars3142.fhq.timezone_service.timezone.service.TimeZoneService;
|
||||
import dev.mars3142.fhq.timezone_service.timezone.domain.model.response.TimezoneResponse;
|
||||
import dev.mars3142.fhq.timezone_service.timezone.service.TimezoneService;
|
||||
import java.util.Objects;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.val;
|
||||
@@ -19,19 +19,19 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RestController
|
||||
@RequestMapping("v1/timezone")
|
||||
@RequiredArgsConstructor
|
||||
public class TimeZoneController {
|
||||
public class TimezoneController {
|
||||
|
||||
private final TimeZoneService timeZoneService;
|
||||
private final TimezoneService timeZoneService;
|
||||
|
||||
@GetMapping
|
||||
public HttpEntity<TimeZoneResponse> getTimeZone(
|
||||
public HttpEntity<TimezoneResponse> getTimeZone(
|
||||
@RequestHeader(value = "X-Forwarded-For", defaultValue = "127.0.0.1") String header) {
|
||||
val clientIp = header.split(",")[0];
|
||||
val ip = timeZoneService.getExternalIp(clientIp);
|
||||
val timezoneInfo = timeZoneService.getTimeZoneInfoByIp(ip);
|
||||
val posix = timeZoneService.getPosixTimeZone(timezoneInfo.timezone());
|
||||
return new ResponseEntity<>(
|
||||
TimeZoneResponse.builder().timezone(timezoneInfo.timezone()).abbreviation(timezoneInfo.abbreviation())
|
||||
TimezoneResponse.builder().timezone(timezoneInfo.timezone()).abbreviation(timezoneInfo.abbreviation())
|
||||
.posix_tz(posix).build(), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@@ -42,14 +42,14 @@ public class TimeZoneController {
|
||||
}
|
||||
|
||||
@GetMapping("{area}/{location}")
|
||||
public HttpEntity<TimeZoneResponse> getTimeZoneForLocation(@PathVariable String area, @PathVariable String location) {
|
||||
public HttpEntity<TimezoneResponse> getTimeZoneForLocation(@PathVariable String area, @PathVariable String location) {
|
||||
val timezone = area + "/" + location;
|
||||
val timezoneInfo = timeZoneService.getTimeZoneInfo(timezone);
|
||||
val abbreviation = Objects.requireNonNullElse(timezoneInfo.dstInterval(),
|
||||
new TimeApiTimezoneZoneResponse.Interval(null)).dstName();
|
||||
val posix = timeZoneService.getPosixTimeZone(timezone);
|
||||
return new ResponseEntity<>(
|
||||
TimeZoneResponse.builder().timezone(timezone).abbreviation(abbreviation).posix_tz(posix).build(),
|
||||
TimezoneResponse.builder().timezone(timezone).abbreviation(abbreviation).posix_tz(posix).build(),
|
||||
HttpStatus.OK);
|
||||
}
|
||||
}
|
@@ -8,7 +8,7 @@ import org.springframework.hateoas.RepresentationModel;
|
||||
@Getter
|
||||
@Builder
|
||||
@RequiredArgsConstructor
|
||||
public class TimeZoneResponse extends RepresentationModel<TimeZoneResponse> {
|
||||
public class TimezoneResponse extends RepresentationModel<TimezoneResponse> {
|
||||
|
||||
private final String timezone;
|
||||
private final String abbreviation;
|
@@ -4,7 +4,7 @@ import dev.mars3142.fhq.timezone_service.timezone.domain.entities.response.TimeA
|
||||
import dev.mars3142.fhq.timezone_service.timezone.domain.entities.response.WorldTimeApiIpResponse;
|
||||
import java.util.List;
|
||||
|
||||
public interface TimeZoneService {
|
||||
public interface TimezoneService {
|
||||
|
||||
String getExternalIp(String ip);
|
||||
|
@@ -4,7 +4,7 @@ import dev.mars3142.fhq.timezone_service.exceptions.NotFoundException;
|
||||
import dev.mars3142.fhq.timezone_service.timezone.domain.entities.response.IpifyResponse;
|
||||
import dev.mars3142.fhq.timezone_service.timezone.domain.entities.response.TimeApiTimezoneZoneResponse;
|
||||
import dev.mars3142.fhq.timezone_service.timezone.domain.entities.response.WorldTimeApiIpResponse;
|
||||
import dev.mars3142.fhq.timezone_service.timezone.service.TimeZoneService;
|
||||
import dev.mars3142.fhq.timezone_service.timezone.service.TimezoneService;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
@@ -21,11 +21,11 @@ import org.springframework.web.client.RestClient;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
public class TimeZoneServiceImpl implements TimeZoneService {
|
||||
public class TimezoneServiceImpl implements TimezoneService {
|
||||
|
||||
private final RestClient restClient;
|
||||
|
||||
public TimeZoneServiceImpl(RestClient.Builder restClientBuilder) {
|
||||
public TimezoneServiceImpl(RestClient.Builder restClientBuilder) {
|
||||
restClient = restClientBuilder.build();
|
||||
}
|
||||
|
@@ -14,11 +14,11 @@ import static org.springframework.test.web.client.match.MockRestRequestMatchers.
|
||||
import static org.springframework.test.web.client.response.MockRestResponseCreators.withSuccess;
|
||||
|
||||
@DisplayName("Testing Timezone Service Default Implementation")
|
||||
@RestClientTest(TimeZoneServiceImpl.class)
|
||||
class TimeZoneServiceImplTest {
|
||||
@RestClientTest(TimezoneServiceImpl.class)
|
||||
class TimezoneServiceImplTest {
|
||||
|
||||
@Autowired
|
||||
private TimeZoneServiceImpl timeZoneService;
|
||||
private TimezoneServiceImpl timeZoneService;
|
||||
|
||||
@Autowired
|
||||
private MockRestServiceServer server;
|
@@ -12,7 +12,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||
@DisplayName("Testing Timezone RestController")
|
||||
public class TimeZoneControllerTest {
|
||||
public class TimezoneControllerTest {
|
||||
|
||||
@LocalServerPort
|
||||
private int port;
|
Reference in New Issue
Block a user