diff options
Diffstat (limited to 'internal/gtsmodel')
| -rw-r--r-- | internal/gtsmodel/adminaction.go | 5 | ||||
| -rw-r--r-- | internal/gtsmodel/domainpermissionsubscription.go | 90 |
2 files changed, 78 insertions, 17 deletions
diff --git a/internal/gtsmodel/adminaction.go b/internal/gtsmodel/adminaction.go index 5ca8244a0..6374379ce 100644 --- a/internal/gtsmodel/adminaction.go +++ b/internal/gtsmodel/adminaction.go @@ -74,6 +74,7 @@ const ( AdminActionSuspend AdminActionUnsuspend AdminActionExpireKeys + AdminActionUnallow ) func (t AdminActionType) String() string { @@ -92,6 +93,8 @@ func (t AdminActionType) String() string { return "unsuspend" case AdminActionExpireKeys: return "expire-keys" + case AdminActionUnallow: + return "unallow" default: return "unknown" } @@ -113,6 +116,8 @@ func ParseAdminActionType(in string) AdminActionType { return AdminActionUnsuspend case "expire-keys": return AdminActionExpireKeys + case "unallow": + return AdminActionUnallow default: return AdminActionUnknown } diff --git a/internal/gtsmodel/domainpermissionsubscription.go b/internal/gtsmodel/domainpermissionsubscription.go index 724b2164f..2a27fc140 100644 --- a/internal/gtsmodel/domainpermissionsubscription.go +++ b/internal/gtsmodel/domainpermissionsubscription.go @@ -20,23 +20,79 @@ package gtsmodel import "time" type DomainPermissionSubscription struct { - ID string `bun:"type:CHAR(26),pk,nullzero,notnull,unique"` // ID of this item in the database. - Priority uint8 `bun:""` // Priority of this subscription compared to others of the same permission type. 0-255 (higher = higher priority). - Title string `bun:",nullzero,unique"` // Moderator-set title for this list. - PermissionType DomainPermissionType `bun:",nullzero,notnull"` // Permission type of the subscription. - AsDraft *bool `bun:",nullzero,notnull,default:true"` // Create domain permission entries resulting from this subscription as drafts. - AdoptOrphans *bool `bun:",nullzero,notnull,default:false"` // Adopt orphaned domain permissions present in this subscription's entries. - CreatedByAccountID string `bun:"type:CHAR(26),nullzero,notnull"` // Account ID of the creator of this subscription. - CreatedByAccount *Account `bun:"-"` // Account corresponding to createdByAccountID. - URI string `bun:",nullzero,notnull,unique"` // URI of the domain permission list. - ContentType DomainPermSubContentType `bun:",nullzero,notnull"` // Content type to expect from the URI. - FetchUsername string `bun:",nullzero"` // Username to send when doing a GET of URI using basic auth. - FetchPassword string `bun:",nullzero"` // Password to send when doing a GET of URI using basic auth. - FetchedAt time.Time `bun:"type:timestamptz,nullzero"` // Time when fetch of URI was last attempted. - SuccessfullyFetchedAt time.Time `bun:"type:timestamptz,nullzero"` // Time when the domain permission list was last *successfuly* fetched, to be transmitted as If-Modified-Since header. - LastModified time.Time `bun:"type:timestamptz,nullzero"` // "Last-Modified" time received from the server (if any) on last successful fetch. Used for HTTP request caching. - ETag string `bun:"etag,nullzero"` // "ETag" header last received from the server (if any) on last successful fetch. Used for HTTP request caching. - Error string `bun:",nullzero"` // If latest fetch attempt errored, this field stores the error message. Cleared on latest successful fetch. + // ID of this item in the database. + ID string `bun:"type:CHAR(26),pk,nullzero,notnull,unique"` + + // Priority of this subscription compared + // to others of the same permission type. + // 0-255 (higher = higher priority). + Priority uint8 `bun:""` + + // Moderator-set title for this list. + Title string `bun:",nullzero,unique"` + + // Permission type of the subscription. + PermissionType DomainPermissionType `bun:",nullzero,notnull"` + + // Create domain permission entries + // resulting from this subscription as drafts. + AsDraft *bool `bun:",nullzero,notnull,default:true"` + + // Adopt orphaned domain permissions + // present in this subscription's entries. + AdoptOrphans *bool `bun:",nullzero,notnull,default:false"` + + // Account ID of the creator of this subscription. + CreatedByAccountID string `bun:"type:CHAR(26),nullzero,notnull"` + + // Account corresponding to createdByAccountID. + CreatedByAccount *Account `bun:"-"` + + // URI of the domain permission list. + URI string `bun:",nullzero,notnull,unique"` + + // Content type to expect from the URI. + ContentType DomainPermSubContentType `bun:",nullzero,notnull"` + + // Username to send when doing + // a GET of URI using basic auth. + FetchUsername string `bun:",nullzero"` + + // Password to send when doing + // a GET of URI using basic auth. + FetchPassword string `bun:",nullzero"` + + // Time when fetch of URI was last attempted. + FetchedAt time.Time `bun:"type:timestamptz,nullzero"` + + // Time when the domain permission list + // was last *successfuly* fetched, to be + // transmitted as If-Modified-Since header. + SuccessfullyFetchedAt time.Time `bun:"type:timestamptz,nullzero"` + + // "Last-Modified" time received from the + // server (if any) on last successful fetch. + // Used for HTTP request caching. + LastModified time.Time `bun:"type:timestamptz,nullzero"` + + // "ETag" header last received from the + // server (if any) on last successful fetch. + // Used for HTTP request caching. + ETag string `bun:"etag,nullzero"` + + // If latest fetch attempt errored, + // this field stores the error message. + // Cleared on latest successful fetch. + Error string `bun:",nullzero"` + + // If true, then when a list is processed, if the + // list does *not* contain entries that it *did* + // contain previously, ie., retracted entries, + // then domain permissions corresponding to those + // entries will be removed. + // + // If false, they will just be orphaned instead. + RemoveRetracted *bool `bun:",nullzero,notnull,default:true"` } type DomainPermSubContentType enumType |
