feat(仪表板): 仪表板分享功能增加ticket设置 #9835

This commit is contained in:
fit2cloud-chenyw
2024-06-21 15:51:01 +08:00
parent 5eaf328725
commit 8dd8e2e388
19 changed files with 467 additions and 78 deletions

View File

@@ -0,0 +1,29 @@
package io.dataease.api.xpack.share;
import io.dataease.api.xpack.share.request.TicketCreator;
import io.dataease.api.xpack.share.request.TicketDelRequest;
import io.dataease.api.xpack.share.request.TicketSwitchRequest;
import io.dataease.api.xpack.share.vo.TicketVO;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@Tag(name = "分享:TICKET")
public interface ShareTicketApi {
@PostMapping("/saveTicket")
String saveTicket(@RequestBody TicketCreator creator);
@PostMapping("/delTicket")
void deleteTicket(@RequestBody TicketDelRequest request);
@PostMapping("/enableTicket")
void switchRequire(@RequestBody TicketSwitchRequest request);
@GetMapping("/query/{resourceId}")
List<TicketVO> query(@PathVariable("resourceId") Long resourceId);
}

View File

@@ -0,0 +1,22 @@
package io.dataease.api.xpack.share.request;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
@Data
public class TicketCreator implements Serializable {
@Serial
private static final long serialVersionUID = 8661378104009097296L;
private String ticket;
private Long exp;
private String args;
private String uuid;
private boolean generateNew;
}

View File

@@ -0,0 +1,14 @@
package io.dataease.api.xpack.share.request;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
@Data
public class TicketDelRequest implements Serializable {
@Serial
private static final long serialVersionUID = -3978489349675065507L;
private String ticket;
}

View File

@@ -0,0 +1,16 @@
package io.dataease.api.xpack.share.request;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
@Data
public class TicketSwitchRequest implements Serializable {
@Serial
private static final long serialVersionUID = 7670768142874123370L;
private String resourceId;
private Boolean require = false;
}

View File

@@ -20,4 +20,6 @@ public class XpackShareProxyRequest implements Serializable {
@Schema(description = "密钥", requiredMode = Schema.RequiredMode.REQUIRED)
private String ciphertext;
private boolean inIframe;
private String ticket;
}

View File

@@ -0,0 +1,27 @@
package io.dataease.api.xpack.share.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
@Data
public class TicketVO implements Serializable {
@Serial
private static final long serialVersionUID = -599110079356725271L;
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
private String uuid;
private String ticket;
private Long exp;
private String args;
private Long accessTime;
}

View File

@@ -0,0 +1,18 @@
package io.dataease.api.xpack.share.vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
@Data
public class TicketValidVO implements Serializable {
@Serial
private static final long serialVersionUID = 2452043685969885580L;
private boolean ticketValid;
private boolean ticketExp;
private String args;
}

View File

@@ -32,4 +32,6 @@ public class XpackShareProxyVO implements Serializable {
@Schema(description = "类型")
private String type;
private boolean inIframeError = true;
private TicketValidVO ticketValidVO;
}

View File

@@ -29,4 +29,6 @@ public class XpackShareVO implements Serializable {
private String pwd;
@Schema(description = "自动生成密码")
private Boolean autoPwd = true;
@Schema(description = "ticket必须")
private Boolean ticketRequire = false;
}