Skip to content

Commit c050d63

Browse files
fix: download image url route
1 parent 2949c38 commit c050d63

File tree

3 files changed

+30
-8
lines changed

3 files changed

+30
-8
lines changed

security/src/main/java/datart/security/base/ResourceType.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,28 @@ public enum ResourceType {
55
SOURCE,
66
VIEW,
77

8-
DATACHART,
8+
DATACHART("shareChart"),
99
WIDGET,
10-
DASHBOARD,
10+
DASHBOARD("shareDashboard"),
1111
FOLDER,
12-
STORYBOARD,
12+
STORYBOARD("shareStoryPlayer"),
1313
VIZ,
1414

1515
SCHEDULE,
1616

1717
ROLE,
18-
USER,
18+
USER;
1919

20+
private String shareRoute;
21+
22+
ResourceType() {
23+
}
24+
25+
ResourceType(String shareRoute) {
26+
this.shareRoute = shareRoute;
27+
}
28+
29+
public String getShareRoute() {
30+
return shareRoute;
31+
}
2032
}

server/src/main/java/datart/server/service/impl/AttachmentImageServiceImpl.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import datart.server.base.params.DownloadCreateParam;
1212
import datart.server.base.params.ShareCreateParam;
1313
import datart.server.base.params.ShareToken;
14+
import datart.server.base.params.ViewExecuteParam;
1415
import datart.server.service.AttachmentService;
1516
import datart.server.service.FolderService;
1617
import datart.server.service.ShareService;
@@ -41,7 +42,9 @@ public AttachmentImageServiceImpl(DatartSecurityManager datartSecurityManager, S
4142

4243
@Override
4344
public File getFile(DownloadCreateParam downloadCreateParam, String path, String fileName) throws Exception {
44-
String folderId = downloadCreateParam.getDownloadParams().size()>0 ? downloadCreateParam.getDownloadParams().get(0).getVizId() : "";
45+
ViewExecuteParam viewExecuteParam = downloadCreateParam.getDownloadParams().size() > 0 ? downloadCreateParam.getDownloadParams().get(0) : new ViewExecuteParam();
46+
String folderId = viewExecuteParam.getVizId();
47+
ResourceType vizType = viewExecuteParam.getVizType();
4548
Folder folder = folderService.retrieve(folderId);
4649
ShareCreateParam shareCreateParam = new ShareCreateParam();
4750
shareCreateParam.setVizId(folder.getRelId());
@@ -51,7 +54,7 @@ public File getFile(DownloadCreateParam downloadCreateParam, String path, String
5154
shareCreateParam.setRowPermissionBy(ShareRowPermissionBy.CREATOR);
5255
ShareToken share = shareService.createShare(securityManager.getCurrentUser().getId(), shareCreateParam);
5356

54-
String url = Application.getWebRootURL() + "/share/"+share.getId()+"?type="+share.getAuthenticationMode();
57+
String url = Application.getWebRootURL()+"/"+vizType.getShareRoute()+"/"+share.getId()+"?type="+share.getAuthenticationMode();
5558
log.info("created share url: {} ", url);
5659
int width = downloadCreateParam.getImageWidth()<=0 ? 1920 : downloadCreateParam.getImageWidth();
5760
File target = WebUtils.screenShot2File(url, path, width);

server/src/main/java/datart/server/service/impl/AttachmentPdfServiceImpl.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package datart.server.service.impl;
22

33
import datart.core.base.consts.AttachmentType;
4+
import datart.core.base.consts.ShareAuthenticationMode;
5+
import datart.core.base.consts.ShareRowPermissionBy;
46
import datart.core.common.Application;
57
import datart.core.common.WebUtils;
68
import datart.core.entity.Folder;
@@ -9,6 +11,7 @@
911
import datart.server.base.params.DownloadCreateParam;
1012
import datart.server.base.params.ShareCreateParam;
1113
import datart.server.base.params.ShareToken;
14+
import datart.server.base.params.ViewExecuteParam;
1215
import datart.server.service.AttachmentService;
1316
import datart.server.service.FolderService;
1417
import datart.server.service.ShareService;
@@ -44,15 +47,19 @@ public AttachmentPdfServiceImpl(DatartSecurityManager securityManager, ShareServ
4447

4548
@Override
4649
public File getFile(DownloadCreateParam downloadCreateParam, String path, String fileName) throws Exception {
47-
String folderId = downloadCreateParam.getDownloadParams().size()>0 ? downloadCreateParam.getDownloadParams().get(0).getVizId() : "";
50+
ViewExecuteParam viewExecuteParam = downloadCreateParam.getDownloadParams().size() > 0 ? downloadCreateParam.getDownloadParams().get(0) : new ViewExecuteParam();
51+
String folderId = viewExecuteParam.getVizId();
52+
ResourceType vizType = viewExecuteParam.getVizType();
4853
Folder folder = folderService.retrieve(folderId);
4954
ShareCreateParam shareCreateParam = new ShareCreateParam();
5055
shareCreateParam.setVizId(folder.getRelId());
5156
shareCreateParam.setVizType(ResourceType.valueOf(folder.getRelType()));
5257
shareCreateParam.setExpiryDate(DateUtils.addHours(new Date(), 1));
58+
shareCreateParam.setAuthenticationMode(ShareAuthenticationMode.NONE);
59+
shareCreateParam.setRowPermissionBy(ShareRowPermissionBy.CREATOR);
5360
ShareToken share = shareService.createShare(securityManager.getCurrentUser().getId(), shareCreateParam);
5461

55-
String url = Application.getWebRootURL() + "/share/"+share.getId()+"?type="+share.getAuthenticationMode();
62+
String url = Application.getWebRootURL()+"/"+vizType.getShareRoute()+"/"+share.getId()+"?type="+share.getAuthenticationMode();
5663
log.info("share url {} ", url);
5764

5865
downloadCreateParam.setImageWidth(600);

0 commit comments

Comments
 (0)