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,pw));
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(uId,token));
return json;
}
}