use of fi.otavanopisto.muikku.model.users.Flag in project muikku by otavanopisto.
the class AcceptanceTestsRESTService method deleteFlag.
@DELETE
@Path("/flags/{FLAGID}")
@RESTPermit(handling = Handling.UNSECURED)
public Response deleteFlag(@PathParam("FLAGID") Long flagId) {
Flag flag = flagController.findFlagById(flagId);
if (flag == null) {
return Response.status(Status.BAD_REQUEST).entity("Flag not found").build();
}
flagController.deleteFlag(flag);
return Response.noContent().build();
}
use of fi.otavanopisto.muikku.model.users.Flag in project muikku by otavanopisto.
the class AcceptanceTestsRESTService method deleteFlagShares.
@DELETE
@Path("/flags/share/{FLAGID}")
@RESTPermit(handling = Handling.UNSECURED)
public Response deleteFlagShares(@PathParam("FLAGID") Long flagId) {
Flag flag = flagController.findFlagById(flagId);
List<FlagShare> listShares = flagController.listShares(flag);
for (FlagShare flagShare : listShares) {
flagController.deleteFlagShare(flagShare);
}
return Response.noContent().build();
}
use of fi.otavanopisto.muikku.model.users.Flag in project muikku by otavanopisto.
the class UserRESTService method createStudentFlag.
@POST
@Path("/students/{ID}/flags")
@RESTPermit(handling = Handling.INLINE, requireLoggedIn = true)
public Response createStudentFlag(@Context Request request, @PathParam("ID") String id, fi.otavanopisto.muikku.rest.model.StudentFlag payload) {
if (!sessionController.isLoggedIn()) {
return Response.status(Status.FORBIDDEN).build();
}
SchoolDataIdentifier studentIdentifier = SchoolDataIdentifier.fromId(id);
if (studentIdentifier == null) {
return Response.status(Response.Status.BAD_REQUEST).entity(String.format("Invalid studentIdentifier %s", id)).build();
}
if (payload.getFlagId() == null) {
return Response.status(Response.Status.BAD_REQUEST).entity("Missing flagId").build();
}
Flag flag = flagController.findFlagById(payload.getFlagId());
if (flag == null) {
return Response.status(Status.NOT_FOUND).entity(String.format("Flag #%d not found", payload.getFlagId())).build();
}
if (!flagController.hasFlagPermission(flag, sessionController.getLoggedUser())) {
return Response.status(Status.FORBIDDEN).entity(String.format("You do not have permission to flag students to flag %d", payload.getFlagId())).build();
}
return Response.ok(createRestModel(flagController.flagStudent(flag, studentIdentifier))).build();
}
use of fi.otavanopisto.muikku.model.users.Flag in project muikku by otavanopisto.
the class UserRESTService method createFlag.
@POST
@Path("/flags/")
@RESTPermit(handling = Handling.INLINE, requireLoggedIn = true)
public Response createFlag(fi.otavanopisto.muikku.rest.model.Flag payload) {
if (StringUtils.isBlank(payload.getOwnerIdentifier())) {
return Response.status(Status.BAD_REQUEST).entity("ownerIdentifier is missing").build();
}
if (StringUtils.isBlank(payload.getColor())) {
return Response.status(Status.BAD_REQUEST).entity("color is missing").build();
}
if (StringUtils.isBlank(payload.getName())) {
return Response.status(Status.BAD_REQUEST).entity("name is missing").build();
}
SchoolDataIdentifier ownerIdentifier = SchoolDataIdentifier.fromId(payload.getOwnerIdentifier());
if (ownerIdentifier == null) {
return Response.status(Status.BAD_REQUEST).entity("ownerIdentifier is malformed").build();
}
Flag flag = flagController.createFlag(ownerIdentifier, payload.getName(), payload.getColor(), payload.getDescription());
return Response.ok(createRestModel(flag)).build();
}
use of fi.otavanopisto.muikku.model.users.Flag in project muikku by otavanopisto.
the class UserRESTService method createFlagShare.
@POST
@Path("/flags/{ID}/shares")
@RESTPermit(handling = Handling.INLINE, requireLoggedIn = true)
public Response createFlagShare(@PathParam("ID") Long id, fi.otavanopisto.muikku.rest.model.FlagShare payload) {
if (!sessionController.isLoggedIn()) {
return Response.status(Status.UNAUTHORIZED).build();
}
Flag flag = flagController.findFlagById(id);
if (flag == null) {
return Response.status(Status.NOT_FOUND).entity(String.format("Flag#%d not found", id)).build();
}
if (flag.getArchived()) {
return Response.status(Status.NOT_FOUND).entity(String.format("Flag#%d not found", id)).build();
}
if (!flagController.hasFlagPermission(flag, sessionController.getLoggedUser())) {
return Response.status(Status.FORBIDDEN).entity(String.format("You do not have permission to flag#%d", flag.getId())).build();
}
SchoolDataIdentifier userIdentifier = SchoolDataIdentifier.fromId(payload.getUserIdentifier());
if (userIdentifier == null) {
return Response.status(Status.BAD_REQUEST).entity("userIdentifier is malformed").build();
}
return Response.ok(createRestModel(flagController.createFlagShare(flag, userIdentifier))).build();
}
Aggregations