package com.all.pdfreader.pro.app.room.entity

import android.os.Parcelable
import androidx.room.Entity
import androidx.room.PrimaryKey
import kotlinx.parcelize.Parcelize

@Parcelize
@Entity(tableName = "pdf_documents")
data class PdfDocumentEntity(
    @PrimaryKey
    val filePath: String,           // 当前文件路径

    val fileHash: String? = null,   // 文件内容哈希(MD5/SHA-1)，扫描时不进行获取，需要做判定再单独获取
    val fileName: String,           // 文件名
    val fileSize: Long,             // 文件大小(字节)
    val lastModified: Long,         // 文件最后修改时间
    val pageCount: Int,             // 总页数

    val isFavorite: Boolean = false, // 是否收藏
    val addedToFavoriteTime: Long? = null, // 收藏时间

    val lastOpenedTime: Long = 0,   // 最后打开时间
    val lastReadPage: Int = 0,      // 最后阅读页码
    val readingProgress: Float = 0f, // 阅读进度(0-100)

    val thumbnailPath: String? = null, // 缩略图本地路径
    val metadataTitle: String? = null, // PDF元数据标题
    val metadataAuthor: String? = null, // PDF元数据作者
    val metadataSubject: String? = null, // PDF元数据主题
    val metadataKeywords: String? = null, // PDF元数据关键词
    val metadataCreationDate: Long? = null, // PDF创建时间
    val metadataModificationDate: Long? = null, // PDF修改时间

    val isPassword: Boolean = false,//是否存在密码

    var password: String? = null,// PDF密码（加密存储）
    var isSelected: Boolean = false
) : Parcelable