Commit 50768034 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

fix flag checking

parent 44d9ad54
......@@ -46,7 +46,7 @@ public class TasksResource
@GET
@Path("my")
public Collection<String> getUserFlags(@Auth User user) {
return tasksRepository.getUserFlagsHashes(user.getName()).values();
return tasksRepository.getUserFlagsHashes(user.getName()).keySet();
}
@POST
......
......@@ -52,11 +52,11 @@ public class TasksRepository implements Repository {
mongoDBConnector.removeCollection("tasks");
}
public Map<Task, String> getUserFlagsHashes(String username) {
public Map<String, Task> getUserFlagsHashes(String username) {
return this.getAll().stream()
.collect(Collectors.toMap(
task -> task,
task -> calculateHashValue(username, task.getFlag().getValue())
task -> calculateHashValue(username, task.getFlag().getValue()),
task -> task
));
}
......@@ -78,21 +78,16 @@ public class TasksRepository implements Repository {
}
private boolean compareHash(String hash, String username) throws Exception {
Task task = getUserFlagsHashes(username).get(hash);
// Optional<Map.Entry<Task, String>> matchingHash = getUserFlagsHashes(username)
// .stream()
// .filter(taskHashEntry -> taskHashEntry.getValue().equals(hash))
// .findFirst();
if (getUserFlagsHashes(username).values().contains(hash)) {
// acceptSolution(username, .get().getKey());
if (task != null) {
acceptSolution(username, task);
return true;
}
return false;
}
public boolean checkFlag(String username, String flagValue) throws Exception {
// String hash = calculateHashValue(username, flagValue);
return compareHash(flagValue, username);
}
}
......
......@@ -8,7 +8,6 @@ import org.bson.Document;
import javax.inject.Inject;
import java.util.List;
import java.util.UUID;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
......@@ -26,12 +25,7 @@ public class TeamsRepository implements Repository {
public Team getTeamByUser(String username) {
return getAll().stream()
.filter(team -> team.getMembers().stream()
.map(new Function<User, String>() {
@Override
public String apply(User user) {
return user.getName();
}
})
.map(User::getName)
.collect(Collectors.toList())
.contains(username))
.findFirst()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment