diff --git a/mdx-models/src/main/java/com/mx/path/model/mdx/accessor/p2p_transfer/DurationBaseAccessor.java b/mdx-models/src/main/java/com/mx/path/model/mdx/accessor/p2p_transfer/DurationBaseAccessor.java deleted file mode 100644 index 5e733d7e..00000000 --- a/mdx-models/src/main/java/com/mx/path/model/mdx/accessor/p2p_transfer/DurationBaseAccessor.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.mx.path.model.mdx.accessor.p2p_transfer; - -import com.mx.path.core.common.accessor.API; -import com.mx.path.core.common.accessor.AccessorMethodNotImplementedException; -import com.mx.path.core.common.gateway.GatewayAPI; -import com.mx.path.core.common.gateway.GatewayClass; -import com.mx.path.gateway.accessor.Accessor; -import com.mx.path.gateway.accessor.AccessorResponse; -import com.mx.path.model.mdx.model.MdxList; -import com.mx.path.model.mdx.model.p2p_transfer.Duration; - -/** - * Accessor base for P2P transfer duration operations - */ -@GatewayClass -@API(specificationUrl = "https://developer.mx.com/drafts/mdx/p2p_transfer/index.html#durations") -public class DurationBaseAccessor extends Accessor { - public DurationBaseAccessor() { - } - - /** - * List all P2P transfer durations - * - * @return MdxList<Duration> - */ - @GatewayAPI - @API(description = "List all durations for P2P transfers") - public AccessorResponse> list() { - throw new AccessorMethodNotImplementedException(); - } -} diff --git a/mdx-models/src/main/java/com/mx/path/model/mdx/accessor/p2p_transfer/RecurringP2PTransferBaseAccessor.java b/mdx-models/src/main/java/com/mx/path/model/mdx/accessor/p2p_transfer/RecurringP2PTransferBaseAccessor.java index 6ebaee61..009a2a10 100644 --- a/mdx-models/src/main/java/com/mx/path/model/mdx/accessor/p2p_transfer/RecurringP2PTransferBaseAccessor.java +++ b/mdx-models/src/main/java/com/mx/path/model/mdx/accessor/p2p_transfer/RecurringP2PTransferBaseAccessor.java @@ -18,10 +18,6 @@ @GatewayClass @API(specificationUrl = "https://developer.mx.com/drafts/mdx/p2p_transfer/index.html#recurring-p2p-transfers") public class RecurringP2PTransferBaseAccessor extends Accessor { - @GatewayAPI - @Getter(AccessLevel.PROTECTED) - private DurationBaseAccessor durations; - @GatewayAPI @Getter(AccessLevel.PROTECTED) private FrequencyBaseAccessor frequencies; @@ -89,24 +85,6 @@ public AccessorResponse update(String id, RecurringP2PTran throw new AccessorMethodNotImplementedException(); } - /** - * Accessor for duration operations - * - * @return accessor - */ - @API - public DurationBaseAccessor durations() { - return durations; - } - - /** - * Sets duration accessor - * @param durations - */ - public void setDurations(DurationBaseAccessor durations) { - this.durations = durations; - } - /** * Accessor for frequency operations * diff --git a/mdx-models/src/main/java/com/mx/path/model/mdx/model/Resources.java b/mdx-models/src/main/java/com/mx/path/model/mdx/model/Resources.java index 15bfeaab..0181a6bb 100644 --- a/mdx-models/src/main/java/com/mx/path/model/mdx/model/Resources.java +++ b/mdx-models/src/main/java/com/mx/path/model/mdx/model/Resources.java @@ -61,7 +61,6 @@ import com.mx.path.model.mdx.model.ondemand.mixins.TransactionMixIn; import com.mx.path.model.mdx.model.ondemand.mixins.TransactionsPageMixin; import com.mx.path.model.mdx.model.origination.Origination; -import com.mx.path.model.mdx.model.p2p_transfer.Duration; import com.mx.path.model.mdx.model.p2p_transfer.P2PTransfer; import com.mx.path.model.mdx.model.p2p_transfer.RecurringP2PTransfer; import com.mx.path.model.mdx.model.p2p_transfer.Source; @@ -387,10 +386,6 @@ private static void registerDisputesModels(GsonBuilder builder) { } private static void registerP2PTransferModels(GsonBuilder builder) { - // Duration - builder.registerTypeAdapter(Frequency.class, new ModelWrappableSerializer("duration")); - builder.registerTypeAdapter(new TypeToken>() { - }.getType(), new ModelWrappableSerializer("durations")); // Recipients builder.registerTypeAdapter(com.mx.path.model.mdx.model.p2p_transfer.Recipient.class, new ModelWrappableSerializer("recipient")); builder.registerTypeAdapter(new TypeToken>() { diff --git a/mdx-models/src/main/java/com/mx/path/model/mdx/model/p2p_transfer/Duration.java b/mdx-models/src/main/java/com/mx/path/model/mdx/model/p2p_transfer/Duration.java deleted file mode 100644 index 0325387d..00000000 --- a/mdx-models/src/main/java/com/mx/path/model/mdx/model/p2p_transfer/Duration.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.mx.path.model.mdx.model.p2p_transfer; - -import lombok.Data; -import lombok.EqualsAndHashCode; - -import com.mx.path.model.mdx.model.MdxBase; - -@Data -@EqualsAndHashCode(callSuper = true) -public class Duration extends MdxBase { - private String description; - private String name; - private String type; -} diff --git a/mdx-models/src/main/java/com/mx/path/model/mdx/model/p2p_transfer/RecurringP2PTransfer.java b/mdx-models/src/main/java/com/mx/path/model/mdx/model/p2p_transfer/RecurringP2PTransfer.java index 8e117048..ac54bc62 100644 --- a/mdx-models/src/main/java/com/mx/path/model/mdx/model/p2p_transfer/RecurringP2PTransfer.java +++ b/mdx-models/src/main/java/com/mx/path/model/mdx/model/p2p_transfer/RecurringP2PTransfer.java @@ -19,7 +19,8 @@ public class RecurringP2PTransfer extends MdxBase { private String confirmationId; private String deliveryMethod; private String durationType; - private String durationValue; + private Integer endAfterCount; + private LocalDate endOn; private String frequencyId; private String memo; private String recipientId; diff --git a/mdx-web/src/main/java/com/mx/path/model/mdx/web/controller/P2PTransferDurationsController.java b/mdx-web/src/main/java/com/mx/path/model/mdx/web/controller/P2PTransferDurationsController.java deleted file mode 100644 index 78a48a32..00000000 --- a/mdx-web/src/main/java/com/mx/path/model/mdx/web/controller/P2PTransferDurationsController.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.mx.path.model.mdx.web.controller; - -import com.mx.path.gateway.accessor.AccessorResponse; -import com.mx.path.model.mdx.model.MdxList; -import com.mx.path.model.mdx.model.p2p_transfer.Duration; - -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequestMapping(value = "{clientId}", produces = BaseController.MDX_MEDIA) -public class P2PTransferDurationsController extends BaseController { - @RequestMapping(value = "/recurring_p2p_transfers/durations", method = RequestMethod.GET) - public final ResponseEntity> list() { - AccessorResponse> response = gateway().p2pTransfers().recurring().durations().list(); - return new ResponseEntity<>(response.getResult().wrapped(), createMultiMapForResponse(response.getHeaders()), HttpStatus.OK); - } -} diff --git a/mdx-web/src/test/groovy/com/mx/path/model/mdx/web/controller/P2PTransferDurationsControllerTest.groovy b/mdx-web/src/test/groovy/com/mx/path/model/mdx/web/controller/P2PTransferDurationsControllerTest.groovy deleted file mode 100644 index dfb61b10..00000000 --- a/mdx-web/src/test/groovy/com/mx/path/model/mdx/web/controller/P2PTransferDurationsControllerTest.groovy +++ /dev/null @@ -1,58 +0,0 @@ -package com.mx.path.model.mdx.web.controller - -import static org.mockito.Mockito.doReturn -import static org.mockito.Mockito.mock -import static org.mockito.Mockito.spy -import static org.mockito.Mockito.verify - -import com.mx.path.gateway.accessor.AccessorResponse -import com.mx.path.gateway.api.Gateway -import com.mx.path.gateway.api.p2p_transfer.DurationGateway -import com.mx.path.gateway.api.p2p_transfer.P2PTransferGateway -import com.mx.path.gateway.api.p2p_transfer.RecurringP2PTransferGateway -import com.mx.path.model.mdx.model.MdxList -import com.mx.path.model.mdx.model.p2p_transfer.Duration - -import org.springframework.http.HttpStatus - -import spock.lang.Specification - -class P2PTransferDurationsControllerTest extends Specification { - P2PTransferDurationsController subject - Gateway gateway - P2PTransferGateway p2pTransferGateway - RecurringP2PTransferGateway recurringP2PTransferGateway - DurationGateway durationGateway - - def setup() { - subject = new P2PTransferDurationsController() - p2pTransferGateway = mock(P2PTransferGateway) - recurringP2PTransferGateway = mock(RecurringP2PTransferGateway) - durationGateway = mock(DurationGateway) - - doReturn(recurringP2PTransferGateway).when(p2pTransferGateway).recurring() - doReturn(durationGateway).when(recurringP2PTransferGateway).durations() - gateway = spy(Gateway.builder().clientId("client-1234").p2pTransfers(p2pTransferGateway).build()) - } - - def cleanup() { - BaseController.clearGateway() - } - - def "list interacts with gateway"() { - given: - BaseController.setGateway(gateway) - def durations = new MdxList().tap { - add(new Duration()) - } - doReturn(new AccessorResponse>().withResult(durations)).when(durationGateway).list() - - when: - def result = subject.list() - - then: - HttpStatus.OK == result.statusCode - result.body == durations - verify(durationGateway).list() || true - } -}