package com.example.cosmos_serversb.resources; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.stereotype.Component; import javax.ws.rs.*; import com.example.cosmos_serversb.models.*; @Component @Path("/users") public class UsersRest { @POST public String createUsers( @FormParam("name") String name, @FormParam("pw") String pw, @FormParam("iconImage") String iconImage) throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Users.getInstance().createUser(name, pw, iconImage)); return json; } @Path("/{uId}") @GET public String getUsersInfo( @PathParam("uId") String uId, @QueryParam("token") String token) throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Users.getInstance().getUserById(uId)); return json; } @Path("/{uId}") @PUT public String putUsersInfo( @PathParam("uId") String uId, @FormParam("token") String token, @FormParam("name") String name, @FormParam("pw") String pw, @FormParam("iconImage") String iconImage) throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Users.getInstance().setUser(uId, name, pw, iconImage)); return json; } @Path("/{uId}") @DELETE public String deleteUsersInfo( @PathParam("uId") String uId, @FormParam("token") String token) throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Users.getInstance().deleteUser(uId)); return json; } @Path("/{uId}/login") @POST public String login( @PathParam("uId") String uId, @FormParam("pw") String pw) throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Users.getInstance().login(uId)); return json; } @Path("/{uId}/logout") @DELETE public String logout( @PathParam("uId") String uId, @FormParam("token") String token) throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Users.getInstance().logout(token)); return json; } }