mirror of
https://github.com/LukeHagar/plex-api-oauth.git
synced 2025-12-06 20:47:45 +00:00
Update PlexAPIOAuth.js
This commit is contained in:
@@ -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({
|
||||||
|
|||||||
Reference in New Issue
Block a user