feat(all): add initial Jellyfin/Emby support

This commit is contained in:
Aiden Vigue
2021-02-15 05:13:19 -05:00
parent 9ce88abcc8
commit a6ec2d5220
31 changed files with 2194 additions and 44 deletions

View File

@@ -133,6 +133,12 @@ class Media {
@Column({ nullable: true })
public ratingKey4k?: string;
@Column({ nullable: true })
public jellyfinMediaID?: string;
@Column({ nullable: true })
public jellyfinMediaID4k?: string;
public serviceUrl?: string;
public serviceUrl4k?: string;
public downloadStatus?: DownloadingItem[] = [];
@@ -141,6 +147,9 @@ class Media {
public plexUrl?: string;
public plexUrl4k?: string;
public jellyfinUrl?: string;
public jellyfinUrl4k?: string;
constructor(init?: Partial<Media>) {
Object.assign(this, init);
}
@@ -156,6 +165,17 @@ class Media {
}
}
@AfterLoad()
public setJellyfinUrls(): void {
const jellyfinSettings = getSettings().jellyfin;
if (this.jellyfinMediaID) {
this.jellyfinUrl = `${jellyfinSettings.hostname}/web/#!/details?id=${this.jellyfinMediaID}&context=home&serverId=${jellyfinSettings.serverID}`;
}
if (this.jellyfinMediaID4k) {
this.jellyfinUrl4k = `${jellyfinSettings.hostname}/web/#!/details?id=${this.jellyfinMediaID4k}&context=home&serverId=${jellyfinSettings.serverID}`;
}
}
@AfterLoad()
public setServiceUrl(): void {
if (this.mediaType === MediaType.MOVIE) {

View File

@@ -47,6 +47,9 @@ export class User {
@Column({ nullable: true })
public plexUsername: string;
@Column({ nullable: true })
public jellyfinUsername: string;
@Column({ nullable: true })
public username?: string;
@@ -65,6 +68,12 @@ export class User {
@Column({ nullable: true, select: false })
public plexId?: number;
@Column({ nullable: true, select: false })
public jellyfinId?: string;
@Column({ nullable: true, select: false })
public jellyfinAuthToken?: string;
@Column({ nullable: true, select: false })
public plexToken?: string;