Sourcemeta Core 0.0.0
Loading...
Searching...
No Matches
sourcemeta::core::OpenAPIFrame::Operation Struct Reference

Public Attributes

OperationKind kind
 How the entry document exposes it.
JSON::String path
JSON::String method
 The method it answers to, as the field that declares it is spelled.
JSON::String origin
 Where the Operation Object sits.
JSON::String endpoint
std::optional< JSON::String > parent {std::nullopt}
std::vector< JSON::String > servers
std::vector< JSON::String > security
 Where the Security Requirement Objects in force sit.
std::vector< JSON::String > parameters
std::vector< std::optional< JSON::String > > tags

Detailed Description

One operation of the described API, which is what an endpoint and the Path Item it reaches come to between them

Member Data Documentation

◆ endpoint

JSON::String sourcemeta::core::OpenAPIFrame::Operation::endpoint

Where the Path Item Object that exposes it sits, which is the position that gives it a URL rather than the one that defines it. The two differ whenever a reference stands between them

◆ parameters

std::vector<JSON::String> sourcemeta::core::OpenAPIFrame::Operation::parameters

Where the Parameter Objects in force sit, which is what the Path Item Object declares once anything the Operation Object overrides is taken out, followed by what the Operation Object declares itself

◆ parent

std::optional<JSON::String> sourcemeta::core::OpenAPIFrame::Operation::parent {std::nullopt}

Where the Operation Object that a Callback Object hangs off sits, with no value for an operation the Paths Object or the webhooks exposes. Section 4.8.10 has a Callback Object be "a map of possible out-of band callbacks related to the parent operation", and what the expression it is keyed by evaluates against is that Object's request, so one Callback Object two Operation Objects reach describes one callback for each of them

◆ path

JSON::String sourcemeta::core::OpenAPIFrame::Operation::path

The path template, the webhook name, or the runtime expression that exposes it, according to how it is reached

◆ servers

std::vector<JSON::String> sourcemeta::core::OpenAPIFrame::Operation::servers

Where the Server Objects in force sit, empty when nothing declares any, in which case Section 4.8.1 puts a single Server Object with a url of / in their place

◆ tags

std::vector<std::optional<JSON::String> > sourcemeta::core::OpenAPIFrame::Operation::tags

Where the Tag Object each of its tags names sits, in the order the operation wrote them, with no value where the entry document declares no tag by that name. Section 4.8.1 permits exactly that: "Not all tags that are used by the Operation Object must be declared"


The documentation for this struct was generated from the following file:
  • /__w/core/core/src/core/openapi/include/sourcemeta/core/openapi.h