gotosocial/vendor/github.com/go-openapi/strfmt
Vyr Cossont fc3741365c
[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>
2024-03-06 18:05:45 +01:00
..
.editorconfig [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00
.gitattributes [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00
.gitignore [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00
.golangci.yml [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00
bson.go [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00
CODE_OF_CONDUCT.md [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00
date.go [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00
default.go [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00
doc.go [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00
duration.go [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00
format.go [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00
LICENSE [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00
README.md [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00
time.go [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00
ulid.go [bugfix] Fix Swagger spec and add test script (#2698) 2024-03-06 18:05:45 +01:00

Strfmt Build Status codecov Slack Status

license GoDoc GolangCI Go Report Card

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.

It also provides convenient extensions to go-openapi users.

  • JSON-schema draft 4 formats
    • date-time
    • email
    • hostname
    • ipv4
    • ipv6
    • uri
  • swagger 2.0 format extensions
    • binary
    • byte (e.g. base64 encoded string)
    • date (e.g. "1970-01-01")
    • password
  • 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)

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