handlers

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: May 31, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CancelRun

func CancelRun(ctx context.Context, c *app.RequestContext, handler command.CancelRunHandler)

CancelRun cancel run

@Summary		use to cancel run
@Description	cancel run
@Tags			submission
@Accept			application/json
@Produce		application/json
@Router			/workspace/{workspace_id}/submission/{submission_id}/run/{id}/cancel [post]
@Security		basicAuth
@Param			workspace_id	path	string	true	"workspace id"
@Param			submission_id	path	string	true	"submission id"
@Param			id				path	string	true	"run id"
@Success		202
@Failure		400	{object}	apperrors.AppError	"invalid param"
@Failure		401	{object}	apperrors.AppError	"unauthorized"
@Failure		403	{object}	apperrors.AppError	"forbidden"
@Failure		500	{object}	apperrors.AppError	"internal system error"

func CancelSubmission

func CancelSubmission(ctx context.Context, c *app.RequestContext, handler command.CancelSubmissionHandler)

CancelSubmission cancel submission

@Summary		use to cancel submission
@Description	cancel submission
@Tags			submission
@Accept			application/json
@Produce		application/json
@Router			/workspace/{workspace_id}/submission/{id}/cancel [post]
@Security		basicAuth
@Param			workspace_id	path	string	true	"workspace id"
@Param			id				path	string	true	"submission id"
@Success		202
@Failure		400	{object}	apperrors.AppError	"invalid param"
@Failure		401	{object}	apperrors.AppError	"unauthorized"
@Failure		403	{object}	apperrors.AppError	"forbidden"
@Failure		500	{object}	apperrors.AppError	"internal system error"

func CheckSubmission

func CheckSubmission(ctx context.Context, c *app.RequestContext, handler query.CheckHandler)

CheckSubmission check submission name

@Summary		use to check submission name unique
@Description	check submission name unique
@Tags			submission
@Accept			application/json
@Produce		application/json
@Router			/workspace/{workspace_id}/submission/{name} [get]
@Security		basicAuth
@Param			workspace_id	path	string	true	"workspace id"
@Param			name			path	string	true	"submission name"
@Success		202
@Failure		400	{object}	apperrors.AppError	"invalid param"
@Failure		401	{object}	apperrors.AppError	"unauthorized"
@Failure		403	{object}	apperrors.AppError	"forbidden"
@Failure		500	{object}	apperrors.AppError	"internal system error"

func CreateSubmission

func CreateSubmission(ctx context.Context, c *app.RequestContext, handler command.CreateSubmissionHandler)

CreateSubmission create submission

@Summary		use to create submission
@Description	create submission
@Tags			submission
@Accept			application/json
@Produce		application/json
@Router			/workspace/{workspace_id}/submission [post]
@Security		basicAuth
@Param			workspace_id	path		string					true	"workspace id"
@Param			request			body		CreateSubmissionRequest	true	"create submission request"
@Success		201				{object}	CreateSubmissionResponse
@Failure		400				{object}	apperrors.AppError	"invalid param"
@Failure		401				{object}	apperrors.AppError	"unauthorized"
@Failure		403				{object}	apperrors.AppError	"forbidden"
@Failure		500				{object}	apperrors.AppError	"internal system error"

func DeleteSubmission

func DeleteSubmission(ctx context.Context, c *app.RequestContext, handler command.DeleteSubmissionHandler)

DeleteSubmission delete submission

@Summary		use to delete submission
@Description	delete submission
@Tags			submission
@Accept			application/json
@Produce		application/json
@Router			/workspace/{workspace_id}/submission/{id} [delete]
@Security		basicAuth
@Param			workspace_id	path	string	true	"workspace id"
@Param			id				path	string	true	"submission id"
@Success		202
@Failure		400	{object}	apperrors.AppError	"invalid param"
@Failure		401	{object}	apperrors.AppError	"unauthorized"
@Failure		403	{object}	apperrors.AppError	"forbidden"
@Failure		500	{object}	apperrors.AppError	"internal system error"

func ListRuns

func ListRuns(ctx context.Context, c *app.RequestContext, handler query.ListRunsHandler)

ListRuns list runs

@Summary		use to list runs
@Description	list runs
@Tags			submission
@Accept			application/json
@Produce		application/json
@Router			/workspace/{workspace_id}/submission/{submission_id}/run [get]
@Security		basicAuth
@Param			workspace_id	path		string		true	"workspace id"
@Param			submission_id	path		string		true	"submission id"
@Param			page			query		int			false	"query page"
@Param			size			query		int			false	"query size"
@Param			orderBy			query		string		false	"query order, just like field1,field2:desc"
@Param			searchWord		query		string		false	"query searchWord"
@Param			ids				query		[]string	false	"query ids"
@Param			status			query		[]string	false	"query status"
@Success		200				{object}	ListRunsResponse
@Failure		400				{object}	apperrors.AppError	"invalid param"
@Failure		401				{object}	apperrors.AppError	"unauthorized"
@Failure		403				{object}	apperrors.AppError	"forbidden"
@Failure		500				{object}	apperrors.AppError	"internal system error"

