package models

import (
	"time"

	"github.com/google/uuid"
)

type Deadline struct {
	ID              uuid.UUID  `db:"id" json:"id"`
	TenantID        uuid.UUID  `db:"tenant_id" json:"tenant_id"`
	CaseID          uuid.UUID  `db:"case_id" json:"case_id"`
	Title           string     `db:"title" json:"title"`
	Description     *string    `db:"description" json:"description,omitempty"`
	DueDate         string     `db:"due_date" json:"due_date"`
	OriginalDueDate *string    `db:"original_due_date" json:"original_due_date,omitempty"`
	WarningDate     *string    `db:"warning_date" json:"warning_date,omitempty"`
	Source          string     `db:"source" json:"source"`
	RuleID          *uuid.UUID `db:"rule_id" json:"rule_id,omitempty"`
	Status          string     `db:"status" json:"status"`
	CompletedAt     *time.Time `db:"completed_at" json:"completed_at,omitempty"`
	CalDAVUID       *string    `db:"caldav_uid" json:"caldav_uid,omitempty"`
	CalDAVEtag      *string    `db:"caldav_etag" json:"caldav_etag,omitempty"`
	Notes           *string    `db:"notes" json:"notes,omitempty"`
	CreatedAt       time.Time  `db:"created_at" json:"created_at"`
	UpdatedAt       time.Time  `db:"updated_at" json:"updated_at"`
}
