summaryrefslogtreecommitdiff
path: root/internal/db/bundb/migrations/20210816411877_struct_validation/block.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/db/bundb/migrations/20210816411877_struct_validation/block.go')
-rw-r--r--internal/db/bundb/migrations/20210816411877_struct_validation/block.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/internal/db/bundb/migrations/20210816411877_struct_validation/block.go b/internal/db/bundb/migrations/20210816411877_struct_validation/block.go
new file mode 100644
index 000000000..61595c12d
--- /dev/null
+++ b/internal/db/bundb/migrations/20210816411877_struct_validation/block.go
@@ -0,0 +1,15 @@
+package gtsmodel
+
+import "time"
+
+// Block refers to the blocking of one account by another.
+type Block struct {
+ ID string `validate:"required,ulid" bun:"type:CHAR(26),pk,nullzero,notnull,unique"` // id of this item in the database
+ CreatedAt time.Time `validate:"-" bun:",nullzero,notnull,default:current_timestamp"` // when was item created
+ UpdatedAt time.Time `validate:"-" bun:",nullzero,notnull,default:current_timestamp"` // when was item last updated
+ URI string `validate:"required,url" bun:",notnull,nullzero,unique"` // ActivityPub uri of this block.
+ AccountID string `validate:"required,ulid" bun:"type:CHAR(26),unique:blocksrctarget,notnull"` // Who does this block originate from?
+ Account *Account `validate:"-" bun:"rel:belongs-to"` // Account corresponding to accountID
+ TargetAccountID string `validate:"required,ulid" bun:"type:CHAR(26),unique:blocksrctarget,notnull"` // Who is the target of this block ?
+ TargetAccount *Account `validate:"-" bun:"rel:belongs-to"` // Account corresponding to targetAccountID
+}