diff --git a/handlers/apiserver/rest-server.gen.go b/handlers/apiserver/rest-server.gen.go index 2d4ceaf..bec7799 100644 --- a/handlers/apiserver/rest-server.gen.go +++ b/handlers/apiserver/rest-server.gen.go @@ -551,6 +551,21 @@ type PutObjectParams struct { XBearerSignatureKey *SignatureKeyParam `json:"X-Bearer-Signature-Key,omitempty"` } +// NewOptionsUploadContainerObjectParams defines parameters for NewOptionsUploadContainerObject. +type NewOptionsUploadContainerObjectParams struct { + // WalletConnect Use wallet connect signature scheme or native NeoFS signature. + WalletConnect *SignatureScheme `form:"walletConnect,omitempty" json:"walletConnect,omitempty"` + + // FullBearer Provided bearer token is final or gate should assemble it using signature. + FullBearer *FullBearerToken `form:"fullBearer,omitempty" json:"fullBearer,omitempty"` + + // XBearerSignature Base64 encoded signature for bearer token. + XBearerSignature *SignatureParam `json:"X-Bearer-Signature,omitempty"` + + // XBearerSignatureKey Hex encoded the public part of the key that signed the bearer token. + XBearerSignatureKey *SignatureKeyParam `json:"X-Bearer-Signature-Key,omitempty"` +} + // NewUploadContainerObjectParams defines parameters for NewUploadContainerObject. type NewUploadContainerObjectParams struct { // WalletConnect Use wallet connect signature scheme or native NeoFS signature. @@ -857,7 +872,7 @@ type ServerInterface interface { PutObject(ctx echo.Context, params PutObjectParams) error // (OPTIONS /objects/{containerId}) - NewOptionsUploadContainerObject(ctx echo.Context, containerId ContainerId) error + NewOptionsUploadContainerObject(ctx echo.Context, containerId ContainerId, params NewOptionsUploadContainerObjectParams) error // Upload object to NeoFS // (POST /objects/{containerId}) NewUploadContainerObject(ctx echo.Context, containerId ContainerId, params NewUploadContainerObjectParams) error @@ -1679,8 +1694,56 @@ func (w *ServerInterfaceWrapper) NewOptionsUploadContainerObject(ctx echo.Contex return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter containerId: %s", err)) } + // Parameter object where we will unmarshal all parameters from the context + var params NewOptionsUploadContainerObjectParams + // ------------- Optional query parameter "walletConnect" ------------- + + err = runtime.BindQueryParameter("form", true, false, "walletConnect", ctx.QueryParams(), ¶ms.WalletConnect) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter walletConnect: %s", err)) + } + + // ------------- Optional query parameter "fullBearer" ------------- + + err = runtime.BindQueryParameter("form", true, false, "fullBearer", ctx.QueryParams(), ¶ms.FullBearer) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter fullBearer: %s", err)) + } + + headers := ctx.Request().Header + // ------------- Optional header parameter "X-Bearer-Signature" ------------- + if valueList, found := headers[http.CanonicalHeaderKey("X-Bearer-Signature")]; found { + var XBearerSignature SignatureParam + n := len(valueList) + if n != 1 { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Expected one value for X-Bearer-Signature, got %d", n)) + } + + err = runtime.BindStyledParameterWithOptions("simple", "X-Bearer-Signature", valueList[0], &XBearerSignature, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationHeader, Explode: false, Required: false}) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter X-Bearer-Signature: %s", err)) + } + + params.XBearerSignature = &XBearerSignature + } + // ------------- Optional header parameter "X-Bearer-Signature-Key" ------------- + if valueList, found := headers[http.CanonicalHeaderKey("X-Bearer-Signature-Key")]; found { + var XBearerSignatureKey SignatureKeyParam + n := len(valueList) + if n != 1 { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Expected one value for X-Bearer-Signature-Key, got %d", n)) + } + + err = runtime.BindStyledParameterWithOptions("simple", "X-Bearer-Signature-Key", valueList[0], &XBearerSignatureKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationHeader, Explode: false, Required: false}) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter X-Bearer-Signature-Key: %s", err)) + } + + params.XBearerSignatureKey = &XBearerSignatureKey + } + // Invoke the callback with all the unmarshaled arguments - err = w.Handler.NewOptionsUploadContainerObject(ctx, containerId) + err = w.Handler.NewOptionsUploadContainerObject(ctx, containerId, params) return err } @@ -2748,148 +2811,148 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/handlers/preflight.go b/handlers/preflight.go index 420e53a..4367144 100644 --- a/handlers/preflight.go +++ b/handlers/preflight.go @@ -138,7 +138,7 @@ func (a *RestAPI) OptionsNetworkInfo(ctx echo.Context) error { } // NewOptionsUploadContainerObject handler for the upload object options request. -func (a *RestAPI) NewOptionsUploadContainerObject(ctx echo.Context, _ apiserver.ContainerId) error { +func (a *RestAPI) NewOptionsUploadContainerObject(ctx echo.Context, _ apiserver.ContainerId, _ apiserver.NewOptionsUploadContainerObjectParams) error { ctx.Response().Header().Set(accessControlAllowOriginHeader, allOrigins) ctx.Response().Header().Set(accessControlAllowHeadersHeader, allowUploadHeader) ctx.Response().Header().Set(accessControlAllowMethodsHeader, allowMethods(methodPost)) diff --git a/spec/rest.yaml b/spec/rest.yaml index 7602627..3f4c052 100644 --- a/spec/rest.yaml +++ b/spec/rest.yaml @@ -1011,6 +1011,10 @@ paths: operationId: newOptionsUploadContainerObject parameters: - $ref: '#/components/parameters/containerId' + - $ref: '#/components/parameters/signatureParam' + - $ref: '#/components/parameters/signatureKeyParam' + - $ref: '#/components/parameters/signatureScheme' + - $ref: '#/components/parameters/fullBearerToken' responses: "200": description: CORS