import { IpcClientService } from "@autoplex/ipc";
|
|
import { Microservice } from "@autoplex/microservice";
|
|
import { SOCKET_PATH } from "./constants";
|
|
|
|
export class IpcClient<M extends Microservice = Microservice> extends IpcClientService<M>
|
|
{
|
|
/**
|
|
* The name of the service
|
|
*/
|
|
public readonly NAME = "Plex";
|
|
|
|
/**
|
|
* The path to the socket file
|
|
*/
|
|
protected readonly SOCKET_PATH = SOCKET_PATH;
|
|
|
|
/**
|
|
* Fetch a Plex movie link given the TMDb ID if it exists
|
|
*/
|
|
public async movieLinks(tmdbIds: (number|string)[]) {
|
|
let results = await this.request("movie_links", tmdbIds);
|
|
if (results.error) {
|
|
throw new Error("Failed to fetch Plex movie link");
|
|
}
|
|
return <{ [tmdbId: string]: string|null }>results.data;
|
|
}
|
|
}
|