Update PlexAPIOAuth.js

This commit is contained in:
Luke Hagar
2022-07-26 20:41:45 -05:00
parent 533aa20ff8
commit f203a010e6

View File

@@ -14,7 +14,7 @@ export class PlexAPIOAuth {
plexTVAuthToken; plexTVAuthToken;
plexTVUserData; plexTVUserData;
plexServers; plexServers;
selectedPlexServer; plexLibraries;
plexDevices; plexDevices;
constructor( constructor(
clientId = "", clientId = "",
@@ -232,25 +232,65 @@ export class PlexAPIOAuth {
}).catch((err) => { }).catch((err) => {
throw err; throw err;
}); });
this.plexServers = response.data; this.plexDevices = response.data;
this.plexServers = response.data
.filter((Obj) => Obj.product === "Plex Media Server")
.map((Obj) => {
return {
name: Obj.name,
product: Obj.product,
productVersion: Obj.product,
platform: Obj.platform,
platformVersion: Obj.platform,
device: Obj.device,
clientIdentifier: Obj.client,
createdAt: Obj.created,
lastSeenAt: Obj.last,
localConnections: Obj.connections.filter(
(connection) => connection.local === true
),
provides: Obj.provides,
ownerId: Obj.owner,
sourceTitle: Obj.source,
publicAddress: Obj.public,
accessToken: Obj.access,
owned: Obj.owned,
home: Obj.home,
synced: Obj.synced,
relay: Obj.relay,
relayConnections: Obj.connections.filter(
(connection) => connection.relay === true
),
presence: Obj.presence,
httpsRequired: Obj.https,
publicAddressMatches: Obj.public,
dnsRebindingProtection: Obj.dns,
natLoopbackSupported: Obj.natLoopbackSupported,
connections: Obj.connections,
};
});
return response.data; return response.data;
} }
// async GetPlexLibraries(server) { async GetPlexLibraries() {
// let response = await axios({ let libraryArray = []
// method: "GET", this.plexServers.forEach((server) => {
// url: let response = await axios({
// server.relayConnections[0].uri + method: "GET",
// "/library/sections/?" + url:
// qs.stringify({ server.relayConnections[0].uri +
// "X-Plex-Token": server.accessToken, "/library/sections/?" +
// }), qs.stringify({
// headers: { accept: "application/json" }, "X-Plex-Token": server.accessToken,
// }).catch((err) => { }),
// throw err; headers: { accept: "application/json" },
// }); }).catch((err) => {
// return response?.data?.MediaContainer?.Directory; throw err;
// } });
libraryArray = [...libraryArray, ...response?.data?.MediaContainer?.Directory]
})
this.plexLibraries = libraryArray
}
// async PopulateLibraryContent(server: PlexServer, library: PlexLibrary) { // async PopulateLibraryContent(server: PlexServer, library: PlexLibrary) {
// let response = await axios({ // let response = await axios({