Feature: make description optional when save project or group (#113)
* feat: make description field optional * feat: update frontend resources * fix: ut failed
This commit is contained in:
parent
0badba566a
commit
c1f7d1e99d
|
@ -1 +1 @@
|
||||||
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>databasir</title><script defer="defer" type="module" src="/js/chunk-vendors.787360f3.js"></script><script defer="defer" type="module" src="/js/app.c9efd150.js"></script><link href="/css/chunk-vendors.8e1003a6.css" rel="stylesheet"><link href="/css/app.15b40a89.css" rel="stylesheet"><script defer="defer" src="/js/chunk-vendors-legacy.405c78b5.js" nomodule></script><script defer="defer" src="/js/app-legacy.57eb4513.js" nomodule></script></head><body><noscript><strong>We're sorry but databasir doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>databasir</title><script defer="defer" type="module" src="/js/chunk-vendors.787360f3.js"></script><script defer="defer" type="module" src="/js/app.1e655dc8.js"></script><link href="/css/chunk-vendors.8e1003a6.css" rel="stylesheet"><link href="/css/app.15b40a89.css" rel="stylesheet"><script defer="defer" src="/js/chunk-vendors-legacy.405c78b5.js" nomodule></script><script defer="defer" src="/js/app-legacy.2730dbc0.js" nomodule></script></head><body><noscript><strong>We're sorry but databasir doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -19,4 +19,8 @@ public interface GroupPojoConverter {
|
||||||
@Mapping(target = "createAt", ignore = true)
|
@Mapping(target = "createAt", ignore = true)
|
||||||
@Mapping(target = "updateAt", ignore = true)
|
@Mapping(target = "updateAt", ignore = true)
|
||||||
GroupPojo of(GroupUpdateRequest groupUpdateRequest);
|
GroupPojo of(GroupUpdateRequest groupUpdateRequest);
|
||||||
|
|
||||||
|
default String nullToEmpty(String description) {
|
||||||
|
return description == null ? "" : description;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,6 @@ public class GroupCreateRequest {
|
||||||
@NotBlank
|
@NotBlank
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@NotBlank
|
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
@NotEmpty
|
@NotEmpty
|
||||||
|
|
|
@ -17,7 +17,6 @@ public class GroupUpdateRequest {
|
||||||
@NotBlank
|
@NotBlank
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@NotBlank
|
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
@NotEmpty
|
@NotEmpty
|
||||||
|
|
|
@ -9,6 +9,8 @@ import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.Mapping;
|
import org.mapstruct.Mapping;
|
||||||
import org.mapstruct.ReportingPolicy;
|
import org.mapstruct.ReportingPolicy;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = JsonConverter.class)
|
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = JsonConverter.class)
|
||||||
public interface ProjectPojoConverter {
|
public interface ProjectPojoConverter {
|
||||||
|
|
||||||
|
@ -25,4 +27,8 @@ public interface ProjectPojoConverter {
|
||||||
@Mapping(target = "ignoreColumnNameRegexArray", source = "request.ignoreColumnNameRegexes")
|
@Mapping(target = "ignoreColumnNameRegexArray", source = "request.ignoreColumnNameRegexes")
|
||||||
ProjectSyncRulePojo of(ProjectUpdateRequest.ProjectSyncRuleUpdateRequest request,
|
ProjectSyncRulePojo of(ProjectUpdateRequest.ProjectSyncRuleUpdateRequest request,
|
||||||
Integer projectId);
|
Integer projectId);
|
||||||
|
|
||||||
|
default String optionToEmpty(Optional<String> optional) {
|
||||||
|
return optional.orElse("");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class ProjectCreateRequest {
|
public class ProjectCreateRequest {
|
||||||
|
@ -13,8 +14,7 @@ public class ProjectCreateRequest {
|
||||||
@NotBlank
|
@NotBlank
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@NotBlank
|
private Optional<String> description = Optional.empty();
|
||||||
private String description;
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private Integer groupId;
|
private Integer groupId;
|
||||||
|
|
|
@ -6,6 +6,7 @@ import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class ProjectUpdateRequest {
|
public class ProjectUpdateRequest {
|
||||||
|
@ -16,8 +17,7 @@ public class ProjectUpdateRequest {
|
||||||
@NotBlank
|
@NotBlank
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@NotBlank
|
private Optional<String> description = Optional.empty();
|
||||||
private String description;
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private ProjectUpdateRequest.DataSourceUpdateRequest dataSource;
|
private ProjectUpdateRequest.DataSourceUpdateRequest dataSource;
|
||||||
|
|
|
@ -20,6 +20,7 @@ import org.springframework.test.context.jdbc.Sql;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
class ProjectServiceTest extends BaseTest {
|
class ProjectServiceTest extends BaseTest {
|
||||||
|
@ -46,7 +47,7 @@ class ProjectServiceTest extends BaseTest {
|
||||||
void create() {
|
void create() {
|
||||||
ProjectCreateRequest request = new ProjectCreateRequest();
|
ProjectCreateRequest request = new ProjectCreateRequest();
|
||||||
request.setName("ut");
|
request.setName("ut");
|
||||||
request.setDescription("integration test");
|
request.setDescription(Optional.of("integration test"));
|
||||||
request.setGroupId(-1000);
|
request.setGroupId(-1000);
|
||||||
|
|
||||||
DataSourceCreateRequest dataSource = new DataSourceCreateRequest();
|
DataSourceCreateRequest dataSource = new DataSourceCreateRequest();
|
||||||
|
@ -76,7 +77,7 @@ class ProjectServiceTest extends BaseTest {
|
||||||
ProjectUpdateRequest request = new ProjectUpdateRequest();
|
ProjectUpdateRequest request = new ProjectUpdateRequest();
|
||||||
request.setId(-1000);
|
request.setId(-1000);
|
||||||
request.setName("ut");
|
request.setName("ut");
|
||||||
request.setDescription("integration test");
|
request.setDescription(Optional.of("integration test"));
|
||||||
|
|
||||||
var dataSource = new ProjectUpdateRequest.DataSourceUpdateRequest();
|
var dataSource = new ProjectUpdateRequest.DataSourceUpdateRequest();
|
||||||
dataSource.setUsername("root");
|
dataSource.setUsername("root");
|
||||||
|
|
Loading…
Reference in New Issue