func ListSubmissions

func ListSubmissions(ctx context.Context, c *app.RequestContext, subHandler query.ListHandler, runHandler runquery.CountRunsResultHandler)

ListSubmissions list submissions

@Summary		use to list submissions
@Description	list submissions
@Tags			submission
@Accept			application/json
@Produce		application/json
@Router			/workspace/{workspace_id}/submission [get]
@Security		basicAuth
@Param			workspace_id	path		string		true	"workspace id"
@Param			page			query		int			false	"query page"
@Param			size			query		int			false	"query size"
@Param			orderBy			query		string		false	"query order, just like field1,field2:desc"
@Param			searchWord		query		string		false	"query searchWord"
@Param			exact			query		bool		false	"query exact"
@Param			ids				query		[]string	false	"query ids"
@Param			workflowID		query		string		false	"workflow id"
@Param			status			query		[]string	false	"query status"
@Success		200				{object}	ListSubmissionsResponse
@Failure		400				{object}	apperrors.AppError	"invalid param"
@Failure		401				{object}	apperrors.AppError	"unauthorized"
@Failure		403				{object}	apperrors.AppError	"forbidden"
@Failure		500				{object}	apperrors.AppError	"internal system error"

func ListTasks

func ListTasks(ctx context.Context, c *app.RequestContext, handler query.ListTasksHandler)

ListTasks list tasks

@Summary		use to list tasks
@Description	list tasks
@Tags			submission
@Accept			application/json
@Produce		application/json
@Router			/workspace/{workspace_id}/submission/{submission_id}/run/{run_id}/task [get]
@Security		basicAuth
@Param			workspace_id	path		string	true	"workspace id"
@Param			submission_id	path		string	true	"submission id"
@Param			run_id			path		string	true	"run id"
@Param			page			query		int		false	"query page"
@Param			size			query		int		false	"query size"
@Param			orderBy			query		string	false	"query order, just like field1,field2:desc"
@Success		200				{object}	ListTasksResponse
@Failure		400				{object}	apperrors.AppError	"invalid param"
@Failure		401				{object}	apperrors.AppError	"unauthorized"
@Failure		403				{object}	apperrors.AppError	"forbidden"
@Failure		500				{object}	apperrors.AppError	"internal system error"

Types

type CancelRunRequest

type CancelRunRequest struct {
	WorkspaceID  string `path:"workspace_id"`
	SubmissionID string `path:"submission_id"`
	ID           string `path:"id"`
}

type CancelSubmissionRequest

type CancelSubmissionRequest struct {
	WorkspaceID string `path:"workspace_id"`
	ID          string `path:"id"`
}

type CheckSubmissionRequest

type CheckSubmissionRequest struct {
	WorkspaceID string `path:"workspace_id"`
	Name        string `json:"name"`
}

type CheckSubmissionResponse

type CheckSubmissionResponse struct {
	IsNameExist bool `json:"isNameExist"`
}

type CreateSubmissionRequest

type CreateSubmissionRequest struct {
	WorkspaceID    string         `path:"workspace_id"`
	Name           string         `json:"name"`
	WorkflowID     string         `json:"workflowID"`
	Description    *string        `json:"description"`
	Type           string         `json:"type"`
	Entity         *Entity        `json:"entity"`
	ExposedOptions ExposedOptions `json:"exposedOptions"`
	InOutMaterial  *InOutMaterial `json:"inOutMaterial"`
}

type CreateSubmissionResponse

type CreateSubmissionResponse struct {
	ID string `json:"id"`
}

type DeleteSubmissionRequest

type DeleteSubmissionRequest struct {
	WorkspaceID string `path:"workspace_id"`
	ID          string `path:"id"`
}

type Entity

type Entity struct {
	DataModelID     string   `json:"dataModelID"`
	DataModelRowIDs []string `json:"dataModelRowIDs"`
	/** 输入配置,json 序列化后的 string
	  采用 json 序列化原因基于以下两点考虑:
	  - thrift/接口设计层面不允许 `Value` 类型不确定
	  - 在 inputs/outputs 层级进行序列化可使得 `bioos-server` 不处理 `Inputs`/`Outputs`(非 `this.xxx` 索引的输入) 就入库/提交给计算引擎,达到透传效果
	*/
	InputsTemplate string `json:"inputsTemplate"`
	/** 输出配置,json 序列化后的 string
	  采用 json 序列化原因基于以下两点考虑:
	  - thrift/接口设计层面不允许 `Value` 类型不确定
	  - 在 inputs/outputs 层级进行序列化可使得 `bioos-server` 不处理 `Inputs`/`Outputs`(非 `this.xxx` 索引的输入) 就入库/提交给计算引擎,达到透传效果
	*/
	OutputsTemplate string `json:"outputsTemplate"`
}

