Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
fabrizzio-dotCMS committed May 25, 2023
1 parent 4c8726f commit db7c977
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@
import com.dotmarketing.util.Logger;
import com.liferay.portal.model.User;
import io.vavr.control.Try;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -234,6 +237,13 @@ FolderView toAssetsFolder(final Folder folder) {
.build();
}

public void createOrReplaceAsset(final String assetPath, final String fileName, final InputStream fileInputStream, final User user){
System.out.println(assetPath);
System.out.println(fileName);
System.out.println(fileInputStream);
}


/**
* Creates a new instance of {@link WebAssetHelper}
* @return {@link WebAssetHelper}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,20 @@
import com.dotmarketing.exception.DotSecurityException;
import com.dotmarketing.util.Logger;
import com.liferay.portal.model.User;
import java.io.InputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.Consumes;
import javax.ws.rs.FormParam;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataParam;
import org.glassfish.jersey.server.JSONP;

/**
Expand Down Expand Up @@ -52,4 +58,38 @@ public Response getAssetsInfo(@Context final HttpServletRequest request,
final WebAssetView asset = helper.getAsset(form.assetPath(), user);
return Response.ok(new WebAssetEntityView(asset)).build();
}


@Path("/")
@PUT
@JSONP
@NoCache
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces({MediaType.APPLICATION_JSON, "application/javascript"})
public Response putAsset(
@Context final HttpServletRequest request,
@Context final HttpServletResponse response,
@FormDataParam("file") InputStream fileInputStream,
@FormDataParam("file") FormDataContentDisposition contentDispositionHeader,
@FormDataParam("assetPath") String assetPath
) throws DotSecurityException, DotDataException {

final InitDataObject initDataObject = new WebResource.InitBuilder()
.requiredBackendUser(true)
.requiredFrontendUser(false)
.requestAndResponse(request, response)
.rejectWhenNoUser(true).init();

final User user = initDataObject.getUser();
/*
String fileName = form.contentDispositionHeader().getFileName();
String assetPath = form.assetPath();
InputStream fileInputStream = form.fileInputStream();
helper.createOrReplaceAsset(assetPath, fileName, fileInputStream, user);
*/
//Logger.info(this, String.format("User [%s] is requesting assets info for path [%s]", user.getUserId(), form.assetPath()));

return Response.ok(new WebAssetEntityView(null)).build();
}

}

0 comments on commit db7c977

Please sign in to comment.