2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								/ * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   GoToSocial 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   Copyright  ( C )  2021  GoToSocial  Authors  admin @ gotosocial . org 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   This  program  is  free  software :  you  can  redistribute  it  and / or  modify 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   it  under  the  terms  of  the  GNU  Affero  General  Public  License  as  published  by 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   the  Free  Software  Foundation ,  either  version  3  of  the  License ,  or 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   ( at  your  option )  any  later  version . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   This  program  is  distributed  in  the  hope  that  it  will  be  useful , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   but  WITHOUT  ANY  WARRANTY ;  without  even  the  implied  warranty  of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR  PURPOSE .   See  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   GNU  Affero  General  Public  License  for  more  details . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   You  should  have  received  a  copy  of  the  GNU  Affero  General  Public  License 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   along  with  this  program .   If  not ,  see  < http : //www.gnu.org/licenses/>. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* / 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								package  model 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Status represents a status or post. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// swagger:model status 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								type  Status  struct  { 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// ID of the status. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// example: 01FBVD42CQ3ZEEVMW180SBX03B 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									ID  string  ` json:"id" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// The date when this status was created (ISO 8601 Datetime). 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// example: 2021-07-30T09:20:25+00:00 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									CreatedAt  string  ` json:"created_at" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// ID of the status being replied to. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// example: 01FBVD42CQ3ZEEVMW180SBX03B 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									InReplyToID  string  ` json:"in_reply_to_id,omitempty" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									// ID of the account being replied to. 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// example: 01FBVD42CQ3ZEEVMW180SBX03B 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									InReplyToAccountID  string  ` json:"in_reply_to_account_id,omitempty" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// Status contains sensitive content. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// example: false 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									Sensitive  bool  ` json:"sensitive" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// Subject, summary, or content warning for the status. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// example: warning nsfw 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-27 16:06:24 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									SpoilerText  string  ` json:"spoiler_text" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									// Visibility of this status. 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// example: unlisted 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									Visibility  Visibility  ` json:"visibility" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// Primary language of this status (ISO 639 Part 1 two-letter language code). 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// example: en 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									Language  string  ` json:"language" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// ActivityPub URI of the status. Equivalent to the status's activitypub ID. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// example: https://example.org/users/some_user/statuses/01FBVD42CQ3ZEEVMW180SBX03B 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									URI  string  ` json:"uri" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// The status's publicly available web URL. This link will only work if the visibility of the status is 'public'. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// example: https://example.org/@some_user/statuses/01FBVD42CQ3ZEEVMW180SBX03B 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									URL  string  ` json:"url" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// Number of replies to this status, according to our instance. 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									RepliesCount  int  ` json:"replies_count" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// Number of times this status has been boosted/reblogged, according to our instance. 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									ReblogsCount  int  ` json:"reblogs_count" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// Number of favourites/likes this status has received, according to our instance. 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									FavouritesCount  int  ` json:"favourites_count" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// This status has been favourited by the account viewing it. 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									Favourited  bool  ` json:"favourited" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// This status has been boosted/reblogged by the account viewing it. 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									Reblogged  bool  ` json:"reblogged" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// Replies to this status have been muted by the account viewing it. 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									Muted  bool  ` json:"muted" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// This status has been bookmarked by the account viewing it. 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									Bookmarked  bool  ` json:"bookmarked" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// This status has been pinned by the account viewing it (only relevant for your own statuses). 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-17 19:06:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									Pinned  bool  ` json:"pinned,omitempty" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// The content of this status. Should be HTML, but might also be plaintext in some cases. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// example: <p>Hey this is a status!</p> 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									Content  string  ` json:"content" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// The status that this status is a reblog/boost of. 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									Reblog  * Status  ` json:"reblog,omitempty" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// The application used to post this status, if visible. 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-11 14:30:14 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									Application  * Application  ` json:"application" ` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// The account that authored this status. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									Account  * Account  ` json:"account" ` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// Media that is attached to this status. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									MediaAttachments  [ ] Attachment  ` json:"media_attachments" ` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// Mentions of users within the status content. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									Mentions  [ ] Mention  ` json:"mentions" ` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// Hashtags used within the status content. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									Tags  [ ] Tag  ` json:"tags" ` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// Custom emoji to be used when rendering status content. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									Emojis  [ ] Emoji  ` json:"emojis" ` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// Preview card for links included within status content. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									Card  * Card  ` json:"card" ` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// The poll attached to the status. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									Poll  * Poll  ` json:"poll" ` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// Plain-text source of a status. Returned instead of content when status is deleted, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// so the user may redraft from the source text without the client having to reverse-engineer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// the original text from the HTML content. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									Text  string  ` json:"text" ` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// StatusCreateRequest represents a mastodon-api status POST request, as defined here: https://docs.joinmastodon.org/methods/statuses/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// It should be used at the path https://mastodon.example/api/v1/statuses 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								type  StatusCreateRequest  struct  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// Text content of the status. If media_ids is provided, this becomes optional. Attaching a poll is optional while status is provided. 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-17 19:06:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									Status  string  ` form:"status" json:"status" xml:"status" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// Array of Attachment ids to be attached as media. If provided, status becomes optional, and poll cannot be used. 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-10 16:29:05 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									MediaIDs  [ ] string  ` form:"media_ids" json:"media_ids" xml:"media_ids" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// Poll to include with this status. 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-17 19:06:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									Poll  * PollRequest  ` form:"poll" json:"poll" xml:"poll" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// ID of the status being replied to, if status is a reply 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-17 19:06:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									InReplyToID  string  ` form:"in_reply_to_id" json:"in_reply_to_id" xml:"in_reply_to_id" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// Mark status and attached media as sensitive? 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-17 19:06:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									Sensitive  bool  ` form:"sensitive" json:"sensitive" xml:"sensitive" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// Text to be shown as a warning or subject before the actual content. Statuses are generally collapsed behind this field. 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-17 19:06:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									SpoilerText  string  ` form:"spoiler_text" json:"spoiler_text" xml:"spoiler_text" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// Visibility of the posted status. Enumerable oneOf public, unlisted, private, direct. 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-17 19:06:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									Visibility  Visibility  ` form:"visibility" json:"visibility" xml:"visibility" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// ISO 8601 Datetime at which to schedule a status. Providing this paramter will cause ScheduledStatus to be returned instead of Status. Must be at least 5 minutes in the future. 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-17 19:06:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									ScheduledAt  string  ` form:"scheduled_at" json:"scheduled_at" xml:"scheduled_at" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// ISO 639 language code for this status. 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-17 19:06:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									Language  string  ` form:"language" json:"language" xml:"language" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-26 20:25:54 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// Format in which to parse the submitted status. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// Can be either plain or markdown. Empty will default to plain. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									Format  StatusFormat  ` form:"format" json:"format" xml:"format" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Visibility denotes the visibility of a status to other users. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// swagger:model statusVisibility 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								type  Visibility  string 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								const  ( 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// VisibilityPublic is visible to everyone, and will be available via the web even for nonauthenticated users. 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									VisibilityPublic  Visibility  =  "public" 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// VisibilityUnlisted is visible to everyone, but only on home timelines, lists, etc. 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									VisibilityUnlisted  Visibility  =  "unlisted" 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// VisibilityPrivate is visible only to followers of the account that posted the status. 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									VisibilityPrivate  Visibility  =  "private" 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-31 17:49:59 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// VisibilityMutualsOnly is visible only to mutual followers of the account that posted the status. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									VisibilityMutualsOnly  Visibility  =  "mutuals_only" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// VisibilityDirect is visible only to accounts tagged in the status. It is equivalent to a direct message. 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									VisibilityDirect  Visibility  =  "direct" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								) 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-05-15 11:58:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// AdvancedStatusCreateForm wraps the mastodon status create form along with the GTS advanced 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// visibility settings. 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								type  AdvancedStatusCreateForm  struct  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									StatusCreateRequest 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									AdvancedVisibilityFlagsForm 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-05-15 11:58:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// AdvancedVisibilityFlagsForm allows a few more advanced flags to be set on new statuses, in addition 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// to the standard mastodon-compatible ones. 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								type  AdvancedVisibilityFlagsForm  struct  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									// The gotosocial visibility model 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-17 19:06:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									VisibilityAdvanced  * string  ` form:"visibility_advanced" json:"visibility_advanced" xml:"visibility_advanced" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// This status will be federated beyond the local timeline(s) 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-17 19:06:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									Federated  * bool  ` form:"federated" json:"federated" xml:"federated" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// This status can be boosted/reblogged 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-17 19:06:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									Boostable  * bool  ` form:"boostable" json:"boostable" xml:"boostable" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// This status can be replied to 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-17 19:06:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									Replyable  * bool  ` form:"replyable" json:"replyable" xml:"replyable" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									// This status can be liked/faved 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-17 19:06:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									Likeable  * bool  ` form:"likeable" json:"likeable" xml:"likeable" ` 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-26 20:25:54 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// StatusFormat determines what kind of format a submitted status should be parsed in 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								type  StatusFormat  string 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// StatusFormatPlain expects a plaintext status which will then be formatted into html. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								const  StatusFormatPlain  StatusFormat  =  "plain" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// StatusFormatMarkdown expects a markdown formatted status, which will then be formatted into html. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								const  StatusFormatMarkdown  StatusFormat  =  "markdown" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// StatusFormatDefault is the format that should be used when nothing else is specified. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								const  StatusFormatDefault  StatusFormat  =  StatusFormatPlain