diff --git a/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppCreateRequest.java b/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppCreateRequest.java index d898d23..4f7b4c0 100644 --- a/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppCreateRequest.java +++ b/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppCreateRequest.java @@ -1,5 +1,6 @@ package com.databasir.core.domain.app.data; +import com.databasir.dao.enums.OAuthAppType; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -14,8 +15,8 @@ public class OAuthAppCreateRequest { @NotBlank private String appName; - @NotBlank - private String appType; + @NotNull + private OAuthAppType appType; private String appIcon; diff --git a/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppDetailResponse.java b/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppDetailResponse.java index fc2428a..60d435f 100644 --- a/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppDetailResponse.java +++ b/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppDetailResponse.java @@ -1,5 +1,6 @@ package com.databasir.core.domain.app.data; +import com.databasir.dao.enums.OAuthAppType; import lombok.Data; import java.time.LocalDateTime; @@ -13,7 +14,7 @@ public class OAuthAppDetailResponse { private String appIcon; - private String appType; + private OAuthAppType appType; private String registrationId; diff --git a/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppPageCondition.java b/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppPageCondition.java index 94666f0..e3d5595 100644 --- a/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppPageCondition.java +++ b/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppPageCondition.java @@ -1,6 +1,7 @@ package com.databasir.core.domain.app.data; import com.databasir.dao.Tables; +import com.databasir.dao.enums.OAuthAppType; import lombok.Data; import org.jooq.Condition; import org.jooq.impl.DSL; @@ -13,7 +14,7 @@ public class OAuthAppPageCondition { private String appNameContains; - private String appType; + private OAuthAppType appType; public Condition toCondition() { List conditions = new ArrayList<>(); diff --git a/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppPageResponse.java b/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppPageResponse.java index 46e27c8..ae1ce0c 100644 --- a/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppPageResponse.java +++ b/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppPageResponse.java @@ -1,5 +1,6 @@ package com.databasir.core.domain.app.data; +import com.databasir.dao.enums.OAuthAppType; import lombok.Data; import java.time.LocalDateTime; @@ -13,7 +14,7 @@ public class OAuthAppPageResponse { private String appIcon; - private String appType; + private OAuthAppType appType; private String registrationId; diff --git a/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppResponse.java b/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppResponse.java index c460aae..c45ed75 100644 --- a/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppResponse.java +++ b/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppResponse.java @@ -1,5 +1,6 @@ package com.databasir.core.domain.app.data; +import com.databasir.dao.enums.OAuthAppType; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -19,7 +20,7 @@ public class OAuthAppResponse { private String appIcon; - private String appType; + private OAuthAppType appType; private String registrationId; diff --git a/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppUpdateRequest.java b/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppUpdateRequest.java index 0d633cd..b8d2501 100644 --- a/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppUpdateRequest.java +++ b/core/src/main/java/com/databasir/core/domain/app/data/OAuthAppUpdateRequest.java @@ -1,5 +1,6 @@ package com.databasir.core.domain.app.data; +import com.databasir.dao.enums.OAuthAppType; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -17,8 +18,8 @@ public class OAuthAppUpdateRequest { @NotBlank private String appName; - @NotBlank - private String appType; + @NotNull + private OAuthAppType appType; private String appIcon; diff --git a/core/src/main/java/com/databasir/core/domain/app/handler/GithubOpenAuthHandler.java b/core/src/main/java/com/databasir/core/domain/app/handler/GithubOpenAuthHandler.java index 24ac022..8141bfd 100644 --- a/core/src/main/java/com/databasir/core/domain/app/handler/GithubOpenAuthHandler.java +++ b/core/src/main/java/com/databasir/core/domain/app/handler/GithubOpenAuthHandler.java @@ -21,8 +21,8 @@ public class GithubOpenAuthHandler implements OpenAuthHandler { private final GithubRemoteService githubRemoteService; @Override - public boolean support(String oauthAppType) { - return OAuthAppType.GITHUB.isSame(oauthAppType); + public boolean support(OAuthAppType oauthAppType) { + return OAuthAppType.GITHUB == oauthAppType; } @Override diff --git a/core/src/main/java/com/databasir/core/domain/app/handler/GitlabOpenAuthHandler.java b/core/src/main/java/com/databasir/core/domain/app/handler/GitlabOpenAuthHandler.java index fb8327e..d80a2e7 100644 --- a/core/src/main/java/com/databasir/core/domain/app/handler/GitlabOpenAuthHandler.java +++ b/core/src/main/java/com/databasir/core/domain/app/handler/GitlabOpenAuthHandler.java @@ -19,8 +19,8 @@ public class GitlabOpenAuthHandler implements OpenAuthHandler { private final GitlabRemoteService gitlabRemoteService; @Override - public boolean support(String oauthAppType) { - return OAuthAppType.GITLAB.isSame(oauthAppType); + public boolean support(OAuthAppType oauthAppType) { + return OAuthAppType.GITLAB == oauthAppType; } @Override diff --git a/core/src/main/java/com/databasir/core/domain/app/handler/OpenAuthHandler.java b/core/src/main/java/com/databasir/core/domain/app/handler/OpenAuthHandler.java index 96f8a62..0878538 100644 --- a/core/src/main/java/com/databasir/core/domain/app/handler/OpenAuthHandler.java +++ b/core/src/main/java/com/databasir/core/domain/app/handler/OpenAuthHandler.java @@ -1,12 +1,13 @@ package com.databasir.core.domain.app.handler; +import com.databasir.dao.enums.OAuthAppType; import com.databasir.dao.tables.pojos.OauthAppPojo; import java.util.Map; public interface OpenAuthHandler { - boolean support(String oauthAppType); + boolean support(OAuthAppType oauthAppType); String authorizationUrl(OauthAppPojo app, Map requestParams); diff --git a/dao/build.gradle b/dao/build.gradle index 51b9a6b..f9babf2 100644 --- a/dao/build.gradle +++ b/dao/build.gradle @@ -60,6 +60,12 @@ jooq { includeExpression = '.*' includeTypes = 'INET' } + forcedType { + userType = 'com.databasir.dao.enums.OAuthAppType' + converter = 'com.databasir.dao.converter.OAuthAppTypeConverter' + includeExpression = 'app_type' + includeTypes = '.*' + } } } generate { diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/OauthApp.java b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/OauthApp.java index ea3cee8..6d27c3a 100644 --- a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/OauthApp.java +++ b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/OauthApp.java @@ -6,6 +6,8 @@ package com.databasir.dao.tables; import com.databasir.dao.Databasir; import com.databasir.dao.Keys; +import com.databasir.dao.converter.OAuthAppTypeConverter; +import com.databasir.dao.enums.OAuthAppType; import com.databasir.dao.tables.records.OauthAppRecord; import java.time.LocalDateTime; @@ -72,7 +74,7 @@ public class OauthApp extends TableImpl { /** * The column databasir.oauth_app.app_type. github, gitlab */ - public final TableField APP_TYPE = createField(DSL.name("app_type"), SQLDataType.VARCHAR(64).nullable(false), this, "github, gitlab"); + public final TableField APP_TYPE = createField(DSL.name("app_type"), SQLDataType.VARCHAR(64).nullable(false), this, "github, gitlab", new OAuthAppTypeConverter()); /** * The column databasir.oauth_app.client_id. @@ -193,7 +195,7 @@ public class OauthApp extends TableImpl { // ------------------------------------------------------------------------- @Override - public Row12 fieldsRow() { + public Row12 fieldsRow() { return (Row12) super.fieldsRow(); } } diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/OauthAppPojo.java b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/OauthAppPojo.java index 1670761..f1dbb1d 100644 --- a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/OauthAppPojo.java +++ b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/pojos/OauthAppPojo.java @@ -4,6 +4,8 @@ package com.databasir.dao.tables.pojos; +import com.databasir.dao.enums.OAuthAppType; + import java.io.Serializable; import java.time.LocalDateTime; @@ -20,7 +22,7 @@ public class OauthAppPojo implements Serializable { private String registrationId; private String appName; private String appIcon; - private String appType; + private OAuthAppType appType; private String clientId; private String clientSecret; private String authUrl; @@ -51,7 +53,7 @@ public class OauthAppPojo implements Serializable { String registrationId, String appName, String appIcon, - String appType, + OAuthAppType appType, String clientId, String clientSecret, String authUrl, @@ -133,14 +135,14 @@ public class OauthAppPojo implements Serializable { /** * Getter for databasir.oauth_app.app_type. github, gitlab */ - public String getAppType() { + public OAuthAppType getAppType() { return this.appType; } /** * Setter for databasir.oauth_app.app_type. github, gitlab */ - public void setAppType(String appType) { + public void setAppType(OAuthAppType appType) { this.appType = appType; } diff --git a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/OauthAppRecord.java b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/OauthAppRecord.java index 20d9d5e..54d3315 100644 --- a/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/OauthAppRecord.java +++ b/dao/generated-src/jooq/main/java/com/databasir/dao/tables/records/OauthAppRecord.java @@ -4,6 +4,7 @@ package com.databasir.dao.tables.records; +import com.databasir.dao.enums.OAuthAppType; import com.databasir.dao.tables.OauthApp; import com.databasir.dao.tables.pojos.OauthAppPojo; @@ -20,7 +21,7 @@ import org.jooq.impl.UpdatableRecordImpl; * oauth app info */ @SuppressWarnings({ "all", "unchecked", "rawtypes" }) -public class OauthAppRecord extends UpdatableRecordImpl implements Record12 { +public class OauthAppRecord extends UpdatableRecordImpl implements Record12 { private static final long serialVersionUID = 1L; @@ -83,15 +84,15 @@ public class OauthAppRecord extends UpdatableRecordImpl implemen /** * Setter for databasir.oauth_app.app_type. github, gitlab */ - public void setAppType(String value) { + public void setAppType(OAuthAppType value) { set(4, value); } /** * Getter for databasir.oauth_app.app_type. github, gitlab */ - public String getAppType() { - return (String) get(4); + public OAuthAppType getAppType() { + return (OAuthAppType) get(4); } /** @@ -206,12 +207,12 @@ public class OauthAppRecord extends UpdatableRecordImpl implemen // ------------------------------------------------------------------------- @Override - public Row12 fieldsRow() { + public Row12 fieldsRow() { return (Row12) super.fieldsRow(); } @Override - public Row12 valuesRow() { + public Row12 valuesRow() { return (Row12) super.valuesRow(); } @@ -236,7 +237,7 @@ public class OauthAppRecord extends UpdatableRecordImpl implemen } @Override - public Field field5() { + public Field field5() { return OauthApp.OAUTH_APP.APP_TYPE; } @@ -296,7 +297,7 @@ public class OauthAppRecord extends UpdatableRecordImpl implemen } @Override - public String component5() { + public OAuthAppType component5() { return getAppType(); } @@ -356,7 +357,7 @@ public class OauthAppRecord extends UpdatableRecordImpl implemen } @Override - public String value5() { + public OAuthAppType value5() { return getAppType(); } @@ -420,7 +421,7 @@ public class OauthAppRecord extends UpdatableRecordImpl implemen } @Override - public OauthAppRecord value5(String value) { + public OauthAppRecord value5(OAuthAppType value) { setAppType(value); return this; } @@ -468,7 +469,7 @@ public class OauthAppRecord extends UpdatableRecordImpl implemen } @Override - public OauthAppRecord values(Integer value1, String value2, String value3, String value4, String value5, String value6, String value7, String value8, String value9, String value10, LocalDateTime value11, LocalDateTime value12) { + public OauthAppRecord values(Integer value1, String value2, String value3, String value4, OAuthAppType value5, String value6, String value7, String value8, String value9, String value10, LocalDateTime value11, LocalDateTime value12) { value1(value1); value2(value2); value3(value3); @@ -498,7 +499,7 @@ public class OauthAppRecord extends UpdatableRecordImpl implemen /** * Create a detached, initialised OauthAppRecord */ - public OauthAppRecord(Integer id, String registrationId, String appName, String appIcon, String appType, String clientId, String clientSecret, String authUrl, String resourceUrl, String scope, LocalDateTime updateAt, LocalDateTime createAt) { + public OauthAppRecord(Integer id, String registrationId, String appName, String appIcon, OAuthAppType appType, String clientId, String clientSecret, String authUrl, String resourceUrl, String scope, LocalDateTime updateAt, LocalDateTime createAt) { super(OauthApp.OAUTH_APP); setId(id); diff --git a/dao/src/main/java/com/databasir/dao/converter/OAuthAppTypeConverter.java b/dao/src/main/java/com/databasir/dao/converter/OAuthAppTypeConverter.java new file mode 100644 index 0000000..1a56743 --- /dev/null +++ b/dao/src/main/java/com/databasir/dao/converter/OAuthAppTypeConverter.java @@ -0,0 +1,12 @@ +package com.databasir.dao.converter; + +import com.databasir.dao.enums.OAuthAppType; +import org.jooq.impl.EnumConverter; + +public class OAuthAppTypeConverter extends EnumConverter { + + public OAuthAppTypeConverter() { + super(String.class, OAuthAppType.class); + } + +}