2021-04-19 17:42:19 +00:00
|
|
|
package gtsmodel
|
|
|
|
|
|
|
|
import "time"
|
|
|
|
|
|
|
|
// Block refers to the blocking of one account by another.
|
|
|
|
type Block struct {
|
2021-08-31 17:27:02 +00:00
|
|
|
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
|
2021-04-19 17:42:19 +00:00
|
|
|
}
|