summaryrefslogtreecommitdiff
path: root/internal/gtsmodel/instance.go
diff options
context:
space:
mode:
authorLibravatar Tobi Smethurst <31960611+tsmethurst@users.noreply.github.com>2021-05-09 14:06:06 +0200
committerLibravatar GitHub <noreply@github.com>2021-05-09 14:06:06 +0200
commit3363e0ebdd2ad8bde458037b82432bc3dd93adde (patch)
tree3b105083f75aa47f3872b588403d9e5cf2f45d14 /internal/gtsmodel/instance.go
parentLetsencrypt (#17) (diff)
downloadgotosocial-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.go33
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"`
+}