Newer
Older
tampopo-server-dtram / src / main / java / org / example / tampoposerverdtram / resources / Friends.java
package org.example.tampoposerverdtram.resources;

import java.util.*;
import jakarta.ws.rs.*;
import jakarta.ws.rs.client.*;
import jakarta.ws.rs.core.*;
import org.springframework.stereotype.Component;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.JsonProcessingException;

@Path("/friends")
@Component
public class Friends {
	private Pairs pairs = new Pairs();
	private Client client = ClientBuilder.newClient();
	private Map<String, Map<String, String>> users = new HashMap<>();
	@Produces(MediaType.APPLICATION_JSON)
	@GET
	public Map<String, Object> getValue() {
		Map temp_nil9 = new HashMap<>();
		temp_nil9.put("users",this.getUsers());
		temp_nil9.put("pairs",this.pairs.getValue());
		return temp_nil9;
	}
	public Pairs getPairs() {
		return this.pairs;
	}
	@Path("/pairs")
	@DELETE
	public void updateFromDeletedFriendPair(@FormParam("deletedFriendPair") String deletedFriendPair_json) throws JsonProcessingException {
		getPairs().updateFromDeletedFriendPair(deletedFriendPair_json);
	}
	@Path("/pairs")
	@Produces(MediaType.APPLICATION_JSON)
	@GET
	public Map<String, Pair> getPairsValue() {
		return getPairs().getValue();
	}
	@Path("/pairs")
	@POST
	public void postFriend(@FormParam("user1Id") String user1Id, @FormParam("user0Id") String user0Id) {
		getPairs().postFriend(this, user1Id, user0Id);
	}
	@Path("/pairs/{pid}")
	@Produces(MediaType.APPLICATION_JSON)
	@GET
	public Map<String, Object> getPairValue(@PathParam("pid") String pid) {
		return getPairs().getPair(pid).getValue();
	}
	@Path("/users")
	@POST
	public void updateUsersFromDeletedFriendPair(@FormParam("deletedFriendPair") String deletedFriendPair_json) throws JsonProcessingException {
		Map<String, Object> deletedFriendPair = new HashMap<>();
		{
			Map<String, Object> i = new ObjectMapper().readValue(deletedFriendPair_json, HashMap.class);
			deletedFriendPair = i;
		}
		Map<String, Map<String, String>> temp_if26;
		if ((this.users.get(deletedFriendPair.get("user0Id")).containsKey(deletedFriendPair.get("pairId"))&&this.users.get(deletedFriendPair.get("user1Id")).containsKey(deletedFriendPair.get("pairId")))) {
			Map<String, Map<String, String>> temp_users = new HashMap<>(this.users);
			this.users.remove(deletedFriendPair.get("user0Id"));
			temp_users.get(deletedFriendPair.get("user0Id")).remove(deletedFriendPair.get("pairId"));
			this.users.put((String) deletedFriendPair.get("user0Id"),temp_users.get(deletedFriendPair.get("user0Id")));
			this.users.remove(deletedFriendPair.get("user1Id"));
			temp_users.get(deletedFriendPair.get("user1Id")).remove(deletedFriendPair.get("pairId"));
			this.users.put((String) deletedFriendPair.get("user1Id"),temp_users.get(deletedFriendPair.get("user1Id")));
			temp_if26 = this.users;
		} else {
			temp_if26 = this.users;
		}
		this.users = temp_if26;
	}
	public void updateUsersFromPair(String pid,  Map<String, Object> pair) {
		Map<String, Map<String, String>> temp_if29;
		if ((this.users.containsKey(pair.get("user0Id"))&&this.users.containsKey(pair.get("user1Id")))) {
			Map<String, Map<String, String>> temp_users = new HashMap<>(this.users);
			this.users.remove(pair.get("user0Id"));
			temp_users.get(pair.get("user0Id")).put(pid,(String) pair.get("user1Id"));
			this.users.put((String) pair.get("user0Id"),temp_users.get(pair.get("user0Id")));
			this.users.remove(pair.get("user1Id"));
			temp_users.get(pair.get("user1Id")).put(pid,(String) pair.get("user0Id"));
			this.users.put((String) pair.get("user1Id"),temp_users.get(pair.get("user1Id")));
			temp_if29 = this.users;
		} else {
			Map<String, Map<String, String>> temp_if28;
			if (this.users.containsKey(pair.get("user0Id"))) {
				Map<String, Map<String, String>> temp_users = new HashMap<>(this.users);
				this.users.remove(pair.get("user0Id"));
				temp_users.get(pair.get("user0Id")).put(pid,(String) pair.get("user1Id"));
				this.users.put((String) pair.get("user0Id"),temp_users.get(pair.get("user0Id")));
				Map<String, String> temp_nil13 = new HashMap<String, String>();
				temp_nil13.put(pid,(String) pair.get("user0Id"));
				this.users.put((String) pair.get("user1Id"),temp_nil13);
				temp_if28 = this.users;
			} else {
				Map<String, Map<String, String>> temp_if27;
				if (this.users.containsKey(pair.get("user1Id"))) {
					Map<String, Map<String, String>> temp_users = new HashMap<>(this.users);
					Map<String, String> temp_nil14 = new HashMap<String, String>();
					temp_nil14.put(pid,(String) pair.get("user1Id"));
					this.users.put((String) pair.get("user0Id"),temp_nil14);
					this.users.remove(pair.get("user1Id"));
					temp_users.get(pair.get("user1Id")).put(pid,(String) pair.get("user0Id"));
					this.users.put((String) pair.get("user1Id"),temp_users.get(pair.get("user1Id")));
					temp_if27 = this.users;
				} else {
					Map<String, String> temp_nil15 = new HashMap<String, String>();
					temp_nil15.put(pid,(String) pair.get("user1Id"));
					this.users.put((String) pair.get("user0Id"),temp_nil15);
					Map<String, String> temp_nil16 = new HashMap<String, String>();
					temp_nil16.put(pid,(String) pair.get("user0Id"));
					this.users.put((String) pair.get("user1Id"),temp_nil16);
					temp_if27 = this.users;
				}
				temp_if28 = temp_if27;
			}
			temp_if29 = temp_if28;
		}
		this.users = temp_if29;
	}
	public Map<String, Map<String, String>> getUsers() {
		return this.users;
	}
	@Path("/users")
	@Produces(MediaType.APPLICATION_JSON)
	@GET
	public Map<String, Map<String, String>> getUsersValue() {
		return getUsers();
	}
}