diff --git a/src/main/java/org/ntlab/tampoposerver/models/Activity.java b/src/main/java/org/ntlab/tampoposerver/models/Activity.java index efe82b0..207f3df 100644 --- a/src/main/java/org/ntlab/tampoposerver/models/Activity.java +++ b/src/main/java/org/ntlab/tampoposerver/models/Activity.java @@ -1,4 +1,47 @@ package org.ntlab.tampoposerver.models; public class Activity { + private String userId; + private String activityId; + private String text; + private String updateTime; + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getActivityId() { + return activityId; + } + + public void setActivityId(String activityId) { + this.activityId = activityId; + } + + public Activity(String u, String a, String t, String ut){ + userId = u; + activityId = a; + text = t; + updateTime = ut; + } } diff --git a/src/main/java/org/ntlab/tampoposerver/models/Notification.java b/src/main/java/org/ntlab/tampoposerver/models/Notification.java index 101b9c9..12994c4 100644 --- a/src/main/java/org/ntlab/tampoposerver/models/Notification.java +++ b/src/main/java/org/ntlab/tampoposerver/models/Notification.java @@ -1,4 +1,49 @@ package org.ntlab.tampoposerver.models; public class Notification { + private String userId; + private String notificationId; + private String from; + private String text; + private String time; + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getNotificationId() { + return notificationId; + } + + public void setNotificationId(String notificationId) { + this.notificationId = notificationId; + } + + public String getFrom() { + return from; + } + + public void setFrom(String from) { + this.from = from; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public String getTime() { + return time; + } + + public void setTime(String time) { + this.time = time; + } } diff --git a/src/main/java/org/ntlab/tampoposerver/models/User.java b/src/main/java/org/ntlab/tampoposerver/models/User.java index b2376f3..82c9a39 100644 --- a/src/main/java/org/ntlab/tampoposerver/models/User.java +++ b/src/main/java/org/ntlab/tampoposerver/models/User.java @@ -1,4 +1,67 @@ package org.ntlab.tampoposerver.models; public class User { + private String userId; + private String name; + private String password; + private String email; + private String icon; + private String token; + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getIcon() { + return icon; + } + + public void setIcon(String icon) { + this.icon = icon; + } + + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } + + public User(String uid, String n, String pas, String mail, String image){ + userId = uid; + name = n; + password = pas; + email = mail; + icon = image; + } + } diff --git a/src/main/java/org/ntlab/tampoposerver/repositories/FriendRepository.java b/src/main/java/org/ntlab/tampoposerver/repositories/FriendRepository.java new file mode 100644 index 0000000..91be6d7 --- /dev/null +++ b/src/main/java/org/ntlab/tampoposerver/repositories/FriendRepository.java @@ -0,0 +1,51 @@ +package org.ntlab.tampoposerver.repositories; + +import org.ntlab.tampoposerver.models.FriendPair; +import org.springframework.stereotype.Repository; + +import java.util.HashMap; +import java.util.Map; + +@Repository +public class FriendRepository { + /* フレンドペアのIDからフレンドペアへの写像 */ + private final Map friends = new HashMap<>(); + + /* 最後に追加されたフレンドペアのID */ + private int lastPairId = -1; + + /** + * 渡されたIDに紐づけられているフレンドペアを取得する + * + * @param pairId 取得する対象のフレンドペアのID + * @return IDに紐づけられているフレンドペアが存在すればそのペア、存在しなければnull + */ + public FriendPair getFriend(int pairId) { + return friends.get(pairId); + } + + /** + * 渡された二つのユーザーIDから新しいフレンドのペアを作成し追加する + * + * @param user0Id フレンドとして追加するユーザーのユーザーID + * @param user1Id フレンドとして追加するユーザーのユーザーID + * @return 新しく作成したフレンドペア + */ + public FriendPair addFriend(String user0Id, String user1Id) { + lastPairId++; + FriendPair newPair = new FriendPair(lastPairId, user0Id, user1Id); + friends.put(newPair.getId(), newPair); + return newPair; + } + + /** + * 渡されたIDに紐づけられているフレンドペアを削除する + * + * @param pairId 削除する対象のフレンドペアのID + * @return 削除できたらtrue、削除できなければfalse + */ + public boolean removeFriend(int pairId) { + FriendPair removedPair = friends.remove(pairId); + return removedPair != null; + } +} diff --git a/src/main/java/org/ntlab/tampoposerver/repositories/FriendRequestRepository.java b/src/main/java/org/ntlab/tampoposerver/repositories/FriendRequestRepository.java new file mode 100644 index 0000000..61cb942 --- /dev/null +++ b/src/main/java/org/ntlab/tampoposerver/repositories/FriendRequestRepository.java @@ -0,0 +1,50 @@ +package org.ntlab.tampoposerver.repositories; + +import org.ntlab.tampoposerver.models.FriendRequest; +import org.springframework.stereotype.Repository; + +import java.util.Collection; +import java.util.HashMap; + +@Repository +public class FriendRequestRepository { + /* フレンドリクエストのIDからフレンドリクエストへの写像 */ + private final HashMap friendRequests = new HashMap<>(); + + /* 最後に追加されたフレンドリクエストのID */ + private int lastId = -1; + + /** + * すべてのフレンドリクエストを返す + * + * @return すべてのフレンドリクエスト + */ + public Collection getFriendRequests() { + return friendRequests.values(); + } + + /** + * 渡された二つのユーザーIDから新しいフレンドリクエストを作成し追加する + * + * @param senderId フレンドリクエストを送ったユーザーのユーザーID + * @param receiverId フレンドリクエストを受け取ったユーザーのユーザーID + * @return 新しく作成したフレンドリクエスト + */ + public FriendRequest addFriendRequest(String senderId, String receiverId) { + lastId++; + FriendRequest newRequest = new FriendRequest(lastId, senderId, receiverId); + friendRequests.put(newRequest.getId(), newRequest); + return newRequest; + } + + /** + * 渡されたIDに紐づけられているフレンドリクエストを削除する + * + * @param id 削除する対象のフレンドリクエストのID + * @return 削除できたらtrue、削除できなければfalse + */ + public boolean removeFriendRequest(int id) { + FriendRequest removedRequest = friendRequests.remove(id); + return removedRequest != null; + } +} diff --git a/src/main/java/org/ntlab/tampoposerver/repositories/NotificationRepository.java b/src/main/java/org/ntlab/tampoposerver/repositories/NotificationRepository.java index 7509ae4..bbaadfd 100644 --- a/src/main/java/org/ntlab/tampoposerver/repositories/NotificationRepository.java +++ b/src/main/java/org/ntlab/tampoposerver/repositories/NotificationRepository.java @@ -1,7 +1,19 @@ package org.ntlab.tampoposerver.repositories; +import org.ntlab.tampoposerver.models.Notification; import org.springframework.stereotype.Repository; +import java.util.HashMap; + @Repository public class NotificationRepository { + private HashMap> notificationMap = new HashMap<>(); + + public NotificationRepository() { + Notification n1 = new Notification(); + notificationMap.put("uid01", new HashMap<>()); + notificationMap.get("uid01").put("nid01", n1); + + Notification result = notificationMap.get("uid01").get("nid01"); + } } diff --git a/src/main/java/org/ntlab/tampoposerver/repositories/UserRepository.java b/src/main/java/org/ntlab/tampoposerver/repositories/UserRepository.java index da39cd1..6c9115a 100644 --- a/src/main/java/org/ntlab/tampoposerver/repositories/UserRepository.java +++ b/src/main/java/org/ntlab/tampoposerver/repositories/UserRepository.java @@ -1,7 +1,22 @@ package org.ntlab.tampoposerver.repositories; +import org.ntlab.tampoposerver.models.User; import org.springframework.stereotype.Repository; +import java.util.HashMap; + @Repository public class UserRepository { + private final HashMap userMap = new HashMap<>(); + public User addUser(String uid,String n,String pas,String mail,String image) { + User u = new User(uid,n,pas,mail,image); + userMap.put(uid,u); + return u; + } + public User getUser(String uid) { + return userMap.get(uid); + } + public User deleteUser(String uid) { + return userMap.remove(uid); + } } diff --git a/src/main/java/org/ntlab/tampoposerver/resources/ActivitiesResource.java b/src/main/java/org/ntlab/tampoposerver/resources/ActivitiesResource.java index b6041cc..8edefdb 100644 --- a/src/main/java/org/ntlab/tampoposerver/resources/ActivitiesResource.java +++ b/src/main/java/org/ntlab/tampoposerver/resources/ActivitiesResource.java @@ -2,14 +2,39 @@ import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.QueryParam; import org.springframework.stereotype.Component; @Path("/users") @Component public class ActivitiesResource { + @Path("/{user-id}/activities") @GET - public String getHello() { + public String getActivities(@PathParam("user-id") String userId, @QueryParam("filter") String filter) { + return "Hello World!!"; + } + + @Path("/{user-id}/activities/{activity-id}") + @GET + public String getActivity(@PathParam("user-id") String userId, @PathParam("activity-id") String activityId) { + return "Hello World!!"; + } + + @Path("/{user-id}/activities/{activity-id}/text") + @GET + public String getActivityText(@PathParam("user-id") String userId, @PathParam("activity-id") String activityId) { + return "Hello World!!"; + } + @Path("/{user-id}/activities/{activity-id}/updated-time") + @GET + public String getActivityUpdatedTime(@PathParam("user-id") String userId, @PathParam("activity-id") String activityId) { + return "Hello World!!"; + } + @Path("/{user-id}/activities/{activity-id}/last-updated-time") + @GET + public String getActivityLastUpdatedTime(@PathParam("user-id") String userId) { return "Hello World!!"; } } \ No newline at end of file diff --git a/src/main/java/org/ntlab/tampoposerver/resources/FriendRequestsResource.java b/src/main/java/org/ntlab/tampoposerver/resources/FriendRequestsResource.java index 585a4ed..678c967 100644 --- a/src/main/java/org/ntlab/tampoposerver/resources/FriendRequestsResource.java +++ b/src/main/java/org/ntlab/tampoposerver/resources/FriendRequestsResource.java @@ -2,13 +2,14 @@ import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; +import jakarta.ws.rs.QueryParam; import org.springframework.stereotype.Component; @Path("/friend-requests") @Component public class FriendRequestsResource { @GET - public String getHello(){ + public String getfriendrequests(@QueryParam("token") String token){ return "Hello World!"; } } diff --git a/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java b/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java index 03d2c94..df7ee74 100644 --- a/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java +++ b/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java @@ -2,13 +2,16 @@ import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.QueryParam; import org.springframework.stereotype.Component; @Path("/friends") @Component public class FriendsResource { + @Path("/{pair-id}") @GET - public String getHello() { + public String getFriends(@QueryParam("token") String token, @PathParam("pair-id") String pairId) { return "Hello World!!"; } diff --git a/src/test/java/org/ntlab/tampoposerver/models/UserTest.java b/src/test/java/org/ntlab/tampoposerver/models/UserTest.java new file mode 100644 index 0000000..d77a8fc --- /dev/null +++ b/src/test/java/org/ntlab/tampoposerver/models/UserTest.java @@ -0,0 +1,21 @@ +package org.ntlab.tampoposerver.models; + +import jakarta.validation.constraints.AssertTrue; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +@SpringBootTest +public class UserTest { + @Test + void contextLoads() { + User u1 = new User("u01", "asdf", "xyz","asdf@gmail.com","123a876bca878de3"); + User u2 = new User("u02", "zcv", "abc","dfgdf@gmail.com","123a876bca878d125"); + assertEquals("asdf", u1.getName()); + assertEquals("xyz", u1.getPassword()); + assertEquals("asdf@gmail.com", u1.getEmail()); + assertEquals("zcv", u2.getName()); + assertEquals("abc", u2.getPassword()); + } +} \ No newline at end of file diff --git a/src/test/java/org/ntlab/tampoposerver/repositories/UserRepositoryTest.java b/src/test/java/org/ntlab/tampoposerver/repositories/UserRepositoryTest.java new file mode 100644 index 0000000..c143e92 --- /dev/null +++ b/src/test/java/org/ntlab/tampoposerver/repositories/UserRepositoryTest.java @@ -0,0 +1,23 @@ +package org.ntlab.tampoposerver.repositories; + +import org.junit.jupiter.api.Test; +import org.ntlab.tampoposerver.models.User; +import org.springframework.boot.test.context.SpringBootTest; + +import static org.junit.jupiter.api.Assertions.*; + +@SpringBootTest +public class UserRepositoryTest { + @Test + void contextLoads() { + UserRepository userRepository = new UserRepository(); + User u1 = userRepository.addUser("u01", "asdf", "xyz","asdf@gmail.com","123a876bca878de3"); + User u2 = userRepository.addUser("u02", "zcv", "abc","dfgdf@gmail.com","123a876bca878d125"); + User u = userRepository.getUser("u02"); + assertEquals(u2, u); + assertNotEquals(u1, u); + userRepository.deleteUser("u02"); + u = userRepository.getUser("u02"); + assertNull(u); + } +} \ No newline at end of file