Browse Source

Ya se agregan los archivos a las peticiones si el usuario adjunta algun archivo

pull/1/head
parent
commit
4ccc93be3f
2 changed files with 60 additions and 14 deletions
  1. +13
    -14
      src/main/java/mx/gob/jumapacelaya/api/RedmineClient.java
  2. +47
    -0
      src/main/java/mx/gob/jumapacelaya/models/JsonOrder.java

+ 13
- 14
src/main/java/mx/gob/jumapacelaya/api/RedmineClient.java View File

@ -2,6 +2,7 @@ package mx.gob.jumapacelaya.api;
import com.nimbusds.jose.shaded.gson.*;
import com.vaadin.flow.server.VaadinService;
import mx.gob.jumapacelaya.models.JsonOrder;
import mx.gob.jumapacelaya.models.RedmineUser;
import mx.gob.jumapacelaya.models.Ticket;
import org.springframework.beans.factory.annotation.Value;
@ -276,23 +277,21 @@ public class RedmineClient {
}
public String createIssue(Map<String, String> issueDetails, String fileUploadToken, String fileName, String contentType, String apiKey) {
Map<String, Object> payload = new HashMap<>();
Map<String, Object> issue = new HashMap<>(issueDetails);
List<JsonOrder.FileUpload> uploads = new ArrayList<>();
if (fileUploadToken != null) {
uploads.add(new JsonOrder.FileUpload(fileUploadToken, fileName, contentType));
}
if (fileUploadToken != null) {
List<Map<String, Object>> uploads = new ArrayList<>();
Map<String, Object> fileTokenMap = new HashMap<>();
fileTokenMap.put("filename", fileName);
fileTokenMap.put("token", fileUploadToken);
fileTokenMap.put("content_type", contentType);
uploads.add(fileTokenMap);
payload.put("uploads", uploads);
}
JsonOrder.IssueDetails issueDetail = new JsonOrder.IssueDetails(
issueDetails.get("project_id"),
issueDetails.get("subject"),
issueDetails.get("description"),
uploads
);
payload.put("issue", issueDetails);
JsonOrder order = new JsonOrder(issueDetail);
String jsonPayload = GSON.toJson(payload);
String jsonPayload = GSON.toJson(order);
try {
RedmineUser user = (RedmineUser) VaadinService.getCurrentRequest().getWrappedSession().getAttribute("myaccount");


+ 47
- 0
src/main/java/mx/gob/jumapacelaya/models/JsonOrder.java View File

@ -0,0 +1,47 @@
package mx.gob.jumapacelaya.models;
import com.nimbusds.jose.shaded.gson.annotations.SerializedName;
import java.util.List;
public class JsonOrder {
@SerializedName("issue")
private IssueDetails issue;
public JsonOrder(IssueDetails issue) {
this.issue = issue;
}
public static class IssueDetails {
@SerializedName("project_id")
private String projectId;
@SerializedName("subject")
private String subject;
@SerializedName("description")
private String description;
@SerializedName("uploads")
private List<FileUpload> uploads;
public IssueDetails(String projectId, String subject, String description, List<FileUpload> uploads) {
this.projectId = projectId;
this.subject = subject;
this.description = description;
this.uploads = uploads;
}
}
public static class FileUpload {
@SerializedName("token")
private String token;
@SerializedName("filename")
private String filename;
@SerializedName("content_type")
private String contentType;
public FileUpload(String token, String filename, String contentType) {
this.token = token;
this.filename = filename;
this.contentType = contentType;
}
}
}

Loading…
Cancel
Save