/** * Netflix Data Service * * API layer for storing Netflix viewing data on backend. * Sends extracted viewing history, watch later, and profile to /platform-data/store endpoint. * * MATCHES Sephora/ChatGPT implementation pattern * - Uses format: { platform, data, metadata } * - Platform: "mobile-netflix" * * Data Sources (from netflix.com - API details TBD): * - Viewing History: User's watch history * - My List: User's saved shows/movies * - Profile: User preferences and settings * - Ratings: User's thumbs up/down ratings */ /** * Structure of a viewed item - Netflix content */ export interface NetflixViewedItemData { videoId: string; title: string; type?: 'movie' | 'series' | 'episode'; date?: string; seriesTitle?: string; seasonNumber?: number; episodeNumber?: number; watchedAt?: string; watchDuration?: number; totalDuration?: number; percentWatched?: number; imageUrl?: string; genres?: string[]; } /** * Structure of viewing history */ export interface NetflixViewingHistoryData { items: NetflixViewedItemData[]; totalCount: number; } /** * Structure of a My List item */ export interface NetflixMyListItemData { videoId: string; title: string; type?: 'movie' | 'series'; addedAt?: string; imageUrl?: string; genres?: string[]; maturityRating?: string; year?: number; } /** * Structure of a rating */ export interface NetflixRatingData { videoId: string; title: string; rating: 'thumbs_up' | 'thumbs_down' | 'love'; ratedAt?: string; } /** * Structure of user profile */ export interface NetflixProfileData { profileId: string; profileName?: string; maturityLevel?: string; language?: string; subtitlePreferences?: { enabled?: boolean; language?: string; }; autoplayPreferences?: { previewsEnabled?: boolean; nextEpisodeEnabled?: boolean; }; } /** * Token expiry information */ export interface NetflixTokenExpiry { expiry?: string; isExpired?: boolean; } /** * Combined Netflix data to store - matches WebView export format */ export interface NetflixStorageData { viewingHistory: NetflixViewingHistoryData; myList: NetflixMyListItemData[]; ratings: NetflixRatingData[]; profile?: NetflixProfileData | null; tokenExpiry?: NetflixTokenExpiry; profileId?: string; } /** * Response from backend endpoint */ export interface StoreNetflixDataResponse { success: boolean; message?: string; error?: string; data?: any; } /** * Store Netflix data on backend * * @param userId - Username or identifier * @param data - Netflix viewing data (history, myList, ratings, profile) * @returns Response indicating success/failure with metadata */ export declare const storeNetflixData: (userId: string, data: NetflixStorageData) => Promise; //# sourceMappingURL=netflixDataService.d.ts.map