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

package db

import (
	"encoding/json"
	"time"
)

type ProjectSyncSetting struct {
	ID                int64     `json:"id"`
	Provider          string    `json:"provider"`
	Tenant            string    `json:"tenant"`
	Project           string    `json:"project"`
	GitRemoteUrl      string    `json:"git_remote_url"`
	SourceBranch      string    `json:"source_branch"`
	WorkspaceID       string    `json:"workspace_id"`
	WorkspaceBasePath string    `json:"workspace_base_path"`
	RepoDirName       string    `json:"repo_dir_name"`
	Active            bool      `json:"active"`
	CreatedAt         time.Time `json:"created_at"`
	UpdatedAt         time.Time `json:"updated_at"`
}

type RoadmapSyncIdentity struct {
	ID                   int64     `json:"id"`
	Shape                string    `json:"shape"`
	RoadmapMilestonePath string    `json:"roadmap_milestone_path"`
	RoadmapItemID        string    `json:"roadmap_item_id"`
	Provider             string    `json:"provider"`
	Tenant               string    `json:"tenant"`
	Project              string    `json:"project"`
	WorkItemID           string    `json:"work_item_id"`
	ParentWorkItemID     string    `json:"parent_work_item_id"`
	ProviderRevision     *string   `json:"provider_revision"`
	RoadmapRevision      *string   `json:"roadmap_revision"`
	CreatedAt            time.Time `json:"created_at"`
	UpdatedAt            time.Time `json:"updated_at"`
}

type RoadmapSyncStep struct {
	ID                    int64     `json:"id"`
	RoadmapSyncIdentityID int64     `json:"roadmap_sync_identity_id"`
	Step                  string    `json:"step"`
	CompletedAt           time.Time `json:"completed_at"`
}

type Task struct {
	ID               string          `json:"id"`
	Title            string          `json:"title"`
	Source           string          `json:"source"`
	Status           string          `json:"status"`
	Payload          json.RawMessage `json:"payload"`
	Result           json.RawMessage `json:"result"`
	Error            *string         `json:"error"`
	CreatedAt        time.Time       `json:"created_at"`
	UpdatedAt        time.Time       `json:"updated_at"`
	ExternalProvider *string         `json:"external_provider"`
	ExternalID       *string         `json:"external_id"`
	ExternalUrl      *string         `json:"external_url"`
	ExternalMetadata json.RawMessage `json:"external_metadata"`
	Metadata         json.RawMessage `json:"metadata"`
}

type WorkspaceSlot struct {
	ID                   int64     `json:"id"`
	ProjectSyncSettingID int64     `json:"project_sync_setting_id"`
	SlotIndex            int32     `json:"slot_index"`
	State                string    `json:"state"`
	Path                 string    `json:"path"`
	CreatedAt            time.Time `json:"created_at"`
	UpdatedAt            time.Time `json:"updated_at"`
}
