Features: - VOD library with movie grouping and version detection - TV show library with season/episode organization - TMDB integration for trending shows and recently aired episodes - Recent releases section with TMDB release date sorting - Watch history tracking with continue watching - Playlist caching (12-hour TTL) for offline support - M3U playlist parsing with XStream API support - Authentication with credential storage Technical: - SwiftUI for tvOS - Actor-based services for thread safety - Persistent caching for playlists, TMDB data, and watch history - KSPlayer integration for video playback Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
38 lines
2.7 KiB
XML
38 lines
2.7 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="22222" systemVersion="23A344" minimumToolsVersion="Automatic" sourceLanguage="Swift" usedWithSwiftData="YES" userDefinedModelVersionIdentifier="">
|
|
<entity name="M3UModel" representedClassName="M3UModel" syncable="YES" codeGenerationType="class">
|
|
<attribute name="count" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES"/>
|
|
<attribute name="m3uURL" optional="YES" attributeType="URI"/>
|
|
<attribute name="name" attributeType="String" defaultValueString=""/>
|
|
</entity>
|
|
<entity name="MovieModel" representedClassName="MovieModel" syncable="YES" codeGenerationType="category">
|
|
<attribute name="country" optional="YES" attributeType="String"/>
|
|
<attribute name="group" optional="YES" attributeType="String"/>
|
|
<attribute name="httpReferer" optional="YES" attributeType="String"/>
|
|
<attribute name="httpUserAgent" optional="YES" attributeType="String"/>
|
|
<attribute name="language" optional="YES" attributeType="String"/>
|
|
<attribute name="logo" optional="YES" attributeType="URI"/>
|
|
<attribute name="m3uURL" optional="YES" attributeType="URI"/>
|
|
<attribute name="name" attributeType="String" defaultValueString=""/>
|
|
<attribute name="tvgID" optional="YES" attributeType="String"/>
|
|
<attribute name="url" optional="YES" attributeType="URI"/>
|
|
<relationship name="playmodel" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="PlayModel" inverseName="url" inverseEntity="PlayModel"/>
|
|
</entity>
|
|
<entity name="PlayModel" representedClassName="PlayModel" syncable="YES" codeGenerationType="class">
|
|
<attribute name="current" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
|
|
<attribute name="duration" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
|
|
<attribute name="isFavorite" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
|
<attribute name="playTime" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
|
|
<relationship name="url" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="MovieModel" inverseName="playmodel" inverseEntity="MovieModel"/>
|
|
</entity>
|
|
<configuration name="local">
|
|
<memberEntity name="MovieModel"/>
|
|
</configuration>
|
|
<configuration name="private" usedWithCloudKit="YES">
|
|
<memberEntity name="MovieModel"/>
|
|
<memberEntity name="PlayModel"/>
|
|
</configuration>
|
|
<configuration name="public" usedWithCloudKit="YES">
|
|
<memberEntity name="M3UModel"/>
|
|
</configuration>
|
|
</model> |