33 lines
651 B
Go
33 lines
651 B
Go
package models
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/jinzhu/gorm"
|
|
|
|
uuid "github.com/satori/go.uuid"
|
|
)
|
|
|
|
// Shared photos and/or albums
|
|
type Share struct {
|
|
ShareUUID string `gorm:"primary_key;auto_increment:false"`
|
|
PhotoID uint
|
|
AlbumID uint
|
|
ShareViews uint
|
|
ShareSecret string
|
|
SharePassword string
|
|
ShareExpires time.Time
|
|
Photo *Photo
|
|
Album *Album
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
DeletedAt *time.Time `sql:"index"`
|
|
}
|
|
|
|
func (Share) TableName() string {
|
|
return "shares"
|
|
}
|
|
|
|
func (s *Share) BeforeCreate(scope *gorm.Scope) error {
|
|
return scope.SetColumn("ShareUUID", uuid.NewV4().String())
|
|
}
|