api

package
v1.8.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 3, 2024 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithServerURL

func WithServerURL(ctx context.Context, u *url.URL) context.Context

WithServerURL sets context key to override server URL.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client implements OAS client.

func NewClient

func NewClient(serverURL string, opts ...ClientOption) (*Client, error)

NewClient initializes new Client defined by OAS.

func (*Client) ComplicatedParameterNameGet

func (c *Client) ComplicatedParameterNameGet(ctx context.Context, params ComplicatedParameterNameGetParams) error

ComplicatedParameterNameGet invokes GET /complicatedParameterName operation.

GET /complicatedParameterName

func (*Client) ContentParameters added in v0.59.0

func (c *Client) ContentParameters(ctx context.Context, params ContentParametersParams) (*ContentParameters, error)

ContentParameters invokes contentParameters operation.

GET /contentParameters/{path}

func (*Client) CookieParameter added in v0.59.0

func (c *Client) CookieParameter(ctx context.Context, params CookieParameterParams) (*Value, error)

CookieParameter invokes cookieParameter operation.

Test for cookie param.

GET /cookieParameter

func (*Client) HeaderParameter

func (c *Client) HeaderParameter(ctx context.Context, params HeaderParameterParams) (*Value, error)

HeaderParameter invokes headerParameter operation.

Test for header param.

GET /headerParameter

func (*Client) ObjectCookieParameter added in v0.59.0

func (c *Client) ObjectCookieParameter(ctx context.Context, params ObjectCookieParameterParams) (*OneLevelObject, error)

ObjectCookieParameter invokes objectCookieParameter operation.

GET /objectCookieParameter

func (*Client) ObjectQueryParameter

func (c *Client) ObjectQueryParameter(ctx context.Context, params ObjectQueryParameterParams) (*ObjectQueryParameterOK, error)

ObjectQueryParameter invokes objectQueryParameter operation.

GET /objectQueryParameter

func (*Client) OptionalArrayParameter added in v1.1.1

func (c *Client) OptionalArrayParameter(ctx context.Context, params OptionalArrayParameterParams) (string, error)

OptionalArrayParameter invokes optionalArrayParameter operation.

GET /optionalArrayParameter

func (*Client) PathParameter added in v0.60.0

func (c *Client) PathParameter(ctx context.Context, params PathParameterParams) (*Value, error)

PathParameter invokes pathParameter operation.

Test for path param.

GET /pathParameter/{value}

func (*Client) SameName

func (c *Client) SameName(ctx context.Context, params SameNameParams) error

SameName invokes sameName operation.

Parameters with different location, but with the same name.

GET /same_name/{param}

func (*Client) SimilarNames added in v0.67.0

func (c *Client) SimilarNames(ctx context.Context, params SimilarNamesParams) error

SimilarNames invokes similarNames operation.

Parameters with different location, but with similar names.

GET /similarNames

type ClientOption

type ClientOption interface {
	// contains filtered or unexported methods
}

ClientOption is client config option.

func WithClient

func WithClient(client ht.Client) ClientOption

WithClient specifies http client to use.

type ComplicatedParameterNameGetOK

type ComplicatedParameterNameGetOK struct{}

ComplicatedParameterNameGetOK is response for ComplicatedParameterNameGet operation.

type ComplicatedParameterNameGetParams

type ComplicatedParameterNameGetParams struct {
	Eq       string
	Plus     string
	Question string
	And      string
	Percent  string
}

ComplicatedParameterNameGetParams is parameters of GET /complicatedParameterName operation.

type ContentParameters added in v0.59.0

type ContentParameters struct {
	Query  User `json:"query"`
	Path   User `json:"path"`
	Header User `json:"header"`
	Cookie User `json:"cookie"`
}

func (*ContentParameters) Decode added in v0.59.0

func (s *ContentParameters) Decode(d *jx.Decoder) error

Decode decodes ContentParameters from json.

func (*ContentParameters) Encode added in v0.59.0

func (s *ContentParameters) Encode(e *jx.Encoder)

Encode implements json.Marshaler.

func (*ContentParameters) GetCookie added in v0.59.0

