package models import ( "time" "github.com/bluesky-social/indigo/atproto/syntax" ) // Repo names the repository a site deploys from. type Repo struct { Did string Name string Knot string Rkey string RepoDid string } type SiteDeployStatus string const ( SiteDeployStatusSuccess SiteDeployStatus = "success" SiteDeployStatusFailure SiteDeployStatus = "failure" ) type SiteDeployTrigger string const ( SiteDeployTriggerConfigChange SiteDeployTrigger = "config_change" SiteDeployTriggerPush SiteDeployTrigger = "push" SiteDeployTriggerManual SiteDeployTrigger = "manual" ) // ParseSiteDeployTrigger maps a wire trigger name to its constant; empty is not a trigger. func ParseSiteDeployTrigger(name string) (SiteDeployTrigger, bool) { switch t := SiteDeployTrigger(name); t { case SiteDeployTriggerConfigChange, SiteDeployTriggerPush, SiteDeployTriggerManual: return t, true default: return "", false } } type SiteDeploy struct { Id int64 RepoDid syntax.DID Branch string Dir string CommitSHA string Status SiteDeployStatus Trigger SiteDeployTrigger Error string CreatedAt time.Time }