Documentation
¶
Index ¶
- Constants
- type GlobalPluginDetailsRequest
- type PluginDetailDto
- type PluginDetailsMinQuery
- type PluginListComponentDto
- type PluginMetadataDto
- type PluginMinDto
- func (r *PluginMinDto) WithIcon(icon string) *PluginMinDto
- func (r *PluginMinDto) WithParentPluginId(id int) *PluginMinDto
- func (r *PluginMinDto) WithPluginIdentifier(identifier string) *PluginMinDto
- func (r *PluginMinDto) WithPluginName(name string) *PluginMinDto
- func (r *PluginMinDto) WithPluginType(pluginType repository.PluginType) *PluginMinDto
- func (r *PluginMinDto) WithPluginVersionId(versionId int) *PluginMinDto
- type PluginParentMetadataDto
- func (r *PluginParentMetadataDto) WithDescription(desc string) *PluginParentMetadataDto
- func (r *PluginParentMetadataDto) WithIcon(icon string) *PluginParentMetadataDto
- func (r *PluginParentMetadataDto) WithNameAndId(name string, id int) *PluginParentMetadataDto
- func (r *PluginParentMetadataDto) WithPluginIdentifier(identifier string) *PluginParentMetadataDto
- func (r *PluginParentMetadataDto) WithType(pluginType string) *PluginParentMetadataDto
- func (r *PluginParentMetadataDto) WithVersions(versions *PluginVersions) *PluginParentMetadataDto
- type PluginPipelineScript
- type PluginStepCondition
- type PluginStepsDto
- type PluginTagsDto
- type PluginType
- type PluginVariableDto
- type PluginVersions
- type PluginsDto
- type PluginsListFilter
- type PluginsVersionDetail
- func (r *PluginsVersionDetail) SetMinimalPluginsVersionDetail(pluginVersionMetadata *repository.PluginMetadata) *PluginsVersionDetail
- func (r *PluginsVersionDetail) WithCreatedOn(createdOn time.Time) *PluginsVersionDetail
- func (r *PluginsVersionDetail) WithInputVariables(inputVariables []*PluginVariableDto) *PluginsVersionDetail
- func (r *PluginsVersionDetail) WithLastUpdatedEmail(email string) *PluginsVersionDetail
- func (r *PluginsVersionDetail) WithOutputVariables(outputVariables []*PluginVariableDto) *PluginsVersionDetail
- func (r *PluginsVersionDetail) WithTags(tags []string) *PluginsVersionDetail
- type RegistryCredentials
- type ScriptPathArgPortMapping
Constants ¶
View Source
const ( CREATEPLUGIN = 0 UPDATEPLUGIN = 1 DELETEPLUGIN = 2 CI_TYPE_PLUGIN = "CI" CD_TYPE_PLUGIN = "CD" CI_CD_TYPE_PLUGIN = "CI_CD" )
View Source
const ( NoPluginOrParentIdProvidedErr = "Empty values for both pluginVersionIds and parentPluginIds. Please provide at least one of them" NoPluginFoundForThisSearchQueryErr = "unable to find desired plugin for the query filter" PluginStepsNotProvidedError = "plugin steps not provided" PluginWithSameNameExistError = "plugin with the same name exists, please choose another name" PluginWithSameIdentifierExistsError = "plugin with the same identifier exists, please choose another identifier name" PluginVersionNotSemanticallyCorrectError = "please provide a plugin version that adheres to Semantic Versioning 2.0.0 to ensure compatibility and proper versioning" PluginIconNotCorrectOrReachableError = "cannot validate icon, make sure that provided url link is reachable" PluginVersionAlreadyExistError = "this plugin version already exists, please provide another plugin version" NoStepDataToProceedError = "no step data provided to save, please provide a plugin step to proceed further" )
View Source
const ( SpecialCharsRegex = ` !"#$%&'()*+,./:;<=>?@[\]^_{|}~` + "`" PluginIconMaxSizeInBytes = 2 * 1024 * 1024 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GlobalPluginDetailsRequest ¶ added in v1.1.0
type GlobalPluginDetailsRequest struct {
PluginIds []int `schema:"pluginId" json:"pluginIds"`
ParentPluginIds []int `schema:"parentPluginId" json:"parentPluginIds"`
FetchAllVersionDetails bool `schema:"fetchAllVersionDetails" json:"fetchAllVersionDetails"`
ParentPluginIdentifier string `schema:"parentPluginIdentifier"` // comma separated parentPluginIdentifiers
ParentPluginIdentifiers []string `schema:"-" json:"parentPluginIdentifiers"`
AppId int `schema:"appId" json:"appId"`
}
type PluginDetailDto ¶
type PluginDetailDto struct {
Metadata *PluginMetadataDto `json:"metadata"`
InputVariables []*PluginVariableDto `json:"inputVariables"`
OutputVariables []*PluginVariableDto `json:"outputVariables"`
}
type PluginDetailsMinQuery ¶ added in v1.1.0
type PluginDetailsMinQuery struct {
AppId int `schema:"appId"`
// Supports SHARED, PRESET, ALL.
// Default is SHARED to maintain backward compatibility.
// Note: Type is string as schema.NewDecoder does not support derived types - PluginType
Type string `schema:"type,default:SHARED"`
}
func (*PluginDetailsMinQuery) GetPluginType ¶ added in v1.1.0
func (r *PluginDetailsMinQuery) GetPluginType() PluginType
func (*PluginDetailsMinQuery) IsValidPluginType ¶ added in v1.1.0
func (r *PluginDetailsMinQuery) IsValidPluginType() bool
type PluginListComponentDto ¶
type PluginListComponentDto struct {
*PluginMetadataDto
InputVariables []*PluginVariableDto `json:"inputVariables"`
OutputVariables []*PluginVariableDto `json:"outputVariables"`
}
type PluginMetadataDto ¶
type PluginMetadataDto struct {
Id int `json:"id"`
Name string `json:"name" validate:"required,min=3,max=100,global-entity-name"`
Description string `json:"description" validate:"max=300"`
Type string `json:"type,omitempty" validate:"oneof=SHARED PRESET"` // SHARED, PRESET etc
Icon string `json:"icon,omitempty"`
Tags []string `json:"tags"`
Action int `json:"action,omitempty"`
PluginStage string `json:"pluginStage,omitempty"`
PluginSteps []*PluginStepsDto `json:"pluginSteps,omitempty"`
AreNewTagsPresent bool `json:"areNewTagsPresent,omitempty"`
}
func (*PluginMetadataDto) GetPluginMetadataSqlObj ¶
func (r *PluginMetadataDto) GetPluginMetadataSqlObj(userId int32) *repository.PluginMetadata
type PluginMinDto ¶
type PluginMinDto struct {
ParentPluginId int `json:"id,omitempty"`
PluginName string `json:"name,omitempty"`
Icon string `json:"icon,omitempty"`
PluginVersionId int `json:"pluginVersionId,omitempty"`
Identifier string `json:"pluginIdentifier"`
Type string `json:"type,omitempty"`
}
func NewPluginMinDto ¶ added in v0.7.3
func NewPluginMinDto() *PluginMinDto
func (*PluginMinDto) WithIcon ¶ added in v0.7.3
func (r *PluginMinDto) WithIcon(icon string) *PluginMinDto
func (*PluginMinDto) WithParentPluginId ¶ added in v0.7.3
func (r *PluginMinDto) WithParentPluginId(id int) *PluginMinDto
func (*PluginMinDto) WithPluginIdentifier ¶ added in v1.1.0
func (r *PluginMinDto) WithPluginIdentifier(identifier string) *PluginMinDto
func (*PluginMinDto) WithPluginName ¶ added in v0.7.3
func (r *PluginMinDto) WithPluginName(name string) *PluginMinDto
func (*PluginMinDto) WithPluginType ¶ added in v1.1.0
func (r *PluginMinDto) WithPluginType(pluginType repository.PluginType) *PluginMinDto
func (*PluginMinDto) WithPluginVersionId ¶ added in v0.7.3
func (r *PluginMinDto) WithPluginVersionId(versionId int) *PluginMinDto
type PluginParentMetadataDto ¶
type PluginParentMetadataDto struct {
Id int `json:"id"`
Name string `json:"name" validate:"required,min=3,max=100,global-entity-name"`
PluginIdentifier string `json:"pluginIdentifier" validate:"required,min=3,max=100,global-entity-name"`
Description string `json:"description" validate:"max=300"`
Type string `json:"type,omitempty" validate:"oneof=SHARED PRESET"`
Icon string `json:"icon,omitempty"`
Versions *PluginVersions `json:"pluginVersions"`
}
func NewPluginParentMetadataDto ¶
func NewPluginParentMetadataDto() *PluginParentMetadataDto
func (*PluginParentMetadataDto) WithDescription ¶
func (r *PluginParentMetadataDto) WithDescription(desc string) *PluginParentMetadataDto
func (*PluginParentMetadataDto) WithIcon ¶
func (r *PluginParentMetadataDto) WithIcon(icon string) *PluginParentMetadataDto
func (*PluginParentMetadataDto) WithNameAndId ¶
func (r *PluginParentMetadataDto) WithNameAndId(name string, id int) *PluginParentMetadataDto
func (*PluginParentMetadataDto) WithPluginIdentifier ¶
func (r *PluginParentMetadataDto) WithPluginIdentifier(identifier string) *PluginParentMetadataDto
func (*PluginParentMetadataDto) WithType ¶
func (r *PluginParentMetadataDto) WithType(pluginType string) *PluginParentMetadataDto
func (*PluginParentMetadataDto) WithVersions ¶
func (r *PluginParentMetadataDto) WithVersions(versions *PluginVersions) *PluginParentMetadataDto
type PluginPipelineScript ¶
type PluginPipelineScript struct {
Id int `json:"id"`
Script string `json:"script"`
StoreScriptAt string `json:"storeScriptAt"`
Type repository.ScriptType `json:"type"`
DockerfileExists bool `json:"dockerfileExists"`
MountPath string `json:"mountPath"`
MountCodeToContainer bool `json:"mountCodeToContainer"`
MountCodeToContainerPath string `json:"mountCodeToContainerPath"`
MountDirectoryFromHost bool `json:"mountDirectoryFromHost"`
ContainerImagePath string `json:"containerImagePath"`
ImagePullSecretType repository.ScriptImagePullSecretType `json:"imagePullSecretType"`
ImagePullSecret string `json:"imagePullSecret"`
Deleted bool `json:"deleted"`
PathArgPortMapping []*ScriptPathArgPortMapping `json:"pathArgPortMapping"`
}
type PluginStepCondition ¶
type PluginStepCondition struct {
Id int `json:"id"`
PluginStepId int `json:"pluginStepId"`
ConditionVariableId int `json:"conditionVariableId"` //id of variable on which condition is written
ConditionType repository.PluginStepConditionType `json:"conditionType"`
ConditionalOperator string `json:"conditionalOperator"`
ConditionalValue string `json:"conditionalValue"`
Deleted bool `json:"deleted"`
}
type PluginStepsDto ¶
type PluginStepsDto struct {
Id int `json:"id,pk"`
Name string `json:"name"`
Description string `json:"description"`
Index int `json:"index"`
StepType repository.PluginStepType `json:"stepType"`
RefPluginId int `json:"refPluginId"` //id of plugin used as reference
OutputDirectoryPath []string `json:"outputDirectoryPath"`
DependentOnStep string `json:"dependentOnStep"`
PluginStepVariable []*PluginVariableDto `json:"pluginStepVariable,omitempty"`
PluginPipelineScript *PluginPipelineScript `json:"pluginPipelineScript,omitempty"`
}
type PluginTagsDto ¶
type PluginTagsDto struct {
TagNames []string `json:"tagNames"`
}
func NewPluginTagsDto ¶
func NewPluginTagsDto() *PluginTagsDto
func (*PluginTagsDto) WithTagNames ¶
func (r *PluginTagsDto) WithTagNames(tags []string) *PluginTagsDto
type PluginType ¶ added in v1.1.0
type PluginType string
const ( ALL PluginType = "ALL" PRESET PluginType = "PRESET" SHARED PluginType = "SHARED" )
func GetPluginType ¶ added in v1.1.0
func GetPluginType(t string) PluginType
func (PluginType) ToString ¶ added in v1.1.0
func (r PluginType) ToString() string
type PluginVariableDto ¶
type PluginVariableDto struct {
Id int `json:"id,omitempty"`
Name string `json:"name"`
Format repository.PluginStepVariableFormatType `json:"format"`
Description string `json:"description"`
IsExposed bool `json:"isExposed"`
AllowEmptyValue bool `json:"allowEmptyValue"`
DefaultValue string `json:"defaultValue"`
Value string `json:"value,omitempty"`
VariableType repository.PluginStepVariableType `json:"variableType"`
ValueType repository.PluginStepVariableValueType `json:"valueType,omitempty"`
PreviousStepIndex int `json:"previousStepIndex,omitempty"`
VariableStepIndex int `json:"variableStepIndex"`
VariableStepIndexInPlugin int `json:"variableStepIndexInPlugin"`
ReferenceVariableName string `json:"referenceVariableName,omitempty"`
PluginStepCondition []*PluginStepCondition `json:"pluginStepCondition,omitempty"`
}
func (*PluginVariableDto) GetValue ¶ added in v1.1.0
func (s *PluginVariableDto) GetValue() string
func (*PluginVariableDto) IsEmptyValue ¶ added in v1.1.0
func (s *PluginVariableDto) IsEmptyValue() bool
func (*PluginVariableDto) IsEmptyValueAllowed ¶ added in v1.1.0
func (s *PluginVariableDto) IsEmptyValueAllowed() bool
type PluginVersions ¶
type PluginVersions struct {
DetailedPluginVersionData []*PluginsVersionDetail `json:"detailedPluginVersionData"` // contains detailed data with all input and output variables
MinimalPluginVersionData []*PluginsVersionDetail `json:"minimalPluginVersionData"` // contains only few metadata
}
func NewPluginVersions ¶
func NewPluginVersions() *PluginVersions
func (*PluginVersions) WithDetailedPluginVersionData ¶
func (r *PluginVersions) WithDetailedPluginVersionData(detailedPluginVersionData []*PluginsVersionDetail) *PluginVersions
func (*PluginVersions) WithMinimalPluginVersionData ¶
func (r *PluginVersions) WithMinimalPluginVersionData(minimalPluginVersionData []*PluginsVersionDetail) *PluginVersions
type PluginsDto ¶
type PluginsDto struct {
ParentPlugins []*PluginParentMetadataDto `json:"parentPlugins"`
TotalCount int `json:"totalCount"`
}
func NewPluginsDto ¶
func NewPluginsDto() *PluginsDto
func (*PluginsDto) WithParentPlugins ¶
func (r *PluginsDto) WithParentPlugins(parentPlugins []*PluginParentMetadataDto) *PluginsDto
func (*PluginsDto) WithTotalCount ¶
func (r *PluginsDto) WithTotalCount(count int) *PluginsDto
type PluginsListFilter ¶
type PluginsListFilter struct {
Offset int
Limit int
SearchKey string
Tags []string
FetchAllVersionDetails bool
}
func NewPluginsListFilter ¶
func NewPluginsListFilter() *PluginsListFilter
func (*PluginsListFilter) WithLimit ¶
func (r *PluginsListFilter) WithLimit(limit int) *PluginsListFilter
func (*PluginsListFilter) WithOffset ¶
func (r *PluginsListFilter) WithOffset(offset int) *PluginsListFilter
func (*PluginsListFilter) WithSearchKey ¶
func (r *PluginsListFilter) WithSearchKey(searchKey string) *PluginsListFilter
func (*PluginsListFilter) WithTags ¶
func (r *PluginsListFilter) WithTags(tags []string) *PluginsListFilter
type PluginsVersionDetail ¶
type PluginsVersionDetail struct {
*PluginMetadataDto
InputVariables []*PluginVariableDto `json:"inputVariables"`
OutputVariables []*PluginVariableDto `json:"outputVariables"`
DocLink string `json:"docLink"`
Version string `json:"pluginVersion" validate:"max=50,min=3"`
IsLatest bool `json:"isLatest"`
UpdatedBy string `json:"updatedBy"`
CreatedOn time.Time `json:"-"`
}
func NewPluginsVersionDetail ¶
func NewPluginsVersionDetail() *PluginsVersionDetail
func (*PluginsVersionDetail) SetMinimalPluginsVersionDetail ¶
func (r *PluginsVersionDetail) SetMinimalPluginsVersionDetail(pluginVersionMetadata *repository.PluginMetadata) *PluginsVersionDetail
SetMinimalPluginsVersionDetail sets and return PluginsVersionDetail obj, returns lightweight obj e.g. excluding input and output variables
func (*PluginsVersionDetail) WithCreatedOn ¶
func (r *PluginsVersionDetail) WithCreatedOn(createdOn time.Time) *PluginsVersionDetail
func (*PluginsVersionDetail) WithInputVariables ¶
func (r *PluginsVersionDetail) WithInputVariables(inputVariables []*PluginVariableDto) *PluginsVersionDetail
func (*PluginsVersionDetail) WithLastUpdatedEmail ¶
func (r *PluginsVersionDetail) WithLastUpdatedEmail(email string) *PluginsVersionDetail
func (*PluginsVersionDetail) WithOutputVariables ¶
func (r *PluginsVersionDetail) WithOutputVariables(outputVariables []*PluginVariableDto) *PluginsVersionDetail
func (*PluginsVersionDetail) WithTags ¶
func (r *PluginsVersionDetail) WithTags(tags []string) *PluginsVersionDetail
type RegistryCredentials ¶
type RegistryCredentials struct {
RegistryType string `json:"registryType" validate:"required"`
RegistryURL string `json:"registryURL"`
Username string `json:"username"`
Password string `json:"password"`
AWSAccessKeyId string `json:"awsAccessKeyId,omitempty"`
AWSSecretAccessKey string `json:"awsSecretAccessKey,omitempty"`
AWSRegion string `json:"awsRegion,omitempty"`
}
type ScriptPathArgPortMapping ¶
type ScriptPathArgPortMapping struct {
Id int `json:"id"`
TypeOfMapping repository.ScriptMappingType `json:"typeOfMapping"`
FilePathOnDisk string `json:"filePathOnDisk"`
FilePathOnContainer string `json:"filePathOnContainer"`
Command string `json:"command"`
Args []string `json:"args"`
PortOnLocal int `json:"portOnLocal"`
PortOnContainer int `json:"portOnContainer"`
ScriptId int `json:"scriptId"`
}
Click to show internal directories.
Click to hide internal directories.