linstrom/storage/serverTypes.go
2024-05-31 11:54:39 +02:00

33 lines
758 B
Go

package storage
import (
"database/sql/driver"
"errors"
)
// Mostly important for rendering
type RemoteServerType string
const (
// Includes forks like glitch-soc, etc
REMOTE_SERVER_MASTODON = RemoteServerType("Mastodon")
// Includes forks like Ice Shrimp, Sharkey, Cutiekey, etc
REMOTE_SERVER_MISSKEY = RemoteServerType("Misskey")
// Includes Akkoma
REMOTE_SERVER_PLEMORA = RemoteServerType("Plemora")
// And of course, yours truly
REMOTE_SERVER_LINSTROM = RemoteServerType("Linstrom")
)
func (r *RemoteServerType) Value() (driver.Value, error) {
return r, nil
}
func (r *RemoteServerType) Scan(raw any) error {
if v, ok := raw.(string); ok {
*r = RemoteServerType(v)
return nil
} else {
return errors.New("value not a string")
}
}