models

package
v0.15.0-hexun-tapd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 1, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BLUEPRINT_MODE_NORMAL   = "NORMAL"
	BLUEPRINT_MODE_ADVANCED = "ADVANCED"
)
View Source
const (
	TASK_CREATED   = "TASK_CREATED"
	TASK_RERUN     = "TASK_RERUN"
	TASK_RUNNING   = "TASK_RUNNING"
	TASK_COMPLETED = "TASK_COMPLETED"
	TASK_FAILED    = "TASK_FAILED"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ApiInputProject added in v0.15.0

type ApiInputProject struct {
	BaseProject
	Enable  *bool
	Metrics *[]BaseMetric
}

type ApiOutputProject added in v0.15.0

type ApiOutputProject struct {
	BaseProject
	Metrics   *[]BaseMetric
	Blueprint *Blueprint
}

type BaseMetric added in v0.15.0

type BaseMetric struct {
	PluginName   string `gorm:"primaryKey;type:varchar(255)"`
	PluginOption string `gorm:"type:text"`
	Enable       bool   `gorm:"type:boolean"`
}

type BaseProject added in v0.15.0

type BaseProject struct {
	Name        string `gorm:"primaryKey;type:varchar(255)"`
	Description string `gorm:"type:text"`
}

type BaseProjectMetric

type BaseProjectMetric struct {
	ProjectName string `gorm:"primaryKey;type:varchar(255)"`
	BaseMetric
}

type Blueprint

type Blueprint struct {
	Name        string          `json:"name" validate:"required"`
	ProjectName string          `json:"projectName" gorm:"type:varchar(255)"`
	Mode        string          `json:"mode" gorm:"varchar(20)" validate:"required,oneof=NORMAL ADVANCED"`
	Plan        json.RawMessage `json:"plan"`
	Enable      bool            `json:"enable"`
	//please check this https://crontab.guru/ for detail
	CronConfig   string          `json:"cronConfig" format:"* * * * *" example:"0 0 * * 1"`
	IsManual     bool            `json:"isManual"`
	SkipOnFail   bool            `json:"skipOnFail"`
	Labels       []string        `json:"labels"`
	Settings     json.RawMessage `json:"settings" swaggertype:"array,string" example:"please check api: /blueprints/<PLUGIN_NAME>/blueprint-setting"`
	common.Model `swaggerignore:"true"`
}

@Description CronConfig

func (*Blueprint) UnmarshalPlan added in v0.12.0

func (bp *Blueprint) UnmarshalPlan() (core.PipelinePlan, errors.Error)

UnmarshalPlan unmarshals Plan in JSON to strong-typed core.PipelinePlan

type BlueprintSettings added in v0.12.0

type BlueprintSettings struct {
	Version     string          `json:"version" validate:"required,semver,oneof=1.0.0"`
	SkipOnFail  bool            `json:"skipOnFail"`
	Connections json.RawMessage `json:"connections" validate:"required"`
	BeforePlan  json.RawMessage `json:"before_plan"`
	AfterPlan   json.RawMessage `json:"after_plan"`
}

type CollectorLatestState added in v0.15.0

type CollectorLatestState struct {
	CreatedAt          time.Time `json:"createdAt"`
	UpdatedAt          time.Time `json:"updatedAt"`
	RawDataParams      string    `gorm:"primaryKey;column:raw_data_params;type:varchar(255);index" json:"raw_data_params"`
	RawDataTable       string    `gorm:"primaryKey;column:raw_data_table;type:varchar(255)" json:"raw_data_table"`
	CreatedDateAfter   *time.Time
	LatestSuccessStart *time.Time
}

func (CollectorLatestState) TableName added in v0.15.0

func (CollectorLatestState) TableName() string

type DbBlueprint added in v0.14.0

type DbBlueprint struct {
	Name        string `json:"name" validate:"required"`
	ProjectName string `json:"projectName" gorm:"type:varchar(255)"`
	Mode        string `json:"mode" gorm:"varchar(20)" validate:"required,oneof=NORMAL ADVANCED"`
	Plan        string `json:"plan" encrypt:"yes"`
	Enable      bool   `json:"enable"`
	//please check this https://crontab.guru/ for detail
	CronConfig   string `json:"cronConfig" format:"* * * * *" example:"0 0 * * 1"`
	IsManual     bool   `json:"isManual"`
	SkipOnFail   bool   `json:"skipOnFail"`
	Settings     string `` /* 128-byte string literal not displayed */
	common.Model `swaggerignore:"true"`

	Labels []DbBlueprintLabel `json:"-" gorm:"-"`
}

@Description CronConfig

func (DbBlueprint) TableName added in v0.14.0

func (DbBlueprint) TableName() string

type DbBlueprintLabel added in v0.15.0

type DbBlueprintLabel struct {
	CreatedAt   time.Time `json:"createdAt"`
	UpdatedAt   time.Time `json:"updatedAt"`
	BlueprintId uint64    `json:"blueprint_id" gorm:"primaryKey"`
	Name        string    `json:"name" gorm:"primaryKey;index"`
}

func (DbBlueprintLabel) TableName added in v0.15.0

func (DbBlueprintLabel) TableName() string

type DbPipeline added in v0.14.0

type DbPipeline struct {
	common.Model
	Name          string     `json:"name" gorm:"index"`
	BlueprintId   uint64     `json:"blueprintId"`
	Plan          string     `json:"plan" encrypt:"yes"`
	TotalTasks    int        `json:"totalTasks"`
	FinishedTasks int        `json:"finishedTasks"`
	BeganAt       *time.Time `json:"beganAt"`
	FinishedAt    *time.Time `json:"finishedAt" gorm:"index"`
	Status        string     `json:"status"`
	Message       string     `json:"message"`
	SpentSeconds  int        `json:"spentSeconds"`
	Stage         int        `json:"stage"`

	Labels []DbPipelineLabel `json:"-" gorm:"-"`
}

func (DbPipeline) TableName added in v0.14.0

func (DbPipeline) TableName() string

type DbPipelineLabel added in v0.15.0

type DbPipelineLabel struct {
	CreatedAt  time.Time `json:"createdAt"`
	UpdatedAt  time.Time `json:"updatedAt"`
	PipelineId uint64    `json:"pipeline_id" gorm:"primaryKey"`
	Name       string    `json:"name" gorm:"primaryKey;index"`
}

func (DbPipelineLabel) TableName added in v0.15.0

func (DbPipelineLabel) TableName() string

type NewPipeline

type NewPipeline struct {
	Name        string            `json:"name"`
	Plan        core.PipelinePlan `json:"plan" swaggertype:"array,string" example:"please check api /pipelines/<PLUGIN_NAME>/pipeline-plan"`
	Labels      []string          `json:"labels"`
	BlueprintId uint64
}

We use a 2D array because the request body must be an array of a set of tasks to be executed concurrently, while each set is to be executed sequentially.

type NewTask

type NewTask struct {
	// Plugin name
	*core.PipelineTask
	PipelineId  uint64 `json:"-"`
	PipelineRow int    `json:"-"`
	PipelineCol int    `json:"-"`
}

type Notification

type Notification struct {
	common.Model
	Type         NotificationType
	Endpoint     string
	Nonce        string
	ResponseCode int
	Response     string
	Data         string
}

Notification records notifications sent by lake

func (Notification) TableName

func (Notification) TableName() string

type NotificationType

type NotificationType string
const (
	NotificationPipelineStatusChanged NotificationType = "PipelineStatusChanged"
)

type Pipeline

type Pipeline struct {
	common.Model
	Name          string         `json:"name" gorm:"index"`
	BlueprintId   uint64         `json:"blueprintId"`
	Plan          datatypes.JSON `json:"plan"`
	TotalTasks    int            `json:"totalTasks"`
	FinishedTasks int            `json:"finishedTasks"`
	BeganAt       *time.Time     `json:"beganAt"`
	FinishedAt    *time.Time     `json:"finishedAt" gorm:"index"`
	Status        string         `json:"status"`
	Message       string         `json:"message"`
	SpentSeconds  int            `json:"spentSeconds"`
	Stage         int            `json:"stage"`
	Labels        []string       `json:"labels"`
}

type Project added in v0.15.0

type Project struct {
	BaseProject
	common.NoPKModel
}

func (Project) TableName added in v0.15.0

func (Project) TableName() string

type ProjectMetric

type ProjectMetric struct {
	BaseProjectMetric
	common.NoPKModel
}

func (ProjectMetric) TableName

func (ProjectMetric) TableName() string

type Subtask added in v0.13.0

type Subtask struct {
	common.Model
	TaskID       uint64     `json:"task_id" gorm:"index"`
	Name         string     `json:"name" gorm:"index"`
	Number       int        `json:"number"`
	BeganAt      *time.Time `json:"beganAt"`
	FinishedAt   *time.Time `json:"finishedAt" gorm:"index"`
	SpentSeconds int64      `json:"spentSeconds"`
}

func (Subtask) TableName added in v0.13.0

func (Subtask) TableName() string

type Task

type Task struct {
	common.Model
	Plugin         string              `json:"plugin" gorm:"index"`
	Subtasks       datatypes.JSON      `json:"subtasks"`
	Options        datatypes.JSON      `json:"options"`
	Status         string              `json:"status"`
	Message        string              `json:"message"`
	Progress       float32             `json:"progress"`
	ProgressDetail *TaskProgressDetail `json:"progressDetail" gorm:"-"`

	FailedSubTask string     `json:"failedSubTask"`
	PipelineId    uint64     `json:"pipelineId" gorm:"index"`
	PipelineRow   int        `json:"pipelineRow"`
	PipelineCol   int        `json:"pipelineCol"`
	BeganAt       *time.Time `json:"beganAt"`
	FinishedAt    *time.Time `json:"finishedAt" gorm:"index"`
	SpentSeconds  int        `json:"spentSeconds"`
	SkipOnFail    bool       `json:"-"`
}

func (Task) TableName

func (Task) TableName() string

type TaskProgressDetail

type TaskProgressDetail struct {
	TotalSubTasks    int    `json:"totalSubTasks"`
	FinishedSubTasks int    `json:"finishedSubTasks"`
	TotalRecords     int    `json:"totalRecords"`
	FinishedRecords  int    `json:"finishedRecords"`
	SubTaskName      string `json:"subTaskName"`
	SubTaskNumber    int    `json:"subTaskNumber"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL