mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-29 19:52:24 -05:00 
			
		
		
		
	[feature] Public list of suspended domains (#1362)
* basic rendered domain blocklist (unauthenticated!) * style basic domain block list * better formatting for domain blocklist * add opt-in config option for showing suspended domains * format/linter * re-use InstancePeersGet for web-accessible domain blocklist * reword explanation, border styling * always attach blocklist handler, update error message * domain blocklist error message grammar
This commit is contained in:
		
					parent
					
						
							
								993aae5e48
							
						
					
				
			
			
				commit
				
					
						17eecfb6d9
					
				
			
		
					 17 changed files with 265 additions and 66 deletions
				
			
		|  | @ -28,7 +28,6 @@ import ( | |||
| 	"github.com/superseriousbusiness/gotosocial/internal/db" | ||||
| 	"github.com/superseriousbusiness/gotosocial/internal/gtserror" | ||||
| 	"github.com/superseriousbusiness/gotosocial/internal/gtsmodel" | ||||
| 	"github.com/superseriousbusiness/gotosocial/internal/oauth" | ||||
| 	"github.com/superseriousbusiness/gotosocial/internal/text" | ||||
| 	"github.com/superseriousbusiness/gotosocial/internal/util" | ||||
| 	"github.com/superseriousbusiness/gotosocial/internal/validate" | ||||
|  | @ -48,15 +47,10 @@ func (p *processor) InstanceGet(ctx context.Context, domain string) (*apimodel.I | |||
| 	return ai, nil | ||||
| } | ||||
| 
 | ||||
| func (p *processor) InstancePeersGet(ctx context.Context, authed *oauth.Auth, includeSuspended bool, includeOpen bool, flat bool) (interface{}, gtserror.WithCode) { | ||||
| func (p *processor) InstancePeersGet(ctx context.Context, includeSuspended bool, includeOpen bool, flat bool) (interface{}, gtserror.WithCode) { | ||||
| 	domains := []*apimodel.Domain{} | ||||
| 
 | ||||
| 	if includeOpen { | ||||
| 		if !config.GetInstanceExposePeers() && (authed.Account == nil || authed.User == nil) { | ||||
| 			err := fmt.Errorf("peers open query requires an authenticated account/user") | ||||
| 			return nil, gtserror.NewErrorUnauthorized(err, err.Error()) | ||||
| 		} | ||||
| 
 | ||||
| 		instances, err := p.db.GetInstancePeers(ctx, false) | ||||
| 		if err != nil && err != db.ErrNoEntries { | ||||
| 			err = fmt.Errorf("error selecting instance peers: %s", err) | ||||
|  | @ -70,11 +64,6 @@ func (p *processor) InstancePeersGet(ctx context.Context, authed *oauth.Auth, in | |||
| 	} | ||||
| 
 | ||||
| 	if includeSuspended { | ||||
| 		if !config.GetInstanceExposeSuspended() && (authed.Account == nil || authed.User == nil) { | ||||
| 			err := fmt.Errorf("peers suspended query requires an authenticated account/user") | ||||
| 			return nil, gtserror.NewErrorUnauthorized(err, err.Error()) | ||||
| 		} | ||||
| 
 | ||||
| 		domainBlocks := []*gtsmodel.DomainBlock{} | ||||
| 		if err := p.db.GetAll(ctx, &domainBlocks); err != nil && err != db.ErrNoEntries { | ||||
| 			return nil, gtserror.NewErrorInternalError(err) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue