Skip to content

Commit 7d5cc1b

Browse files
committed
1680 - updated ape/terms api. Added updated_at field and start/end date query params
1 parent 78905ff commit 7d5cc1b

File tree

6 files changed

+22
-20
lines changed

6 files changed

+22
-20
lines changed

odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/controller/TermController.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.opendatadiscovery.oddplatform.controller;
22

3-
import java.time.LocalDate;
3+
import java.time.OffsetDateTime;
44
import java.util.UUID;
55
import lombok.RequiredArgsConstructor;
66
import org.opendatadiscovery.oddplatform.api.contract.api.TermApi;
@@ -51,8 +51,8 @@ public class TermController implements TermApi {
5151
@Override
5252
public Mono<ResponseEntity<TermRefList>> getTermsList(final Integer page, final Integer size,
5353
final String query,
54-
final LocalDate updatedAtRangeStartDateTime,
55-
final LocalDate updatedAtRangeEndDateTime,
54+
final OffsetDateTime updatedAtRangeStartDateTime,
55+
final OffsetDateTime updatedAtRangeEndDateTime,
5656
final ServerWebExchange exchange) {
5757
return termService.getTerms(page, size, query, updatedAtRangeStartDateTime, updatedAtRangeEndDateTime)
5858
.map(ResponseEntity::ok);

odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/repository/reactive/ReactiveTermRepository.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.opendatadiscovery.oddplatform.repository.reactive;
22

3-
import java.time.LocalDate;
3+
import java.time.OffsetDateTime;
44
import java.util.List;
55
import org.opendatadiscovery.oddplatform.dto.FacetStateDto;
66
import org.opendatadiscovery.oddplatform.dto.term.LinkedTermDto;
@@ -16,8 +16,8 @@
1616
public interface ReactiveTermRepository extends ReactiveCRUDRepository<TermPojo> {
1717

1818
Mono<Page<TermRefDto>> listTermRefDtos(final int page, final int size, final String query,
19-
final LocalDate updatedAtRangeStartDateTime,
20-
final LocalDate updatedAtRangeEndDateTime);
19+
final OffsetDateTime updatedAtRangeStartDateTime,
20+
final OffsetDateTime updatedAtRangeEndDateTime);
2121

2222
Mono<Boolean> existsByNamespace(final Long namespaceId);
2323

odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/repository/reactive/ReactiveTermRepositoryImpl.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.opendatadiscovery.oddplatform.repository.reactive;
22

3-
import java.time.LocalDate;
3+
import java.time.OffsetDateTime;
44
import java.util.ArrayList;
55
import java.util.Arrays;
66
import java.util.Collections;
@@ -45,6 +45,7 @@
4545
import org.opendatadiscovery.oddplatform.repository.util.JooqReactiveOperations;
4646
import org.opendatadiscovery.oddplatform.repository.util.JooqRecordHelper;
4747
import org.opendatadiscovery.oddplatform.repository.util.OrderByField;
48+
import org.opendatadiscovery.oddplatform.service.ingestion.util.DateTimeUtil;
4849
import org.opendatadiscovery.oddplatform.utils.Page;
4950
import org.springframework.stereotype.Repository;
5051
import reactor.core.publisher.Flux;
@@ -106,8 +107,8 @@ public ReactiveTermRepositoryImpl(final JooqReactiveOperations jooqReactiveOpera
106107

107108
@Override
108109
public Mono<Page<TermRefDto>> listTermRefDtos(final int page, final int size, final String nameQuery,
109-
final LocalDate updatedAtRangeStartDateTime,
110-
final LocalDate updatedAtRangeEndDateTime) {
110+
final OffsetDateTime updatedAtRangeStartDateTime,
111+
final OffsetDateTime updatedAtRangeEndDateTime) {
111112
final Select<TermRecord> homogeneousQuery = DSL.selectFrom(TERM)
112113
.where(ListUtils.union(listCondition(nameQuery),
113114
dateConditions(updatedAtRangeStartDateTime, updatedAtRangeEndDateTime)));
@@ -634,20 +635,20 @@ private List<LinkedTermDto> extractTerms(final Record record) {
634635
.toList();
635636
}
636637

637-
private List<Condition> dateConditions(final LocalDate updatedAtRangeStartDateTime,
638-
final LocalDate updatedAtRangeEndDateTime) {
638+
private List<Condition> dateConditions(final OffsetDateTime updatedAtRangeStartDateTime,
639+
final OffsetDateTime updatedAtRangeEndDateTime) {
639640
if (updatedAtRangeStartDateTime == null && updatedAtRangeEndDateTime == null) {
640641
return Collections.emptyList();
641642
}
642643

643644
final List<Condition> conditions = new ArrayList<>();
644645

645646
if (updatedAtRangeStartDateTime != null) {
646-
conditions.add(TERM.UPDATED_AT.greaterOrEqual(updatedAtRangeStartDateTime.atStartOfDay()));
647+
conditions.add(TERM.UPDATED_AT.greaterOrEqual(DateTimeUtil.mapUTCDateTime(updatedAtRangeStartDateTime)));
647648
}
648649

649650
if (updatedAtRangeEndDateTime != null) {
650-
conditions.add(TERM.UPDATED_AT.lessThan(updatedAtRangeEndDateTime.atStartOfDay()));
651+
conditions.add(TERM.UPDATED_AT.lessThan(DateTimeUtil.mapUTCDateTime(updatedAtRangeEndDateTime)));
651652
}
652653

653654
return conditions;

odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/service/term/TermService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.opendatadiscovery.oddplatform.service.term;
22

3-
import java.time.LocalDate;
3+
import java.time.OffsetDateTime;
44
import java.util.List;
55
import org.opendatadiscovery.oddplatform.api.contract.model.LinkedTerm;
66
import org.opendatadiscovery.oddplatform.api.contract.model.LinkedTermList;
@@ -16,7 +16,8 @@
1616

1717
public interface TermService {
1818
Mono<TermRefList> getTerms(final Integer page, final Integer size, final String query,
19-
final LocalDate updatedAtRangeStartDateTime, final LocalDate updatedAtRangeEndDateTime);
19+
final OffsetDateTime updatedAtRangeStartDateTime,
20+
final OffsetDateTime updatedAtRangeEndDateTime);
2021

2122
Mono<TermRef> getTermByNamespaceAndName(final String namespaceName, final String name);
2223

odd-platform-api/src/main/java/org/opendatadiscovery/oddplatform/service/term/TermServiceImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.opendatadiscovery.oddplatform.service.term;
22

3-
import java.time.LocalDate;
3+
import java.time.OffsetDateTime;
44
import java.util.ArrayList;
55
import java.util.HashSet;
66
import java.util.List;
@@ -82,8 +82,8 @@ public class TermServiceImpl implements TermService {
8282

8383
@Override
8484
public Mono<TermRefList> getTerms(final Integer page, final Integer size, final String query,
85-
final LocalDate updatedAtRangeStartDateTime,
86-
final LocalDate updatedAtRangeEndDateTime) {
85+
final OffsetDateTime updatedAtRangeStartDateTime,
86+
final OffsetDateTime updatedAtRangeEndDateTime) {
8787
return termRepository.listTermRefDtos(page, size, query, updatedAtRangeStartDateTime, updatedAtRangeEndDateTime)
8888
.map(termMapper::mapToRefPage);
8989
}

odd-platform-specification/openapi.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2730,13 +2730,13 @@ paths:
27302730
required: false
27312731
schema:
27322732
type: string
2733-
format: date
2733+
format: date-time
27342734
- name: updated_at_range_end_date_time
27352735
in: query
27362736
required: false
27372737
schema:
27382738
type: string
2739-
format: date
2739+
format: date-time
27402740
responses:
27412741
'200':
27422742
description: OK

0 commit comments

Comments
 (0)