29 lines
1,011 B
Go
29 lines
1,011 B
Go
package storage
|
|
|
|
import (
|
|
"time"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type RemoteServer struct {
|
|
ID string `gorm:"primarykey"` // ID is also server url
|
|
CreatedAt time.Time // When this entry was created
|
|
UpdatedAt time.Time // When this entry was last updated
|
|
// When this entry was deleted (for soft deletions)
|
|
// Soft delete means that this entry still exists in the db, but gorm won't include it anymore unless specifically told to
|
|
// If not null, this entry is marked as deleted
|
|
DeletedAt gorm.DeletedAt `gorm:"index"`
|
|
ServerType RemoteServerType // What software the server is running. Useful for formatting
|
|
Name string // What the server wants to be known as (usually same as url)
|
|
Icon string // ID of a media file
|
|
IsSelf bool // Whether this server is yours truly
|
|
}
|
|
|
|
var placeholderServer = &RemoteServer{
|
|
ID: "placeholder",
|
|
ServerType: REMOTE_SERVER_LINSTROM,
|
|
Name: "placeholder",
|
|
Icon: "placeholder",
|
|
IsSelf: false,
|
|
}
|