Commit 72a4b117 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

refactor flags per user

parent 3c69ee50
......@@ -56,18 +56,14 @@ public class TasksRepository extends Repository<Task>
.asList();
}
//todo: refactor?
public Map<List<String>, Integer> getUserFlagsHashes(String username)
public Map<Integer, List<String>> getUserFlagsHashes(String username)
{
return this.getAll().stream()
return getAll().stream()
.collect(Collectors.toMap(
task -> {
List<String> collect = task.getFlags().stream()
.map(flag -> calculateHashValue(username, flag.getValue()))
.collect(Collectors.toList());
return collect;
},
Task::getLevel
Task::getLevel,
task -> task.getFlags().stream()
.map(flag -> calculateHashValue(username, flag.getValue()))
.collect(Collectors.toList())
));
}
......
......@@ -4,7 +4,6 @@ import com.telephoners.krakyournet.ctf.beans.User;
import com.telephoners.krakyournet.ctf.beans.tasks.Task;
import com.telephoners.krakyournet.ctf.repositories.TasksRepository;
import io.dropwizard.auth.Auth;
import org.apache.commons.collections.MapUtils;
import javax.inject.Inject;
import javax.inject.Singleton;
......@@ -15,7 +14,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.List;
import java.util.Map;
@Singleton
@Path(value = "/tasks")
......@@ -41,8 +39,9 @@ public class TasksResource
public Response getUserFlags(@Auth User user, final @PathParam("username") String username)
{
if (user.isAdmin()) {
Map<List<String>, Integer> userFlagsHashes = tasksRepository.getUserFlagsHashes(username);
return Response.ok().entity(MapUtils.invertMap(userFlagsHashes)).build();
return Response.ok()
.entity(tasksRepository.getUserFlagsHashes(username))
.build();
}
return Response.status(Response.Status.UNAUTHORIZED).build();
}
......
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