diff --git a/libs/shared/interfaces/src/index.ts b/libs/shared/interfaces/src/index.ts index 22d8317d3..5ac17b1fa 100644 --- a/libs/shared/interfaces/src/index.ts +++ b/libs/shared/interfaces/src/index.ts @@ -1,6 +1,7 @@ export * from './lib/channel.interface'; export * from './lib/channel.model'; export * from './lib/constants'; +export * from './lib/epg-channel-with-programs.interface'; export * from './lib/epg-channel.model'; export * from './lib/epg-item.interface'; export * from './lib/epg-program.model'; diff --git a/libs/shared/interfaces/src/lib/epg-channel-with-programs.interface.ts b/libs/shared/interfaces/src/lib/epg-channel-with-programs.interface.ts new file mode 100644 index 000000000..94b95baa2 --- /dev/null +++ b/libs/shared/interfaces/src/lib/epg-channel-with-programs.interface.ts @@ -0,0 +1,17 @@ +import { EpgChannel } from './epg-channel.model'; +import { EpgProgram } from './epg-program.model'; + +/** + * EPG Channel with associated programs + */ +export interface EpgChannelWithPrograms extends EpgChannel { + programs: EpgProgram[]; +} + +/** + * EPG Data structure + */ +export interface EpgData { + channels: EpgChannel[]; + programs: EpgProgram[]; +} diff --git a/libs/shared/interfaces/src/lib/epg-channel.model.ts b/libs/shared/interfaces/src/lib/epg-channel.model.ts index f0c47e4d1..61f4deb68 100644 --- a/libs/shared/interfaces/src/lib/epg-channel.model.ts +++ b/libs/shared/interfaces/src/lib/epg-channel.model.ts @@ -1,6 +1,9 @@ +/** + * EPG Channel interface compatible with epg-parser v0.4.0 + */ export interface EpgChannel { id: string; - name: string; - icon: string[]; + displayName: { lang: string; value: string }[]; + icon: { src: string; width?: number; height?: number }[]; url: string[]; } diff --git a/libs/shared/interfaces/src/lib/epg-program.model.ts b/libs/shared/interfaces/src/lib/epg-program.model.ts index 0f071fc33..d80d2dbaf 100644 --- a/libs/shared/interfaces/src/lib/epg-program.model.ts +++ b/libs/shared/interfaces/src/lib/epg-program.model.ts @@ -1,20 +1,20 @@ +/** + * EPG Program interface compatible with epg-parser v0.4.0 + * Note: start/stop are ISO strings, date is string instead of array + */ export interface EpgProgram { - start: string; - stop: string; + start: string; // ISO string + stop: string; // ISO string channel: string; title: { lang: string; value: string }[]; desc: { lang: string; value: string }[]; category: { lang: string; value: string }[]; - date: any[]; + date: string; // Changed from array to string in v0.4.0 episodeNum: any[]; previouslyShown: any[]; subtitles: any[]; - icon: any[]; + icon: { src: string; width?: number; height?: number }[]; rating: { system: string; value: string }[]; credits: any[]; audio: any[]; - _attributes: { - start: string; - stop: string; - }; }