1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.linecorp.centraldogma.internal.api.v1;
18
19 import static java.time.format.DateTimeFormatter.ISO_INSTANT;
20 import static java.util.Objects.requireNonNull;
21
22 import java.time.Instant;
23
24 import com.fasterxml.jackson.annotation.JsonInclude;
25 import com.fasterxml.jackson.annotation.JsonInclude.Include;
26 import com.fasterxml.jackson.annotation.JsonProperty;
27 import com.google.common.base.MoreObjects;
28
29 import com.linecorp.centraldogma.common.Revision;
30
31 @JsonInclude(Include.NON_EMPTY)
32 public class PushResultDto {
33
34 private final Revision revision;
35 private final String pushedAt;
36
37 public PushResultDto(Revision revision, long commitTimeMillis) {
38 this.revision = requireNonNull(revision, "revision");
39 pushedAt = ISO_INSTANT.format(Instant.ofEpochMilli(commitTimeMillis));
40 }
41
42 @JsonProperty("revision")
43 public Revision revision() {
44 return revision;
45 }
46
47 @JsonProperty("pushedAt")
48 public String pushedAt() {
49 return pushedAt;
50 }
51
52 @Override
53 public String toString() {
54 return MoreObjects.toStringHelper(this)
55 .add("revision", revision())
56 .add("pushedAt", pushedAt())
57 .toString();
58 }
59 }