From cc2a137ec34356c7bedbb625fc0304de65e0411c Mon Sep 17 00:00:00 2001 From: Rishi Ghan Date: Wed, 7 Feb 2024 17:15:08 -0600 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=AF=20Prowlarr=20integration=20WIP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProwlarrSettings/ProwlarrSettingsForm.tsx | 25 +++++++++++++++++++ src/client/components/Settings/Settings.tsx | 9 +++++++ src/client/constants/endpoints.ts | 7 ++++++ .../constants/settings/settingsMenu.json | 2 +- 4 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 src/client/components/Settings/ProwlarrSettings/ProwlarrSettingsForm.tsx diff --git a/src/client/components/Settings/ProwlarrSettings/ProwlarrSettingsForm.tsx b/src/client/components/Settings/ProwlarrSettings/ProwlarrSettingsForm.tsx new file mode 100644 index 0000000..9b04c89 --- /dev/null +++ b/src/client/components/Settings/ProwlarrSettings/ProwlarrSettingsForm.tsx @@ -0,0 +1,25 @@ +import React from "react"; +import { useQuery } from "@tanstack/react-query"; +import { PROWLARR_SERVICE_BASE_URI } from "../../../constants/endpoints"; +import axios from "axios"; + +export const ProwlarrSettingsForm = (props) => { + const { data } = useQuery({ + queryFn: async () => { + return await axios({ + url: `${PROWLARR_SERVICE_BASE_URI}/indexers`, + method: "POST", + data: { + host: "localhost", + port: "9696", + apiKey: "c4f42e265fb044dc81f7e88bd41c3367", + }, + }); + }, + queryKey: ["prowlarrConnectionResult"], + }); + console.log(data); + return <>Prowlarr Settings.; +}; + +export default ProwlarrSettingsForm; diff --git a/src/client/components/Settings/Settings.tsx b/src/client/components/Settings/Settings.tsx index eeb590b..d47966f 100644 --- a/src/client/components/Settings/Settings.tsx +++ b/src/client/components/Settings/Settings.tsx @@ -3,6 +3,7 @@ import { AirDCPPSettingsForm } from "./AirDCPPSettings/AirDCPPSettingsForm"; import { AirDCPPHubsForm } from "./AirDCPPSettings/AirDCPPHubsForm"; import { QbittorrentConnectionForm } from "./QbittorrentSettings/QbittorrentConnectionForm"; import { SystemSettingsForm } from "./SystemSettings/SystemSettingsForm"; +import ProwlarrSettingsForm from "./ProwlarrSettings/ProwlarrSettingsForm"; import { ServiceStatuses } from "../ServiceStatuses/ServiceStatuses"; import settingsObject from "../../constants/settings/settingsMenu.json"; import { isUndefined, map } from "lodash"; @@ -37,6 +38,14 @@ export const Settings = (props: ISettingsProps): ReactElement => { ), }, + { + id: "prwlr-connection", + content: ( + <> + + + ), + }, { id: "core-service", content: <>a, diff --git a/src/client/constants/endpoints.ts b/src/client/constants/endpoints.ts index 65ad90d..30600fa 100644 --- a/src/client/constants/endpoints.ts +++ b/src/client/constants/endpoints.ts @@ -90,3 +90,10 @@ export const QBITTORRENT_SERVICE_BASE_URI = hostURIBuilder({ port: "3060", apiPath: `/api/qbittorrent`, }); + +export const PROWLARR_SERVICE_BASE_URI = hostURIBuilder({ + protocol: "http", + host: import.meta.env.UNDERLYING_HOSTNAME || "localhost", + port: "3060", + apiPath: `/api/prowlarr`, +}); diff --git a/src/client/constants/settings/settingsMenu.json b/src/client/constants/settings/settingsMenu.json index 0233226..5b21641 100644 --- a/src/client/constants/settings/settingsMenu.json +++ b/src/client/constants/settings/settingsMenu.json @@ -57,7 +57,7 @@ "displayName": "Prowlarr", "children": [ { - "id": "prowlarr-connection", + "id": "prwlr-connection", "displayName": "Connection" }, {