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;
@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") Map<String, Object> deletedFriendPair) {
getPairs().updateFromDeletedFriendPair(deletedFriendPair);
}
@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(user1Id, userDB, id, user0Id);
}
@Path("/pairs/{pid}")
@Produces(MediaType.APPLICATION_JSON)
@GET
public Map<String, Object> getPairValue(@PathParam("pid") String pid) {
return getPairs().getPair(pid).getValue();
}
public void updateUsersFromDeletedFriendPair(Map<String, Object> deletedFriendPair) {
Map<String, Map<String, String>> temp_if26;
if ((this.users.get(deletedFriendPair.get("user0Id")).containsKey(deletedFriendPair.get("pairId"))&&this.users.get(deletePair.get("user1Id")).containsKey(deletedFriendPair.get("pairId")))) {
this.users.remove(deletedFriendPair.get("user0Id"));
this.users.get(deletedFriendPair.get("user0Id")).remove(deletedFriendPair.get("pairId"));
this.users.put(deletedFriendPair.get("user0Id"),this.users.get(deletedFriendPair.get("user0Id")));
this.users.remove(deletePair.get("user1Id"));
this.users.get(deletePair.get("user1Id")).remove(deletedFriendPair.get("pairId"));
this.users.put(deletePair.get("user1Id"),this.users.get(deletePair.get("user1Id")));
temp_if26 = this.users;
} else {
temp_if26 = this.users;
}this.users = temp_if26;
}
@Path("/users")
@POST
public void updateUsersFromDeletedFriendPair(@FormParam("deletedFriendPair") Map<String, Object> deletedFriendPair) {
this.updateUsersFromDeletedFriendPair(deletedFriendPair);
}
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")))) {
this.users.remove(pair.get("user0Id"));
this.users.get(pair.get("user0Id")).put(pid,pair.get("user1Id"));
this.users.put(pair.get("user0Id"),this.users.get(pair.get("user0Id")));
this.users.remove(pair.get("user1Id"));
this.users.get(pair.get("user1Id")).put(pid,pair.get("user0Id"));
this.users.put(pair.get("user1Id"),this.users.get(pair.get("user1Id")));
temp_if29 = this.users;
} else {
Map<String, Map<String, String>> temp_if28;
if (this.users.containsKey(pair.get("user0Id"))) {
this.users.remove(pair.get("user0Id"));
this.users.get(pair.get("user0Id")).put(pid,pair.get("user1Id"));
this.users.put(pair.get("user0Id"),this.users.get(pair.get("user0Id")));
Map<String, String> temp_nil13 = new HashMap<String, String>();
temp_nil13.put(pid,pair.get("user0Id"));
this.users.put(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, String> temp_nil14 = new HashMap<String, String>();
temp_nil14.put(pid,pair.get("user1Id"));
this.users.put(pair.get("user0Id"),temp_nil14);
this.users.remove(pair.get("user1Id"));
this.users.get(pair.get("user1Id")).put(pid,pair.get("user0Id"));
this.users.put(pair.get("user1Id"),this.users.get(pair.get("user1Id")));
temp_if27 = this.users;
} else {
Map<String, String> temp_nil15 = new HashMap<String, String>();
temp_nil15.put(pid,pair.get("user1Id"));
this.users.put(pair.get("user0Id"),temp_nil15);
Map<String, String> temp_nil16 = new HashMap<String, String>();
temp_nil16.put(pid,pair.get("user0Id"));
this.users.put(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();
}
public Friends(Map<String, Map<String, String>> users) {
this.users = users;
}
}