diff options
author | 2021-05-09 14:06:06 +0200 | |
---|---|---|
committer | 2021-05-09 14:06:06 +0200 | |
commit | 3363e0ebdd2ad8bde458037b82432bc3dd93adde (patch) | |
tree | 3b105083f75aa47f3872b588403d9e5cf2f45d14 /internal/gtsmodel/instance.go | |
parent | Letsencrypt (#17) (diff) | |
download | gotosocial-3363e0ebdd2ad8bde458037b82432bc3dd93adde.tar.xz |
add api/v1/instance info handler + instance model (#18)
Diffstat (limited to 'internal/gtsmodel/instance.go')
-rw-r--r-- | internal/gtsmodel/instance.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/internal/gtsmodel/instance.go b/internal/gtsmodel/instance.go new file mode 100644 index 000000000..ac7c990e3 --- /dev/null +++ b/internal/gtsmodel/instance.go @@ -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"` +} |