forked from Qortal/qortal
Added optional after
parameter to GET /names
.
This commit is contained in:
parent
29480e5664
commit
f8233bd05b
@ -70,10 +70,12 @@ public class NamesResource {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ApiErrors({ApiError.REPOSITORY_ISSUE})
|
@ApiErrors({ApiError.REPOSITORY_ISSUE})
|
||||||
public List<NameSummary> getAllNames(@Parameter(ref = "limit") @QueryParam("limit") Integer limit, @Parameter(ref = "offset") @QueryParam("offset") Integer offset,
|
public List<NameSummary> getAllNames(@Parameter(ref = "after") @QueryParam("after") Long after,
|
||||||
|
@Parameter(ref = "limit") @QueryParam("limit") Integer limit,
|
||||||
|
@Parameter(ref = "offset") @QueryParam("offset") Integer offset,
|
||||||
@Parameter(ref="reverse") @QueryParam("reverse") Boolean reverse) {
|
@Parameter(ref="reverse") @QueryParam("reverse") Boolean reverse) {
|
||||||
try (final Repository repository = RepositoryManager.getRepository()) {
|
try (final Repository repository = RepositoryManager.getRepository()) {
|
||||||
List<NameData> names = repository.getNameRepository().getAllNames(limit, offset, reverse);
|
List<NameData> names = repository.getNameRepository().getAllNames(after, limit, offset, reverse);
|
||||||
|
|
||||||
// Convert to summary
|
// Convert to summary
|
||||||
return names.stream().map(NameSummary::new).collect(Collectors.toList());
|
return names.stream().map(NameSummary::new).collect(Collectors.toList());
|
||||||
|
@ -16,10 +16,10 @@ public interface NameRepository {
|
|||||||
|
|
||||||
public List<NameData> searchNames(String query, boolean prefixOnly, Integer limit, Integer offset, Boolean reverse) throws DataException;
|
public List<NameData> searchNames(String query, boolean prefixOnly, Integer limit, Integer offset, Boolean reverse) throws DataException;
|
||||||
|
|
||||||
public List<NameData> getAllNames(Integer limit, Integer offset, Boolean reverse) throws DataException;
|
public List<NameData> getAllNames(Long after, Integer limit, Integer offset, Boolean reverse) throws DataException;
|
||||||
|
|
||||||
public default List<NameData> getAllNames() throws DataException {
|
public default List<NameData> getAllNames() throws DataException {
|
||||||
return getAllNames(null, null, null);
|
return getAllNames(null, null, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<NameData> getNamesForSale(Integer limit, Integer offset, Boolean reverse) throws DataException;
|
public List<NameData> getNamesForSale(Integer limit, Integer offset, Boolean reverse) throws DataException;
|
||||||
|
@ -158,11 +158,20 @@ public class HSQLDBNameRepository implements NameRepository {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<NameData> getAllNames(Integer limit, Integer offset, Boolean reverse) throws DataException {
|
public List<NameData> getAllNames(Long after, Integer limit, Integer offset, Boolean reverse) throws DataException {
|
||||||
StringBuilder sql = new StringBuilder(256);
|
StringBuilder sql = new StringBuilder(256);
|
||||||
|
List<Object> bindParams = new ArrayList<>();
|
||||||
|
|
||||||
sql.append("SELECT name, reduced_name, owner, data, registered_when, updated_when, "
|
sql.append("SELECT name, reduced_name, owner, data, registered_when, updated_when, "
|
||||||
+ "is_for_sale, sale_price, reference, creation_group_id FROM Names ORDER BY name");
|
+ "is_for_sale, sale_price, reference, creation_group_id FROM Names");
|
||||||
|
|
||||||
|
if (after != null) {
|
||||||
|
sql.append(" WHERE registered_when > ? OR updated_when > ?");
|
||||||
|
bindParams.add(after);
|
||||||
|
bindParams.add(after);
|
||||||
|
}
|
||||||
|
|
||||||
|
sql.append(" ORDER BY name");
|
||||||
|
|
||||||
if (reverse != null && reverse)
|
if (reverse != null && reverse)
|
||||||
sql.append(" DESC");
|
sql.append(" DESC");
|
||||||
@ -171,7 +180,7 @@ public class HSQLDBNameRepository implements NameRepository {
|
|||||||
|
|
||||||
List<NameData> names = new ArrayList<>();
|
List<NameData> names = new ArrayList<>();
|
||||||
|
|
||||||
try (ResultSet resultSet = this.repository.checkedExecute(sql.toString())) {
|
try (ResultSet resultSet = this.repository.checkedExecute(sql.toString(), bindParams.toArray())) {
|
||||||
if (resultSet == null)
|
if (resultSet == null)
|
||||||
return names;
|
return names;
|
||||||
|
|
||||||
|
@ -37,8 +37,8 @@ public class NamesApiTests extends ApiCommon {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetAllNames() {
|
public void testGetAllNames() {
|
||||||
assertNotNull(this.namesResource.getAllNames(null, null, null));
|
assertNotNull(this.namesResource.getAllNames(null, null, null, null));
|
||||||
assertNotNull(this.namesResource.getAllNames(1, 1, true));
|
assertNotNull(this.namesResource.getAllNames(1L, 1, 1, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Loading…
x
Reference in New Issue
Block a user