Skip to content

Commit

Permalink
AYS-629 | Country Code Filter Removed From The User Listing Service (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
MenekseYuncu authored Jan 29, 2025
1 parent e0207f3 commit d5937ae
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 11 deletions.
17 changes: 10 additions & 7 deletions src/main/java/org/ays/auth/model/AysUserFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import org.ays.auth.model.entity.AysUserEntity;
import org.ays.auth.model.enums.AysUserStatus;
import org.ays.common.model.AysFilter;
import org.ays.common.model.AysPhoneNumber;
import org.ays.common.util.validation.Name;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.util.StringUtils;
Expand Down Expand Up @@ -46,7 +45,7 @@ public class AysUserFilter implements AysFilter {
@Size(min = 1, max = 254)
private String emailAddress;

private AysPhoneNumber phoneNumber;
private PhoneNumber phoneNumber;

private Set<AysUserStatus> statuses;

Expand All @@ -56,6 +55,15 @@ public class AysUserFilter implements AysFilter {

private String institutionId;

/**
* Nested class for filtering by phone line number.
*/
@Getter
@Setter
public static class PhoneNumber {
private String lineNumber;
}


/**
* Converts the current filter criteria into a {@link Specification} for querying users.
Expand Down Expand Up @@ -102,11 +110,6 @@ public Specification<AysUserEntity> toSpecification() {
criteriaBuilder.like(criteriaBuilder.upper(root.get("emailAddress")), "%" + this.emailAddress.toUpperCase() + "%"));
}

if (this.phoneNumber != null && StringUtils.hasText(this.phoneNumber.getCountryCode())) {
specification = specification.and((root, query, criteriaBuilder) ->
criteriaBuilder.like(root.get("countryCode"), "%" + this.phoneNumber.getCountryCode() + "%"));
}

if (this.phoneNumber != null && StringUtils.hasText(this.phoneNumber.getLineNumber())) {
specification = specification.and((root, query, criteriaBuilder) ->
criteriaBuilder.like(root.get("lineNumber"), "%" + this.phoneNumber.getLineNumber() + "%"));
Expand Down
3 changes: 1 addition & 2 deletions src/test/java/org/ays/auth/model/AysUserFilterBuilder.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package org.ays.auth.model;

import org.ays.auth.model.enums.AysUserStatus;
import org.ays.common.model.AysPhoneNumber;
import org.ays.common.model.TestDataBuilder;
import org.ays.common.util.AysRandomUtil;

Expand Down Expand Up @@ -40,7 +39,7 @@ public AysUserFilterBuilder withStatuses(Set<AysUserStatus> statuses) {
return this;
}

public AysUserFilterBuilder withPhoneNumber(AysPhoneNumber phoneNumber) {
public AysUserFilterBuilder withPhoneNumber(AysUserFilter.PhoneNumber phoneNumber) {
data.setPhoneNumber(phoneNumber);
return this;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import org.ays.auth.model.enums.AysUserStatus;
import org.ays.common.model.AysPageable;
import org.ays.common.model.AysPageableBuilder;
import org.ays.common.model.AysPhoneNumber;
import org.ays.common.model.AysSort;
import org.ays.common.model.TestDataBuilder;

Expand Down Expand Up @@ -65,7 +64,7 @@ public AysUserListRequestBuilder withEmailAddress(String emailAddress) {
return this;
}

public AysUserListRequestBuilder withPhoneNumber(AysPhoneNumber phoneNumber) {
public AysUserListRequestBuilder withPhoneNumber(AysUserFilter.PhoneNumber phoneNumber) {
data.getFilter().setPhoneNumber(phoneNumber);
return this;
}
Expand Down

0 comments on commit d5937ae

Please sign in to comment.