models

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2022 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TASK_CREATED   = "TASK_CREATED"
	TASK_RUNNING   = "TASK_RUNNING"
	TASK_COMPLETED = "TASK_COMPLETED"
	TASK_FAILED    = "TASK_FAILED"
)

Variables

View Source
var Db *gorm.DB

Functions

This section is empty.

Types

type NewPipeline added in v0.6.0

type NewPipeline struct {
	Name  string       `json:"name"`
	Tasks [][]*NewTask `json:"tasks"`
}

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 added in v0.6.0

type NewTask struct {
	// Plugin name
	Plugin string `json:"plugin" binding:"required"`
	// Options for the plugin task to be triggered
	Options     map[string]interface{} `json:"options"`
	PipelineId  uint64                 `json:"-"`
	PipelineRow int                    `json:"-"`
	PipelineCol int                    `json:"-"`
}

type Notification added in v0.3.0

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

Notification records notifications sent by lake

type NotificationType added in v0.3.0

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

type Pipeline added in v0.6.0

type Pipeline struct {
	common.Model
	Name          string         `json:"name" gorm:"index"`
	Tasks         datatypes.JSON `json:"tasks"`
	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"`
}

type Task

type Task struct {
	common.Model
	Plugin        string         `json:"plugin" gorm:"index"`
	Options       datatypes.JSON `json:"options"`
	Status        string         `json:"status"`
	Message       string         `json:"message"`
	Progress      float32        `json:"progress"`
	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"`
}

Directories

Path Synopsis
test

Jump to

Keyboard shortcuts

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