Commit 8b9ef287 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

add TaskUserPair

parent cf82dbe7
package api; package api;
import helpers.TaskUserPair;
import io.dropwizard.auth.Auth; import io.dropwizard.auth.Auth;
import objects.Task; import objects.Task;
import objects.User; import objects.User;
import repositories.TasksRepository; import repositories.TasksRepository;
import javax.inject.Inject; import javax.inject.Inject;
import javax.validation.Valid;
import javax.ws.rs.*; import javax.ws.rs.*;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response; import javax.ws.rs.core.Response;
...@@ -39,20 +41,26 @@ public class TasksResource ...@@ -39,20 +41,26 @@ public class TasksResource
} }
//todo: merge with upper //todo: merge with upper
//todo: user argument
//todo: pass username in header via proxy? //todo: pass username in header via proxy?
//todo: post @POST
@GET //todo: authorization
@Path("flags/{task_id}") @Path("/flags/user_task_flag")
public Response getUserTaskFlag(final @PathParam("task_id") String taskId) { @Consumes(MediaType.APPLICATION_JSON)
String temporaryUserName = "gpietrus1"; public Response getUserTaskFlag(@Valid final TaskUserPair taskUserPair) {
Optional<String> userTaskFlag = tasksRepository.getUserTaskFlag(temporaryUserName, taskId);//todo Optional<String> userTaskFlag = tasksRepository.getUserTaskFlag(taskUserPair.getUsername(), taskUserPair.getTaskId());//todo
if(userTaskFlag.isPresent()) { if(userTaskFlag.isPresent()) {
return Response.ok().entity(userTaskFlag.get()).build(); return Response.ok().entity(userTaskFlag.get()).build();
} }
return Response.status(Response.Status.BAD_REQUEST).build(); return Response.status(Response.Status.BAD_REQUEST).build();
} }
// example json:
// {
// "username": "gpietrus2",
// "taskId": "abb6b014-1ee0-4f53-b8df-c7029335c070"
// }
@POST @POST
public boolean submitSolution(@Auth User user, public boolean submitSolution(@Auth User user,
String flag) throws Exception { String flag) throws Exception {
......
package helpers;
import org.hibernate.validator.constraints.NotEmpty;
/**
* Created by gpietrus on 22.02.2016.
*/
public class TaskUserPair {
@NotEmpty
private String taskId;
@NotEmpty
private String username;
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
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