mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 20:34:37 +03:00
* Move main to cmd * Move api to internal * Move logger and manager to internal * Move shell hiding code to separate package * Decouple job from desktop and utils * Decouple session from config * Move static into internal * Decouple config from dlna * Move desktop to internal * Move dlna to internal * Decouple remaining packages from config * Move config into internal * Move jsonschema and paths to models * Make ffmpeg functions private * Move file utility methods into fsutil package * Move symwalk into fsutil * Move single-use util functions into client package * Move slice functions to separate packages * Add env var to suppress windowsgui arg * Move hash functions into separate package * Move identify to internal * Move autotag to internal * Touch UI when generating backend
55 lines
2.2 KiB
Go
55 lines
2.2 KiB
Go
package models
|
|
|
|
import (
|
|
"database/sql"
|
|
"time"
|
|
|
|
"github.com/stashapp/stash/pkg/hash/md5"
|
|
)
|
|
|
|
type Studio struct {
|
|
ID int `db:"id" json:"id"`
|
|
Checksum string `db:"checksum" json:"checksum"`
|
|
Name sql.NullString `db:"name" json:"name"`
|
|
URL sql.NullString `db:"url" json:"url"`
|
|
ParentID sql.NullInt64 `db:"parent_id,omitempty" json:"parent_id"`
|
|
CreatedAt SQLiteTimestamp `db:"created_at" json:"created_at"`
|
|
UpdatedAt SQLiteTimestamp `db:"updated_at" json:"updated_at"`
|
|
Rating sql.NullInt64 `db:"rating" json:"rating"`
|
|
Details sql.NullString `db:"details" json:"details"`
|
|
}
|
|
|
|
type StudioPartial struct {
|
|
ID int `db:"id" json:"id"`
|
|
Checksum *string `db:"checksum" json:"checksum"`
|
|
Name *sql.NullString `db:"name" json:"name"`
|
|
URL *sql.NullString `db:"url" json:"url"`
|
|
ParentID *sql.NullInt64 `db:"parent_id,omitempty" json:"parent_id"`
|
|
CreatedAt *SQLiteTimestamp `db:"created_at" json:"created_at"`
|
|
UpdatedAt *SQLiteTimestamp `db:"updated_at" json:"updated_at"`
|
|
Rating *sql.NullInt64 `db:"rating" json:"rating"`
|
|
Details *sql.NullString `db:"details" json:"details"`
|
|
}
|
|
|
|
var DefaultStudioImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4wgVBQsJl1CMZAAAASJJREFUeNrt3N0JwyAYhlEj3cj9R3Cm5rbkqtAP+qrnGaCYHPwJpLlaa++mmLpbAERAgAgIEAEBIiBABERAgAgIEAEBIiBABERAgAgIEAHZuVflj40x4i94zhk9vqsVvEq6AsQqMP1EjORx20OACAgQRRx7T+zzcFBxcjNDfoB4ntQqTm5Awo7MlqywZxcgYQ+RlqywJ3ozJAQCSBiEJSsQA0gYBpDAgAARECACAkRAgAgIEAERECACAmSjUv6eAOSB8m8YIGGzBUjYbAESBgMkbBkDEjZbgITBAClcxiqQvEoatreYIWEBASIgJ4Gkf11ntXH3nS9uxfGWfJ5J9hAgAgJEQAQEiIAAERAgAgJEQAQEiIAAERAgAgJEQAQEiL7qBuc6RKLHxr0CAAAAAElFTkSuQmCC"
|
|
|
|
func NewStudio(name string) *Studio {
|
|
currentTime := time.Now()
|
|
return &Studio{
|
|
Checksum: md5.FromString(name),
|
|
Name: sql.NullString{String: name, Valid: true},
|
|
CreatedAt: SQLiteTimestamp{Timestamp: currentTime},
|
|
UpdatedAt: SQLiteTimestamp{Timestamp: currentTime},
|
|
}
|
|
}
|
|
|
|
type Studios []*Studio
|
|
|
|
func (s *Studios) Append(o interface{}) {
|
|
*s = append(*s, o.(*Studio))
|
|
}
|
|
|
|
func (s *Studios) New() interface{} {
|
|
return &Studio{}
|
|
}
|