func (s *ContentParameters) GetCookie() User

GetCookie returns the value of Cookie.

func (*ContentParameters) GetHeader added in v0.59.0

func (s *ContentParameters) GetHeader() User

GetHeader returns the value of Header.

func (*ContentParameters) GetPath added in v0.59.0

func (s *ContentParameters) GetPath() User

GetPath returns the value of Path.

func (*ContentParameters) GetQuery added in v0.59.0

func (s *ContentParameters) GetQuery() User

GetQuery returns the value of Query.

func (*ContentParameters) MarshalJSON added in v0.59.0

func (s *ContentParameters) MarshalJSON() ([]byte, error)

MarshalJSON implements stdjson.Marshaler.

func (*ContentParameters) SetCookie added in v0.59.0

func (s *ContentParameters) SetCookie(val User)

SetCookie sets the value of Cookie.

func (*ContentParameters) SetHeader added in v0.59.0

func (s *ContentParameters) SetHeader(val User)

SetHeader sets the value of Header.

func (*ContentParameters) SetPath added in v0.59.0

func (s *ContentParameters) SetPath(val User)

SetPath sets the value of Path.

func (*ContentParameters) SetQuery added in v0.59.0

func (s *ContentParameters) SetQuery(val User)

SetQuery sets the value of Query.

func (*ContentParameters) UnmarshalJSON added in v0.59.0

func (s *ContentParameters) UnmarshalJSON(data []byte) error

UnmarshalJSON implements stdjson.Unmarshaler.

func (*ContentParameters) Validate added in v0.59.0

func (s *ContentParameters) Validate() error

type ContentParametersParams added in v0.59.0

type ContentParametersParams struct {
	Query   User
	Path    User
	XHeader User
	Cookie  User
}

ContentParametersParams is parameters of contentParameters operation.

type CookieParameterParams added in v0.59.0

type CookieParameterParams struct {
	Value string
}

CookieParameterParams is parameters of cookieParameter operation.

type ErrorHandler

type ErrorHandler = ogenerrors.ErrorHandler

ErrorHandler is error handler.

type Handler

type Handler interface {
	// ComplicatedParameterNameGet implements GET /complicatedParameterName operation.
	//
	// GET /complicatedParameterName
	ComplicatedParameterNameGet(ctx context.Context, params ComplicatedParameterNameGetParams) error
	// ContentParameters implements contentParameters operation.
	//
	// GET /contentParameters/{path}
	ContentParameters(ctx context.Context, params ContentParametersParams) (*ContentParameters, error)
	// CookieParameter implements cookieParameter operation.
	//
	// Test for cookie param.
	//
	// GET /cookieParameter
	CookieParameter(ctx context.Context, params CookieParameterParams) (*Value, error)
	// HeaderParameter implements headerParameter operation.
	//
	// Test for header param.
	//
	// GET /headerParameter
	HeaderParameter(ctx context.Context, params HeaderParameterParams) (*Value, error)
	// ObjectCookieParameter implements objectCookieParameter operation.
	//
	// GET /objectCookieParameter
	ObjectCookieParameter(ctx context.Context, params ObjectCookieParameterParams) (*OneLevelObject, error)
	// ObjectQueryParameter implements objectQueryParameter operation.
	//
	// GET /objectQueryParameter
	ObjectQueryParameter(ctx context.Context, params ObjectQueryParameterParams) (*ObjectQueryParameterOK, error)
	// OptionalArrayParameter implements optionalArrayParameter operation.
	//
	// GET /optionalArrayParameter
	OptionalArrayParameter(ctx context.Context, params OptionalArrayParameterParams) (string, error)
	// PathParameter implements pathParameter operation.
	//
	// Test for path param.
	//
	// GET /pathParameter/{value}
	PathParameter(ctx context.Context, params PathParameterParams) (*Value, error)
	// SameName implements sameName operation.
	//
	// Parameters with different location, but with the same name.
	//
	// GET /same_name/{param}
	SameName(ctx context.Context, params SameNameParams) error
	// SimilarNames implements similarNames operation.
	//
	// Parameters with different location, but with similar names.
	//
	// GET /similarNames
	SimilarNames(ctx context.Context, params SimilarNamesParams) error
}

