mirror of https://github.com/stashapp/stash.git
63 lines
2.6 KiB
Go
63 lines
2.6 KiB
Go
package models
|
|
|
|
import (
|
|
"database/sql"
|
|
"time"
|
|
|
|
"github.com/stashapp/stash/pkg/utils"
|
|
)
|
|
|
|
type Movie struct {
|
|
ID int `db:"id" json:"id"`
|
|
Checksum string `db:"checksum" json:"checksum"`
|
|
Name sql.NullString `db:"name" json:"name"`
|
|
Aliases sql.NullString `db:"aliases" json:"aliases"`
|
|
Duration sql.NullInt64 `db:"duration" json:"duration"`
|
|
Date SQLiteDate `db:"date" json:"date"`
|
|
Rating sql.NullInt64 `db:"rating" json:"rating"`
|
|
StudioID sql.NullInt64 `db:"studio_id,omitempty" json:"studio_id"`
|
|
Director sql.NullString `db:"director" json:"director"`
|
|
Synopsis sql.NullString `db:"synopsis" json:"synopsis"`
|
|
URL sql.NullString `db:"url" json:"url"`
|
|
CreatedAt SQLiteTimestamp `db:"created_at" json:"created_at"`
|
|
UpdatedAt SQLiteTimestamp `db:"updated_at" json:"updated_at"`
|
|
}
|
|
|
|
type MoviePartial struct {
|
|
ID int `db:"id" json:"id"`
|
|
Checksum *string `db:"checksum" json:"checksum"`
|
|
Name *sql.NullString `db:"name" json:"name"`
|
|
Aliases *sql.NullString `db:"aliases" json:"aliases"`
|
|
Duration *sql.NullInt64 `db:"duration" json:"duration"`
|
|
Date *SQLiteDate `db:"date" json:"date"`
|
|
Rating *sql.NullInt64 `db:"rating" json:"rating"`
|
|
StudioID *sql.NullInt64 `db:"studio_id,omitempty" json:"studio_id"`
|
|
Director *sql.NullString `db:"director" json:"director"`
|
|
Synopsis *sql.NullString `db:"synopsis" json:"synopsis"`
|
|
URL *sql.NullString `db:"url" json:"url"`
|
|
CreatedAt *SQLiteTimestamp `db:"created_at" json:"created_at"`
|
|
UpdatedAt *SQLiteTimestamp `db:"updated_at" json:"updated_at"`
|
|
}
|
|
|
|
var DefaultMovieImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4wgVBQsJl1CMZAAAASJJREFUeNrt3N0JwyAYhlEj3cj9R3Cm5rbkqtAP+qrnGaCYHPwJpLlaa++mmLpbAERAgAgIEAEBIiBABERAgAgIEAEBIiBABERAgAgIEAHZuVflj40x4i94zhk9vqsVvEq6AsQqMP1EjORx20OACAgQRRx7T+zzcFBxcjNDfoB4ntQqTm5Awo7MlqywZxcgYQ+RlqywJ3ozJAQCSBiEJSsQA0gYBpDAgAARECACAkRAgAgIEAERECACAmSjUv6eAOSB8m8YIGGzBUjYbAESBgMkbBkDEjZbgITBAClcxiqQvEoatreYIWEBASIgJ4Gkf11ntXH3nS9uxfGWfJ5J9hAgAgJEQAQEiIAAERAgAgJEQAQEiIAAERAgAgJEQAQEiL7qBuc6RKLHxr0CAAAAAElFTkSuQmCC"
|
|
|
|
func NewMovie(name string) *Movie {
|
|
currentTime := time.Now()
|
|
return &Movie{
|
|
Checksum: utils.MD5FromString(name),
|
|
Name: sql.NullString{String: name, Valid: true},
|
|
CreatedAt: SQLiteTimestamp{Timestamp: currentTime},
|
|
UpdatedAt: SQLiteTimestamp{Timestamp: currentTime},
|
|
}
|
|
}
|
|
|
|
type Movies []*Movie
|
|
|
|
func (m *Movies) Append(o interface{}) {
|
|
*m = append(*m, o.(*Movie))
|
|
}
|
|
|
|
func (m *Movies) New() interface{} {
|
|
return &Movie{}
|
|
}
|