fix: resolved user access check issue (#3551)

* fix: importing friends

update checkUserAccess to use getUsers

* refactor(server/api/plextv.ts): clean up

removed unused getFriends function, and its interface.
renamed friends variable.
pull/3555/head
Anton K. (ai Doge) 1 year ago committed by GitHub
parent 01de972a8f
commit 2816c66300
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -82,21 +82,6 @@ interface ServerResponse {
}; };
} }
interface FriendResponse {
MediaContainer: {
User: {
$: {
id: string;
title: string;
username: string;
email: string;
thumb: string;
};
Server?: ServerResponse[];
}[];
};
}
interface UsersResponse { interface UsersResponse {
MediaContainer: { MediaContainer: {
User: { User: {
@ -234,19 +219,6 @@ class PlexTvAPI extends ExternalAPI {
} }
} }
public async getFriends(): Promise<FriendResponse> {
const response = await this.axios.get('/pms/friends/all', {
transformResponse: [],
responseType: 'text',
});
const parsedXml = (await xml2js.parseStringPromise(
response.data
)) as FriendResponse;
return parsedXml;
}
public async checkUserAccess(userId: number): Promise<boolean> { public async checkUserAccess(userId: number): Promise<boolean> {
const settings = getSettings(); const settings = getSettings();
@ -255,9 +227,9 @@ class PlexTvAPI extends ExternalAPI {
throw new Error('Plex is not configured!'); throw new Error('Plex is not configured!');
} }
const friends = await this.getFriends(); const usersResponse = await this.getUsers();
const users = friends.MediaContainer.User; const users = usersResponse.MediaContainer.User;
const user = users.find((u) => parseInt(u.$.id) === userId); const user = users.find((u) => parseInt(u.$.id) === userId);

Loading…
Cancel
Save