mirror of https://github.com/statping/statping
				
				
				
			
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
| // Statping
 | |
| // Copyright (C) 2018.  Hunter Long and the project contributors
 | |
| // Written by Hunter Long <info@socialeck.com> and the project contributors
 | |
| //
 | |
| // https://github.com/hunterlong/statping
 | |
| //
 | |
| // The licenses for most software and other practical works are designed
 | |
| // to take away your freedom to share and change the works.  By contrast,
 | |
| // the GNU General Public License is intended to guarantee your freedom to
 | |
| // share and change all versions of a program--to make sure it remains free
 | |
| // software for all its users.
 | |
| //
 | |
| // You should have received a copy of the GNU General Public License
 | |
| // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | |
| 
 | |
| package types
 | |
| 
 | |
| import (
 | |
| 	"time"
 | |
| )
 | |
| 
 | |
| // Message is for creating Announcements, Alerts and other messages for the end users
 | |
| type Message struct {
 | |
| 	Id                int64     `gorm:"primary_key;column:id" json:"id"`
 | |
| 	Title             string    `gorm:"column:title" json:"title"`
 | |
| 	Description       string    `gorm:"column:description" json:"description"`
 | |
| 	StartOn           time.Time `gorm:"column:start_on" json:"start_on"`
 | |
| 	EndOn             time.Time `gorm:"column:end_on" json:"end_on"`
 | |
| 	ServiceId         int64     `gorm:"index;column:service" json:"service"`
 | |
| 	NotifyUsers       NullBool  `gorm:"column:notify_users" json:"notify_users"`
 | |
| 	NotifyMethod      string    `gorm:"column:notify_method" json:"notify_method"`
 | |
| 	NotifyBefore      NullInt64 `gorm:"column:notify_before" json:"notify_before"`
 | |
| 	NotifyBeforeScale string    `gorm:"column:notify_before_scale" json:"notify_before_scale"`
 | |
| 	CreatedAt         time.Time `gorm:"column:created_at" json:"created_at" json:"created_at"`
 | |
| 	UpdatedAt         time.Time `gorm:"column:updated_at" json:"updated_at" json:"updated_at"`
 | |
| }
 | |
| 
 | |
| // BeforeCreate for Message will set CreatedAt to UTC
 | |
| func (u *Message) BeforeCreate() (err error) {
 | |
| 	if u.CreatedAt.IsZero() {
 | |
| 		u.CreatedAt = time.Now().UTC()
 | |
| 		u.UpdatedAt = time.Now().UTC()
 | |
| 	}
 | |
| 	return
 | |
| }
 |