hmn/src/models/project.go

54 lines
865 B
Go
Raw Normal View History

package models
import (
"reflect"
"time"
)
2021-05-06 04:04:58 +00:00
const (
HMNProjectID = 1
HMNProjectSlug = "hmn"
)
var ProjectType = reflect.TypeOf(Project{})
2021-05-05 20:34:32 +00:00
type ProjectLifecycle int
const (
ProjectLifecycleUnapproved = iota
ProjectLifecycleApprovalRequired
ProjectLifecycleActive
ProjectLifecycleHiatus
ProjectLifecycleDead
ProjectLifecycleLTSRequired
ProjectLifecycleLTS
)
type Project struct {
ID int `db:"id"`
2021-05-06 04:04:58 +00:00
Slug string `db:"slug"`
Name string `db:"name"`
Blurb string `db:"blurb"`
Description string `db:"description"`
2021-05-05 20:34:32 +00:00
Lifecycle ProjectLifecycle `db:"lifecycle"`
Color1 string `db:"color_1"`
Color2 string `db:"color_2"`
AllLastUpdated time.Time `db:"all_last_updated"`
}
func (p *Project) IsHMN() bool {
return p.ID == HMNProjectID
}
2021-04-22 23:02:50 +00:00
func (p *Project) Subdomain() string {
if p.IsHMN() {
return ""
}
2021-05-06 04:04:58 +00:00
return p.Slug
2021-04-22 23:02:50 +00:00
}