mirror of
https://github.com/anyproto/anytype-heart.git
synced 2025-06-11 18:20:33 +09:00
GO-4459: Upgrade to OpenAPI specification v3.1 and swaggo/swag v2
This commit is contained in:
parent
ce783a72e3
commit
0a0ef5317d
13 changed files with 1287 additions and 5397 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
|
@ -21,6 +21,7 @@ import (
|
|||
// @Failure 400 {object} util.ValidationError "Bad request"
|
||||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces/{space_id}/objects/{object_id}/export/{format} [post]
|
||||
func GetObjectExportHandler(s *ExportService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
|
|
@ -13,7 +13,6 @@ import (
|
|||
//
|
||||
// @Summary Get objects in list
|
||||
// @Tags lists
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param space_id path string true "Space ID"
|
||||
// @Param list_id path string true "List ID"
|
||||
|
@ -23,6 +22,7 @@ import (
|
|||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 404 {object} util.NotFoundError "Not found"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /v1/spaces/{space_id}/lists/{list_id}/objects [get]
|
||||
func GetObjectsInListHandler(s *ListService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
@ -60,6 +60,7 @@ func GetObjectsInListHandler(s *ListService) gin.HandlerFunc {
|
|||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 404 {object} util.NotFoundError "Not found"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /v1/spaces/{space_id}/lists/{list_id}/objects [post]
|
||||
func AddObjectsToListHandler(s *ListService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
@ -88,34 +89,28 @@ func AddObjectsToListHandler(s *ListService) gin.HandlerFunc {
|
|||
}
|
||||
}
|
||||
|
||||
// RemoveObjectsFromListHandler
|
||||
// RemoveObjectFromListHandler
|
||||
//
|
||||
// @Summary Remove objects from list
|
||||
// @Summary Remove object from list
|
||||
// @Tags lists
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param space_id path string true "Space ID"
|
||||
// @Param list_id path string true "List ID"
|
||||
// @Param objects body []string true "List of object IDs"
|
||||
// @Param object_id path string true "Object ID"
|
||||
// @Success 200 {object} string "Objects removed successfully"
|
||||
// @Failure 400 {object} util.ValidationError "Bad request"
|
||||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 404 {object} util.NotFoundError "Not found"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Router /v1/spaces/{space_id}/lists/{list_id}/objects [delete]
|
||||
func RemoveObjectsFromListHandler(s *ListService) gin.HandlerFunc {
|
||||
// @Security bearerauth
|
||||
// @Router /v1/spaces/{space_id}/lists/{list_id}/objects/{object_id} [delete]
|
||||
func RemoveObjectFromListHandler(s *ListService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
spaceId := c.Param("space_id")
|
||||
listId := c.Param("list_id")
|
||||
objectId := c.Param("object_id")
|
||||
|
||||
objects := []string{}
|
||||
if err := c.ShouldBindJSON(&objects); err != nil {
|
||||
apiErr := util.CodeToAPIError(http.StatusBadRequest, err.Error())
|
||||
c.JSON(http.StatusBadRequest, apiErr)
|
||||
return
|
||||
}
|
||||
|
||||
err := s.RemoveObjectsFromList(c, spaceId, listId, objects)
|
||||
err := s.RemoveObjectFromList(c, spaceId, listId, objectId)
|
||||
code := util.MapErrorCode(err,
|
||||
util.ErrToCode(ErrFailedRemoveObjectsFromList, http.StatusInternalServerError),
|
||||
)
|
||||
|
|
|
@ -20,7 +20,7 @@ var (
|
|||
type Service interface {
|
||||
GetObjectsInList(ctx context.Context, spaceId string, listId string, offset, limit int) ([]object.Object, int, bool, error)
|
||||
AddObjectsToList(ctx context.Context, spaceId string, listId string, objectIds []string) error
|
||||
RemoveObjectsFromList(ctx context.Context, spaceId string, listId string, objectIds []string) error
|
||||
RemoveObjectFromList(ctx context.Context, spaceId string, listId string, objectIds []string) error
|
||||
}
|
||||
|
||||
type ListService struct {
|
||||
|
@ -76,11 +76,11 @@ func (s *ListService) AddObjectsToList(ctx context.Context, spaceId string, list
|
|||
return nil
|
||||
}
|
||||
|
||||
// RemoveObjectsFromList removes objects from a list
|
||||
func (s *ListService) RemoveObjectsFromList(ctx context.Context, spaceId string, listId string, objectIds []string) error {
|
||||
// RemoveObjectFromList removes objects from a list
|
||||
func (s *ListService) RemoveObjectFromList(ctx context.Context, spaceId string, listId string, objectId string) error {
|
||||
resp := s.mw.ObjectCollectionRemove(ctx, &pb.RpcObjectCollectionRemoveRequest{
|
||||
ContextId: spaceId,
|
||||
ObjectIds: objectIds,
|
||||
ObjectIds: []string{objectId},
|
||||
})
|
||||
|
||||
if resp.Error.Code != pb.RpcObjectCollectionRemoveResponseError_NULL {
|
||||
|
|
|
@ -13,7 +13,6 @@ import (
|
|||
//
|
||||
// @Summary List objects
|
||||
// @Tags objects
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param space_id path string true "Space ID"
|
||||
// @Param offset query int false "The number of items to skip before starting to collect the result set" default(0)
|
||||
|
@ -21,6 +20,7 @@ import (
|
|||
// @Success 200 {object} pagination.PaginatedResponse[Object] "List of objects"
|
||||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces/{space_id}/objects [get]
|
||||
func GetObjectsHandler(s *ObjectService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
@ -49,7 +49,6 @@ func GetObjectsHandler(s *ObjectService) gin.HandlerFunc {
|
|||
//
|
||||
// @Summary Get object
|
||||
// @Tags objects
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param space_id path string true "Space ID"
|
||||
// @Param object_id path string true "Object ID"
|
||||
|
@ -57,6 +56,7 @@ func GetObjectsHandler(s *ObjectService) gin.HandlerFunc {
|
|||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 404 {object} util.NotFoundError "Resource not found"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces/{space_id}/objects/{object_id} [get]
|
||||
func GetObjectHandler(s *ObjectService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
@ -83,7 +83,6 @@ func GetObjectHandler(s *ObjectService) gin.HandlerFunc {
|
|||
//
|
||||
// @Summary Delete object
|
||||
// @Tags objects
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param space_id path string true "Space ID"
|
||||
// @Param object_id path string true "Object ID"
|
||||
|
@ -93,6 +92,7 @@ func GetObjectHandler(s *ObjectService) gin.HandlerFunc {
|
|||
// @Failure 404 {object} util.NotFoundError "Resource not found"
|
||||
// @Failure 423 {object} util.RateLimitError "Rate limit exceeded"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces/{space_id}/objects/{object_id} [delete]
|
||||
func DeleteObjectHandler(s *ObjectService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
@ -129,6 +129,7 @@ func DeleteObjectHandler(s *ObjectService) gin.HandlerFunc {
|
|||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 423 {object} util.RateLimitError "Rate limit exceeded"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces/{space_id}/objects [post]
|
||||
func CreateObjectHandler(s *ObjectService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
@ -165,7 +166,6 @@ func CreateObjectHandler(s *ObjectService) gin.HandlerFunc {
|
|||
//
|
||||
// @Summary List types
|
||||
// @Tags types
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param space_id path string true "Space ID"
|
||||
// @Param offset query int false "The number of items to skip before starting to collect the result set" default(0)
|
||||
|
@ -173,6 +173,7 @@ func CreateObjectHandler(s *ObjectService) gin.HandlerFunc {
|
|||
// @Success 200 {object} pagination.PaginatedResponse[Type] "List of types"
|
||||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces/{space_id}/types [get]
|
||||
func GetTypesHandler(s *ObjectService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
@ -199,7 +200,6 @@ func GetTypesHandler(s *ObjectService) gin.HandlerFunc {
|
|||
//
|
||||
// @Summary Get type
|
||||
// @Tags types
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param space_id path string true "Space ID"
|
||||
// @Param type_id path string true "Type ID"
|
||||
|
@ -207,6 +207,7 @@ func GetTypesHandler(s *ObjectService) gin.HandlerFunc {
|
|||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 404 {object} util.NotFoundError "Resource not found"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces/{space_id}/types/{type_id} [get]
|
||||
func GetTypeHandler(s *ObjectService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
@ -233,7 +234,6 @@ func GetTypeHandler(s *ObjectService) gin.HandlerFunc {
|
|||
//
|
||||
// @Summary List templates
|
||||
// @Tags types
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param space_id path string true "Space ID"
|
||||
// @Param type_id path string true "Type ID"
|
||||
|
@ -242,6 +242,7 @@ func GetTypeHandler(s *ObjectService) gin.HandlerFunc {
|
|||
// @Success 200 {object} pagination.PaginatedResponse[Template] "List of templates"
|
||||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces/{space_id}/types/{type_id}/templates [get]
|
||||
func GetTemplatesHandler(s *ObjectService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
@ -272,7 +273,6 @@ func GetTemplatesHandler(s *ObjectService) gin.HandlerFunc {
|
|||
//
|
||||
// @Summary Get template
|
||||
// @Tags types
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param space_id path string true "Space ID"
|
||||
// @Param type_id path string true "Type ID"
|
||||
|
@ -281,6 +281,7 @@ func GetTemplatesHandler(s *ObjectService) gin.HandlerFunc {
|
|||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 404 {object} util.NotFoundError "Resource not found"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces/{space_id}/types/{type_id}/templates/{template_id} [get]
|
||||
func GetTemplateHandler(s *ObjectService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
|
|
@ -21,6 +21,7 @@ import (
|
|||
// @Success 200 {object} pagination.PaginatedResponse[object.Object] "List of objects"
|
||||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /search [post]
|
||||
func GlobalSearchHandler(s *SearchService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
@ -62,6 +63,7 @@ func GlobalSearchHandler(s *SearchService) gin.HandlerFunc {
|
|||
// @Success 200 {object} pagination.PaginatedResponse[object.Object] "List of objects"
|
||||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces/{space_id}/search [post]
|
||||
func SearchHandler(s *SearchService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
|
|
@ -13,13 +13,13 @@ import (
|
|||
//
|
||||
// @Summary List spaces
|
||||
// @Tags spaces
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param offset query int false "The number of items to skip before starting to collect the result set" default(0)
|
||||
// @Param limit query int false "The number of items to return" default(100) maximum(1000)
|
||||
// @Success 200 {object} pagination.PaginatedResponse[Space] "List of spaces"
|
||||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces [get]
|
||||
func GetSpacesHandler(s *SpaceService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
@ -46,13 +46,13 @@ func GetSpacesHandler(s *SpaceService) gin.HandlerFunc {
|
|||
//
|
||||
// @Summary Get space
|
||||
// @Tags spaces
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param space_id path string true "Space ID"
|
||||
// @Success 200 {object} SpaceResponse "Space"
|
||||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 404 {object} util.NotFoundError "Space not found"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces/{space_id} [get]
|
||||
func GetSpaceHandler(s *SpaceService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
@ -86,6 +86,7 @@ func GetSpaceHandler(s *SpaceService) gin.HandlerFunc {
|
|||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 423 {object} util.RateLimitError "Rate limit exceeded"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces [post]
|
||||
func CreateSpaceHandler(s *SpaceService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
@ -115,7 +116,6 @@ func CreateSpaceHandler(s *SpaceService) gin.HandlerFunc {
|
|||
//
|
||||
// @Summary List members
|
||||
// @Tags spaces
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param space_id path string true "Space ID"
|
||||
// @Param offset query int false "The number of items to skip before starting to collect the result set" default(0)
|
||||
|
@ -123,6 +123,7 @@ func CreateSpaceHandler(s *SpaceService) gin.HandlerFunc {
|
|||
// @Success 200 {object} pagination.PaginatedResponse[Member] "List of members"
|
||||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces/{space_id}/members [get]
|
||||
func GetMembersHandler(s *SpaceService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
@ -149,7 +150,6 @@ func GetMembersHandler(s *SpaceService) gin.HandlerFunc {
|
|||
//
|
||||
// @Summary Get member
|
||||
// @Tags spaces
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param space_id path string true "Space ID"
|
||||
// @Param member_id path string true "Member ID"
|
||||
|
@ -157,6 +157,7 @@ func GetMembersHandler(s *SpaceService) gin.HandlerFunc {
|
|||
// @Failure 401 {object} util.UnauthorizedError "Unauthorized"
|
||||
// @Failure 404 {object} util.NotFoundError "Member not found"
|
||||
// @Failure 500 {object} util.ServerError "Internal server error"
|
||||
// @Security bearerauth
|
||||
// @Router /spaces/{space_id}/members/{member_id} [get]
|
||||
func GetMemberHandler(s *SpaceService) gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
|
|
|
@ -70,7 +70,7 @@ func (s *Server) NewRouter(accountService account.Service, mw service.ClientComm
|
|||
// List
|
||||
v1.GET("/spaces/:space_id/lists/:list_id/objects", list.GetObjectsInListHandler(s.listService))
|
||||
v1.POST("/spaces/:space_id/lists/:list_id/objects", list.AddObjectsToListHandler(s.listService))
|
||||
v1.DELETE("/spaces/:space_id/lists/:list_id/objects", list.RemoveObjectsFromListHandler(s.listService))
|
||||
v1.DELETE("/spaces/:space_id/lists/:list_id/objects/:object_id", s.rateLimit(maxWriteRequestsPerSecond), list.RemoveObjectFromListHandler(s.listService))
|
||||
|
||||
// Object
|
||||
v1.GET("/spaces/:space_id/objects", object.GetObjectsHandler(s.objectService))
|
||||
|
|
|
@ -49,22 +49,20 @@ func (s *apiService) Name() (name string) {
|
|||
|
||||
// Init initializes the API service.
|
||||
//
|
||||
// @title Anytype API
|
||||
// @version 1.0
|
||||
// @description This API allows interaction with Anytype resources such as spaces, objects and types.
|
||||
// @termsOfService https://anytype.io/terms_of_use
|
||||
// @contact.name Anytype Support
|
||||
// @contact.url https://anytype.io/contact
|
||||
// @contact.email support@anytype.io
|
||||
// @license.name Any Source Available License 1.0
|
||||
// @license.url https://github.com/anyproto/anytype-ts/blob/main/LICENSE.md
|
||||
// @host localhost:31009
|
||||
// @BasePath /v1
|
||||
// @securityDefinitions.apikey ApiKeyAuth
|
||||
// @in header
|
||||
// @name Authorization
|
||||
// @externalDocs.description OpenAPI
|
||||
// @externalDocs.url https://swagger.io/resources/open-api/
|
||||
// @title Anytype API
|
||||
// @version 1.0
|
||||
// @description This API allows interaction with Anytype resources such as spaces, objects and types.
|
||||
// @termsOfService https://anytype.io/terms_of_use
|
||||
// @contact.name Anytype Support
|
||||
// @contact.url https://anytype.io/contact
|
||||
// @contact.email support@anytype.io
|
||||
// @license.name Any Source Available License 1.0
|
||||
// @license.url https://github.com/anyproto/anytype-ts/blob/main/LICENSE.md
|
||||
// @host localhost:31009
|
||||
// @BasePath /v1
|
||||
// @securitydefinitions.bearerauth BearerAuth
|
||||
// @externalDocs.description OpenAPI
|
||||
// @externalDocs.url https://swagger.io/resources/open-api/
|
||||
func (s *apiService) Init(a *app.App) (err error) {
|
||||
s.listenAddr = a.MustComponent(config.CName).(*config.Config).JsonApiListenAddr
|
||||
s.accountService = a.MustComponent(account.CName).(account.Service)
|
||||
|
|
12
go.mod
12
go.mod
|
@ -169,10 +169,10 @@ require (
|
|||
github.com/go-logr/logr v1.4.2 // indirect
|
||||
github.com/go-logr/stdr v1.2.2 // indirect
|
||||
github.com/go-ole/go-ole v1.3.0 // indirect
|
||||
github.com/go-openapi/jsonpointer v0.19.5 // indirect
|
||||
github.com/go-openapi/jsonreference v0.19.6 // indirect
|
||||
github.com/go-openapi/spec v0.20.4 // indirect
|
||||
github.com/go-openapi/swag v0.19.15 // indirect
|
||||
github.com/go-openapi/jsonpointer v0.19.6 // indirect
|
||||
github.com/go-openapi/jsonreference v0.20.2 // indirect
|
||||
github.com/go-openapi/spec v0.20.9 // indirect
|
||||
github.com/go-openapi/swag v0.22.3 // indirect
|
||||
github.com/go-pkgz/expirable-cache/v3 v3.0.0 // indirect
|
||||
github.com/go-playground/locales v0.14.1 // indirect
|
||||
github.com/go-playground/universal-translator v0.18.1 // indirect
|
||||
|
@ -220,7 +220,7 @@ require (
|
|||
github.com/libp2p/go-buffer-pool v0.1.0 // indirect
|
||||
github.com/libp2p/go-libp2p v0.38.2 // indirect
|
||||
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
|
||||
github.com/mailru/easyjson v0.7.6 // indirect
|
||||
github.com/mailru/easyjson v0.7.7 // indirect
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||
github.com/miekg/dns v1.1.62 // indirect
|
||||
|
@ -265,6 +265,8 @@ require (
|
|||
github.com/spf13/viper v1.15.0 // indirect
|
||||
github.com/stretchr/objx v0.5.2 // indirect
|
||||
github.com/subosito/gotenv v1.4.2 // indirect
|
||||
github.com/sv-tools/openapi v0.2.1 // indirect
|
||||
github.com/swaggo/swag/v2 v2.0.0-rc4 // indirect
|
||||
github.com/tetratelabs/wazero v1.8.1 // indirect
|
||||
github.com/tklauser/go-sysconf v0.3.12 // indirect
|
||||
github.com/tklauser/numcpus v0.6.1 // indirect
|
||||
|
|
16
go.sum
16
go.sum
|
@ -353,13 +353,22 @@ github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW
|
|||
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
|
||||
github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
|
||||
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
|
||||
github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE=
|
||||
github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
|
||||
github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs=
|
||||
github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns=
|
||||
github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo=
|
||||
github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE=
|
||||
github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k=
|
||||
github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M=
|
||||
github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I=
|
||||
github.com/go-openapi/spec v0.20.9 h1:xnlYNQAwKd2VQRRfwTEI0DcK+2cbuvI/0c7jx3gA8/8=
|
||||
github.com/go-openapi/spec v0.20.9/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA=
|
||||
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
||||
github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM=
|
||||
github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
|
||||
github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g=
|
||||
github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
|
||||
github.com/go-pkgz/expirable-cache/v3 v3.0.0 h1:u3/gcu3sabLYiTCevoRKv+WzjIn5oo7P8XtiXBeRDLw=
|
||||
github.com/go-pkgz/expirable-cache/v3 v3.0.0/go.mod h1:2OQiDyEGQalYecLWmXprm3maPXeVb5/6/X7yRPYTzec=
|
||||
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
|
||||
|
@ -684,6 +693,7 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
|
|||
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
|
@ -728,6 +738,8 @@ github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN
|
|||
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA=
|
||||
github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
|
||||
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
|
||||
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
|
||||
github.com/matishsiao/goInfo v0.0.0-20240924010139-10388a85396f h1:XDrsC/9hdgiU9ecceSmYsS2E3fBtFiYc34dAMFgegnM=
|
||||
github.com/matishsiao/goInfo v0.0.0-20240924010139-10388a85396f/go.mod h1:aEt7p9Rvh67BYApmZwNDPpgircTO2kgdmDUoF/1QmwA=
|
||||
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
||||
|
@ -1056,12 +1068,16 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf
|
|||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
|
||||
github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
|
||||
github.com/sv-tools/openapi v0.2.1 h1:ES1tMQMJFGibWndMagvdoo34T1Vllxr1Nlm5wz6b1aA=
|
||||
github.com/sv-tools/openapi v0.2.1/go.mod h1:k5VuZamTw1HuiS9p2Wl5YIDWzYnHG6/FgPOSFXLAhGg=
|
||||
github.com/swaggo/files v1.0.1 h1:J1bVJ4XHZNq0I46UU90611i9/YzdrF7x92oX1ig5IdE=
|
||||
github.com/swaggo/files v1.0.1/go.mod h1:0qXmMNH6sXNf+73t65aKeB+ApmgxdnkQzVTAj2uaMUg=
|
||||
github.com/swaggo/gin-swagger v1.6.0 h1:y8sxvQ3E20/RCyrXeFfg60r6H0Z+SwpTjMYsMm+zy8M=
|
||||
github.com/swaggo/gin-swagger v1.6.0/go.mod h1:BG00cCEy294xtVpyIAHG6+e2Qzj/xKlRdOqDkvq0uzo=
|
||||
github.com/swaggo/swag v1.16.4 h1:clWJtd9LStiG3VeijiCfOVODP6VpHtKdQy9ELFG3s1A=
|
||||
github.com/swaggo/swag v1.16.4/go.mod h1:VBsHJRsDvfYvqoiMKnsdwhNV9LEMHgEDZcyVYX0sxPg=
|
||||
github.com/swaggo/swag/v2 v2.0.0-rc4 h1:SZ8cK68gcV6cslwrJMIOqPkJELRwq4gmjvk77MrvHvY=
|
||||
github.com/swaggo/swag/v2 v2.0.0-rc4/go.mod h1:Ow7Y8gF16BTCDn8YxZbyKn8FkMLRUHekv1kROJZpbvE=
|
||||
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc=
|
||||
github.com/tetratelabs/wazero v1.8.1 h1:NrcgVbWfkWvVc4UtT4LRLDf91PsOzDzefMdwhLfA550=
|
||||
github.com/tetratelabs/wazero v1.8.1/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs=
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue