mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-30 20:22:25 -05:00 
			
		
		
		
	Remote instances are now dereferenced when they post to an inbox on a GtS instance.
    Dereferencing will be done first by checking the /api/v1/instance endpoint of an instance.
    If that doesn't work, /.well-known/nodeinfo will be checked.
    If that doesn't work, only a minimal representation of the instance will be stored.
A new field was added to the Instance database model. To create it:
alter table instances add column contact_account_username text;
		
	
			
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package gtsmodel
 | |
| 
 | |
| import "time"
 | |
| 
 | |
| // Instance represents a federated instance, either local or remote.
 | |
| type Instance struct {
 | |
| 	// ID of this instance in the database
 | |
| 	ID string `pg:"type:CHAR(26),pk,notnull,unique"`
 | |
| 	// Instance domain eg example.org
 | |
| 	Domain string `pg:",notnull,unique"`
 | |
| 	// Title of this instance as it would like to be displayed.
 | |
| 	Title string
 | |
| 	// base URI of this instance eg https://example.org
 | |
| 	URI string `pg:",notnull,unique"`
 | |
| 	// When was this instance created in the db?
 | |
| 	CreatedAt time.Time `pg:"type:timestamp,notnull,default:now()"`
 | |
| 	// When was this instance last updated in the db?
 | |
| 	UpdatedAt time.Time `pg:"type:timestamp,notnull,default:now()"`
 | |
| 	// When was this instance suspended, if at all?
 | |
| 	SuspendedAt time.Time
 | |
| 	// ID of any existing domain block for this instance in the database
 | |
| 	DomainBlockID string `pg:"type:CHAR(26)"`
 | |
| 	// Short description of this instance
 | |
| 	ShortDescription string
 | |
| 	// Longer description of this instance
 | |
| 	Description string
 | |
| 	// Terms and conditions of this instance
 | |
| 	Terms string
 | |
| 	// Contact email address for this instance
 | |
| 	ContactEmail string
 | |
| 	// Username of the contact account for this instance
 | |
| 	ContactAccountUsername string
 | |
| 	// Contact account ID in the database for this instance
 | |
| 	ContactAccountID string `pg:"type:CHAR(26)"`
 | |
| 	// Reputation score of this instance
 | |
| 	Reputation int64 `pg:",notnull,default:0"`
 | |
| 	// Version of the software used on this instance
 | |
| 	Version string
 | |
| }
 |