Skip to content

Commit b610c85

Browse files
author
jianggang
authored
feat: optimize approval & refactor toggle list (#32)
feat: optimize approval & refactor toggle list
1 parent cfcb5d8 commit b610c85

40 files changed

Lines changed: 456 additions & 250 deletions
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.featureprobe.api.base.enums;
2+
3+
public enum MetricsCacheTypeEnum {
4+
METRICS, EVALUATION
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.featureprobe.api.base.enums;
2+
3+
public enum ToggleReleaseStatusEnum {
4+
PENDING_APPROVAL, PENDING_RELEASE, REJECT, RELEASE
5+
}

src/main/java/com/featureprobe/api/controller/TargetingController.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.featureprobe.api.base.enums.ResponseCodeEnum;
1111
import com.featureprobe.api.dto.AfterTargetingVersionResponse;
1212
import com.featureprobe.api.dto.BaseResponse;
13+
import com.featureprobe.api.dto.CancelSketchRequest;
1314
import com.featureprobe.api.dto.TargetingDiffResponse;
1415
import com.featureprobe.api.dto.TargetingRequest;
1516
import com.featureprobe.api.dto.TargetingResponse;
@@ -69,9 +70,10 @@ public TargetingResponse publishSketch(@PathVariable("projectKey") String projec
6970
@CreateApiResponse
7071
@Operation(summary = "Cancel targeting sketch", description = "Cancel targeting sketch.")
7172
public BaseResponse cancelSketch(@PathVariable("projectKey") String projectKey,
72-
@PathVariable("environmentKey") String environmentKey,
73-
@PathVariable("toggleKey") String toggleKey) {
74-
targetingService.cancelSketch(projectKey, environmentKey, toggleKey);
73+
@PathVariable("environmentKey") String environmentKey,
74+
@PathVariable("toggleKey") String toggleKey,
75+
@RequestBody @Validated CancelSketchRequest cancelSketchRequest) {
76+
targetingService.cancelSketch(projectKey, environmentKey, toggleKey, cancelSketchRequest);
7577
return new BaseResponse(ResponseCodeEnum.SUCCESS);
7678
}
7779

src/main/java/com/featureprobe/api/dto/ApprovalRecordQueryRequest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
package com.featureprobe.api.dto;
22

3+
import com.featureprobe.api.base.enums.ApprovalStatusEnum;
34
import com.featureprobe.api.base.enums.ApprovalTypeEnum;
45
import lombok.Data;
56

67
import javax.validation.constraints.NotNull;
8+
import java.util.List;
79

810
@Data
911
public class ApprovalRecordQueryRequest extends PaginationRequest{
1012

1113
private String keyword;
1214

13-
@NotNull
14-
private String status;
15+
private List<ApprovalStatusEnum> status;
1516

1617
@NotNull
1718
private ApprovalTypeEnum type;

src/main/java/com/featureprobe/api/dto/ApprovalRecordResponse.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,12 @@ public class ApprovalRecordResponse {
3737

3838
private String comment;
3939

40-
private Date approvalTime;
40+
private Date createdTime;
4141

42-
private Date sketchTime;
42+
private Date modifiedTime;
4343

44-
private Date cancelTime;
44+
private boolean canceled;
45+
46+
private String cancelReason;
4547

4648
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.featureprobe.api.dto;
2+
3+
import lombok.Data;
4+
5+
@Data
6+
public class CancelSketchRequest {
7+
8+
private String comment;
9+
10+
}

src/main/java/com/featureprobe/api/dto/EnvironmentResponse.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ public class EnvironmentResponse {
99

1010
private String key;
1111

12+
private boolean enableApproval;
13+
1214
private String serverSdkKey;
1315
private String clientSdkKey;
1416

src/main/java/com/featureprobe/api/dto/ToggleItemResponse.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.featureprobe.api.dto;
22

3+
import com.featureprobe.api.base.enums.ToggleReleaseStatusEnum;
34
import lombok.Data;
45
import java.util.Date;
56
import java.util.Set;
@@ -30,4 +31,6 @@ public class ToggleItemResponse {
3031
private String lockedBy;
3132

3233
private Date lockedTime;
34+
35+
private ToggleReleaseStatusEnum releaseStatus;
3336
}

src/main/java/com/featureprobe/api/dto/ToggleSearchRequest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package com.featureprobe.api.dto;
22

3+
import com.featureprobe.api.base.enums.ToggleReleaseStatusEnum;
34
import com.featureprobe.api.base.enums.VisitFilter;
45
import lombok.Data;
5-
6-
import javax.validation.constraints.NotBlank;
76
import java.util.List;
87

98
@Data
@@ -21,4 +20,6 @@ public class ToggleSearchRequest extends PaginationRequest {
2120

2221
private boolean archived;
2322

23+
private List<ToggleReleaseStatusEnum> releaseStatusList;
24+
2425
}

src/main/java/com/featureprobe/api/entity/ApprovalRecord.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ public class ApprovalRecord extends AbstractAuditEntity implements TenantSuppor
6666
@Column(columnDefinition = "TEXT")
6767
private String comment;
6868

69+
public String environmentUniqueKey() {
70+
return projectKey + "&" + environmentKey;
71+
}
6972

73+
public String toggleUniqueKey() {
74+
return projectKey + "&" + toggleKey;
75+
}
7076

7177
}

0 commit comments

Comments
 (0)