package com.isidroid.job.model

import androidx.room.Entity
import androidx.room.Index
import androidx.room.PrimaryKey
import com.isidroid.job.constant.JobStatus
import java.util.Date
import java.util.UUID

@Entity(indices = [Index("spotId"), Index("status")])
data class PrintJob(
    @PrimaryKey val id: String = UUID.randomUUID().toString(),
    val spotId: String = "",
    val cost: Float = 0f,
    val profileId: String = "",
    val printSize: Int = -1,
    val printOrientation: Int = -1,
    val copies: Int = 1,
    @JobStatus val status: Int = JobStatus.IDLE,
    val name: String = "",
    val errorMessage: String? = null,
    val comment: String? = null,
    val createdAt: Date = Date(),
    val updatedAt: Date = Date(),
    val accessCode: String? = null,
    val accessToken: String? = null,
    val sourceFiles: List<String>? = null
)