package models

type Artifact struct {
	AttrPath string `json:"attr_path,omitempty" bson:"attr_path,omitempty" validate:"required"`
	AttrFrom string `json:"from_path,omitempty" bson:"from_path,omitempty"`
	Readonly bool   `json:"readonly" bson:"readonly" default:"true"`
}

type Param struct {
	Name     string `json:"name" bson:"name" validate:"required"`
	Attr     string `json:"attr,omitempty" bson:"attr,omitempty"`
	Value    string `json:"value,omitempty" bson:"value,omitempty"`
	Origin   string `json:"origin,omitempty" bson:"origin,omitempty"`
	Readonly bool   `json:"readonly" bson:"readonly" default:"true"`
	Required bool   `json:"required" bson:"required" default:"true"`
}

type InOutputs struct {
	Params    []Param    `json:"parameters" bson:"parameters"`
	Artifacts []Artifact `json:"artifacts" bson:"artifacts"`
}
