@@ -4876,6 +4876,33 @@ public Response getPrivateUrlDatasetVersion(@PathParam("privateUrlToken") String
4876
4876
}
4877
4877
return ok (responseJson );
4878
4878
}
4879
+
4880
+ @ GET
4881
+ @ Path ("previewUrlDatasetVersion/{previewUrlToken}" )
4882
+ public Response getPreviewUrlDatasetVersion (@ PathParam ("previewUrlToken" ) String previewUrlToken , @ QueryParam ("returnOwners" ) boolean returnOwners ) {
4883
+ PrivateUrlUser privateUrlUser = privateUrlService .getPrivateUrlUserFromToken (previewUrlToken );
4884
+ if (privateUrlUser == null ) {
4885
+ return notFound ("Private URL user not found" );
4886
+ }
4887
+ boolean isAnonymizedAccess = privateUrlUser .hasAnonymizedAccess ();
4888
+ String anonymizedFieldTypeNames = settingsSvc .getValueForKey (SettingsServiceBean .Key .AnonymizedFieldTypeNames );
4889
+ if (isAnonymizedAccess && anonymizedFieldTypeNames == null ) {
4890
+ throw new NotAcceptableException ("Anonymized Access not enabled" );
4891
+ }
4892
+ DatasetVersion dsv = privateUrlService .getDraftDatasetVersionFromToken (previewUrlToken );
4893
+ if (dsv == null || dsv .getId () == null ) {
4894
+ return notFound ("Dataset version not found" );
4895
+ }
4896
+ JsonObjectBuilder responseJson ;
4897
+ if (isAnonymizedAccess ) {
4898
+ List <String > anonymizedFieldTypeNamesList = new ArrayList <>(Arrays .asList (anonymizedFieldTypeNames .split (",\\ s" )));
4899
+ responseJson = json (dsv , anonymizedFieldTypeNamesList , true , returnOwners );
4900
+ } else {
4901
+ responseJson = json (dsv , null , true , returnOwners );
4902
+ }
4903
+ return ok (responseJson );
4904
+ }
4905
+
4879
4906
4880
4907
@ GET
4881
4908
@ Path ("privateUrlDatasetVersion/{privateUrlToken}/citation" )
@@ -4888,6 +4915,18 @@ public Response getPrivateUrlDatasetVersionCitation(@PathParam("privateUrlToken"
4888
4915
return (dsv == null || dsv .getId () == null ) ? notFound ("Dataset version not found" )
4889
4916
: ok (dsv .getCitation (true , privateUrlUser .hasAnonymizedAccess ()));
4890
4917
}
4918
+
4919
+ @ GET
4920
+ @ Path ("previewUrlDatasetVersion/{previewUrlToken}/citation" )
4921
+ public Response getPreviewUrlDatasetVersionCitation (@ PathParam ("previewUrlToken" ) String previewUrlToken ) {
4922
+ PrivateUrlUser privateUrlUser = privateUrlService .getPrivateUrlUserFromToken (previewUrlToken );
4923
+ if (privateUrlUser == null ) {
4924
+ return notFound ("Private URL user not found" );
4925
+ }
4926
+ DatasetVersion dsv = privateUrlService .getDraftDatasetVersionFromToken (previewUrlToken );
4927
+ return (dsv == null || dsv .getId () == null ) ? notFound ("Dataset version not found" )
4928
+ : ok (dsv .getCitation (true , privateUrlUser .hasAnonymizedAccess ()));
4929
+ }
4891
4930
4892
4931
@ GET
4893
4932
@ AuthRequired
0 commit comments