mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-12-04 20:38:07 -06:00
[feature] Add domain permission drafts and excludes (#3547)
* [feature] Add domain permission drafts and excludes * fix typescript complaining * lint * make filenames more consistent * test own domain excluded
This commit is contained in:
parent
c2029df9bc
commit
301543616b
69 changed files with 5664 additions and 264 deletions
|
|
@ -22,6 +22,7 @@ import (
|
|||
"net/url"
|
||||
|
||||
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
|
||||
"github.com/superseriousbusiness/gotosocial/internal/paging"
|
||||
)
|
||||
|
||||
// Domain contains DB functions related to domains and domain blocks.
|
||||
|
|
@ -42,6 +43,9 @@ type Domain interface {
|
|||
// GetDomainAllows returns all instance-level domain allows currently enforced by this instance.
|
||||
GetDomainAllows(ctx context.Context) ([]*gtsmodel.DomainAllow, error)
|
||||
|
||||
// UpdateDomainAllow updates the given domain allow, setting the provided columns (empty for all).
|
||||
UpdateDomainAllow(ctx context.Context, allow *gtsmodel.DomainAllow, columns ...string) error
|
||||
|
||||
// DeleteDomainAllow deletes an instance-level domain allow with the given domain, if it exists.
|
||||
DeleteDomainAllow(ctx context.Context, domain string) error
|
||||
|
||||
|
|
@ -57,6 +61,9 @@ type Domain interface {
|
|||
// GetDomainBlocks returns all instance-level domain blocks currently enforced by this instance.
|
||||
GetDomainBlocks(ctx context.Context) ([]*gtsmodel.DomainBlock, error)
|
||||
|
||||
// UpdateDomainBlock updates the given domain block, setting the provided columns (empty for all).
|
||||
UpdateDomainBlock(ctx context.Context, block *gtsmodel.DomainBlock, columns ...string) error
|
||||
|
||||
// DeleteDomainBlock deletes an instance-level domain block with the given domain, if it exists.
|
||||
DeleteDomainBlock(ctx context.Context, domain string) error
|
||||
|
||||
|
|
@ -78,4 +85,51 @@ type Domain interface {
|
|||
// AreURIsBlocked calls IsURIBlocked for each URI.
|
||||
// Will return true if even one of the given URIs is blocked.
|
||||
AreURIsBlocked(ctx context.Context, uris []*url.URL) (bool, error)
|
||||
|
||||
/*
|
||||
Domain permission draft stuff.
|
||||
*/
|
||||
|
||||
// GetDomainPermissionDraftByID gets one DomainPermissionDraft with the given ID.
|
||||
GetDomainPermissionDraftByID(ctx context.Context, id string) (*gtsmodel.DomainPermissionDraft, error)
|
||||
|
||||
// GetDomainPermissionDrafts returns a page of
|
||||
// DomainPermissionDrafts using the given parameters.
|
||||
GetDomainPermissionDrafts(
|
||||
ctx context.Context,
|
||||
permType gtsmodel.DomainPermissionType,
|
||||
permSubID string,
|
||||
domain string,
|
||||
page *paging.Page,
|
||||
) ([]*gtsmodel.DomainPermissionDraft, error)
|
||||
|
||||
// PutDomainPermissionDraft stores one DomainPermissionDraft.
|
||||
PutDomainPermissionDraft(ctx context.Context, permDraft *gtsmodel.DomainPermissionDraft) error
|
||||
|
||||
// DeleteDomainPermissionDraft deletes one DomainPermissionDraft with the given id.
|
||||
DeleteDomainPermissionDraft(ctx context.Context, id string) error
|
||||
|
||||
/*
|
||||
Domain permission exclude stuff.
|
||||
*/
|
||||
|
||||
// GetDomainPermissionExcludeByID gets one DomainPermissionExclude with the given ID.
|
||||
GetDomainPermissionExcludeByID(ctx context.Context, id string) (*gtsmodel.DomainPermissionExclude, error)
|
||||
|
||||
// GetDomainPermissionExcludes returns a page of
|
||||
// DomainPermissionExcludes using the given parameters.
|
||||
GetDomainPermissionExcludes(
|
||||
ctx context.Context,
|
||||
domain string,
|
||||
page *paging.Page,
|
||||
) ([]*gtsmodel.DomainPermissionExclude, error)
|
||||
|
||||
// PutDomainPermissionExclude stores one DomainPermissionExclude.
|
||||
PutDomainPermissionExclude(ctx context.Context, permExclude *gtsmodel.DomainPermissionExclude) error
|
||||
|
||||
// DeleteDomainPermissionExclude deletes one DomainPermissionExclude with the given id.
|
||||
DeleteDomainPermissionExclude(ctx context.Context, id string) error
|
||||
|
||||
// IsDomainPermissionExcluded returns true if the given domain matches in the list of excluded domains.
|
||||
IsDomainPermissionExcluded(ctx context.Context, domain string) (bool, error)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue