Skip to content

Commit 5b096cf

Browse files
authored
Support converting enum to string for flex and template messages (#1202)
line/line-openapi#46 defines keywords for flex messages and template messages. In addition to keywords, template messages and flex messages can specify values in percentages or pixels. (e.g. image size in flex message: https://developers.line.biz/en/docs/messaging-api/flex-message-layout/#image-size) This just supports converting enum to string value for bot sdk users, and users can select one of raw value or enum.toValue(). Resolve #1155
1 parent c1a3de6 commit 5b096cf

32 files changed

+567
-32
lines changed

clients/line-bot-manage-audience-client/src/main/java/com/linecorp/bot/audience/model/AudienceGroupAuthorityLevel.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import com.fasterxml.jackson.annotation.JsonEnumDefaultValue;
2626
import com.fasterxml.jackson.annotation.JsonProperty;
27+
import com.fasterxml.jackson.annotation.JsonValue;
2728

2829
/** authority level */
2930
public enum AudienceGroupAuthorityLevel {
@@ -34,5 +35,15 @@ public enum AudienceGroupAuthorityLevel {
3435
PRIVATE,
3536

3637
@JsonEnumDefaultValue
37-
UNDEFINED
38+
UNDEFINED;
39+
40+
@JsonValue
41+
public String toValue() {
42+
return switch (this) {
43+
case PUBLIC -> "PUBLIC";
44+
case PRIVATE -> "PRIVATE";
45+
46+
default -> "UNDEFINED";
47+
};
48+
}
3849
}

clients/line-bot-manage-audience-client/src/main/java/com/linecorp/bot/audience/model/AudienceGroupCreateRoute.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import com.fasterxml.jackson.annotation.JsonEnumDefaultValue;
2626
import com.fasterxml.jackson.annotation.JsonProperty;
27+
import com.fasterxml.jackson.annotation.JsonValue;
2728

2829
/**
2930
* How the audience was created. One of: - `OA_MANAGER`: Audience created with [LINE
@@ -46,5 +47,17 @@ public enum AudienceGroupCreateRoute {
4647
AD_MANAGER,
4748

4849
@JsonEnumDefaultValue
49-
UNDEFINED
50+
UNDEFINED;
51+
52+
@JsonValue
53+
public String toValue() {
54+
return switch (this) {
55+
case OA_MANAGER -> "OA_MANAGER";
56+
case MESSAGING_API -> "MESSAGING_API";
57+
case POINT_AD -> "POINT_AD";
58+
case AD_MANAGER -> "AD_MANAGER";
59+
60+
default -> "UNDEFINED";
61+
};
62+
}
5063
}

clients/line-bot-manage-audience-client/src/main/java/com/linecorp/bot/audience/model/AudienceGroupFailedType.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import com.fasterxml.jackson.annotation.JsonEnumDefaultValue;
2626
import com.fasterxml.jackson.annotation.JsonProperty;
27+
import com.fasterxml.jackson.annotation.JsonValue;
2728

2829
/** Failed type */
2930
public enum AudienceGroupFailedType {
@@ -37,5 +38,16 @@ public enum AudienceGroupFailedType {
3738
NULL,
3839

3940
@JsonEnumDefaultValue
40-
UNDEFINED
41+
UNDEFINED;
42+
43+
@JsonValue
44+
public String toValue() {
45+
return switch (this) {
46+
case AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT -> "AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT";
47+
case INTERNAL_ERROR -> "INTERNAL_ERROR";
48+
case NULL -> "null";
49+
50+
default -> "UNDEFINED";
51+
};
52+
}
4153
}

clients/line-bot-manage-audience-client/src/main/java/com/linecorp/bot/audience/model/AudienceGroupJobFailedType.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import com.fasterxml.jackson.annotation.JsonEnumDefaultValue;
2626
import com.fasterxml.jackson.annotation.JsonProperty;
27+
import com.fasterxml.jackson.annotation.JsonValue;
2728

2829
/** Failed type */
2930
public enum AudienceGroupJobFailedType {
@@ -34,5 +35,15 @@ public enum AudienceGroupJobFailedType {
3435
AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT,
3536

3637
@JsonEnumDefaultValue
37-
UNDEFINED
38+
UNDEFINED;
39+
40+
@JsonValue
41+
public String toValue() {
42+
return switch (this) {
43+
case INTERNAL_ERROR -> "INTERNAL_ERROR";
44+
case AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT -> "AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT";
45+
46+
default -> "UNDEFINED";
47+
};
48+
}
3849
}

clients/line-bot-manage-audience-client/src/main/java/com/linecorp/bot/audience/model/AudienceGroupJobStatus.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import com.fasterxml.jackson.annotation.JsonEnumDefaultValue;
2626
import com.fasterxml.jackson.annotation.JsonProperty;
27+
import com.fasterxml.jackson.annotation.JsonValue;
2728

2829
/** Job status */
2930
public enum AudienceGroupJobStatus {
@@ -40,5 +41,17 @@ public enum AudienceGroupJobStatus {
4041
FAILED,
4142

4243
@JsonEnumDefaultValue
43-
UNDEFINED
44+
UNDEFINED;
45+
46+
@JsonValue
47+
public String toValue() {
48+
return switch (this) {
49+
case QUEUED -> "QUEUED";
50+
case WORKING -> "WORKING";
51+
case FINISHED -> "FINISHED";
52+
case FAILED -> "FAILED";
53+
54+
default -> "UNDEFINED";
55+
};
56+
}
4457
}

clients/line-bot-manage-audience-client/src/main/java/com/linecorp/bot/audience/model/AudienceGroupJobType.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,22 @@
2424

2525
import com.fasterxml.jackson.annotation.JsonEnumDefaultValue;
2626
import com.fasterxml.jackson.annotation.JsonProperty;
27+
import com.fasterxml.jackson.annotation.JsonValue;
2728

2829
/** Job Type */
2930
public enum AudienceGroupJobType {
3031
@JsonProperty("DIFF_ADD")
3132
DIFF_ADD,
3233

3334
@JsonEnumDefaultValue
34-
UNDEFINED
35+
UNDEFINED;
36+
37+
@JsonValue
38+
public String toValue() {
39+
return switch (this) {
40+
case DIFF_ADD -> "DIFF_ADD";
41+
42+
default -> "UNDEFINED";
43+
};
44+
}
3545
}

clients/line-bot-manage-audience-client/src/main/java/com/linecorp/bot/audience/model/AudienceGroupPermission.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import com.fasterxml.jackson.annotation.JsonEnumDefaultValue;
2626
import com.fasterxml.jackson.annotation.JsonProperty;
27+
import com.fasterxml.jackson.annotation.JsonValue;
2728

2829
/** Permission */
2930
public enum AudienceGroupPermission {
@@ -34,5 +35,15 @@ public enum AudienceGroupPermission {
3435
READ_WRITE,
3536

3637
@JsonEnumDefaultValue
37-
UNDEFINED
38+
UNDEFINED;
39+
40+
@JsonValue
41+
public String toValue() {
42+
return switch (this) {
43+
case READ -> "READ";
44+
case READ_WRITE -> "READ_WRITE";
45+
46+
default -> "UNDEFINED";
47+
};
48+
}
3849
}

clients/line-bot-manage-audience-client/src/main/java/com/linecorp/bot/audience/model/AudienceGroupStatus.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import com.fasterxml.jackson.annotation.JsonEnumDefaultValue;
2626
import com.fasterxml.jackson.annotation.JsonProperty;
27+
import com.fasterxml.jackson.annotation.JsonValue;
2728

2829
/** Status */
2930
public enum AudienceGroupStatus {
@@ -46,5 +47,19 @@ public enum AudienceGroupStatus {
4647
ACTIVATING,
4748

4849
@JsonEnumDefaultValue
49-
UNDEFINED
50+
UNDEFINED;
51+
52+
@JsonValue
53+
public String toValue() {
54+
return switch (this) {
55+
case IN_PROGRESS -> "IN_PROGRESS";
56+
case READY -> "READY";
57+
case FAILED -> "FAILED";
58+
case EXPIRED -> "EXPIRED";
59+
case INACTIVE -> "INACTIVE";
60+
case ACTIVATING -> "ACTIVATING";
61+
62+
default -> "UNDEFINED";
63+
};
64+
}
5065
}

clients/line-bot-manage-audience-client/src/main/java/com/linecorp/bot/audience/model/AudienceGroupType.java

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import com.fasterxml.jackson.annotation.JsonEnumDefaultValue;
2626
import com.fasterxml.jackson.annotation.JsonProperty;
27+
import com.fasterxml.jackson.annotation.JsonValue;
2728

2829
/** Audience group type */
2930
public enum AudienceGroupType {
@@ -64,5 +65,25 @@ public enum AudienceGroupType {
6465
RICHMENU_CLICK,
6566

6667
@JsonEnumDefaultValue
67-
UNDEFINED
68+
UNDEFINED;
69+
70+
@JsonValue
71+
public String toValue() {
72+
return switch (this) {
73+
case UPLOAD -> "UPLOAD";
74+
case CLICK -> "CLICK";
75+
case IMP -> "IMP";
76+
case CHAT_TAG -> "CHAT_TAG";
77+
case FRIEND_PATH -> "FRIEND_PATH";
78+
case RESERVATION -> "RESERVATION";
79+
case APP_EVENT -> "APP_EVENT";
80+
case VIDEO_VIEW -> "VIDEO_VIEW";
81+
case WEBTRAFFIC -> "WEBTRAFFIC";
82+
case IMAGE_CLICK -> "IMAGE_CLICK";
83+
case RICHMENU_IMP -> "RICHMENU_IMP";
84+
case RICHMENU_CLICK -> "RICHMENU_CLICK";
85+
86+
default -> "UNDEFINED";
87+
};
88+
}
6889
}

clients/line-bot-messaging-api-client/src/main/java/com/linecorp/bot/messaging/model/AgeDemographic.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import com.fasterxml.jackson.annotation.JsonEnumDefaultValue;
2626
import com.fasterxml.jackson.annotation.JsonProperty;
27+
import com.fasterxml.jackson.annotation.JsonValue;
2728

2829
/** Gets or Sets AgeDemographic */
2930
public enum AgeDemographic {
@@ -52,5 +53,21 @@ public enum AgeDemographic {
5253
AGE_50,
5354

5455
@JsonEnumDefaultValue
55-
UNDEFINED
56+
UNDEFINED;
57+
58+
@JsonValue
59+
public String toValue() {
60+
return switch (this) {
61+
case AGE_15 -> "age_15";
62+
case AGE_20 -> "age_20";
63+
case AGE_25 -> "age_25";
64+
case AGE_30 -> "age_30";
65+
case AGE_35 -> "age_35";
66+
case AGE_40 -> "age_40";
67+
case AGE_45 -> "age_45";
68+
case AGE_50 -> "age_50";
69+
70+
default -> "UNDEFINED";
71+
};
72+
}
5673
}

0 commit comments

Comments
 (0)