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

package sqlc

import (
	"github.com/google/uuid"
	"github.com/jackc/pgx/v5/pgtype"
)

type AuthSession struct {
	ID           uuid.UUID          `db:"id"`
	SessionToken string             `db:"session_token"`
	UserID       uuid.UUID          `db:"user_id"`
	CreatedAt    pgtype.Timestamptz `db:"created_at"`
	UpdatedAt    pgtype.Timestamptz `db:"updated_at"`
	ExpiresAt    pgtype.Timestamptz `db:"expires_at"`
}

type AuthUser struct {
	ID                uuid.UUID          `db:"id"`
	Email             string             `db:"email"`
	EncryptedPassword string             `db:"encrypted_password"`
	RawUserMetaData   []byte             `db:"raw_user_meta_data"`
	CreatedAt         pgtype.Timestamptz `db:"created_at"`
	UpdatedAt         pgtype.Timestamptz `db:"updated_at"`
}

type Tablo struct {
	ID        uuid.UUID          `db:"id"`
	OwnerID   uuid.UUID          `db:"owner_id"`
	Name      string             `db:"name"`
	Color     string             `db:"color"`
	Status    string             `db:"status"`
	CreatedAt pgtype.Timestamptz `db:"created_at"`
	UpdatedAt pgtype.Timestamptz `db:"updated_at"`
	DeletedAt pgtype.Timestamptz `db:"deleted_at"`
}

type Task struct {
	ID           uuid.UUID          `db:"id"`
	TabloID      uuid.UUID          `db:"tablo_id"`
	OwnerID      uuid.UUID          `db:"owner_id"`
	Title        string             `db:"title"`
	Description  string             `db:"description"`
	Status       string             `db:"status"`
	AssigneeID   pgtype.UUID        `db:"assignee_id"`
	IsEtape      bool               `db:"is_etape"`
	ParentTaskID pgtype.UUID        `db:"parent_task_id"`
	DueDate      pgtype.Date        `db:"due_date"`
	CreatedAt    pgtype.Timestamptz `db:"created_at"`
	UpdatedAt    pgtype.Timestamptz `db:"updated_at"`
	DeletedAt    pgtype.Timestamptz `db:"deleted_at"`
}

type User struct {
	ID          uuid.UUID          `db:"id"`
	Email       string             `db:"email"`
	CreatedAt   pgtype.Timestamptz `db:"created_at"`
	UpdatedAt   pgtype.Timestamptz `db:"updated_at"`
	DisplayName string             `db:"display_name"`
}
