// Code generated by summer make. DO NOT EDIT. package models import ( "time" "git.golem15.com/golem15/summercms/modules/lagoon" "gorm.io/gorm" ) // Meeting is one zjazd: a weekend of classes of the part-time programme. type Meeting struct { ID uint `gorm:"column:id;primaryKey"` Number int `gorm:"column:number"` StartsOn lagoon.Date `gorm:"column:starts_on"` EndsOn lagoon.Date `gorm:"column:ends_on"` Notes *string `gorm:"column:notes"` CreatedAt time.Time `gorm:"column:created_at"` UpdatedAt time.Time `gorm:"column:updated_at"` } // TableName is the plugin table. func (Meeting) TableName() string { return "jz_bm_meetings" } // Fillable lists the columns mass assignment may set. func (Meeting) Fillable() []string { return []string{"number", "starts_on", "ends_on", "notes"} } // Rules are checked by the admin API on every save. func (Meeting) Rules() map[string]string { return map[string]string{ "number": "required|integer|min:1|unique:jz_bm_meetings", "starts_on": "required", "ends_on": "required", } } // TemporalErrors checks the order of the dates, which lagoon.Validate // cannot. The required rules cover missing dates. func (m *Meeting) TemporalErrors() map[string][]string { e := temporalErrors{} if !m.StartsOn.IsZero() && !m.EndsOn.IsZero() && m.EndsOn.Time(nil).Before(m.StartsOn.Time(nil)) { e.add("ends_on", "The ends on must be a date after or equal to starts on.") } return e.result() } // BeforeSave stores NULL for empty optional text. func (m *Meeting) BeforeSave(*gorm.DB) error { blank(&m.Notes) return nil }