Documentation ¶
Index ¶
Constants ¶
View Source
const ( AdvisoryBugfix = "bugfix" AdvisorySecurity = "security" AdvisoryFeature = "feature" )
View Source
const ( // ListRunning means that the list is running QA tasks ListRunning = "running" // ListPending means that the list is pending user intervention ListPending = "pending" // ListSuccess means that all tasks completed successfully ListSuccess = "success" // ListFailed means that the QA tasks failed to complete ListFailed = "failed" LinkMain = "_mainURL" LinkChangelog = "_changelogURL" LinkSCM = "_scmlogURL" ListStageNotStarted = "_stage_pending" ListStageFinished = "_stage_finished" ArtifactBinary = "binary" ArtifactSource = "source" )
View Source
const (
UserSystem = "[System]"
)
Variables ¶
View Source
var ( DBPrefix = conf.GetDefault("database.prefix", "kh_").(string) DBType = conf.GetDefault("database.type", "sqlite3").(string) DBName = conf.GetDefault("database.name", "data.sqlite").(string) DBHost = conf.GetDefault("database.host", "localhost:3306").(string) DBUser = conf.GetDefault("database.user", "root").(string) DBPass = conf.GetDefault("database.pass", "toor").(string) DBDebug = conf.GetDefault("database.debug", false).(bool) DB *gorm.DB )
Functions ¶
func CheckAllListStages ¶
func CheckAllListStages()
CheckAllListStages retrieves all stages that are not on the "success" or "failed" state. For each list, it checks the id (to make sure another goroutine is not already checking it), then fires off a goroutine to handle the check.
Types ¶
type Advisory ¶
type Advisory struct { // we can't use gorm.Model because of ID CreatedAt time.Time UpdatedAt time.Time DeletedAt *time.Time Dialect string `gorm:"primary_key"` Year string `gorm:"primary_key"` AdvisoryID uint `gorm:"primary_key" sql:"AUTO_INCREMENT"` Type string Summary string Description string Lists []List // lists }
type List ¶
type List struct { gorm.Model // -- basic information Name string // project name Platform string // targeted platform Channel string // targeted sub-platform/repository Variants string // variants/architectures (split by ';') // -- contained data Artifacts []ListArtifact Links []ListLink Changes string // provide a field which describes changes, whether textual or diff BuildDate time.Time AdvisoryID uint // link to advisory // -- current stage and activity StageCurrent string // either NotStarted, Finished, or the stage defined in between StageResult string // the status of the stage (running, pending, passed, failed) // (this will only be set from pending or running when the whole list has finished or a stage has failed) Activity []ListActivity // -- current stages (populated during StageNotStarted) PlatformGitConfig string // where we read our configuration from Stages []ListStage // the defined stages // -- last but not least, integration stuff (five string slots for usage) IntegrationName string IntegrationOne string IntegrationTwo string IntegrationThree string IntegrationFour string IntegrationFive string }
func (*List) AddActivity ¶
func (*List) CheckStage ¶
func (l *List) CheckStage()
CheckStage checks the current stage of the list for completion. If so, it pushes the list to the next stage and fires off tasks. If the present stage is StageNotStarted, it populates the rest of the stages.
type ListActivity ¶
type ListActivity struct { gorm.Model ListID uint // link to List UserID uint // link to User Activity string // markdown activity comment }
func (*ListActivity) MailActivity ¶
func (l *ListActivity) MailActivity()
func (*ListActivity) TableName ¶
func (l *ListActivity) TableName() string
type ListArtifact ¶
type ListArtifact struct { gorm.Model ListID uint // link to List Name string Type string Epoch int64 Version string Release string Variant string URL string }
func (*ListArtifact) TableName ¶
func (l *ListArtifact) TableName() string
type ListStage ¶
type ListStage struct { gorm.Model ListID uint // link to List Name string // stage name // -- processes Processes []ListStageProcess }
type ListStageProcess ¶
type ListStageProcess struct { gorm.Model ListStageID uint // link to ListStage Name string // process name Optional bool // if this stage is okay to fail Data []byte // blob data }
func (*ListStageProcess) ParentList ¶
func (l *ListStageProcess) ParentList() *List
func (*ListStageProcess) TableName ¶
func (l *ListStageProcess) TableName() string
type User ¶
type User struct { gorm.Model Username string Email string Integration string APIKey string `json:"-"` Permissions []UserPermission Activities []ListActivity }
func FindUser ¶
FindUser finds the user with the given username. If a user doesn't exist, it creates one and returns it.
func FindUserByAPI ¶
func FindUserByID ¶
FindUserByID attempts to find the user with the given ID; if it doesn't exist, it returns nil.
func FindUserNoCreate ¶
type UserPermission ¶
func (*UserPermission) Save ¶
func (u *UserPermission) Save()
func (*UserPermission) TableName ¶
func (u *UserPermission) TableName() string
Click to show internal directories.
Click to hide internal directories.