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 db8dfbc..1b8094a 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,11 +1,9 @@ package org.ntlab.acanthus_server.resources.accounts; -import org.ntlab.acanthus_server.entities.Work; import org.ntlab.acanthus_server.models.Accounts; import org.springframework.stereotype.Component; import javax.ws.rs.*; -import java.util.Collection; @Component @Path("/accounts") @@ -13,30 +11,55 @@ { private Accounts accounts = Accounts.getInstance(); - /* - 各ユーザーの作品を取得するメソッド - */ - //@Path("/{uid}/work") + //各ユーザーの作品を取得するメソッド + + @Path("/{uid}/work") @GET - public String getWork(/*@PathParam("uid") Integer uid, @QueryParam("token") String token*/) { - return "fake1"; + public String getWork(@PathParam("uid") Integer uid, @QueryParam("token") String token) { + var account = accounts.getAccountByUid(uid); + + if(account != null && account.getToken().equals(token)){ + //指定ユーザーの制作作品の表示 + return "account.getWork()"; + }else{ + //ユーザーID、トークンが間違っている時のレスポンス + throw new WebApplicationException(401); + } + } - /* - 新しい作品を制作するメソッド - */ - //@Path("/{uid}/work") + //新しい作品を制作するメソッド + + @Path("/{uid}/work") @POST - public String createWork(/*@PathParam("uid") Integer uid, @FormParam("token") String token*/){ - return "fake2"; + 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"; + }else{ + //ユーザーID、トークンが間違っている時のレスポンス + throw new WebApplicationException(401); + } + } - /* - 作品への参加を許可するメソッド - */ - //@Path("/{uid}/work") + //作品への参加を許可するメソッド + + @Path("/{uid}/work") @PUT - public String updateWork(/*@PathParam("uid") Integer uid, @FormParam("token") String token, @FormParam("aid") Integer aid*/) { - return "fake3"; + public String updateWork(@PathParam("uid") Integer uid, @FormParam("token") String token, @FormParam("aid") Integer aid) { + var account = accounts.getAccountByUid(uid); + + if(account != null && account.getToken().equals(token)){ + //指定ユーザーの制作作品への参加の許可 + return "fake3"; + }else{ + //ユーザーID、トークンが間違っている時のレスポンス + throw new WebApplicationException(401); + } + } + }