23 lines
853 B
Go
23 lines
853 B
Go
package models
|
|
|
|
import (
|
|
"database/sql"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// RemoteServer describes an ActivityPub server
|
|
// This includes self too
|
|
type RemoteServer struct {
|
|
gorm.Model
|
|
// The software the server is based on (Mastodon+Glitch => Mastodon, Sharkey => Misskey, Akoma => Plemora, etc)
|
|
ServerType ServerSoftwareType
|
|
SpecificType string // Specific software name (Sharkey, Iceshrimp, Akoma, etc)
|
|
Version string
|
|
Domain string // `gorm:"primaryKey"` // Domain the server exists under. Additional primary key
|
|
Name string // What the server wants to be known as (usually same as url)
|
|
Icon *MediaMetadata // The icon used by the server. May be empty
|
|
IconId sql.NullString // ID of a media file
|
|
IsSelf bool // Whether this server is yours truly
|
|
Metadata []RemoteServerMetadata
|
|
}
|