🧲 Added Prowlarr search endpoint

This commit is contained in:
2024-02-12 23:07:14 -05:00
parent 9e626720dc
commit df07dff1db

View File

@@ -16,30 +16,92 @@ export default class ProwlarrService extends Service {
actions: { actions: {
connect: { connect: {
rest: "POST /connect", rest: "POST /connect",
handler: async (ctx: Context<{}>) => { handler: async (
ctx: Context<{
host: string;
port: string;
apiKey: string;
}>,
) => {
const { host, port, apiKey } = ctx.params;
const result = await axios.request({ const result = await axios.request({
url: "http://192.168.1.183:9696/api", url: `http://${host}:${port}/api`,
method: "GET", method: "GET",
headers: { headers: {
"X-Api-Key": "163ef9a683874f65b53c7be87354b38b", "X-Api-Key": apiKey,
}, },
}); });
console.log(result.data); console.log(result.data);
}, },
}, },
indexers: { getIndexers: {
rest: "GET /indexers", rest: "GET /indexers",
handler: async (ctx: Context<{}>) => { handler: async (
ctx: Context<{ host: string; port: string; apiKey: string }>,
) => {
const { host, port, apiKey } = ctx.params;
const result = await axios.request({ const result = await axios.request({
url: "http://192.168.1.183:9696/api/v1/indexer", url: `http://${host}:${port}/api/v1/indexer`,
method: "GET", method: "GET",
headers: { headers: {
"X-Api-Key": "163ef9a683874f65b53c7be87354b38b", "X-Api-Key": apiKey,
}, },
}); });
return result.data; return result.data;
}, },
}, },
search: {
rest: "GET /search",
handler: async (
ctx: Context<{
host: string;
port: string;
apiKey: string;
query: string;
type: string;
indexerIds: string;
categories: string;
limit: number;
offset: number;
}>,
) => {
const {
indexerIds,
categories,
host,
port,
apiKey,
query,
type,
limit,
offset,
} = ctx.params;
const indexers = indexerIds.split(",").map((index) => parseInt(index, 10));
const searchCategories = categories
.split(",")
.map((category) => parseInt(category, 10));
const result = await axios({
url: `http://${host}:${port}/api/v1/search`,
method: "GET",
params: {
query,
type,
indexers,
searchCategories,
limit,
offset,
},
headers: {
Accept: "application/json",
"X-Api-Key": `${apiKey}`,
},
});
console.log(result);
return result.data;
},
},
ping: { ping: {
rest: "GET /ping", rest: "GET /ping",
handler: async (ctx: Context<{}>) => { handler: async (ctx: Context<{}>) => {