add api/v1/instance info handler + instance model (#18)

This commit is contained in:
Tobi Smethurst
2021-05-09 14:06:06 +02:00
committed by GitHub
parent 0cbab627c7
commit 3363e0ebdd
11 changed files with 222 additions and 22 deletions

View File

@ -0,0 +1,33 @@
package gtsmodel
import "time"
// Instance represents a federated instance, either local or remote.
type Instance struct {
// ID of this instance in the database
ID string `pg:"type:uuid,default:gen_random_uuid(),pk,notnull,unique"`
// Instance domain eg example.org
Domain string `pg:",notnull,unique"`
// Title of this instance as it would like to be displayed.
Title string
// base URI of this instance eg https://example.org
URI string `pg:",notnull,unique"`
// When was this instance created in the db?
CreatedAt time.Time `pg:"type:timestamp,notnull,default:now()"`
// When was this instance last updated in the db?
UpdatedAt time.Time `pg:"type:timestamp,notnull,default:now()"`
// When was this instance suspended, if at all?
SuspendedAt time.Time
// ID of any existing domain block for this instance in the database
DomainBlockID string
// Short description of this instance
ShortDescription string
// Longer description of this instance
Description string
// Contact email address for this instance
ContactEmail string
// Contact account ID in the database for this instance
ContactAccountID string
// Reputation score of this instance
Reputation int64 `pg:",notnull,default:0"`
}