Skip to content

Commit

Permalink
adding filter to existing api #564
Browse files Browse the repository at this point in the history
  • Loading branch information
ahakanzn committed Apr 19, 2024
1 parent c044860 commit 9ccad3f
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,11 @@
*/
package org.gbif.registry.persistence.mapper.collections;

import org.apache.ibatis.annotations.Select;

import org.gbif.api.model.collections.Institution;
import org.gbif.api.model.registry.search.collections.KeyCodeNameResult;
import org.gbif.api.vocabulary.collections.Source;
import org.gbif.registry.persistence.mapper.collections.dto.InstitutionGeoJsonDto;
import org.gbif.registry.persistence.mapper.collections.dto.InstitutionMatchedDto;
import org.gbif.registry.persistence.mapper.collections.params.InstitutionSearchParams;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
import lombok.Getter;
import lombok.experimental.SuperBuilder;

import org.gbif.api.vocabulary.collections.Source;

@Getter
@SuperBuilder
public class CollectionSearchParams extends SearchParams {
Expand All @@ -32,4 +34,6 @@ public class CollectionSearchParams extends SearchParams {
@Nullable List<PreservationType> preservationTypes;
@Nullable AccessionStatus accessionStatus;
@Nullable Boolean personalCollection;
@Nullable String sourceId;
@Nullable Source source;
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,15 @@
import lombok.Getter;
import lombok.experimental.SuperBuilder;

import org.gbif.api.vocabulary.collections.Source;

@Getter
@SuperBuilder
public class InstitutionSearchParams extends SearchParams {

@Nullable InstitutionType type;
@Nullable InstitutionGovernance institutionalGovernance;
@Nullable List<Discipline> disciplines;
@Nullable String sourceId;
@Nullable Source source;
}
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,12 @@
#{item,jdbcType=VARCHAR}
</foreach>
</if>
<if test="params.source != null">
AND m.source = #{params.source}
</if>
<if test="params.sourceId != null">
AND m.source_id = #{params.sourceId}
</if>
</where>
</sql>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,12 @@
#{item,jdbcType=VARCHAR}
</foreach>
</if>
<if test="params.source != null">
AND m.source = #{params.source}
</if>
<if test="params.sourceId != null">
AND m.source_id = #{params.sourceId}
</if>
</where>
</sql>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,8 @@ private PagingResponse<CollectionView> listInternal(
.occurrenceCount(parseIntegerRangeParameter(searchRequest.getOccurrenceCount()))
.typeSpecimenCount(parseIntegerRangeParameter(searchRequest.getTypeSpecimenCount()))
.deleted(deleted)
.sourceId(searchRequest.getSourceId())
.source(searchRequest.getSource())
.institutionKeys(new ArrayList<>(institutionKeys))
.sortBy(searchRequest.getSortBy())
.sortOrder(searchRequest.getSortOrder())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,8 @@ private InstitutionSearchParams buildSearchParams(
.occurrenceCount(parseIntegerRangeParameter(searchRequest.getOccurrenceCount()))
.typeSpecimenCount(parseIntegerRangeParameter(searchRequest.getTypeSpecimenCount()))
.institutionKeys(searchRequest.getInstitutionKeys())
.sourceId(searchRequest.getSourceId())
.source(searchRequest.getSource())
.deleted(deleted)
.sortBy(searchRequest.getSortBy())
.sortOrder(searchRequest.getSortOrder())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import org.gbif.api.vocabulary.collections.Discipline;
import org.gbif.api.vocabulary.collections.InstitutionGovernance;
import org.gbif.api.vocabulary.collections.InstitutionType;
import org.gbif.api.vocabulary.collections.Source;
import org.gbif.registry.service.collections.batch.InstitutionBatchService;
import org.gbif.registry.service.collections.duplicates.InstitutionDuplicatesService;
import org.gbif.registry.service.collections.merge.InstitutionMergeService;
Expand Down Expand Up @@ -59,6 +60,7 @@
import org.springframework.http.ContentDisposition;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.security.core.parameters.P;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
Expand Down Expand Up @@ -146,7 +148,17 @@ public InstitutionResource(
"Discipline of a GrSciColl institution. Accepts multiple values, for example "
+ "`discipline=ARCHAEOLOGY_PREHISTORIC&discipline=ARCHAEOLOGY_HISTORIC`",
schema = @Schema(implementation = Discipline.class),
in = ParameterIn.QUERY)
in = ParameterIn.QUERY),
@Parameter(
name = "sourceId",
description = "sourceId of MasterSourceMetadata",
schema = @Schema(implementation = String.class),
in = ParameterIn.QUERY),
@Parameter(
name = "source",
description = "Source attribute of MasterSourceMetadata",
schema = @Schema(implementation = Source.class),
in = ParameterIn.QUERY)
})
@SearchRequestParameters
@interface InstitutionSearchParameters {}
Expand Down

0 comments on commit 9ccad3f

Please sign in to comment.