Handler handles operations described by OpenAPI v3 specification.

type HeaderParameterParams

type HeaderParameterParams struct {
	XValue string
}

HeaderParameterParams is parameters of headerParameter operation.

type Invoker added in v0.75.0

type Invoker interface {
	// ComplicatedParameterNameGet invokes GET /complicatedParameterName operation.
	//
	// GET /complicatedParameterName
	ComplicatedParameterNameGet(ctx context.Context, params ComplicatedParameterNameGetParams) error
	// ContentParameters invokes contentParameters operation.
	//
	// GET /contentParameters/{path}
	ContentParameters(ctx context.Context, params ContentParametersParams) (*ContentParameters, error)
	// CookieParameter invokes cookieParameter operation.
	//
	// Test for cookie param.
	//
	// GET /cookieParameter
	CookieParameter(ctx context.Context, params CookieParameterParams) (*Value, error)
	// HeaderParameter invokes headerParameter operation.
	//
	// Test for header param.
	//
	// GET /headerParameter
	HeaderParameter(ctx context.Context, params HeaderParameterParams) (*Value, error)
	// ObjectCookieParameter invokes objectCookieParameter operation.
	//
	// GET /objectCookieParameter
	ObjectCookieParameter(ctx context.Context, params ObjectCookieParameterParams) (*OneLevelObject, error)
	// ObjectQueryParameter invokes objectQueryParameter operation.
	//
	// GET /objectQueryParameter
	ObjectQueryParameter(ctx context.Context, params ObjectQueryParameterParams) (*ObjectQueryParameterOK, error)
	// OptionalArrayParameter invokes optionalArrayParameter operation.
	//
	// GET /optionalArrayParameter
	OptionalArrayParameter(ctx context.Context, params OptionalArrayParameterParams) (string, error)
	// PathParameter invokes pathParameter operation.
	//
	// Test for path param.
	//
	// GET /pathParameter/{value}
	PathParameter(ctx context.Context, params PathParameterParams) (*Value, error)
	// SameName invokes sameName operation.
	//
	// Parameters with different location, but with the same name.
	//
	// GET /same_name/{param}
	SameName(ctx context.Context, params SameNameParams) error
	// SimilarNames invokes similarNames operation.
	//
	// Parameters with different location, but with similar names.
	//
	// GET /similarNames
	SimilarNames(ctx context.Context, params SimilarNamesParams) error
}

Invoker invokes operations described by OpenAPI v3 specification.

type Labeler added in v1.1.0

type Labeler struct {
	// contains filtered or unexported fields
}

Labeler is used to allow adding custom attributes to the server request metrics.

func LabelerFromContext added in v1.1.0

func LabelerFromContext(ctx context.Context) (*Labeler, bool)

LabelerFromContext retrieves the Labeler from the provided context, if present.

If no Labeler was found in the provided context a new, empty Labeler is returned and the second return value is false. In this case it is safe to use the Labeler but any attributes added to it will not be used.

func (*Labeler) Add added in v1.1.0

func (l *Labeler) Add(attrs ...attribute.KeyValue)

Add attributes to the Labeler.

func (*Labeler) AttributeSet added in v1.1.0

func (l *Labeler) AttributeSet() attribute.Set

AttributeSet returns the attributes added to the Labeler as an attribute.Set.

type Middleware

type Middleware = middleware.Middleware

Middleware is middleware type.

type ObjectCookieParameterParams added in v0.59.0

type ObjectCookieParameterParams struct {
	Value OneLevelObject
}

ObjectCookieParameterParams is parameters of objectCookieParameter operation.

type ObjectQueryParameterOK

type ObjectQueryParameterOK struct {
	Style string         `json:"style"`
	Value OneLevelObject `json:"value"`
}

func (*ObjectQueryParameterOK) Decode

func (s *ObjectQueryParameterOK) Decode(d *jx.Decoder) error

Decode decodes ObjectQueryParameterOK from json.

func (*ObjectQueryParameterOK) Encode

func (s *ObjectQueryParameterOK) Encode(e *jx.Encoder)

