fix: switch from URL objects to strings
This commit is contained in:
@@ -224,18 +224,17 @@ class ExternalAPI {
|
||||
endpoint: string,
|
||||
params?: Record<string, string>,
|
||||
overwriteBaseUrl?: string
|
||||
): URL {
|
||||
): string {
|
||||
const baseUrl = overwriteBaseUrl || this.baseUrl;
|
||||
const href =
|
||||
baseUrl +
|
||||
(baseUrl.endsWith('/') ? '' : '/') +
|
||||
(endpoint.startsWith('/') ? endpoint.slice(1) : endpoint);
|
||||
const url = new URL(href);
|
||||
url.search = new URLSearchParams({
|
||||
const searchParams = new URLSearchParams({
|
||||
...this.params,
|
||||
...params,
|
||||
}).toString();
|
||||
return url;
|
||||
});
|
||||
return `${href}?${searchParams.toString()}`;
|
||||
}
|
||||
|
||||
private serializeCacheKey(
|
||||
@@ -249,7 +248,7 @@ class ExternalAPI {
|
||||
return `${this.baseUrl}${endpoint}${JSON.stringify(params)}`;
|
||||
}
|
||||
|
||||
private async getDataFromResponse(response: Response): Promise<any> {
|
||||
private async getDataFromResponse(response: Response) {
|
||||
const contentType = response.headers.get('Content-Type')?.split(';')[0];
|
||||
if (contentType === 'application/json') {
|
||||
return await response.json();
|
||||
|
||||
@@ -24,7 +24,6 @@ const UserWarnings: React.FC<UserWarningsProps> = ({ onClick }) => {
|
||||
let res = null;
|
||||
|
||||
//check if a user has warnings
|
||||
console.log(user);
|
||||
if (user.warnings.length > 0) {
|
||||
user.warnings.forEach((warning) => {
|
||||
let link = '';
|
||||
|
||||
@@ -166,12 +166,13 @@ const SettingsJellyfin: React.FC<SettingsJellyfinProps> = ({
|
||||
}
|
||||
|
||||
try {
|
||||
const url = new URL('/api/v1/settings/jellyfin/library');
|
||||
url.search = new URLSearchParams({
|
||||
const searchParams = new URLSearchParams({
|
||||
sync: params.sync ? 'true' : 'false',
|
||||
...(params.enable ? { enable: params.enable } : {}),
|
||||
}).toString();
|
||||
const res = await fetch(url);
|
||||
});
|
||||
const res = await fetch(
|
||||
`/api/v1/settings/jellyfin/library?${searchParams.toString()}`
|
||||
);
|
||||
if (!res.ok) throw new Error();
|
||||
setIsSyncing(false);
|
||||
revalidate();
|
||||
@@ -249,16 +250,18 @@ const SettingsJellyfin: React.FC<SettingsJellyfinProps> = ({
|
||||
.join(',');
|
||||
}
|
||||
|
||||
const url = new URL('/api/v1/settings/jellyfin/library');
|
||||
url.search = new URLSearchParams(params.enable ? params : {}).toString();
|
||||
const res = await fetch(url);
|
||||
const searchParams = new URLSearchParams(params.enable ? params : {});
|
||||
const res = await fetch(
|
||||
`/api/v1/settings/jellyfin/library?${searchParams.toString}`
|
||||
);
|
||||
if (!res.ok) throw new Error();
|
||||
} else {
|
||||
const url = new URL('/api/v1/settings/jellyfin/library');
|
||||
url.search = new URLSearchParams({
|
||||
const searchParams = new URLSearchParams({
|
||||
enable: [...activeLibraries, libraryId].join(','),
|
||||
}).toString();
|
||||
const res = await fetch(url);
|
||||
});
|
||||
const res = await fetch(
|
||||
`/api/v1/settings/jellyfin/library?${searchParams.toString()}`
|
||||
);
|
||||
if (!res.ok) throw new Error();
|
||||
}
|
||||
if (onComplete) {
|
||||
|
||||
@@ -240,12 +240,13 @@ const SettingsPlex = ({ onComplete }: SettingsPlexProps) => {
|
||||
params.enable = activeLibraries.join(',');
|
||||
}
|
||||
|
||||
const url = new URL('/api/v1/settings/plex/library');
|
||||
url.search = new URLSearchParams({
|
||||
const searchParams = new URLSearchParams({
|
||||
sync: params.sync ? 'true' : 'false',
|
||||
...(params.enable ? { enable: params.enable } : {}),
|
||||
}).toString();
|
||||
const res = await fetch(url);
|
||||
});
|
||||
const res = await fetch(
|
||||
`/api/v1/settings/plex/library?${searchParams.toString()}`
|
||||
);
|
||||
if (!res.ok) throw new Error();
|
||||
|
||||
setIsSyncing(false);
|
||||
@@ -332,16 +333,18 @@ const SettingsPlex = ({ onComplete }: SettingsPlexProps) => {
|
||||
.join(',');
|
||||
}
|
||||
|
||||
const url = new URL('/api/v1/settings/plex/library');
|
||||
url.search = new URLSearchParams(params.enable ? params : {}).toString();
|
||||
const res = await fetch(url);
|
||||
const searchParams = new URLSearchParams(params.enable ? params : {});
|
||||
const res = await fetch(
|
||||
`/api/v1/settings/plex/library?${searchParams.toString()}`
|
||||
);
|
||||
if (!res.ok) throw new Error();
|
||||
} else {
|
||||
const url = new URL('/api/v1/settings/plex/library');
|
||||
url.search = new URLSearchParams({
|
||||
const searchParams = new URLSearchParams({
|
||||
enable: [...activeLibraries, libraryId].join(','),
|
||||
}).toString();
|
||||
const res = await fetch(url);
|
||||
});
|
||||
const res = await fetch(
|
||||
`/api/v1/settings/plex/library?${searchParams.toString()}`
|
||||
);
|
||||
if (!res.ok) throw new Error();
|
||||
}
|
||||
setIsSyncing(false);
|
||||
|
||||
Reference in New Issue
Block a user