mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 08:12:26 -05:00 
			
		
		
		
	[bugfix] Fix Swagger spec and add test script (#2698)
* Add Swagger spec test script * Fix Swagger spec errors not related to statuses with polls * Add API tests that post a status with a poll * Fix creating a status with a poll from form params * Fix Swagger spec errors related to statuses with polls (this is the last error) * Fix Swagger spec warnings not related to unused definitions * Suppress a duplicate list update params definition that was somehow causing wrong param names * Add Swagger test to CI - updates Drone config - vendorizes go-swagger - fixes a file extension issue that caused the test script to generate JSON instead of YAML with the vendorized version * Put `Sample: ` on its own line everywhere * Remove unused id param from emojiCategoriesGet * Add 5 more pairs of profile fields to account update API Swagger * Remove Swagger prefix from dummy fields It makes the generated code look weird * Manually annotate params for statusCreate operation * Fix all remaining Swagger spec warnings - Change some models into operation parameters - Ignore models that already correspond to manually documented operation parameters but can't be trivially changed (those with file fields) * Documented that creating a status with scheduled_at isn't implemented yet * sign drone.yml * Fix filter API Swagger errors * fixup! Fix filter API Swagger errors --------- Co-authored-by: tobi <tobi.smethurst@protonmail.com>
This commit is contained in:
		
					parent
					
						
							
								68c8fe67cc
							
						
					
				
			
			
				commit
				
					
						fc3741365c
					
				
			
		
					 672 changed files with 135624 additions and 713 deletions
				
			
		
							
								
								
									
										88
									
								
								vendor/github.com/go-openapi/strfmt/README.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								vendor/github.com/go-openapi/strfmt/README.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,88 @@ | |||
| # Strfmt [](https://travis-ci.org/go-openapi/strfmt) [](https://codecov.io/gh/go-openapi/strfmt) [](https://slackin.goswagger.io) | ||||
| 
 | ||||
| [](https://raw.githubusercontent.com/go-openapi/strfmt/master/LICENSE) | ||||
| [](http://godoc.org/github.com/go-openapi/strfmt) | ||||
| [](https://golangci.com) | ||||
| [](https://goreportcard.com/report/github.com/go-openapi/strfmt) | ||||
| 
 | ||||
| This package exposes a registry of data types to support string formats in the go-openapi toolkit. | ||||
| 
 | ||||
| strfmt represents a well known string format such as credit card or email. The go toolkit for OpenAPI specifications knows how to deal with those. | ||||
| 
 | ||||
| ## Supported data formats | ||||
| go-openapi/strfmt follows the swagger 2.0 specification with the following formats | ||||
| defined [here](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types). | ||||
| 
 | ||||
| It also provides convenient extensions to go-openapi users. | ||||
| 
 | ||||
| - [x] JSON-schema draft 4 formats | ||||
|   - date-time | ||||
|   - email | ||||
|   - hostname | ||||
|   - ipv4 | ||||
|   - ipv6 | ||||
|   - uri | ||||
| - [x] swagger 2.0 format extensions | ||||
|   - binary | ||||
|   - byte (e.g. base64 encoded string) | ||||
|   - date (e.g. "1970-01-01") | ||||
|   - password | ||||
| - [x] go-openapi custom format extensions | ||||
|   - bsonobjectid (BSON objectID) | ||||
|   - creditcard | ||||
|   - duration (e.g. "3 weeks", "1ms") | ||||
|   - hexcolor (e.g. "#FFFFFF") | ||||
|   - isbn, isbn10, isbn13 | ||||
|   - mac (e.g "01:02:03:04:05:06") | ||||
|   - rgbcolor (e.g. "rgb(100,100,100)") | ||||
|   - ssn | ||||
|   - uuid, uuid3, uuid4, uuid5 | ||||
|   - cidr (e.g. "192.0.2.1/24", "2001:db8:a0b:12f0::1/32") | ||||
|   - ulid (e.g. "00000PP9HGSBSSDZ1JTEXBJ0PW", [spec](https://github.com/ulid/spec)) | ||||
| 
 | ||||
| > NOTE: as the name stands for, this package is intended to support string formatting only. | ||||
| > It does not provide validation for numerical values with swagger format extension for JSON types "number" or | ||||
| > "integer" (e.g. float, double, int32...). | ||||
| 
 | ||||
| ## Type conversion | ||||
| 
 | ||||
| All types defined here are stringers and may be converted to strings with `.String()`. | ||||
| Note that most types defined by this package may be converted directly to string like `string(Email{})`. | ||||
| 
 | ||||
| `Date` and `DateTime` may be converted directly to `time.Time` like `time.Time(Time{})`. | ||||
| Similarly, you can convert `Duration` to `time.Duration` as in `time.Duration(Duration{})` | ||||
| 
 | ||||
| ## Using pointers | ||||
| 
 | ||||
| The `conv` subpackage provides helpers to convert the types to and from pointers, just like `go-openapi/swag` does | ||||
| with primitive types. | ||||
| 
 | ||||
| ## Format types | ||||
| Types defined in strfmt expose marshaling and validation capabilities. | ||||
| 
 | ||||
| List of defined types: | ||||
| - Base64 | ||||
| - CreditCard | ||||
| - Date | ||||
| - DateTime | ||||
| - Duration | ||||
| - Email | ||||
| - HexColor | ||||
| - Hostname | ||||
| - IPv4 | ||||
| - IPv6 | ||||
| - CIDR | ||||
| - ISBN | ||||
| - ISBN10 | ||||
| - ISBN13 | ||||
| - MAC | ||||
| - ObjectId | ||||
| - Password | ||||
| - RGBColor | ||||
| - SSN | ||||
| - URI | ||||
| - UUID | ||||
| - UUID3 | ||||
| - UUID4 | ||||
| - UUID5 | ||||
| - [ULID](https://github.com/ulid/spec) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue