backend env url

This commit is contained in:
Lars Behrends
2026-04-10 14:32:54 +02:00
parent 04156486e2
commit 07c3270e12
6 changed files with 28 additions and 17 deletions

View File

@@ -1,6 +1,6 @@
import { Media, Staff, UserSettings, MediaCategory } from './types';
const BASE_URL = 'http://192.168.1.102:6400';
const BASE_URL = import.meta.env.VITE_API_URL;
function normalizeUrl(url: string | null): string {
if (!url) return '';

View File

@@ -7,9 +7,11 @@ import { importFromXBVR, XBVRConfig, ImportProgress } from '@/lib/xbvrImporter';
import { importFromStashAPP, StashAPPConfig, updateActorsFromStashAPP } from '@/lib/stashappImporter';
import { importFromPlaynite, PlayniteConfig } from '@/lib/playniteImporter';
const BASE_URL = import.meta.env.VITE_BASE_URL || 'http://localhost:3000';
export default function ImporterView() {
const navigate = useNavigate();
const [xbvrConfig, setXbvrConfig] = useState<XBVRConfig>({ url: import.meta.env.VITE_XBVR_URL || '' });
const [xbvrConfig, setXbvrConfig] = useState<XBVRConfig>({ url: import.meta.env.VITE_XBVR_URL || BASE_URL });
const [stashappConfig, setStashappConfig] = useState<StashAPPConfig>({
url: import.meta.env.VITE_STASHAPP_URL || '',
apiKey: import.meta.env.VITE_STASHAPP_API_KEY || ''

View File

@@ -1,3 +1,5 @@
const BASE_URL = import.meta.env.VITE_API_URL;
export interface PlayniteConfig {
ip: string;
apiToken: string;
@@ -108,7 +110,7 @@ export async function importFromPlaynite(
// Step 0: Fetch existing media to check for duplicates and enable updates
logCallback('Fetching existing media from Kyoo API...');
const existingMediaResponse = await fetch('http://192.168.1.102:6400/api/media?limit=1000');
const existingMediaResponse = await fetch(`${BASE_URL}/api/media?limit=1000`);
const existingMediaData = await existingMediaResponse.json();
const existingMedia = new Map(
(existingMediaData.data?.items || []).map((m: any) => [m.title, m])
@@ -279,13 +281,13 @@ export async function importFromPlaynite(
let response;
if (isUpdate) {
response = await fetch(`http://192.168.1.102:6400/api/media/${(existingGame as any).id}`, {
response = await fetch(`${BASE_URL}/api/media/${(existingGame as any).id}`, {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(mediaData)
});
} else {
response = await fetch('http://192.168.1.102:6400/api/media', {
response = await fetch(`${BASE_URL}/api/media`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(mediaData)

View File

@@ -1,3 +1,5 @@
const BASE_URL = import.meta.env.VITE_API_URL;
export interface StashAPPConfig {
url: string;
apiKey?: string;
@@ -155,7 +157,7 @@ export async function updateActorsFromStashAPP(
// Fetch existing cast from Kyoo API
logCallback('Fetching existing cast from Kyoo API...');
const existingCastResponse = await fetch('http://192.168.1.102:6400/api/cast');
const existingCastResponse = await fetch(`${BASE_URL}/api/cast`);
const existingCastData = await existingCastResponse.json();
const existingActors = new Map(
(existingCastData.data?.items || []).map((c: any) => [c.name, c])
@@ -274,7 +276,7 @@ export async function updateActorsFromStashAPP(
updateData.birthPlace = performer.country;
}
const response = await fetch(`http://192.168.1.102:6400/api/cast/${existingActor.id}`, {
const response = await fetch(`${BASE_URL}/api/cast/${existingActor.id}`, {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(updateData)
@@ -290,7 +292,7 @@ export async function updateActorsFromStashAPP(
}
} else {
// Create new actor
const response = await fetch('http://192.168.1.102:6400/api/cast/adult', {
const response = await fetch(`${BASE_URL}/api/cast/adult`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
@@ -377,7 +379,7 @@ export async function importFromStashAPP(
// Step 0: Fetch existing media and cast to check for duplicates
logCallback('Fetching existing media from Kyoo API...');
const existingMediaResponse = await fetch('http://192.168.1.102:6400/api/media');
const existingMediaResponse = await fetch(`${BASE_URL}/api/media`);
const existingMediaData = await existingMediaResponse.json();
const existingTitles = new Set(
existingMediaData.data?.items?.map((m: any) => m.title) || []
@@ -385,7 +387,7 @@ export async function importFromStashAPP(
logCallback(`Found ${existingTitles.size} existing videos in database`);
logCallback('Fetching existing cast from Kyoo API...');
const existingCastResponse = await fetch('http://192.168.1.102:6400/api/cast');
const existingCastResponse = await fetch(`${BASE_URL}/api/cast`, {});
const existingCastData = await existingCastResponse.json();
const existingActors = new Map(
(existingCastData.data?.items || []).map((c: any) => [c.name, c])
@@ -550,7 +552,7 @@ export async function importFromStashAPP(
updateData.birthPlace = performer.country;
}
const response = await fetch(`http://192.168.1.102:6400/api/cast/${existingActor.id}`, {
const response = await fetch(`${BASE_URL}/api/cast/${existingActor.id}`, {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(updateData)
@@ -566,7 +568,7 @@ export async function importFromStashAPP(
}
} else {
// Create new actor
const response = await fetch('http://192.168.1.102:6400/api/cast/adult', {
const response = await fetch(`${BASE_URL}/api/cast/adult`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
@@ -706,7 +708,7 @@ export async function importFromStashAPP(
staff: staff
};
const response = await fetch('http://192.168.1.102:6400/api/media', {
const response = await fetch(`${BASE_URL}/api/media`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(mediaData)

View File

@@ -1,3 +1,5 @@
const BASE_URL = import.meta.env.VITE_API_URL;
export interface XBVRConfig {
url: string;
apiKey?: string;
@@ -74,7 +76,7 @@ export async function importFromXBVR(
// Step 0: Fetch existing media and cast to check for duplicates
logCallback('Fetching existing media from Kyoo API...');
const existingMediaResponse = await fetch('http://192.168.1.102:6400/api/media?limit=1000');
const existingMediaResponse = await fetch(`${BASE_URL}/api/media?limit=1000`);
const existingMediaData = await existingMediaResponse.json();
const existingTitles = new Set(
existingMediaData.data?.items?.map((m: any) => m.title) || []
@@ -82,7 +84,7 @@ export async function importFromXBVR(
logCallback(`Found ${existingTitles.size} existing videos in database`);
logCallback('Fetching existing cast from Kyoo API...');
const existingCastResponse = await fetch('http://192.168.1.102:6400/api/cast?limit=1000');
const existingCastResponse = await fetch(`${BASE_URL}/api/cast?limit=1000`);
const existingCastData = await existingCastResponse.json();
const existingActors = new Map(
(existingCastData.data?.items || []).map((c: any) => [c.name, c])
@@ -194,7 +196,7 @@ export async function importFromXBVR(
logCallback(`⊘ Actor already exists: ${actor.name}`);
} else {
// Create new actor
const response = await fetch('http://192.168.1.102:6400/api/cast', {
const response = await fetch(`${BASE_URL}/api/cast`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
@@ -312,7 +314,7 @@ export async function importFromXBVR(
staff: staff
};
const response = await fetch('http://192.168.1.102:6400/api/media', {
const response = await fetch(`${BASE_URL}/api/media`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(mediaData)