Newer
Older
CosmosServer / src / main / java / com / example / cosmos_serversb / resources / UsersRest.java
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, 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;
    }
}