use of com.entwinemedia.fn.data.json.JValue in project opencast by opencast.
the class BaseEndpoint method getUserInfo.
@GET
@Path("info/me")
@Produces({ "application/json", "application/v1.0.0+json" })
@RestQuery(name = "getuserinfo", description = "Returns information on the logged in user.", returnDescription = "", reponses = { @RestResponse(description = "The user information is returned.", responseCode = HttpServletResponse.SC_OK) })
public Response getUserInfo() {
final User user = securityService.getUser();
JValue json = obj(f("email", v(user.getEmail(), Jsons.BLANK)), f("name", v(user.getName())), f("provider", v(user.getProvider())), f("userrole", v(getUserIdRole(user.getUsername()))), f("username", v(user.getUsername())));
return RestUtil.R.ok(MediaType.APPLICATION_JSON_TYPE, serializer.toJson(json));
}
use of com.entwinemedia.fn.data.json.JValue in project opencast by opencast.
the class BaseEndpoint method getUserRoles.
@GET
@Path("info/me/roles")
@Produces({ "application/json", "application/v1.0.0+json" })
@RestQuery(name = "getuserroles", description = "Returns current user's roles.", returnDescription = "", reponses = { @RestResponse(description = "The set of roles is returned.", responseCode = HttpServletResponse.SC_OK) })
public Response getUserRoles() {
final User user = securityService.getUser();
List<JValue> roles = new ArrayList<>();
for (final Role role : user.getRoles()) {
roles.add(v(role.getName()));
}
return RestUtil.R.ok(MediaType.APPLICATION_JSON_TYPE, serializer.toJson(arr(roles)));
}
use of com.entwinemedia.fn.data.json.JValue in project opencast by opencast.
the class BaseEndpoint method getVersion.
@GET
@Path("version")
@Produces({ "application/json", "application/v1.0.0+json" })
@RestQuery(name = "getversion", description = "Returns a list of available version as well as the default version.", returnDescription = "", reponses = { @RestResponse(description = "The default version is returned.", responseCode = HttpServletResponse.SC_OK) })
public Response getVersion() throws Exception {
List<JValue> versions = new ArrayList<>();
versions.add(v(ApiVersion.VERSION_1_0_0.toString()));
JValue json = obj(f("versions", arr(versions)), f("default", v(ApiVersion.CURRENT_VERSION.toString())));
return RestUtil.R.ok(MediaType.APPLICATION_JSON_TYPE, serializer.toJson(json));
}
use of com.entwinemedia.fn.data.json.JValue in project opencast by opencast.
the class EventsEndpoint method getEventMedia.
@GET
@Path("{eventId}/media")
@Produces({ "application/json", "application/v1.0.0+json" })
public Response getEventMedia(@HeaderParam("Accept") String acceptHeader, @PathParam("eventId") String id) throws Exception {
ArrayList<TrackImpl> tracks = new ArrayList<>();
for (final Event event : indexService.getEvent(id, externalIndex)) {
final MediaPackage mp = indexService.getEventMediapackage(event);
for (Track track : mp.getTracks()) {
if (track instanceof TrackImpl) {
tracks.add((TrackImpl) track);
}
}
List<JValue> tracksJson = new ArrayList<>();
for (Track track : tracks) {
List<Field> fields = new ArrayList<>();
if (track.getChecksum() != null)
fields.add(f("checksum", v(track.getChecksum().toString())));
if (track.getDescription() != null)
fields.add(f("description", v(track.getDescription())));
if (track.getDuration() != null)
fields.add(f("duration", v(track.getDuration())));
if (track.getElementDescription() != null)
fields.add(f("element-description", v(track.getElementDescription())));
if (track.getFlavor() != null)
fields.add(f("flavor", v(track.getFlavor().toString())));
if (track.getIdentifier() != null)
fields.add(f("identifier", v(track.getIdentifier())));
if (track.getMimeType() != null)
fields.add(f("identifier", v(track.getMimeType().toString())));
fields.add(f("size", v(track.getSize())));
if (track.getStreams() != null) {
List<Field> streams = new ArrayList<>();
for (Stream stream : track.getStreams()) {
streams.add(f(stream.getIdentifier(), getJsonStream(stream)));
}
fields.add(f("streams", obj(streams)));
}
if (track.getTags() != null) {
List<JValue> tags = new ArrayList<>();
for (String tag : track.getTags()) {
tags.add(v(tag));
}
fields.add(f("tags", arr(tags)));
}
if (track.getURI() != null)
fields.add(f("uri", v(track.getURI().toString())));
tracksJson.add(obj(fields));
}
return ApiResponses.Json.ok(ApiVersion.VERSION_1_0_0, arr(tracksJson));
}
return ApiResponses.notFound("Cannot find an event with id '%s'.", id);
}
use of com.entwinemedia.fn.data.json.JValue in project opencast by opencast.
the class ApiResponsesTest method testJsonOk.
@Test
public void testJsonOk() throws Exception {
final JValue json = obj(f("id", v("abcd")), f("values", arr(v("a"), v("b"))));
Response response = ApiResponses.Json.ok(ApiVersion.VERSION_1_0_0, json);
assertEquals(HttpStatus.SC_OK, response.getStatus());
assertEquals(new MediaType("application", "v1.0.0+json"), response.getMetadata().get("Content-Type").get(0));
}
Aggregations