User's AniList media entry with change tracking and incremental sync metadata.

export interface AniListMediaEntry {
id?: number;
mediaId: number;
status: MediaListStatus;
progress: number;
private: boolean;
score: number;
previousValues: {
status: MediaListStatus;
progress: number;
score: number;
private: boolean;
} | null;
title?: string;
coverImage?: string;
// Metadata for incremental sync process
syncMetadata?: {
useIncrementalSync: boolean;
targetProgress: number;
progress: number;
step?: number;
updatedStatus?: boolean;
updatedScore?: boolean;
updatedPrivate?: boolean;
isRetry?: boolean;
retryTimestamp?: number;
retryCount?: number;
resumeFromStep?: number;
} | null;
}
interface AniListMediaEntry {
    id?: number;
    mediaId: number;
    status: MediaListStatus;
    progress: number;
    private: boolean;
    score: number;
    previousValues:
        | null
        | {
            status: MediaListStatus;
            progress: number;
            score: number;
            private: boolean;
        };
    title?: string;
    coverImage?: string;
    syncMetadata?: | null
    | {
        useIncrementalSync: boolean;
        targetProgress: number;
        progress: number;
        step?: number;
        updatedStatus?: boolean;
        updatedScore?: boolean;
        updatedPrivate?: boolean;
        isRetry?: boolean;
        retryTimestamp?: number;
        retryCount?: number;
        resumeFromStep?: number;
    };
}

Properties

id?: number
mediaId: number
progress: number
private: boolean
score: number
previousValues:
    | null
    | {
        status: MediaListStatus;
        progress: number;
        score: number;
        private: boolean;
    }
title?: string
coverImage?: string
syncMetadata?:
    | null
    | {
        useIncrementalSync: boolean;
        targetProgress: number;
        progress: number;
        step?: number;
        updatedStatus?: boolean;
        updatedScore?: boolean;
        updatedPrivate?: boolean;
        isRetry?: boolean;
        retryTimestamp?: number;
        retryCount?: number;
        resumeFromStep?: number;
    }