38 lines
930 B
Java
38 lines
930 B
Java
package com.discdrop.web;
|
|
|
|
import com.discdrop.service.FeedService;
|
|
import com.discdrop.util.RSSFeedBuilder;
|
|
import jakarta.inject.Inject;
|
|
import jakarta.ws.rs.GET;
|
|
import jakarta.ws.rs.Path;
|
|
import jakarta.ws.rs.Produces;
|
|
import jakarta.ws.rs.core.MediaType;
|
|
import jakarta.ws.rs.core.Response;
|
|
|
|
@Path("/feed")
|
|
public class FeedController {
|
|
|
|
@Inject
|
|
FeedService feedService;
|
|
|
|
@Inject
|
|
RSSFeedBuilder feedBuilder;
|
|
|
|
@GET
|
|
@Path("/rss.xml")
|
|
@Produces(MediaType.APPLICATION_XML)
|
|
public Response rssFeed() {
|
|
var entries = feedService.getAllFeedEntries();
|
|
var xml = feedBuilder.buildRss(entries);
|
|
return Response.ok(xml, MediaType.APPLICATION_XML).build();
|
|
}
|
|
|
|
@GET
|
|
@Path("/opml")
|
|
@Produces(MediaType.APPLICATION_XML)
|
|
public Response opml() {
|
|
var xml = feedBuilder.buildOpml();
|
|
return Response.ok(xml, MediaType.APPLICATION_XML).build();
|
|
}
|
|
}
|