package tablos

import (
	"errors"
	"time"

	"github.com/google/uuid"
)

var ErrNotFound = errors.New("tablo not found")

type Status string

const (
	StatusTodo       Status = "todo"
	StatusInProgress Status = "in_progress"
	StatusDone       Status = "done"
)

type Record struct {
	ID        uuid.UUID
	OwnerID   uuid.UUID
	Name      string
	Color     string
	Status    Status
	CreatedAt time.Time
	UpdatedAt time.Time
	DeletedAt *time.Time
}

type CreateInput struct {
	OwnerID uuid.UUID
	Name    string
	Color   string
	Status  Status
}

type UpdateInput struct {
	ID      uuid.UUID
	OwnerID uuid.UUID
	Name    string
	Color   string
}

type ListInput struct {
	OwnerID uuid.UUID
	Status  *Status
}