Encode implements json.Marshaler.

func (*ObjectQueryParameterOK) GetStyle

func (s *ObjectQueryParameterOK) GetStyle() string

GetStyle returns the value of Style.

func (*ObjectQueryParameterOK) GetValue added in v0.59.0

func (s *ObjectQueryParameterOK) GetValue() OneLevelObject

GetValue returns the value of Value.

func (*ObjectQueryParameterOK) MarshalJSON

func (s *ObjectQueryParameterOK) MarshalJSON() ([]byte, error)

MarshalJSON implements stdjson.Marshaler.

func (*ObjectQueryParameterOK) SetStyle

func (s *ObjectQueryParameterOK) SetStyle(val string)

SetStyle sets the value of Style.

func (*ObjectQueryParameterOK) SetValue added in v0.59.0

func (s *ObjectQueryParameterOK) SetValue(val OneLevelObject)

SetValue sets the value of Value.

func (*ObjectQueryParameterOK) UnmarshalJSON

func (s *ObjectQueryParameterOK) UnmarshalJSON(data []byte) error

UnmarshalJSON implements stdjson.Unmarshaler.

type ObjectQueryParameterParams

type ObjectQueryParameterParams struct {
	FormObject OptOneLevelObject
	DeepObject OptOneLevelObject
}

ObjectQueryParameterParams is parameters of objectQueryParameter operation.

type OneLevelObject added in v0.59.0

type OneLevelObject struct {
	Min    int    `json:"min"`
	Max    int    `json:"max"`
	Filter string `json:"filter"`
}

Ref: #/components/schemas/OneLevelObject

func (*OneLevelObject) Decode added in v0.59.0

func (s *OneLevelObject) Decode(d *jx.Decoder) error

Decode decodes OneLevelObject from json.

func (*OneLevelObject) DecodeURI added in v0.59.0

func (s *OneLevelObject) DecodeURI(d uri.Decoder) error

DecodeURI decodes OneLevelObject from URI form.

func (*OneLevelObject) Encode added in v0.59.0

func (s *OneLevelObject) Encode(e *jx.Encoder)

Encode implements json.Marshaler.

func (*OneLevelObject) EncodeURI added in v0.59.0

func (s *OneLevelObject) EncodeURI(e uri.Encoder) error

EncodeURI encodes OneLevelObject as URI form.

func (*OneLevelObject) GetFilter added in v0.59.0

func (s *OneLevelObject) GetFilter() string

GetFilter returns the value of Filter.

func (*OneLevelObject) GetMax added in v0.59.0

func (s *OneLevelObject) GetMax() int

GetMax returns the value of Max.

func (*OneLevelObject) GetMin added in v0.59.0

func (s *OneLevelObject) GetMin() int

GetMin returns the value of Min.

func (*OneLevelObject) MarshalJSON added in v0.59.0

func (s *OneLevelObject) MarshalJSON() ([]byte, error)

MarshalJSON implements stdjson.Marshaler.

func (*OneLevelObject) SetFilter added in v0.59.0

func (s *OneLevelObject) SetFilter(val string)

SetFilter sets the value of Filter.

func (*OneLevelObject) SetMax added in v0.59.0

func (s *OneLevelObject) SetMax(val int)

SetMax sets the value of Max.

func (*OneLevelObject) SetMin added in v0.59.0

func (s *OneLevelObject) SetMin(val int)

SetMin sets the value of Min.

func (*OneLevelObject) UnmarshalJSON added in v0.59.0