type ExposedOptions

type ExposedOptions struct {
	ReadFromCache bool `json:"readFromCache"`
}

type InOutMaterial

type InOutMaterial struct {
	InputsMaterial  string `json:"inputsMaterial"`
	OutputsMaterial string `json:"outputsMaterial"`
}

type ListRunsRequest

type ListRunsRequest struct {
	WorkspaceID  string   `path:"workspace_id"`
	SubmissionID string   `path:"submission_id"`
	Page         int      `query:"page"`
	Size         int      `query:"size"`
	OrderBy      string   `query:"orderBy"`
	SearchWord   string   `query:"searchWord"`
	Status       []string `query:"status"`
	IDs          []string `query:"ids"`
}

type ListRunsResponse

type ListRunsResponse struct {
	Page  int       `json:"page"`
	Size  int       `json:"size"`
	Total int       `json:"total"`
	Items []RunItem `json:"items"`
}

type ListSubmissionsRequest

type ListSubmissionsRequest struct {
	WorkspaceID string   `path:"workspace_id"`
	Page        int      `query:"page"`
	Size        int      `query:"size"`
	OrderBy     string   `query:"orderBy"`
	SearchWord  string   `query:"searchWord"`
	Exact       bool     `query:"exact"`
	WorkflowID  string   `query:"workflowID"`
	Status      []string `query:"status"`
	IDs         []string `query:"ids"`
}

type ListSubmissionsResponse

type ListSubmissionsResponse struct {
	Page  int              `json:"page"`
	Size  int              `json:"size"`
	Total int              `json:"total"`
	Items []SubmissionItem `json:"items"`
}

type ListTasksRequest

type ListTasksRequest struct {
	WorkspaceID  string `path:"workspace_id"`
	SubmissionID string `path:"submission_id"`
	RunID        string `path:"run_id"`
	Page         int    `query:"page"`
	Size         int    `query:"size"`
	OrderBy      string `query:"orderBy"`
}

type ListTasksResponse

type ListTasksResponse struct {
	Page  int        `json:"page"`
	Size  int        `json:"size"`
	Total int        `json:"total"`
	Items []TaskItem `json:"items"`
}

type RunItem

type RunItem struct {
	ID          string  `json:"id"`
	Name        string  `json:"name"`
	Status      string  `json:"status"`
	StartTime   int64   `json:"startTime"`
	FinishTime  *int64  `json:"finishTime"`
	Duration    int64   `json:"duration"`
	EngineRunID string  `json:"engineRunID"`
	Inputs      string  `json:"inputs"`
	Outputs     string  `json:"outputs"`
	TaskStatus  Status  `json:"taskStatus"`
	Log         *string `json:"log"`
	Message     *string `json:"message"`
}

type Status

type Status struct {
	Count        int64 `json:"count"`
	Pending      int64 `json:"pending"`
	Succeeded    int64 `json:"succeeded"`
	Failed       int64 `json:"failed"`
	Running      int64 `json:"running"`
	Cancelling   int64 `json:"cancelling"`
	Cancelled    int64 `json:"cancelled"`
	Queued       int64 `json:"queued"`
	Initializing int64 `json:"initializing"`
}

type SubmissionItem

type SubmissionItem struct {
	ID              string          `json:"id"`
	Name            string          `json:"name"`
	Description     *string         `json:"description"`
	Type            string          `json:"type"`
	Status          string          `json:"status"`
	StartTime       int64           `json:"startTime"`
	FinishTime      *int64          `json:"finishTime"`
	Duration        int64           `json:"duration"`
	WorkflowVersion WorkflowVersion `json:"workflowVersion"`
	RunStatus       Status          `json:"runStatus"`
	Entity          *Entity         `json:"entity"`
	ExposedOptions  ExposedOptions  `json:"exposedOptions"`
	InOutMaterial   *InOutMaterial  `json:"inOutMaterial"`
}

type TaskItem

type TaskItem struct {
	Name       string `json:"name"`
	RunID      string `json:"runID"`
	Status     string `json:"status"`
	StartTime  int64  `json:"startTime"`
	FinishTime *int64 `json:"finishTime"`
	Duration   int64  `json:"duration"`
	Stdout     string `json:"stdout"`
	Stderr     string `json:"stderr"`
}

type WorkflowVersion

type WorkflowVersion struct {
	ID        string `json:"id"`
	VersionID string `json:"versionID"`
}

Jump to

Keyboard shortcuts

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