diff --git a/FrejaEidClient/pom.xml b/FrejaEidClient/pom.xml index 18c02d9..269b849 100644 --- a/FrejaEidClient/pom.xml +++ b/FrejaEidClient/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.verisec.frejaeid FrejaEidClient - 2.33.2-SNAPSHOT + 2.34.0-SNAPSHOT jar FrejaEidClient diff --git a/FrejaEidClient/src/main/java/com/verisec/frejaeid/client/beans/organisationid/init/InitiateAddOrganisationIdRequest.java b/FrejaEidClient/src/main/java/com/verisec/frejaeid/client/beans/organisationid/init/InitiateAddOrganisationIdRequest.java index d889618..085738d 100644 --- a/FrejaEidClient/src/main/java/com/verisec/frejaeid/client/beans/organisationid/init/InitiateAddOrganisationIdRequest.java +++ b/FrejaEidClient/src/main/java/com/verisec/frejaeid/client/beans/organisationid/init/InitiateAddOrganisationIdRequest.java @@ -21,6 +21,7 @@ public class InitiateAddOrganisationIdRequest implements RelyingPartyRequest { private final OrganisationId organisationId; private final MinRegistrationLevel minRegistrationLevel; private final Long expiry; + private final String text; private final String relyingPartyId; /** @@ -35,7 +36,7 @@ public class InitiateAddOrganisationIdRequest implements RelyingPartyRequest { */ public static InitiateAddOrganisationIdRequest createDefaultWithEmail(String email, OrganisationId organisationId) { return new InitiateAddOrganisationIdRequest(UserInfoType.EMAIL, email, organisationId, - MinRegistrationLevel.EXTENDED, null, null); + MinRegistrationLevel.EXTENDED, null, null); } /** @@ -55,7 +56,7 @@ public static InitiateAddOrganisationIdRequest createDefaultWithSsn(SsnUserInfo OrganisationId organisationId) throws FrejaEidClientInternalException { return new InitiateAddOrganisationIdRequest(UserInfoType.SSN, UserInfoUtil.convertSsnUserInfo(ssnUserInfo), - organisationId, MinRegistrationLevel.EXTENDED, null, null); + organisationId, MinRegistrationLevel.EXTENDED, null, null); } /** @@ -90,18 +91,20 @@ private InitiateAddOrganisationIdRequest( @JsonProperty(value = "userInfo") String userInfo, @JsonProperty(value = "organisationId") OrganisationId organisationId, @JsonProperty(value = "minRegistrationLevel") MinRegistrationLevel minRegistrationLevel, - @JsonProperty(value = "expiry") Long expiry) { - this(userInfoType, userInfo, organisationId, minRegistrationLevel, expiry, null); + @JsonProperty(value = "expiry") Long expiry, + @JsonProperty(value = "text") String text) { + this(userInfoType, userInfo, organisationId, minRegistrationLevel, expiry, text, null); } InitiateAddOrganisationIdRequest(UserInfoType userInfoType, String userInfo, OrganisationId organisationId, MinRegistrationLevel minRegistrationLevel, - Long expiry, String relyingPartyId) { + Long expiry, String text, String relyingPartyId) { this.userInfoType = userInfoType; this.userInfo = userInfo; this.organisationId = organisationId; this.minRegistrationLevel = minRegistrationLevel; this.expiry = expiry; + this.text = text; this.relyingPartyId = relyingPartyId; } @@ -125,6 +128,10 @@ public Long getExpiry() { return expiry; } + public String getText() { + return text; + } + @JsonIgnore public String getRelyingPartyId() { return relyingPartyId; @@ -132,7 +139,8 @@ public String getRelyingPartyId() { @Override public int hashCode() { - return Objects.hash(userInfoType, userInfo, organisationId, minRegistrationLevel, expiry, relyingPartyId); + return Objects.hash(userInfoType, userInfo, organisationId, minRegistrationLevel, + expiry, text, relyingPartyId); } @Override @@ -145,6 +153,7 @@ public boolean equals(Object o) { Objects.equals(organisationId, that.organisationId) && minRegistrationLevel == that.minRegistrationLevel && Objects.equals(expiry, that.expiry) && + Objects.equals(text, that.text) && Objects.equals(relyingPartyId, that.relyingPartyId); } @@ -156,6 +165,7 @@ public String toString() { ", organisationId=" + organisationId + ", minRegistrationLevel=" + minRegistrationLevel + ", expiry=" + expiry + + ", text=" + text + ", relyingPartyId='" + relyingPartyId + '\'' + '}'; } diff --git a/FrejaEidClient/src/main/java/com/verisec/frejaeid/client/beans/organisationid/init/InitiateAddOrganisationIdRequestBuilders.java b/FrejaEidClient/src/main/java/com/verisec/frejaeid/client/beans/organisationid/init/InitiateAddOrganisationIdRequestBuilders.java index a7b5e34..b27e504 100644 --- a/FrejaEidClient/src/main/java/com/verisec/frejaeid/client/beans/organisationid/init/InitiateAddOrganisationIdRequestBuilders.java +++ b/FrejaEidClient/src/main/java/com/verisec/frejaeid/client/beans/organisationid/init/InitiateAddOrganisationIdRequestBuilders.java @@ -41,7 +41,7 @@ public SetOptionalParamsBuilder setEmailAndOrganisationId(String email, Organisa public SetOptionalParamsBuilder setSsnAndOrganisationId(SsnUserInfo ssnUserInfo, OrganisationId organisationId) throws FrejaEidClientInternalException { return new SetOptionalParamsBuilder(UserInfoType.SSN, UserInfoUtil.convertSsnUserInfo(ssnUserInfo), - organisationId); + organisationId); } /** @@ -75,7 +75,7 @@ public SetOptionalParamsBuilder setInferredAndOrganisationId(OrganisationId orga * Sets unique personal identifier as userInfo and {@link UserInfoType#UPI} as * {@linkplain UserInfoType} for initiating transaction. * - * @param upi user's unique personal identifier that will be used to identify + * @param upi user's unique personal identifier that will be used to identify * the end user in format 1234-123456-1234. * @param organisationId instance of {@linkplain OrganisationId} that * contains information regarding organisation id. @@ -94,6 +94,7 @@ public static class SetOptionalParamsBuilder { private final OrganisationId organisationId; private MinRegistrationLevel minRegistrationLevel = MinRegistrationLevel.EXTENDED; private Long expiry = null; + private String text = null; private String relyingPartyId = null; private SetOptionalParamsBuilder(UserInfoType userInfoType, String userInfo, OrganisationId organisationId) { @@ -134,6 +135,17 @@ public SetOptionalParamsBuilder setExpiry(Long timeToExpiry) { return this; } + /** + * Text which will be displayed to the user when adding organisation id + * + * @param text optional parameter. + * @return request builder + */ + public SetOptionalParamsBuilder setText(String text) { + this.text = text; + return this; + } + /** * Only relying parties that are integrators should use this * method. @@ -148,8 +160,9 @@ public SetOptionalParamsBuilder setRelyingPartyId(String relyingPartyId) { } public InitiateAddOrganisationIdRequest build() { - return new InitiateAddOrganisationIdRequest(userInfoType, userInfo, organisationId, minRegistrationLevel, - expiry, relyingPartyId); + return new InitiateAddOrganisationIdRequest( + userInfoType, userInfo, organisationId, minRegistrationLevel, + expiry, text, relyingPartyId); } } diff --git a/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/beans/organisationid/init/InitiateAddOrganisationIdRequestBuildersTest.java b/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/beans/organisationid/init/InitiateAddOrganisationIdRequestBuildersTest.java index 000afe4..6a5a4c1 100644 --- a/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/beans/organisationid/init/InitiateAddOrganisationIdRequestBuildersTest.java +++ b/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/beans/organisationid/init/InitiateAddOrganisationIdRequestBuildersTest.java @@ -17,6 +17,7 @@ public class InitiateAddOrganisationIdRequestBuildersTest { private static final String PHONE_NUMBER = "123123123"; private static final MinRegistrationLevel REGISTRATION_STATE = MinRegistrationLevel.PLUS; private static final Long EXPIRY = Long.MIN_VALUE; + private static final String TEXT = "Custom text"; private static final String ORGANISATION_ID_TITLE = "OrgananisationId title"; private static final String IDENTIFIER_NAME = "Identifier name"; private static final String IDENTIFIER = "identifier"; @@ -30,7 +31,7 @@ public class InitiateAddOrganisationIdRequestBuildersTest { public void createDefaultEmailRequest() { InitiateAddOrganisationIdRequest expectedInitiateAddOrganisationIdRequest = new InitiateAddOrganisationIdRequest(UserInfoType.EMAIL, EMAIL, ORGANISATION_ID, - MinRegistrationLevel.EXTENDED, null, null); + MinRegistrationLevel.EXTENDED, null, null, null); InitiateAddOrganisationIdRequest initiateAddOrganisationIdRequest = InitiateAddOrganisationIdRequest.createDefaultWithEmail(EMAIL, ORGANISATION_ID); Assert.assertEquals(expectedInitiateAddOrganisationIdRequest, initiateAddOrganisationIdRequest); @@ -40,7 +41,7 @@ public void createDefaultEmailRequest() { public void createDefaultSsnRequest() throws FrejaEidClientInternalException { InitiateAddOrganisationIdRequest expectedInitiateAddOrganisationIdRequest = new InitiateAddOrganisationIdRequest(UserInfoType.SSN, UserInfoUtil.convertSsnUserInfo(SSN_USER_INFO), - ORGANISATION_ID, MinRegistrationLevel.EXTENDED, null, null); + ORGANISATION_ID, MinRegistrationLevel.EXTENDED, null, null, null); InitiateAddOrganisationIdRequest initiateAddOrganisationIdRequest = InitiateAddOrganisationIdRequest.createDefaultWithSsn(SSN_USER_INFO, ORGANISATION_ID); Assert.assertEquals(expectedInitiateAddOrganisationIdRequest, initiateAddOrganisationIdRequest); @@ -60,13 +61,14 @@ public void createDefaultUpiRequest() { public void createCustomRequest_userInfoTypeEmail() { InitiateAddOrganisationIdRequest expectedInitiateAddOrganisationIdRequest = new InitiateAddOrganisationIdRequest(UserInfoType.EMAIL, EMAIL, ORGANISATION_ID, - REGISTRATION_STATE, EXPIRY, RELYING_PARTY_ID); + REGISTRATION_STATE, EXPIRY, TEXT, RELYING_PARTY_ID); InitiateAddOrganisationIdRequest initiateAddOrganisationIdRequest = InitiateAddOrganisationIdRequest.createCustom() .setEmailAndOrganisationId(EMAIL, ORGANISATION_ID) .setMinRegistrationLevel(REGISTRATION_STATE) .setExpiry(EXPIRY) .setRelyingPartyId(RELYING_PARTY_ID) + .setText(TEXT) .build(); Assert.assertEquals(expectedInitiateAddOrganisationIdRequest, initiateAddOrganisationIdRequest); } @@ -75,7 +77,7 @@ public void createCustomRequest_userInfoTypeEmail() { public void createCustomRequest_userInfoTypeEmail_defaultRegistrationState() { InitiateAddOrganisationIdRequest expectedInitiateAddOrganisationIdRequest = new InitiateAddOrganisationIdRequest(UserInfoType.EMAIL, EMAIL, ORGANISATION_ID, - MinRegistrationLevel.EXTENDED, null, RELYING_PARTY_ID); + MinRegistrationLevel.EXTENDED, null, null, RELYING_PARTY_ID); InitiateAddOrganisationIdRequest initiateAddOrganisationIdRequest = InitiateAddOrganisationIdRequest.createCustom() .setEmailAndOrganisationId(EMAIL, ORGANISATION_ID) @@ -88,7 +90,7 @@ public void createCustomRequest_userInfoTypeEmail_defaultRegistrationState() { public void createCustomRequest_userInfoTypeSsn() throws FrejaEidClientInternalException { InitiateAddOrganisationIdRequest expectedInitiateAddOrganisationIdRequest = new InitiateAddOrganisationIdRequest(UserInfoType.SSN, UserInfoUtil.convertSsnUserInfo(SSN_USER_INFO), - ORGANISATION_ID, MinRegistrationLevel.EXTENDED, null, + ORGANISATION_ID, MinRegistrationLevel.EXTENDED, null, null, RELYING_PARTY_ID); InitiateAddOrganisationIdRequest initiateAddOrganisationIdRequest = InitiateAddOrganisationIdRequest.createCustom() @@ -102,7 +104,7 @@ public void createCustomRequest_userInfoTypeSsn() throws FrejaEidClientInternalE public void createCustomRequest_userInfoTypePhoneNumber() { InitiateAddOrganisationIdRequest expectedInitiateAddOrganisationIdRequest = new InitiateAddOrganisationIdRequest(UserInfoType.PHONE, PHONE_NUMBER, ORGANISATION_ID, - MinRegistrationLevel.EXTENDED, EXPIRY, null); + MinRegistrationLevel.EXTENDED, EXPIRY, null, null); InitiateAddOrganisationIdRequest initiateAddOrganisationIdRequest = InitiateAddOrganisationIdRequest.createCustom() .setPhoneNumberAndOrganisationId(PHONE_NUMBER, ORGANISATION_ID) @@ -115,11 +117,12 @@ public void createCustomRequest_userInfoTypePhoneNumber() { public void createCustomRequest_userInfoTypeInferred() { InitiateAddOrganisationIdRequest expectedInitiateAuthenticationRequest = new InitiateAddOrganisationIdRequest(UserInfoType.INFERRED, INFERRED_USER_INFO, ORGANISATION_ID, - MinRegistrationLevel.EXTENDED, EXPIRY, null); + MinRegistrationLevel.EXTENDED, EXPIRY, TEXT, null); InitiateAddOrganisationIdRequest initiateAuthenticationRequest = InitiateAddOrganisationIdRequest.createCustom() .setInferredAndOrganisationId(ORGANISATION_ID) .setExpiry(EXPIRY) + .setText(TEXT) .build(); Assert.assertEquals(expectedInitiateAuthenticationRequest, initiateAuthenticationRequest); } @@ -128,7 +131,7 @@ public void createCustomRequest_userInfoTypeInferred() { public void createCustomRequest_minRegistrationLevelAndRelyingPartyIdNull() { InitiateAddOrganisationIdRequest expectedInitiateAddOrganisationIdRequest = new InitiateAddOrganisationIdRequest(UserInfoType.PHONE, PHONE_NUMBER, ORGANISATION_ID, - MinRegistrationLevel.EXTENDED, EXPIRY, null); + MinRegistrationLevel.EXTENDED, EXPIRY, null, null); InitiateAddOrganisationIdRequest initiateAddOrganisationIdRequest = InitiateAddOrganisationIdRequest.createCustom() .setPhoneNumberAndOrganisationId(PHONE_NUMBER, ORGANISATION_ID)