func (s *OneLevelObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements stdjson.Unmarshaler.

type OperationName added in v1.7.0

type OperationName = string

OperationName is the ogen operation name

const (
	ComplicatedParameterNameGetOperation OperationName = "ComplicatedParameterNameGet"
	ContentParametersOperation           OperationName = "ContentParameters"
	CookieParameterOperation             OperationName = "CookieParameter"
	HeaderParameterOperation             OperationName = "HeaderParameter"
	ObjectCookieParameterOperation       OperationName = "ObjectCookieParameter"
	ObjectQueryParameterOperation        OperationName = "ObjectQueryParameter"
	OptionalArrayParameterOperation      OperationName = "OptionalArrayParameter"
	PathParameterOperation               OperationName = "PathParameter"
	SameNameOperation                    OperationName = "SameName"
	SimilarNamesOperation                OperationName = "SimilarNames"
)

type OptOneLevelObject added in v0.59.0

type OptOneLevelObject struct {
	Value OneLevelObject
	Set   bool
}

OptOneLevelObject is optional OneLevelObject.

func NewOptOneLevelObject added in v0.59.0

func NewOptOneLevelObject(v OneLevelObject) OptOneLevelObject

NewOptOneLevelObject returns new OptOneLevelObject with value set to v.

func (*OptOneLevelObject) Decode added in v0.59.0

func (o *OptOneLevelObject) Decode(d *jx.Decoder) error

Decode decodes OneLevelObject from json.

func (OptOneLevelObject) Encode added in v0.59.0

func (o OptOneLevelObject) Encode(e *jx.Encoder)

Encode encodes OneLevelObject as json.

func (OptOneLevelObject) Get added in v0.59.0

func (o OptOneLevelObject) Get() (v OneLevelObject, ok bool)

Get returns value and boolean that denotes whether value was set.

func (OptOneLevelObject) IsSet added in v0.59.0

func (o OptOneLevelObject) IsSet() bool

IsSet returns true if OptOneLevelObject was set.

func (OptOneLevelObject) MarshalJSON added in v0.59.0

func (s OptOneLevelObject) MarshalJSON() ([]byte, error)

MarshalJSON implements stdjson.Marshaler.

func (OptOneLevelObject) Or added in v0.59.0

Or returns value if set, or given parameter if does not.

func (*OptOneLevelObject) Reset added in v0.59.0

func (o *OptOneLevelObject) Reset()

Reset unsets value.

func (*OptOneLevelObject) SetTo added in v0.59.0

func (o *OptOneLevelObject) SetTo(v OneLevelObject)

SetTo sets value to v.

func (*OptOneLevelObject) UnmarshalJSON added in v0.59.0

func (s *OptOneLevelObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements stdjson.Unmarshaler.

type Option

type Option interface {
	ServerOption
	ClientOption
}

Option is config option.

func WithMeterProvider

func WithMeterProvider(provider metric.MeterProvider) Option

WithMeterProvider specifies a meter provider to use for creating a meter.

If none is specified, the otel.GetMeterProvider() is used.

func WithTracerProvider

func WithTracerProvider(provider trace.TracerProvider) Option

WithTracerProvider specifies a tracer provider to use for creating a tracer.

If none is specified, the global provider is used.

type OptionalArrayParameterParams added in v1.1.1

type OptionalArrayParameterParams struct {
	Query  []string
	Header []string
}

OptionalArrayParameterParams is parameters of optionalArrayParameter operation.

type PathParameterParams added in v0.60.0

type PathParameterParams struct {
	Value string
}

PathParameterParams is parameters of pathParameter operation.

type Route

type Route struct {
	// contains filtered or unexported fields
}

Route is route object.

func (Route) Args

func (r Route) Args() []string

Args returns parsed arguments.

func (Route) Name

func (r Route) Name() string

Name returns ogen operation name.

It is guaranteed to be unique and not empty.

func (Route) OperationID

func (r Route) OperationID() string

OperationID returns OpenAPI operationId.

func (Route) PathPattern added in v0.58.0

func (r Route) PathPattern() string

PathPattern returns OpenAPI path.

func (Route) Summary added in v0.76.0

func (r Route) Summary() string

Summary returns OpenAPI summary.

type SameNameOK

type SameNameOK struct{}

SameNameOK is response for SameName operation.

type SameNameParams

type SameNameParams struct {
	PathParam  string
	QueryParam string
}

SameNameParams is parameters of sameName operation.

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server implements http server based on OpenAPI v3 specification and calls Handler to handle requests.

func NewServer

func NewServer(h Handler, opts ...ServerOption) (*Server, error)

NewServer creates new Server.

func (*Server) FindPath

func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool)

FindPath finds Route for given method and URL.

func (*Server) FindRoute

func (s *Server) FindRoute(method, path string) (Route, bool)

FindRoute finds Route for given method and path.

Note: this method does not unescape path or handle reserved characters in path properly. Use FindPath instead.

func (*Server) ServeHTTP

func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP serves http request as defined by OpenAPI v3 specification, calling handler that matches the path or returning not found error.

type ServerOption

type ServerOption interface {
	// contains filtered or unexported methods
}

ServerOption is server config option.

func WithErrorHandler

func WithErrorHandler(h ErrorHandler) ServerOption

WithErrorHandler specifies error handler to use.

func WithMaxMultipartMemory

func WithMaxMultipartMemory(max int64) ServerOption

WithMaxMultipartMemory specifies limit of memory for storing file parts. File parts which can't be stored in memory will be stored on disk in temporary files.

func WithMethodNotAllowed

func WithMethodNotAllowed(methodNotAllowed func(w http.ResponseWriter, r *http.Request, allowed string)) ServerOption

WithMethodNotAllowed specifies Method Not Allowed handler to use.

func WithMiddleware

func WithMiddleware(m ...Middleware) ServerOption

WithMiddleware specifies middlewares to use.

func WithNotFound

func WithNotFound(notFound http.HandlerFunc) ServerOption

WithNotFound specifies Not Found handler to use.

func WithPathPrefix

func WithPathPrefix(prefix string) ServerOption

WithPathPrefix specifies server path prefix.

type SimilarNamesOK added in v0.67.0

type SimilarNamesOK struct{}

SimilarNamesOK is response for SimilarNames operation.

type SimilarNamesParams added in v0.67.0

type SimilarNamesParams struct {
	QueryXParam  string
	HeaderXParam string
}

SimilarNamesParams is parameters of similarNames operation.

type UnimplementedHandler

type UnimplementedHandler struct{}

UnimplementedHandler is no-op Handler which returns http.ErrNotImplemented.

func (UnimplementedHandler) ComplicatedParameterNameGet

func (UnimplementedHandler) ComplicatedParameterNameGet(ctx context.Context, params ComplicatedParameterNameGetParams) error

ComplicatedParameterNameGet implements GET /complicatedParameterName operation.

GET /complicatedParameterName

func (UnimplementedHandler) ContentParameters added in v0.59.0

func (UnimplementedHandler) ContentParameters(ctx context.Context, params ContentParametersParams) (r *ContentParameters, _ error)

ContentParameters implements contentParameters operation.

GET /contentParameters/{path}

func (UnimplementedHandler) CookieParameter added in v0.59.0

func (UnimplementedHandler) CookieParameter(ctx context.Context, params CookieParameterParams) (r *Value, _ error)

CookieParameter implements cookieParameter operation.

Test for cookie param.

GET /cookieParameter

func (UnimplementedHandler) HeaderParameter

func (UnimplementedHandler) HeaderParameter(ctx context.Context, params HeaderParameterParams) (r *Value, _ error)

HeaderParameter implements headerParameter operation.

Test for header param.

GET /headerParameter

func (UnimplementedHandler) ObjectCookieParameter added in v0.59.0

func (UnimplementedHandler) ObjectCookieParameter(ctx context.Context, params ObjectCookieParameterParams) (r *OneLevelObject, _ error)

ObjectCookieParameter implements objectCookieParameter operation.

GET /objectCookieParameter

func (UnimplementedHandler) ObjectQueryParameter

ObjectQueryParameter implements objectQueryParameter operation.

GET /objectQueryParameter

func (UnimplementedHandler) OptionalArrayParameter added in v1.1.1

func (UnimplementedHandler) OptionalArrayParameter(ctx context.Context, params OptionalArrayParameterParams) (r string, _ error)

OptionalArrayParameter implements optionalArrayParameter operation.

GET /optionalArrayParameter

func (UnimplementedHandler) PathParameter added in v0.60.0

func (UnimplementedHandler) PathParameter(ctx context.Context, params PathParameterParams) (r *Value, _ error)

PathParameter implements pathParameter operation.

Test for path param.

GET /pathParameter/{value}

func (UnimplementedHandler) SameName

SameName implements sameName operation.

Parameters with different location, but with the same name.

GET /same_name/{param}

func (UnimplementedHandler) SimilarNames added in v0.67.0

func (UnimplementedHandler) SimilarNames(ctx context.Context, params SimilarNamesParams) error

SimilarNames implements similarNames operation.

Parameters with different location, but with similar names.

GET /similarNames

type User

type User struct {
	ID       int      `json:"id"`
	Username string   `json:"username"`
	Role     UserRole `json:"role"`
	Friends  []User   `json:"friends"`
}

Ref: #/components/schemas/User

func (*User) Decode

func (s *User) Decode(d *jx.Decoder) error

Decode decodes User from json.

func (*User) Encode

func (s *User) Encode(e *jx.Encoder)

Encode implements json.Marshaler.

func (*User) GetFriends

func (s *User) GetFriends() []User

GetFriends returns the value of Friends.

func (*User) GetID

func (s *User) GetID() int

GetID returns the value of ID.

func (*User) GetRole

func (s *User) GetRole() UserRole

GetRole returns the value of Role.

func (*User) GetUsername

func (s *User) GetUsername() string

GetUsername returns the value of Username.

func (*User) MarshalJSON

func (s *User) MarshalJSON() ([]byte, error)

MarshalJSON implements stdjson.Marshaler.

func (*User) SetFriends

func (s *User) SetFriends(val []User)

SetFriends sets the value of Friends.

func (*User) SetID

func (s *User) SetID(val int)

SetID sets the value of ID.

func (*User) SetRole

func (s *User) SetRole(val UserRole)

SetRole sets the value of Role.

func (*User) SetUsername

func (s *User) SetUsername(val string)

SetUsername sets the value of Username.

func (*User) UnmarshalJSON

func (s *User) UnmarshalJSON(data []byte) error

UnmarshalJSON implements stdjson.Unmarshaler.

func (*User) Validate

func (s *User) Validate() error

type UserRole

type UserRole string
const (
	UserRoleAdmin UserRole = "admin"
	UserRoleUser  UserRole = "user"
	UserRoleBot   UserRole = "bot"
)

func (UserRole) AllValues added in v0.74.0

func (UserRole) AllValues() []UserRole

AllValues returns all UserRole values.

func (*UserRole) Decode

func (s *UserRole) Decode(d *jx.Decoder) error

Decode decodes UserRole from json.

func (UserRole) Encode

func (s UserRole) Encode(e *jx.Encoder)

Encode encodes UserRole as json.

func (UserRole) MarshalJSON

func (s UserRole) MarshalJSON() ([]byte, error)

MarshalJSON implements stdjson.Marshaler.

func (UserRole) MarshalText

func (s UserRole) MarshalText() ([]byte, error)

MarshalText implements encoding.TextMarshaler.

func (*UserRole) UnmarshalJSON

func (s *UserRole) UnmarshalJSON(data []byte) error

UnmarshalJSON implements stdjson.Unmarshaler.

func (*UserRole) UnmarshalText

func (s *UserRole) UnmarshalText(data []byte) error

UnmarshalText implements encoding.TextUnmarshaler.

func (UserRole) Validate

func (s UserRole) Validate() error

type Value added in v0.60.0

type Value struct {
	Value string `json:"value"`
}

Ref: #/components/schemas/Value

func (*Value) Decode added in v0.60.0

func (s *Value) Decode(d *jx.Decoder) error

Decode decodes Value from json.

func (*Value) Encode added in v0.60.0

func (s *Value) Encode(e *jx.Encoder)

Encode implements json.Marshaler.

func (*Value) GetValue added in v0.60.0

func (s *Value) GetValue() string

GetValue returns the value of Value.

func (*Value) MarshalJSON added in v0.60.0

func (s *Value) MarshalJSON() ([]byte, error)

MarshalJSON implements stdjson.Marshaler.

func (*Value) SetValue added in v0.60.0

func (s *Value) SetValue(val string)

SetValue sets the value of Value.

func (*Value) UnmarshalJSON added in v0.60.0

func (s *Value) UnmarshalJSON(data []byte) error

UnmarshalJSON implements stdjson.Unmarshaler.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL