// Code generated by sqlc. DO NOT EDIT.
// versions:
//   sqlc v1.30.0

package db

import (
	"database/sql"
	"encoding/json"
	"time"
)

type ActivityEntry struct {
	ID            string
	WorkspaceSlug string
	Title         string
	Detail        string
	CreatedAt     time.Time
}

type BoardGroup struct {
	ID            string
	WorkspaceSlug string
	Name          string
	Color         string
	SortOrder     int32
}

type CalendarEvent struct {
	ID            string
	WorkspaceSlug string
	Title         string
	Description   string
	StartsAt      time.Time
	EndsAt        time.Time
	Color         string
	LinkedTaskID  sql.NullString
	Attachments   json.RawMessage
}

type FocusSession struct {
	ID                 string
	WorkspaceSlug      string
	TaskID             sql.NullString
	Mode               string
	StartedAt          time.Time
	CompletedAt        sql.NullTime
	PausedAt           sql.NullTime
	PausedTotalSeconds int32
	DurationSeconds    int32
}

type Invite struct {
	ID            string
	WorkspaceSlug string
	Email         string
	Role          string
	Token         string
	CreatedAt     time.Time
	Status        string
}

type Label struct {
	ID            string
	WorkspaceSlug string
	Name          string
	Color         string
}

type MailMessage struct {
	ID            string
	WorkspaceSlug string
	MailboxID     string
	RemoteUid     int64
	MessageID     string
	Folder        string
	FromAddress   json.RawMessage
	ToRecipients  json.RawMessage
	CcRecipients  json.RawMessage
	Subject       string
	Snippet       string
	TextBody      string
	HtmlBody      string
	ReceivedAt    time.Time
	IsRead        bool
	LinkedTaskID  sql.NullString
	CreatedAt     time.Time
	UpdatedAt     time.Time
}

type Mailbox struct {
	ID                     string
	WorkspaceSlug          string
	Label                  string
	Email                  string
	DisplayName            string
	ImapHost               string
	ImapPort               int32
	ImapUsername           string
	ImapPasswordCiphertext string
	ImapUseTls             bool
	SmtpHost               string
	SmtpPort               int32
	SmtpUsername           string
	SmtpPasswordCiphertext string
	SmtpUseTls             bool
	SyncStatus             string
	SyncError              string
	LastSyncedAt           sql.NullTime
	CreatedAt              time.Time
	UpdatedAt              time.Time
}

type Member struct {
	ID            string
	WorkspaceSlug string
	Name          string
	Email         string
	Role          string
	Status        string
}

type Note struct {
	ID            string
	WorkspaceSlug string
	Title         string
	Content       string
	UpdatedAt     time.Time
}

type OutgoingMail struct {
	ID            string
	WorkspaceSlug string
	MailboxID     string
	ToRecipients  json.RawMessage
	CcRecipients  json.RawMessage
	BccRecipients json.RawMessage
	Subject       string
	TextBody      string
	HtmlBody      string
	Status        string
	ScheduledFor  sql.NullTime
	SentAt        sql.NullTime
	ErrorMessage  string
	CreatedAt     time.Time
	UpdatedAt     time.Time
}

type Task struct {
	ID             string
	WorkspaceSlug  string
	BoardGroupID   string
	Title          string
	Description    string
	Status         string
	Color          string
	DueAt          sql.NullTime
	ScheduledStart sql.NullTime
	ScheduledEnd   sql.NullTime
	AssigneeID     sql.NullString
	LabelIds       json.RawMessage
	Attachments    json.RawMessage
	Comments       json.RawMessage
	CreatedAt      time.Time
	UpdatedAt      time.Time
}

type Workspace struct {
	ID        string
	Slug      string
	Name      string
	Role      string
	CreatedAt time.Time
}
