diff --git a/src/main/java/org/ntlab/acanthus_server/entities/WorkJson.java b/src/main/java/org/ntlab/acanthus_server/entities/WorkJson.java new file mode 100644 index 0000000..654e426 --- /dev/null +++ b/src/main/java/org/ntlab/acanthus_server/entities/WorkJson.java @@ -0,0 +1,23 @@ +package org.ntlab.acanthus_server.entities; + +import java.util.ArrayList; +import java.util.Collection; + +public class WorkJson { + private ArrayList aid = new ArrayList<>(); + + public WorkJson(Collection workList){ + for (var intAid : workList){ + String strAid = "/gallery/" + intAid.getAnimation().getAid(); + aid.add(strAid); + } + } + + public Collection getAid() { + return aid; + } + + public void setAid(ArrayList aid) { + this.aid = aid; + } +} diff --git a/src/main/java/org/ntlab/acanthus_server/resources/accounts/WorkRest.java b/src/main/java/org/ntlab/acanthus_server/resources/accounts/WorkRest.java index 1b8094a..49a6c32 100644 --- a/src/main/java/org/ntlab/acanthus_server/resources/accounts/WorkRest.java +++ b/src/main/java/org/ntlab/acanthus_server/resources/accounts/WorkRest.java @@ -1,26 +1,35 @@ package org.ntlab.acanthus_server.resources.accounts; +import org.ntlab.acanthus_server.entities.Work; +import org.ntlab.acanthus_server.entities.WorkJson; import org.ntlab.acanthus_server.models.Accounts; +import org.ntlab.acanthus_server.models.Gallery; import org.springframework.stereotype.Component; import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; +import java.util.ArrayList; +import java.util.Collection; @Component @Path("/accounts") public class WorkRest { private Accounts accounts = Accounts.getInstance(); + private Gallery gallery = Gallery.getInstance(); //各ユーザーの作品を取得するメソッド @Path("/{uid}/work") @GET - public String getWork(@PathParam("uid") Integer uid, @QueryParam("token") String token) { + @Produces(MediaType.APPLICATION_JSON) + public WorkJson getWork(@PathParam("uid") Integer uid, @QueryParam("token") String token) { var account = accounts.getAccountByUid(uid); if(account != null && account.getToken().equals(token)){ //指定ユーザーの制作作品の表示 - return "account.getWork()"; + Collection workList = account.getWorkingList().values(); + return new WorkJson(workList); }else{ //ユーザーID、トークンが間違っている時のレスポンス throw new WebApplicationException(401); @@ -32,12 +41,14 @@ @Path("/{uid}/work") @POST + @Produces(MediaType.APPLICATION_JSON) public String createWork(@PathParam("uid") Integer uid, @FormParam("token") String token){ var account = accounts.getAccountByUid(uid); if(account != null && account.getToken().equals(token)){ //指定ユーザーの新しい作品の追加 - return "fake2"; + + return ""; }else{ //ユーザーID、トークンが間違っている時のレスポンス throw new WebApplicationException(401); @@ -49,6 +60,7 @@ @Path("/{uid}/work") @PUT + @Produces(MediaType.APPLICATION_JSON) public String updateWork(@PathParam("uid") Integer uid, @FormParam("token") String token, @FormParam("aid") Integer aid) { var account = accounts.getAccountByUid(uid);