mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
Add reason field for workspace builds (#2438)
* add reason field for workspace build * add the reason field to FE via API * update BuildReasonMember to BuildReasonInitiator * add unit tests * add more unit tests * add error for unknown transition * fix lint * add documentation * fix unit tests * fix generated types * remove nested transaction * rename migration file
This commit is contained in:
@@ -34,6 +34,26 @@ func (e *AuditAction) Scan(src interface{}) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
type BuildReason string
|
||||
|
||||
const (
|
||||
BuildReasonInitiator BuildReason = "initiator"
|
||||
BuildReasonAutostart BuildReason = "autostart"
|
||||
BuildReasonAutostop BuildReason = "autostop"
|
||||
)
|
||||
|
||||
func (e *BuildReason) Scan(src interface{}) error {
|
||||
switch s := src.(type) {
|
||||
case []byte:
|
||||
*e = BuildReason(s)
|
||||
case string:
|
||||
*e = BuildReason(s)
|
||||
default:
|
||||
return fmt.Errorf("unsupported scan type for BuildReason: %T", src)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type LogLevel string
|
||||
|
||||
const (
|
||||
@@ -525,6 +545,7 @@ type WorkspaceBuild struct {
|
||||
ProvisionerState []byte `db:"provisioner_state" json:"provisioner_state"`
|
||||
JobID uuid.UUID `db:"job_id" json:"job_id"`
|
||||
Deadline time.Time `db:"deadline" json:"deadline"`
|
||||
Reason BuildReason `db:"reason" json:"reason"`
|
||||
}
|
||||
|
||||
type WorkspaceResource struct {
|
||||
|
||||
Reference in New Issue
Block a user