Skip to content

Commit

Permalink
Update EmailForward fields (#176)
Browse files Browse the repository at this point in the history
See dnsimple/dnsimple-developer#315 for reference

In this PR:
- Add `alias_email` and `destination_email` fields to `EmailForward`
- Deprecate `from` and `to` fields in `EmailForward
  • Loading branch information
ggalmazor authored May 24, 2024
1 parent 9be1da8 commit 6acb91f
Show file tree
Hide file tree
Showing 9 changed files with 49 additions and 28 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

## main

- NEW: Added `alias_email` and `destination_email` to `EmailForward`
- CHANGED: Deprecated `from` and `to` fields in `EmailForward`

## 1.0.0

- BREAKING: Remove the `privateKey` property of `CertificateBundle`. Use `Certificates.getCertificatePrivateKey()` instead. See [dnsimple-java#118](https://github.com/dnsimple/dnsimple-java/issues/118)
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.9.4
1.0.0
30 changes: 23 additions & 7 deletions src/main/java/com/dnsimple/data/EmailForward.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@
public class EmailForward {
private final Long id;
private final Long domainId;
private final String from;
private final String to;
private final String aliasEmail;
private final String destinationEmail;
private final OffsetDateTime createdAt;
private final OffsetDateTime updatedAt;

public EmailForward(Long id, Long domainId, String from, String to, OffsetDateTime createdAt, OffsetDateTime updatedAt) {
public EmailForward(Long id, Long domainId, String aliasEmail, String destinationEmail, OffsetDateTime createdAt, OffsetDateTime updatedAt) {
this.id = id;
this.domainId = domainId;
this.from = from;
this.to = to;
this.aliasEmail = aliasEmail;
this.destinationEmail = destinationEmail;
this.createdAt = createdAt;
this.updatedAt = updatedAt;
}
Expand All @@ -27,12 +27,28 @@ public Long getDomainId() {
return domainId;
}

/**
* @deprecated use {@link #getAliasEmail()} instead
*/
@Deprecated(since = "1.1.0", forRemoval = true)
public String getFrom() {
return from;
return aliasEmail;
}

/**
* @deprecated use {@link #getDestinationEmail} instead
*/
@Deprecated(since = "1.1.0", forRemoval = true)
public String getTo() {
return to;
return destinationEmail;
}

public String getAliasEmail() {
return aliasEmail;
}

public String getDestinationEmail() {
return destinationEmail;
}

public OffsetDateTime getCreatedAt() {
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/dnsimple/endpoints/Registrar.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ public SimpleResponse<DomainCheck> checkDomain(Number account, String domainName
* @param action The action to get the price of
* @return The premium price
* @see <a href="https://developer.dnsimple.com/v2/registrar/#getDomainPremiumPrice">https://developer.dnsimple.com/v2/registrar/#getDomainPremiumPrice</a>
* @deprecated As of this version 0.9.1, replaced by {@link #getDomainPrices(Number, String)}
* @deprecated use {@link #getDomainPrices(Number, String)} instead
*/
@Deprecated
@Deprecated(since="0.9.1", forRemoval = true)
public SimpleResponse<DomainPremiumPriceCheck> getDomainPremiumPrice(Number account, String domainName, DomainCheckPremiumPriceAction action) {
var options = ListOptions.empty().filter("action", action.name().toLowerCase());
return client.simple(GET, account + "/registrar/domains/" + domainName + "/premium_price", options, action, DomainPremiumPriceCheck.class);
Expand Down
6 changes: 2 additions & 4 deletions src/main/java/com/dnsimple/request/DSRecordOptions.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,9 @@ private DSRecordOptions(String algorithm, String digest, String digestType, Stri
}

/**
* @deprecated
* Replaced with more specific factory methods
* <p> Use {@link #dsData(String, String, String, String)}, and {@link #keyData(String, String)} instead.
* @deprecated use {@link #dsData(String, String, String, String)}, and {@link #keyData(String, String)} instead.
*/
@Deprecated(forRemoval = true)
@Deprecated(since = "0.9.3", forRemoval = true)
public static DSRecordOptions of(String algorithm, String digest, String digestType, String keytag) {
return new DSRecordOptions(algorithm, digest, digestType, keytag, null);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ public void testListEmailForwardsSupportsSorting() {
public void testListEmailForwardsProducesDomainList() {
server.stubFixtureAt("listEmailForwards/success.http");
PaginatedResponse<EmailForward> response = client.domains.listEmailForwards(1, "example.com");
assertThat(response.getData(), hasSize(2));
assertThat(response.getData().get(0).getId(), is(17702L));
assertThat(response.getData(), hasSize(1));
assertThat(response.getData().get(0).getId(), is(24809L));
}

@Test
Expand All @@ -62,6 +62,8 @@ public void testGetEmailForward() {
assertThat(emailForward.getDomainId(), is(235146L));
assertThat(emailForward.getTo(), is("[email protected]"));
assertThat(emailForward.getFrom(), is("[email protected]"));
assertThat(emailForward.getAliasEmail(), is("[email protected]"));
assertThat(emailForward.getDestinationEmail(), is("[email protected]"));
assertThat(emailForward.getCreatedAt(), is(OffsetDateTime.of(2021, 1, 25, 13, 54, 40, 0, UTC)));
assertThat(emailForward.getUpdatedAt(), is(OffsetDateTime.of(2021, 1, 25, 13, 54, 40, 0, UTC)));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ HTTP/1.1 201 Created
Server: nginx
Date: Mon, 25 Jan 2021 13:54:40 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: identity
Connection: keep-alive
X-RateLimit-Limit: 4800
X-RateLimit-Remaining: 4772
Expand All @@ -18,4 +19,4 @@ X-Permitted-Cross-Domain-Policies: none
Content-Security-Policy: frame-ancestors 'none'
Strict-Transport-Security: max-age=31536000

{"data":{"id":41872,"domain_id":235146,"alias_email":"[email protected]","destination_email":"[email protected]","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"[email protected]","to":"[email protected]"}}
{"data":{"id":41872,"domain_id":235146,"alias_email":"[email protected]","destination_email":"[email protected]","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"[email protected]","to":"[email protected]"}}
3 changes: 2 additions & 1 deletion src/test/resources/com/dnsimple/getEmailForward/success.http
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ HTTP/1.1 200 OK
Server: nginx
Date: Mon, 25 Jan 2021 13:56:24 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: identity
Connection: keep-alive
X-RateLimit-Limit: 4800
X-RateLimit-Remaining: 4766
Expand All @@ -18,4 +19,4 @@ X-Permitted-Cross-Domain-Policies: none
Content-Security-Policy: frame-ancestors 'none'
Strict-Transport-Security: max-age=31536000

{"data":{"id":41872,"domain_id":235146,"alias_email":"[email protected]","destination_email":"[email protected]","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"[email protected]","to":"[email protected]"}}
{"data":{"id":41872,"domain_id":235146,"alias_email":"[email protected]","destination_email":"[email protected]","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"[email protected]","to":"[email protected]"}}
20 changes: 10 additions & 10 deletions src/test/resources/com/dnsimple/listEmailForwards/success.http
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 04 Feb 2016 14:07:19 GMT
Date: Fri, 17 May 2024 09:07:28 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Status: 200 OK
X-RateLimit-Limit: 4000
X-RateLimit-Remaining: 3993
X-RateLimit-Reset: 1454596043
ETag: W/"3f10aae0cf0f0b81bdb4f58786ee1750"
X-RateLimit-Limit: 4800
X-RateLimit-Remaining: 4748
X-RateLimit-Reset: 1715936948
X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
ETag: W/"a5eed9a071f03e10fc67001ccc647a94"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 6e3aa9d0-cb95-4186-93b0-630da372de86
X-Runtime: 0.026287
Strict-Transport-Security: max-age=31536000
X-Request-Id: e42df983-a8a5-4123-8c74-fb89ab934aba
X-Runtime: 0.025456
Strict-Transport-Security: max-age=63072000

{"data":[{"id":17702,"domain_id":228963,"from":".*@a-domain.com","to":"[email protected]","created_at":"2016-02-04T13:59:29Z","updated_at":"2016-02-04T13:59:29Z"},{"id":17703,"domain_id":228963,"from":"john@a-domain.com","to":"john@example.com","created_at":"2016-02-04T14:07:13Z","updated_at":"2016-02-04T14:07:13Z"}],"pagination":{"current_page":1,"per_page":30,"total_entries":2,"total_pages":1}}
{"data":[{"id":24809,"domain_id":235146,"alias_email":".*@a-domain.com","destination_email":"[email protected]","created_at":"2017-05-25T19:23:16Z","updated_at":"2017-05-25T19:23:16Z","from":".*@a-domain.com","to":"jane.smith@example.com"}],"pagination":{"current_page":1,"per_page":30,"total_entries":1,"total_pages":1}}

0 comments on commit 6acb91f

Please sign in to comment.