| 
									
										
										
										
											2021-05-09 14:06:06 +02:00
										 |  |  | 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:uuid,default:gen_random_uuid(),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? | 
					
						
							| 
									
										
										
										
											2021-05-09 20:34:27 +02:00
										 |  |  | 	UpdatedAt time.Time `pg:"type:timestamp,notnull,default:now()"` | 
					
						
							| 
									
										
										
										
											2021-05-09 14:06:06 +02:00
										 |  |  | 	// 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 | 
					
						
							|  |  |  | 	// Short description of this instance | 
					
						
							|  |  |  | 	ShortDescription string | 
					
						
							|  |  |  | 	// Longer description of this instance | 
					
						
							|  |  |  | 	Description string | 
					
						
							|  |  |  | 	// Contact email address for this instance | 
					
						
							|  |  |  | 	ContactEmail string | 
					
						
							|  |  |  | 	// Contact account ID in the database for this instance | 
					
						
							|  |  |  | 	ContactAccountID string | 
					
						
							|  |  |  | 	// Reputation score of this instance | 
					
						
							|  |  |  | 	Reputation int64 `pg:",notnull,default:0"` | 
					
						
							| 
									
										
										
										
											2021-05-22 15:51:20 +02:00
										 |  |  | 	// Version of the software used on this instance | 
					
						
							|  |  |  | 	Version string | 
					
						
							| 
									
										
										
										
											2021-05-09 14:06:06 +02:00
										 |  |  | } |