Skip to content

Commit 4425236

Browse files
petmongrelshimeshr
authored andcommitted
#726 - lastModifiedDateTime is optional in location external api feed
1 parent 38a36c1 commit 4425236

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

avni-server-api/src/main/java/org/avni/server/dao/EntityApprovalStatusRepository.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import org.avni.server.dao.sync.SyncEntityName;
44
import org.avni.server.domain.*;
55
import org.avni.server.framework.security.UserContextHolder;
6+
import org.avni.server.web.request.EntitySyncStatusContract;
67
import org.joda.time.DateTime;
78
import org.springframework.data.domain.Page;
89
import org.springframework.data.domain.Pageable;
@@ -36,7 +37,7 @@ Page<EntityApprovalStatus> findByLastModifiedDateTimeIsBetweenOrderByLastModifie
3637
default Page<EntityApprovalStatus> findEntityApprovalStatuses(EntityApprovalStatusSearchParams searchParams, Pageable pageable) {
3738

3839
Specification specification = lastModifiedBetween(
39-
CHSEntity.toDate(searchParams.getLastModifiedDateTime() != null ? searchParams.getLastModifiedDateTime() : new DateTime("1900-01-01T00:00:00.000Z")),
40+
CHSEntity.toDate(searchParams.getLastModifiedDateTime() != null ? searchParams.getLastModifiedDateTime() : EntitySyncStatusContract.REALLY_OLD_DATE),
4041
CHSEntity.toDate(searchParams.getNow() != null ? searchParams.getNow() : new DateTime()));
4142

4243
if (searchParams.getEntityType() != null) {

avni-server-api/src/main/java/org/avni/server/web/api/LocationApiController.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import org.avni.server.dao.LocationRepository;
55
import org.avni.server.domain.AddressLevel;
66
import org.avni.server.service.ConceptService;
7+
import org.avni.server.util.DateTimeUtil;
8+
import org.avni.server.web.request.EntitySyncStatusContract;
79
import org.avni.server.web.response.LocationApiResponse;
810
import org.avni.server.web.response.ResponsePage;
911
import org.joda.time.DateTime;
@@ -32,9 +34,12 @@ public LocationApiController(LocationRepository locationRepository, ConceptRepos
3234

3335
@RequestMapping(value = "/api/locations", method = RequestMethod.GET)
3436
@PreAuthorize(value = "hasAnyAuthority('user')")
35-
public ResponsePage getLocations(@RequestParam(value = "lastModifiedDateTime") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) DateTime lastModifiedDateTime,
37+
public ResponsePage getLocations(@RequestParam(value = "lastModifiedDateTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) DateTime lastModifiedDateTime,
3638
@RequestParam(value = "now", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) DateTime now,
3739
Pageable pageable) {
40+
if (lastModifiedDateTime == null) {
41+
lastModifiedDateTime = EntitySyncStatusContract.REALLY_OLD_DATE;
42+
}
3843
Page<AddressLevel> addresses = locationRepository.findByLastModifiedDateTimeIsBetweenOrderByLastModifiedDateTimeAscIdAsc(lastModifiedDateTime, now, pageable);
3944
ArrayList<LocationApiResponse> locationApiResponses = new ArrayList<>();
4045
addresses.forEach(addressLevel -> {

avni-server-api/src/main/java/org/avni/server/web/request/EntitySyncStatusContract.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import java.util.UUID;
1010

1111
public class EntitySyncStatusContract {
12-
private static final DateTime REALLY_OLD_DATE = new DateTime("1900-01-01T00:00:00.000Z");
12+
public static final DateTime REALLY_OLD_DATE = new DateTime("1900-01-01T00:00:00.000Z");
1313
private String uuid;
1414
private String entityName;
1515
private DateTime loadedSince;

0 commit comments

Comments
 (0)