Skip to content

Commit

Permalink
Merge pull request #89 from sinch/DEVEXP-467-verification-v1-become-p…
Browse files Browse the repository at this point in the history
…ublic

DEVEXP-467: verification "v1" become public
  • Loading branch information
JPPortier authored Jun 19, 2024
2 parents c9e6fcd + 616a416 commit e940403
Show file tree
Hide file tree
Showing 23 changed files with 296 additions and 317 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
*/
public interface VerificationService {

com.sinch.sdk.domains.verification.api.v1.VerificationService v1();

/**
* Verifications Service instance
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ public VerificationService(
credentials, context, httpClient);
}

public com.sinch.sdk.domains.verification.api.v1.VerificationService v1() {
return this.v1;
}

public VerificationsService verifications() {
if (null == this.verifications) {
this.verifications =
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.sinch.sdk.domains.verification.adapters;

import com.sinch.sdk.domains.verification.adapters.converters.IdentityDtoConverter;
import com.sinch.sdk.domains.verification.adapters.converters.VerificationsDtoConverter;
import com.sinch.sdk.domains.verification.models.NumberIdentity;
import com.sinch.sdk.domains.verification.models.VerificationId;
Expand All @@ -26,21 +27,24 @@ public VerificationReportSMS reportSmsByIdentity(
NumberIdentity identity, VerificationReportSMSRequestParameters parameters) {

VerificationReportResponseSms response =
v1.reportSmsByIdentity(identity, VerificationsDtoConverter.convert(parameters));
v1.reportSmsByIdentity(
IdentityDtoConverter.convert(identity), VerificationsDtoConverter.convert(parameters));
return (VerificationReportSMS) VerificationsDtoConverter.convert(response);
}

public VerificationReportFlashCall reportFlashCallByIdentity(
NumberIdentity identity, VerificationReportFlashCallRequestParameters parameters) {
VerificationReportResponseFlashCall response =
v1.reportFlashCallByIdentity(identity, VerificationsDtoConverter.convert(parameters));
v1.reportFlashCallByIdentity(
IdentityDtoConverter.convert(identity), VerificationsDtoConverter.convert(parameters));
return (VerificationReportFlashCall) VerificationsDtoConverter.convert(response);
}

public VerificationReportCallout reportCalloutByIdentity(
NumberIdentity identity, VerificationReportCalloutRequestParameters parameters) {
VerificationReportResponsePhoneCall response =
v1.reportPhoneCallByIdentity(identity, VerificationsDtoConverter.convert(parameters));
v1.reportPhoneCallByIdentity(
IdentityDtoConverter.convert(identity), VerificationsDtoConverter.convert(parameters));
return (VerificationReportCallout) VerificationsDtoConverter.convert(response);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ public static com.sinch.sdk.domains.verification.models.Identity convert(
return client;
}

public static com.sinch.sdk.domains.verification.models.v1.Identity convert(
public static com.sinch.sdk.domains.verification.models.v1.NumberIdentity convert(
com.sinch.sdk.domains.verification.models.Identity client) {
com.sinch.sdk.domains.verification.models.v1.Identity dto = null;
com.sinch.sdk.domains.verification.models.v1.NumberIdentity dto = null;
if (client instanceof com.sinch.sdk.domains.verification.models.NumberIdentity) {
dto =
com.sinch.sdk.domains.verification.models.v1.NumberIdentity.valueOf(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.sinch.sdk.domains.verification.api.v1;

import com.sinch.sdk.domains.verification.models.NumberIdentity;
import com.sinch.sdk.domains.verification.models.v1.NumberIdentity;
import com.sinch.sdk.domains.verification.models.v1.report.request.VerificationReportRequestFlashCall;
import com.sinch.sdk.domains.verification.models.v1.report.request.VerificationReportRequestPhoneCall;
import com.sinch.sdk.domains.verification.models.v1.report.request.VerificationReportRequestSms;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.sinch.sdk.core.http.HttpClient;
import com.sinch.sdk.core.http.HttpMapper;
import com.sinch.sdk.domains.verification.api.v1.internal.VerificationsReportApi;
import com.sinch.sdk.domains.verification.models.NumberIdentity;
import com.sinch.sdk.domains.verification.models.v1.NumberIdentity;
import com.sinch.sdk.domains.verification.models.v1.report.request.VerificationReportRequest;
import com.sinch.sdk.domains.verification.models.v1.report.request.VerificationReportRequestFlashCall;
import com.sinch.sdk.domains.verification.models.v1.report.request.VerificationReportRequestPhoneCall;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ public void initMocks() {
void reportSmsByIdentity() throws ApiException {

when(v1.reportSmsByIdentity(
eq(NumberIdentity.valueOf("endpoint string")),
eq(
com.sinch.sdk.domains.verification.models.v1.NumberIdentity.valueOf(
"endpoint string")),
eq(verificationReportSmsRequestDto.getVerificationReportRequestSmsImpl())))
.thenReturn(
VerificationReportResponseDtoTest.verificationReportSmsDto
Expand All @@ -63,7 +65,9 @@ void reportSmsByIdentity() throws ApiException {
void reportFlashCallByIdentity() throws ApiException {

when(v1.reportFlashCallByIdentity(
eq(NumberIdentity.valueOf("endpoint string")),
eq(
com.sinch.sdk.domains.verification.models.v1.NumberIdentity.valueOf(
"endpoint string")),
eq(verificationReportFlashCallRequestDto.getVerificationReportRequestFlashCallImpl())))
.thenReturn(
VerificationReportResponseDtoTest.verificationReportFlashCallDto
Expand All @@ -82,7 +86,9 @@ void reportFlashCallByIdentity() throws ApiException {
void reportPhoneCallByIdentity() throws ApiException {

when(v1.reportPhoneCallByIdentity(
eq(NumberIdentity.valueOf("endpoint string")),
eq(
com.sinch.sdk.domains.verification.models.v1.NumberIdentity.valueOf(
"endpoint string")),
eq(verificationReportPhoneCallRequestDto.getVerificationReportRequestPhoneCallImpl())))
.thenReturn(
VerificationReportResponseDtoTest.verificationReportPhoneCallDto
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
import com.sinch.sdk.core.http.HttpClient;
import com.sinch.sdk.domains.verification.adapters.VerificationBaseTest;
import com.sinch.sdk.domains.verification.api.v1.internal.VerificationsReportApi;
import com.sinch.sdk.domains.verification.models.NumberIdentity;
import com.sinch.sdk.domains.verification.models.dto.v1.report.VerificationReportRequestDtoTest;
import com.sinch.sdk.domains.verification.models.dto.v1.report.VerificationReportResponseDtoTest;
import com.sinch.sdk.domains.verification.models.v1.NumberIdentity;
import com.sinch.sdk.domains.verification.models.v1.report.request.internal.VerificationReportRequestInternal;
import com.sinch.sdk.domains.verification.models.v1.report.response.VerificationReportResponseFlashCall;
import com.sinch.sdk.domains.verification.models.v1.report.response.VerificationReportResponsePhoneCall;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ static Builder builder() {
}

/** Dedicated Builder */
interface Builder {
interface Builder
extends com.sinch.sdk.domains.verification.models.v1.webhooks.VerificationRequestEventResponse
.Builder {

/**
* see getter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,9 @@ static Builder builder() {
}

/** Dedicated Builder */
interface Builder {
interface Builder
extends com.sinch.sdk.domains.verification.models.v1.webhooks.VerificationRequestEventResponse
.Builder {

/**
* see getter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,9 @@ static Builder builder() {
}

/** Dedicated Builder */
interface Builder {
interface Builder
extends com.sinch.sdk.domains.verification.models.v1.webhooks.VerificationRequestEventResponse
.Builder {

/**
* see getter
Expand Down
6 changes: 3 additions & 3 deletions sample-app/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,9 @@ See https://developers.sinch.com for details about these parameters
| Service | Sample | Class | |
|---------|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|
| Report | Start | [com.sinch.sample.verification.verifications.Start](src/main/java/com/sinch/sample/verification/verifications/Start.java) | |
| | ReportById | [com.sinch.sample.verification.verifications.ReportById](src/main/java/com/sinch/sample/verification/verifications/ReportById.java) | |
| | ReportByIdentity | [com.sinch.sample.verification.verifications.ReportByIdentity](src/main/java/com/sinch/sample/verification/verifications/ReportByIdentity.java) | |
| Report | Start | [com.sinch.sample.verification.start.Start](src/main/java/com/sinch/sample/verification/report/Start.java) | |
| | ReportById | [com.sinch.sample.verification.report.ReportById](src/main/java/com/sinch/sample/verification/report/ReportById.java) | |
| | ReportByIdentity | [com.sinch.sample.verification.report.ReportByIdentity](src/main/java/com/sinch/sample/verification/report/ReportByIdentity.java) | |
| Status | GetById | [com.sinch.sample.verification.status.GetById](src/main/java/com/sinch/sample/verification/status/GetById.java) | |
| | GetByIdentity | [com.sinch.sample.verification.status.GetByIdentity](src/main/java/com/sinch/sample/verification/status/GetByIdentity.java) | |
| | GetByReference | [com.sinch.sample.verification.status.GetByReference](src/main/java/com/sinch/sample/verification/status/GetByReference.java) | |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
package com.sinch.sample.verification.report;

import com.sinch.sample.BaseApplication;
import com.sinch.sdk.domains.verification.api.v1.VerificationReportService;
import com.sinch.sdk.domains.verification.models.v1.VerificationMethod;
import com.sinch.sdk.domains.verification.models.v1.report.request.VerificationReportRequestFlashCall;
import com.sinch.sdk.domains.verification.models.v1.report.request.VerificationReportRequestPhoneCall;
import com.sinch.sdk.domains.verification.models.v1.report.request.VerificationReportRequestSms;
import com.sinch.sdk.domains.verification.models.v1.report.response.VerificationReportResponse;
import java.io.IOException;
import java.util.logging.Logger;

public class ReportById extends BaseApplication {

private static final Logger LOGGER = Logger.getLogger(ReportById.class.getName());

public ReportById() throws IOException {}

public static void main(String[] args) {
try {
new ReportById().run();
} catch (Exception e) {
LOGGER.severe(e.getMessage());
e.printStackTrace();
}
}

public void run() {

LOGGER.info("Get report by id for : " + verificationId);

VerificationReportService service = client.verification().v1().verificationReport();

VerificationMethod method = VerificationMethod.FLASH_CALL;

VerificationReportResponse response;

if (method == VerificationMethod.FLASH_CALL) {
response =
service.reportFlashCallById(
verificationId,
VerificationReportRequestFlashCall.builder().setCli("+17074661874").build());
} else if (method == VerificationMethod.SMS) {
response =
service.reportSmsById(
verificationId, VerificationReportRequestSms.builder().setCode("1234").build());
} else if (method == VerificationMethod.PHONE_CALL) {
response =
service.reportPhoneCallById(
verificationId, VerificationReportRequestPhoneCall.builder().setCode("4567").build());
} else {
throw new UnsupportedOperationException("Unknown method " + method);
}

LOGGER.info("Response: " + response);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
package com.sinch.sample.verification.report;

import com.sinch.sample.BaseApplication;
import com.sinch.sdk.domains.verification.api.v1.VerificationReportService;
import com.sinch.sdk.domains.verification.models.v1.NumberIdentity;
import com.sinch.sdk.domains.verification.models.v1.VerificationMethod;
import com.sinch.sdk.domains.verification.models.v1.report.request.VerificationReportRequestFlashCall;
import com.sinch.sdk.domains.verification.models.v1.report.request.VerificationReportRequestPhoneCall;
import com.sinch.sdk.domains.verification.models.v1.report.request.VerificationReportRequestSms;
import com.sinch.sdk.domains.verification.models.v1.report.response.VerificationReportResponse;
import java.io.IOException;
import java.util.logging.Logger;

public class ReportByIdentity extends BaseApplication {

private static final Logger LOGGER = Logger.getLogger(ReportByIdentity.class.getName());

public ReportByIdentity() throws IOException {}

public static void main(String[] args) {
try {
new ReportByIdentity().run();
} catch (Exception e) {
LOGGER.severe(e.getMessage());
e.printStackTrace();
}
}

public void run() {

LOGGER.info("Get report by identity for : " + phoneNumber);

VerificationReportService service = client.verification().v1().verificationReport();

var identity = NumberIdentity.builder().setEndpoint(phoneNumber).build();

VerificationMethod method = VerificationMethod.FLASH_CALL;

VerificationReportResponse response;

if (method == VerificationMethod.FLASH_CALL) {
response =
service.reportFlashCallByIdentity(
identity,
VerificationReportRequestFlashCall.builder().setCli("+17074661874").build());
} else if (method == VerificationMethod.SMS) {
response =
service.reportSmsByIdentity(
identity, VerificationReportRequestSms.builder().setCode("1234").build());
} else if (method == VerificationMethod.PHONE_CALL) {
response =
service.reportPhoneCallByIdentity(
identity, VerificationReportRequestPhoneCall.builder().setCode("4567").build());
} else {
throw new UnsupportedOperationException("Unknown method " + method);
}

LOGGER.info("Response: " + response);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package com.sinch.sample.verification.start;

import com.sinch.sample.BaseApplication;
import com.sinch.sdk.domains.verification.api.v1.VerificationStartService;
import com.sinch.sdk.domains.verification.models.v1.NumberIdentity;
import com.sinch.sdk.domains.verification.models.v1.VerificationMethod;
import com.sinch.sdk.domains.verification.models.v1.start.request.PhoneCallSpeech;
import com.sinch.sdk.domains.verification.models.v1.start.request.VerificationStartRequestData;
import com.sinch.sdk.domains.verification.models.v1.start.request.VerificationStartRequestFlashCall;
import com.sinch.sdk.domains.verification.models.v1.start.request.VerificationStartRequestPhoneCall;
import com.sinch.sdk.domains.verification.models.v1.start.request.VerificationStartRequestSms;
import com.sinch.sdk.domains.verification.models.v1.start.request.VerificationStartRequestSms.CodeTypeEnum;
import com.sinch.sdk.domains.verification.models.v1.start.response.VerificationStartResponse;
import java.io.IOException;
import java.util.logging.Logger;

public class Start extends BaseApplication {

private static final Logger LOGGER = Logger.getLogger(Start.class.getName());

public Start() throws IOException {}

public static void main(String[] args) {
try {
new Start().run();
} catch (Exception e) {
LOGGER.severe(e.getMessage());
e.printStackTrace();
}
}

public void run() {

LOGGER.info("Start verification for : " + phoneNumber);

NumberIdentity identity = NumberIdentity.valueOf(phoneNumber);
VerificationMethod method = VerificationMethod.FLASH_CALL;

VerificationStartService service = client.verification().v1().verificationStart();

VerificationStartResponse response;
if (method == VerificationMethod.PHONE_CALL) {
response =
service.startPhoneCall(
VerificationStartRequestPhoneCall.builder()
.setIdentity(identity)
.setSpeech(PhoneCallSpeech.builder().setLocale("es-ES").build())
.build());
} else if (method == VerificationMethod.SMS) {
response =
service.startSms(
VerificationStartRequestSms.builder()
.setIdentity(identity)
.setCodeType(CodeTypeEnum.ALPHANUMERIC)
.setAcceptLanguage("fr-FR")
.build());
} else if (method == VerificationMethod.DATA) {
response =
service.startData(VerificationStartRequestData.builder().setIdentity(identity).build());
} else if (method == VerificationMethod.FLASH_CALL) {
response =
service.startFlashCall(
VerificationStartRequestFlashCall.builder().setIdentity(identity).build());
} else {
throw new IllegalArgumentException("Unexpected method type '%s'".formatted(method));
}

LOGGER.info("Response: " + response);
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.sinch.sample.verification.status;

import com.sinch.sample.BaseApplication;
import com.sinch.sdk.domains.verification.models.VerificationId;
import com.sinch.sdk.domains.verification.models.VerificationStatus;
import com.sinch.sdk.domains.verification.api.v1.VerificationStatusService;
import com.sinch.sdk.domains.verification.models.v1.status.response.VerificationStatusResponse;
import java.io.IOException;
import java.util.logging.Logger;

Expand All @@ -23,11 +23,12 @@ public static void main(String[] args) {

public void run() {

VerificationId id = VerificationId.valueOf(verificationId);
LOGGER.info("Get status by id for : " + verificationId);

LOGGER.info("Get status by id for : " + id);
VerificationStatusService service = client.verification().v1().verificationStatus();

VerificationStatus response = client.verification().verificationStatus().getById(id);
LOGGER.info("Response :" + response);
VerificationStatusResponse response = service.getById(verificationId);

LOGGER.info("Response: " + response);
}
}
Loading

0 comments on commit e940403

Please sign in to comment.