@authzed/authzed-node
Version:
authzed client for nodejs
1,396 lines (1,395 loc) • 151 kB
text/typescript
// @generated by protobuf-ts 2.9.1 with parameter generate_dependencies,long_type_string,client_grpc1
// @generated from protobuf file "protoc-gen-openapiv2/options/openapiv2.proto" (package "grpc.gateway.protoc_gen_openapiv2.options", syntax proto3)
// tslint:disable
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { IBinaryWriter } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { IBinaryReader } from "@protobuf-ts/runtime";
import { UnknownFieldHandler } from "@protobuf-ts/runtime";
import { WireType } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { reflectionMergePartial } from "@protobuf-ts/runtime";
import { MESSAGE_TYPE } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
import { Value } from "../../google/protobuf/struct.js";
/**
* `Swagger` is a representation of OpenAPI v2 specification's Swagger object.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#swaggerObject
*
* Example:
*
* option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
* info: {
* title: "Echo API";
* version: "1.0";
* description: "";
* contact: {
* name: "gRPC-Gateway project";
* url: "https://github.com/grpc-ecosystem/grpc-gateway";
* email: "none@example.com";
* };
* license: {
* name: "BSD 3-Clause License";
* url: "https://github.com/grpc-ecosystem/grpc-gateway/blob/main/LICENSE";
* };
* };
* schemes: HTTPS;
* consumes: "application/json";
* produces: "application/json";
* };
*
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.Swagger
*/
export interface Swagger {
/**
* Specifies the OpenAPI Specification version being used. It can be
* used by the OpenAPI UI and other clients to interpret the API listing. The
* value MUST be "2.0".
*
* @generated from protobuf field: string swagger = 1;
*/
swagger: string;
/**
* Provides metadata about the API. The metadata can be used by the
* clients if needed.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.Info info = 2;
*/
info?: Info;
/**
* The host (name or ip) serving the API. This MUST be the host only and does
* not include the scheme nor sub-paths. It MAY include a port. If the host is
* not included, the host serving the documentation is to be used (including
* the port). The host does not support path templating.
*
* @generated from protobuf field: string host = 3;
*/
host: string;
/**
* The base path on which the API is served, which is relative to the host. If
* it is not included, the API is served directly under the host. The value
* MUST start with a leading slash (/). The basePath does not support path
* templating.
* Note that using `base_path` does not change the endpoint paths that are
* generated in the resulting OpenAPI file. If you wish to use `base_path`
* with relatively generated OpenAPI paths, the `base_path` prefix must be
* manually removed from your `google.api.http` paths and your code changed to
* serve the API from the `base_path`.
*
* @generated from protobuf field: string base_path = 4;
*/
basePath: string;
/**
* The transfer protocol of the API. Values MUST be from the list: "http",
* "https", "ws", "wss". If the schemes is not included, the default scheme to
* be used is the one used to access the OpenAPI definition itself.
*
* @generated from protobuf field: repeated grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes = 5;
*/
schemes: Scheme[];
/**
* A list of MIME types the APIs can consume. This is global to all APIs but
* can be overridden on specific API calls. Value MUST be as described under
* Mime Types.
*
* @generated from protobuf field: repeated string consumes = 6;
*/
consumes: string[];
/**
* A list of MIME types the APIs can produce. This is global to all APIs but
* can be overridden on specific API calls. Value MUST be as described under
* Mime Types.
*
* @generated from protobuf field: repeated string produces = 7;
*/
produces: string[];
/**
* An object to hold responses that can be used across operations. This
* property does not define global responses for all operations.
*
* @generated from protobuf field: map<string, grpc.gateway.protoc_gen_openapiv2.options.Response> responses = 10;
*/
responses: {
[key: string]: Response;
};
/**
* Security scheme definitions that can be used across the specification.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions security_definitions = 11;
*/
securityDefinitions?: SecurityDefinitions;
/**
* A declaration of which security schemes are applied for the API as a whole.
* The list of values describes alternative security schemes that can be used
* (that is, there is a logical OR between the security requirements).
* Individual operations can override this definition.
*
* @generated from protobuf field: repeated grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security = 12;
*/
security: SecurityRequirement[];
/**
* A list of tags for API documentation control. Tags can be used for logical
* grouping of operations by resources or any other qualifier.
*
* @generated from protobuf field: repeated grpc.gateway.protoc_gen_openapiv2.options.Tag tags = 13;
*/
tags: Tag[];
/**
* Additional external documentation.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 14;
*/
externalDocs?: ExternalDocumentation;
/**
* Custom properties that start with "x-" such as "x-foo" used to describe
* extra functionality that is not covered by the standard OpenAPI Specification.
* See: https://swagger.io/docs/specification/2-0/swagger-extensions/
*
* @generated from protobuf field: map<string, google.protobuf.Value> extensions = 15;
*/
extensions: {
[key: string]: Value;
};
}
/**
* `Operation` is a representation of OpenAPI v2 specification's Operation object.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#operationObject
*
* Example:
*
* service EchoService {
* rpc Echo(SimpleMessage) returns (SimpleMessage) {
* option (google.api.http) = {
* get: "/v1/example/echo/{id}"
* };
*
* option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
* summary: "Get a message.";
* operation_id: "getMessage";
* tags: "echo";
* responses: {
* key: "200"
* value: {
* description: "OK";
* }
* }
* };
* }
* }
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.Operation
*/
export interface Operation {
/**
* A list of tags for API documentation control. Tags can be used for logical
* grouping of operations by resources or any other qualifier.
*
* @generated from protobuf field: repeated string tags = 1;
*/
tags: string[];
/**
* A short summary of what the operation does. For maximum readability in the
* swagger-ui, this field SHOULD be less than 120 characters.
*
* @generated from protobuf field: string summary = 2;
*/
summary: string;
/**
* A verbose explanation of the operation behavior. GFM syntax can be used for
* rich text representation.
*
* @generated from protobuf field: string description = 3;
*/
description: string;
/**
* Additional external documentation for this operation.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 4;
*/
externalDocs?: ExternalDocumentation;
/**
* Unique string used to identify the operation. The id MUST be unique among
* all operations described in the API. Tools and libraries MAY use the
* operationId to uniquely identify an operation, therefore, it is recommended
* to follow common programming naming conventions.
*
* @generated from protobuf field: string operation_id = 5;
*/
operationId: string;
/**
* A list of MIME types the operation can consume. This overrides the consumes
* definition at the OpenAPI Object. An empty value MAY be used to clear the
* global definition. Value MUST be as described under Mime Types.
*
* @generated from protobuf field: repeated string consumes = 6;
*/
consumes: string[];
/**
* A list of MIME types the operation can produce. This overrides the produces
* definition at the OpenAPI Object. An empty value MAY be used to clear the
* global definition. Value MUST be as described under Mime Types.
*
* @generated from protobuf field: repeated string produces = 7;
*/
produces: string[];
/**
* The list of possible responses as they are returned from executing this
* operation.
*
* @generated from protobuf field: map<string, grpc.gateway.protoc_gen_openapiv2.options.Response> responses = 9;
*/
responses: {
[key: string]: Response;
};
/**
* The transfer protocol for the operation. Values MUST be from the list:
* "http", "https", "ws", "wss". The value overrides the OpenAPI Object
* schemes definition.
*
* @generated from protobuf field: repeated grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes = 10;
*/
schemes: Scheme[];
/**
* Declares this operation to be deprecated. Usage of the declared operation
* should be refrained. Default value is false.
*
* @generated from protobuf field: bool deprecated = 11;
*/
deprecated: boolean;
/**
* A declaration of which security schemes are applied for this operation. The
* list of values describes alternative security schemes that can be used
* (that is, there is a logical OR between the security requirements). This
* definition overrides any declared top-level security. To remove a top-level
* security declaration, an empty array can be used.
*
* @generated from protobuf field: repeated grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security = 12;
*/
security: SecurityRequirement[];
/**
* Custom properties that start with "x-" such as "x-foo" used to describe
* extra functionality that is not covered by the standard OpenAPI Specification.
* See: https://swagger.io/docs/specification/2-0/swagger-extensions/
*
* @generated from protobuf field: map<string, google.protobuf.Value> extensions = 13;
*/
extensions: {
[key: string]: Value;
};
/**
* Custom parameters such as HTTP request headers.
* See: https://swagger.io/docs/specification/2-0/describing-parameters/
* and https://swagger.io/specification/v2/#parameter-object.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.Parameters parameters = 14;
*/
parameters?: Parameters;
}
/**
* `Parameters` is a representation of OpenAPI v2 specification's parameters object.
* Note: This technically breaks compatibility with the OpenAPI 2 definition structure as we only
* allow header parameters to be set here since we do not want users specifying custom non-header
* parameters beyond those inferred from the Protobuf schema.
* See: https://swagger.io/specification/v2/#parameter-object
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.Parameters
*/
export interface Parameters {
/**
* `Headers` is one or more HTTP header parameter.
* See: https://swagger.io/docs/specification/2-0/describing-parameters/#header-parameters
*
* @generated from protobuf field: repeated grpc.gateway.protoc_gen_openapiv2.options.HeaderParameter headers = 1;
*/
headers: HeaderParameter[];
}
/**
* `HeaderParameter` a HTTP header parameter.
* See: https://swagger.io/specification/v2/#parameter-object
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.HeaderParameter
*/
export interface HeaderParameter {
/**
* `Name` is the header name.
*
* @generated from protobuf field: string name = 1;
*/
name: string;
/**
* `Description` is a short description of the header.
*
* @generated from protobuf field: string description = 2;
*/
description: string;
/**
* `Type` is the type of the object. The value MUST be one of "string", "number", "integer", or "boolean". The "array" type is not supported.
* See: https://swagger.io/specification/v2/#parameterType.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.HeaderParameter.Type type = 3;
*/
type: HeaderParameter_Type;
/**
* `Format` The extending format for the previously mentioned type.
*
* @generated from protobuf field: string format = 4;
*/
format: string;
/**
* `Required` indicates if the header is optional
*
* @generated from protobuf field: bool required = 5;
*/
required: boolean;
}
/**
* `Type` is a supported HTTP header type.
* See https://swagger.io/specification/v2/#parameterType.
*
* @generated from protobuf enum grpc.gateway.protoc_gen_openapiv2.options.HeaderParameter.Type
*/
export enum HeaderParameter_Type {
/**
* @generated from protobuf enum value: UNKNOWN = 0;
*/
UNKNOWN = 0,
/**
* @generated from protobuf enum value: STRING = 1;
*/
STRING = 1,
/**
* @generated from protobuf enum value: NUMBER = 2;
*/
NUMBER = 2,
/**
* @generated from protobuf enum value: INTEGER = 3;
*/
INTEGER = 3,
/**
* @generated from protobuf enum value: BOOLEAN = 4;
*/
BOOLEAN = 4
}
/**
* `Header` is a representation of OpenAPI v2 specification's Header object.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#headerObject
*
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.Header
*/
export interface Header {
/**
* `Description` is a short description of the header.
*
* @generated from protobuf field: string description = 1;
*/
description: string;
/**
* The type of the object. The value MUST be one of "string", "number", "integer", or "boolean". The "array" type is not supported.
*
* @generated from protobuf field: string type = 2;
*/
type: string;
/**
* `Format` The extending format for the previously mentioned type.
*
* @generated from protobuf field: string format = 3;
*/
format: string;
/**
* `Default` Declares the value of the header that the server will use if none is provided.
* See: https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-6.2.
* Unlike JSON Schema this value MUST conform to the defined type for the header.
*
* @generated from protobuf field: string default = 6;
*/
default: string;
/**
* 'Pattern' See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.3.
*
* @generated from protobuf field: string pattern = 13;
*/
pattern: string;
}
/**
* `Response` is a representation of OpenAPI v2 specification's Response object.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#responseObject
*
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.Response
*/
export interface Response {
/**
* `Description` is a short description of the response.
* GFM syntax can be used for rich text representation.
*
* @generated from protobuf field: string description = 1;
*/
description: string;
/**
* `Schema` optionally defines the structure of the response.
* If `Schema` is not provided, it means there is no content to the response.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.Schema schema = 2;
*/
schema?: Schema;
/**
* `Headers` A list of headers that are sent with the response.
* `Header` name is expected to be a string in the canonical format of the MIME header key
* See: https://golang.org/pkg/net/textproto/#CanonicalMIMEHeaderKey
*
* @generated from protobuf field: map<string, grpc.gateway.protoc_gen_openapiv2.options.Header> headers = 3;
*/
headers: {
[key: string]: Header;
};
/**
* `Examples` gives per-mimetype response examples.
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#example-object
*
* @generated from protobuf field: map<string, string> examples = 4;
*/
examples: {
[key: string]: string;
};
/**
* Custom properties that start with "x-" such as "x-foo" used to describe
* extra functionality that is not covered by the standard OpenAPI Specification.
* See: https://swagger.io/docs/specification/2-0/swagger-extensions/
*
* @generated from protobuf field: map<string, google.protobuf.Value> extensions = 5;
*/
extensions: {
[key: string]: Value;
};
}
/**
* `Info` is a representation of OpenAPI v2 specification's Info object.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#infoObject
*
* Example:
*
* option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
* info: {
* title: "Echo API";
* version: "1.0";
* description: "";
* contact: {
* name: "gRPC-Gateway project";
* url: "https://github.com/grpc-ecosystem/grpc-gateway";
* email: "none@example.com";
* };
* license: {
* name: "BSD 3-Clause License";
* url: "https://github.com/grpc-ecosystem/grpc-gateway/blob/main/LICENSE";
* };
* };
* ...
* };
*
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.Info
*/
export interface Info {
/**
* The title of the application.
*
* @generated from protobuf field: string title = 1;
*/
title: string;
/**
* A short description of the application. GFM syntax can be used for rich
* text representation.
*
* @generated from protobuf field: string description = 2;
*/
description: string;
/**
* The Terms of Service for the API.
*
* @generated from protobuf field: string terms_of_service = 3;
*/
termsOfService: string;
/**
* The contact information for the exposed API.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.Contact contact = 4;
*/
contact?: Contact;
/**
* The license information for the exposed API.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.License license = 5;
*/
license?: License;
/**
* Provides the version of the application API (not to be confused
* with the specification version).
*
* @generated from protobuf field: string version = 6;
*/
version: string;
/**
* Custom properties that start with "x-" such as "x-foo" used to describe
* extra functionality that is not covered by the standard OpenAPI Specification.
* See: https://swagger.io/docs/specification/2-0/swagger-extensions/
*
* @generated from protobuf field: map<string, google.protobuf.Value> extensions = 7;
*/
extensions: {
[key: string]: Value;
};
}
/**
* `Contact` is a representation of OpenAPI v2 specification's Contact object.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#contactObject
*
* Example:
*
* option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
* info: {
* ...
* contact: {
* name: "gRPC-Gateway project";
* url: "https://github.com/grpc-ecosystem/grpc-gateway";
* email: "none@example.com";
* };
* ...
* };
* ...
* };
*
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.Contact
*/
export interface Contact {
/**
* The identifying name of the contact person/organization.
*
* @generated from protobuf field: string name = 1;
*/
name: string;
/**
* The URL pointing to the contact information. MUST be in the format of a
* URL.
*
* @generated from protobuf field: string url = 2;
*/
url: string;
/**
* The email address of the contact person/organization. MUST be in the format
* of an email address.
*
* @generated from protobuf field: string email = 3;
*/
email: string;
}
/**
* `License` is a representation of OpenAPI v2 specification's License object.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#licenseObject
*
* Example:
*
* option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
* info: {
* ...
* license: {
* name: "BSD 3-Clause License";
* url: "https://github.com/grpc-ecosystem/grpc-gateway/blob/main/LICENSE";
* };
* ...
* };
* ...
* };
*
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.License
*/
export interface License {
/**
* The license name used for the API.
*
* @generated from protobuf field: string name = 1;
*/
name: string;
/**
* A URL to the license used for the API. MUST be in the format of a URL.
*
* @generated from protobuf field: string url = 2;
*/
url: string;
}
/**
* `ExternalDocumentation` is a representation of OpenAPI v2 specification's
* ExternalDocumentation object.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#externalDocumentationObject
*
* Example:
*
* option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
* ...
* external_docs: {
* description: "More about gRPC-Gateway";
* url: "https://github.com/grpc-ecosystem/grpc-gateway";
* }
* ...
* };
*
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation
*/
export interface ExternalDocumentation {
/**
* A short description of the target documentation. GFM syntax can be used for
* rich text representation.
*
* @generated from protobuf field: string description = 1;
*/
description: string;
/**
* The URL for the target documentation. Value MUST be in the format
* of a URL.
*
* @generated from protobuf field: string url = 2;
*/
url: string;
}
/**
* `Schema` is a representation of OpenAPI v2 specification's Schema object.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#schemaObject
*
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.Schema
*/
export interface Schema {
/**
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.JSONSchema json_schema = 1;
*/
jsonSchema?: JSONSchema;
/**
* Adds support for polymorphism. The discriminator is the schema property
* name that is used to differentiate between other schema that inherit this
* schema. The property name used MUST be defined at this schema and it MUST
* be in the required property list. When used, the value MUST be the name of
* this schema or any schema that inherits it.
*
* @generated from protobuf field: string discriminator = 2;
*/
discriminator: string;
/**
* Relevant only for Schema "properties" definitions. Declares the property as
* "read only". This means that it MAY be sent as part of a response but MUST
* NOT be sent as part of the request. Properties marked as readOnly being
* true SHOULD NOT be in the required list of the defined schema. Default
* value is false.
*
* @generated from protobuf field: bool read_only = 3;
*/
readOnly: boolean;
/**
* Additional external documentation for this schema.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 5;
*/
externalDocs?: ExternalDocumentation;
/**
* A free-form property to include an example of an instance for this schema in JSON.
* This is copied verbatim to the output.
*
* @generated from protobuf field: string example = 6;
*/
example: string;
}
/**
* `EnumSchema` is subset of fields from the OpenAPI v2 specification's Schema object.
* Only fields that are applicable to Enums are included
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#schemaObject
*
* Example:
*
* option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_enum) = {
* ...
* title: "MyEnum";
* description:"This is my nice enum";
* example: "ZERO";
* required: true;
* ...
* };
*
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.EnumSchema
*/
export interface EnumSchema {
/**
* A short description of the schema.
*
* @generated from protobuf field: string description = 1;
*/
description: string;
/**
* @generated from protobuf field: string default = 2;
*/
default: string;
/**
* The title of the schema.
*
* @generated from protobuf field: string title = 3;
*/
title: string;
/**
* @generated from protobuf field: bool required = 4;
*/
required: boolean;
/**
* @generated from protobuf field: bool read_only = 5;
*/
readOnly: boolean;
/**
* Additional external documentation for this schema.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 6;
*/
externalDocs?: ExternalDocumentation;
/**
* @generated from protobuf field: string example = 7;
*/
example: string;
/**
* Ref is used to define an external reference to include in the message.
* This could be a fully qualified proto message reference, and that type must
* be imported into the protofile. If no message is identified, the Ref will
* be used verbatim in the output.
* For example:
* `ref: ".google.protobuf.Timestamp"`.
*
* @generated from protobuf field: string ref = 8;
*/
ref: string;
/**
* Custom properties that start with "x-" such as "x-foo" used to describe
* extra functionality that is not covered by the standard OpenAPI Specification.
* See: https://swagger.io/docs/specification/2-0/swagger-extensions/
*
* @generated from protobuf field: map<string, google.protobuf.Value> extensions = 9;
*/
extensions: {
[key: string]: Value;
};
}
/**
* `JSONSchema` represents properties from JSON Schema taken, and as used, in
* the OpenAPI v2 spec.
*
* This includes changes made by OpenAPI v2.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#schemaObject
*
* See also: https://cswr.github.io/JsonSchema/spec/basic_types/,
* https://github.com/json-schema-org/json-schema-spec/blob/master/schema.json
*
* Example:
*
* message SimpleMessage {
* option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
* json_schema: {
* title: "SimpleMessage"
* description: "A simple message."
* required: ["id"]
* }
* };
*
* // Id represents the message identifier.
* string id = 1; [
* (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
* description: "The unique identifier of the simple message."
* }];
* }
*
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.JSONSchema
*/
export interface JSONSchema {
/**
* Ref is used to define an external reference to include in the message.
* This could be a fully qualified proto message reference, and that type must
* be imported into the protofile. If no message is identified, the Ref will
* be used verbatim in the output.
* For example:
* `ref: ".google.protobuf.Timestamp"`.
*
* @generated from protobuf field: string ref = 3;
*/
ref: string;
/**
* The title of the schema.
*
* @generated from protobuf field: string title = 5;
*/
title: string;
/**
* A short description of the schema.
*
* @generated from protobuf field: string description = 6;
*/
description: string;
/**
* @generated from protobuf field: string default = 7;
*/
default: string;
/**
* @generated from protobuf field: bool read_only = 8;
*/
readOnly: boolean;
/**
* A free-form property to include a JSON example of this field. This is copied
* verbatim to the output swagger.json. Quotes must be escaped.
* This property is the same for 2.0 and 3.0.0 https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/3.0.0.md#schemaObject https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#schemaObject
*
* @generated from protobuf field: string example = 9;
*/
example: string;
/**
* @generated from protobuf field: double multiple_of = 10;
*/
multipleOf: number;
/**
* Maximum represents an inclusive upper limit for a numeric instance. The
* value of MUST be a number,
*
* @generated from protobuf field: double maximum = 11;
*/
maximum: number;
/**
* @generated from protobuf field: bool exclusive_maximum = 12;
*/
exclusiveMaximum: boolean;
/**
* minimum represents an inclusive lower limit for a numeric instance. The
* value of MUST be a number,
*
* @generated from protobuf field: double minimum = 13;
*/
minimum: number;
/**
* @generated from protobuf field: bool exclusive_minimum = 14;
*/
exclusiveMinimum: boolean;
/**
* @generated from protobuf field: uint64 max_length = 15;
*/
maxLength: string;
/**
* @generated from protobuf field: uint64 min_length = 16;
*/
minLength: string;
/**
* @generated from protobuf field: string pattern = 17;
*/
pattern: string;
/**
* @generated from protobuf field: uint64 max_items = 20;
*/
maxItems: string;
/**
* @generated from protobuf field: uint64 min_items = 21;
*/
minItems: string;
/**
* @generated from protobuf field: bool unique_items = 22;
*/
uniqueItems: boolean;
/**
* @generated from protobuf field: uint64 max_properties = 24;
*/
maxProperties: string;
/**
* @generated from protobuf field: uint64 min_properties = 25;
*/
minProperties: string;
/**
* @generated from protobuf field: repeated string required = 26;
*/
required: string[];
/**
* Items in 'array' must be unique.
*
* @generated from protobuf field: repeated string array = 34;
*/
array: string[];
/**
* @generated from protobuf field: repeated grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.JSONSchemaSimpleTypes type = 35;
*/
type: JSONSchema_JSONSchemaSimpleTypes[];
/**
* `Format`
*
* @generated from protobuf field: string format = 36;
*/
format: string;
/**
* Items in `enum` must be unique https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.5.1
*
* @generated from protobuf field: repeated string enum = 46;
*/
enum: string[];
/**
* Additional field level properties used when generating the OpenAPI v2 file.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration field_configuration = 1001;
*/
fieldConfiguration?: JSONSchema_FieldConfiguration;
/**
* Custom properties that start with "x-" such as "x-foo" used to describe
* extra functionality that is not covered by the standard OpenAPI Specification.
* See: https://swagger.io/docs/specification/2-0/swagger-extensions/
*
* @generated from protobuf field: map<string, google.protobuf.Value> extensions = 48;
*/
extensions: {
[key: string]: Value;
};
}
/**
* 'FieldConfiguration' provides additional field level properties used when generating the OpenAPI v2 file.
* These properties are not defined by OpenAPIv2, but they are used to control the generation.
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration
*/
export interface JSONSchema_FieldConfiguration {
/**
* Alternative parameter name when used as path parameter. If set, this will
* be used as the complete parameter name when this field is used as a path
* parameter. Use this to avoid having auto generated path parameter names
* for overlapping paths.
*
* @generated from protobuf field: string path_param_name = 47;
*/
pathParamName: string;
}
/**
* @generated from protobuf enum grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.JSONSchemaSimpleTypes
*/
export enum JSONSchema_JSONSchemaSimpleTypes {
/**
* @generated from protobuf enum value: UNKNOWN = 0;
*/
UNKNOWN = 0,
/**
* @generated from protobuf enum value: ARRAY = 1;
*/
ARRAY = 1,
/**
* @generated from protobuf enum value: BOOLEAN = 2;
*/
BOOLEAN = 2,
/**
* @generated from protobuf enum value: INTEGER = 3;
*/
INTEGER = 3,
/**
* @generated from protobuf enum value: NULL = 4;
*/
NULL = 4,
/**
* @generated from protobuf enum value: NUMBER = 5;
*/
NUMBER = 5,
/**
* @generated from protobuf enum value: OBJECT = 6;
*/
OBJECT = 6,
/**
* @generated from protobuf enum value: STRING = 7;
*/
STRING = 7
}
/**
* `Tag` is a representation of OpenAPI v2 specification's Tag object.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#tagObject
*
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.Tag
*/
export interface Tag {
/**
* The name of the tag. Use it to allow override of the name of a
* global Tag object, then use that name to reference the tag throughout the
* OpenAPI file.
*
* @generated from protobuf field: string name = 1;
*/
name: string;
/**
* A short description for the tag. GFM syntax can be used for rich text
* representation.
*
* @generated from protobuf field: string description = 2;
*/
description: string;
/**
* Additional external documentation for this tag.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 3;
*/
externalDocs?: ExternalDocumentation;
/**
* Custom properties that start with "x-" such as "x-foo" used to describe
* extra functionality that is not covered by the standard OpenAPI Specification.
* See: https://swagger.io/docs/specification/2-0/swagger-extensions/
*
* @generated from protobuf field: map<string, google.protobuf.Value> extensions = 4;
*/
extensions: {
[key: string]: Value;
};
}
/**
* `SecurityDefinitions` is a representation of OpenAPI v2 specification's
* Security Definitions object.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#securityDefinitionsObject
*
* A declaration of the security schemes available to be used in the
* specification. This does not enforce the security schemes on the operations
* and only serves to provide the relevant details for each scheme.
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions
*/
export interface SecurityDefinitions {
/**
* A single security scheme definition, mapping a "name" to the scheme it
* defines.
*
* @generated from protobuf field: map<string, grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme> security = 1;
*/
security: {
[key: string]: SecurityScheme;
};
}
/**
* `SecurityScheme` is a representation of OpenAPI v2 specification's
* Security Scheme object.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#securitySchemeObject
*
* Allows the definition of a security scheme that can be used by the
* operations. Supported schemes are basic authentication, an API key (either as
* a header or as a query parameter) and OAuth2's common flows (implicit,
* password, application and access code).
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme
*/
export interface SecurityScheme {
/**
* The type of the security scheme. Valid values are "basic",
* "apiKey" or "oauth2".
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Type type = 1;
*/
type: SecurityScheme_Type;
/**
* A short description for security scheme.
*
* @generated from protobuf field: string description = 2;
*/
description: string;
/**
* The name of the header or query parameter to be used.
* Valid for apiKey.
*
* @generated from protobuf field: string name = 3;
*/
name: string;
/**
* The location of the API key. Valid values are "query" or
* "header".
* Valid for apiKey.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.In in = 4;
*/
in: SecurityScheme_In;
/**
* The flow used by the OAuth2 security scheme. Valid values are
* "implicit", "password", "application" or "accessCode".
* Valid for oauth2.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Flow flow = 5;
*/
flow: SecurityScheme_Flow;
/**
* The authorization URL to be used for this flow. This SHOULD be in
* the form of a URL.
* Valid for oauth2/implicit and oauth2/accessCode.
*
* @generated from protobuf field: string authorization_url = 6;
*/
authorizationUrl: string;
/**
* The token URL to be used for this flow. This SHOULD be in the
* form of a URL.
* Valid for oauth2/password, oauth2/application and oauth2/accessCode.
*
* @generated from protobuf field: string token_url = 7;
*/
tokenUrl: string;
/**
* The available scopes for the OAuth2 security scheme.
* Valid for oauth2.
*
* @generated from protobuf field: grpc.gateway.protoc_gen_openapiv2.options.Scopes scopes = 8;
*/
scopes?: Scopes;
/**
* Custom properties that start with "x-" such as "x-foo" used to describe
* extra functionality that is not covered by the standard OpenAPI Specification.
* See: https://swagger.io/docs/specification/2-0/swagger-extensions/
*
* @generated from protobuf field: map<string, google.protobuf.Value> extensions = 9;
*/
extensions: {
[key: string]: Value;
};
}
/**
* The type of the security scheme. Valid values are "basic",
* "apiKey" or "oauth2".
*
* @generated from protobuf enum grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Type
*/
export enum SecurityScheme_Type {
/**
* @generated from protobuf enum value: TYPE_INVALID = 0;
*/
INVALID = 0,
/**
* @generated from protobuf enum value: TYPE_BASIC = 1;
*/
BASIC = 1,
/**
* @generated from protobuf enum value: TYPE_API_KEY = 2;
*/
API_KEY = 2,
/**
* @generated from protobuf enum value: TYPE_OAUTH2 = 3;
*/
OAUTH2 = 3
}
/**
* The location of the API key. Valid values are "query" or "header".
*
* @generated from protobuf enum grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.In
*/
export enum SecurityScheme_In {
/**
* @generated from protobuf enum value: IN_INVALID = 0;
*/
INVALID = 0,
/**
* @generated from protobuf enum value: IN_QUERY = 1;
*/
QUERY = 1,
/**
* @generated from protobuf enum value: IN_HEADER = 2;
*/
HEADER = 2
}
/**
* The flow used by the OAuth2 security scheme. Valid values are
* "implicit", "password", "application" or "accessCode".
*
* @generated from protobuf enum grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Flow
*/
export enum SecurityScheme_Flow {
/**
* @generated from protobuf enum value: FLOW_INVALID = 0;
*/
INVALID = 0,
/**
* @generated from protobuf enum value: FLOW_IMPLICIT = 1;
*/
IMPLICIT = 1,
/**
* @generated from protobuf enum value: FLOW_PASSWORD = 2;
*/
PASSWORD = 2,
/**
* @generated from protobuf enum value: FLOW_APPLICATION = 3;
*/
APPLICATION = 3,
/**
* @generated from protobuf enum value: FLOW_ACCESS_CODE = 4;
*/
ACCESS_CODE = 4
}
/**
* `SecurityRequirement` is a representation of OpenAPI v2 specification's
* Security Requirement object.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#securityRequirementObject
*
* Lists the required security schemes to execute this operation. The object can
* have multiple security schemes declared in it which are all required (that
* is, there is a logical AND between the schemes).
*
* The name used for each property MUST correspond to a security scheme
* declared in the Security Definitions.
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement
*/
export interface SecurityRequirement {
/**
* Each name must correspond to a security scheme which is declared in
* the Security Definitions. If the security scheme is of type "oauth2",
* then the value is a list of scope names required for the execution.
* For other security scheme types, the array MUST be empty.
*
* @generated from protobuf field: map<string, grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue> security_requirement = 1;
*/
securityRequirement: {
[key: string]: SecurityRequirement_SecurityRequirementValue;
};
}
/**
* If the security scheme is of type "oauth2", then the value is a list of
* scope names required for the execution. For other security scheme types,
* the array MUST be empty.
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue
*/
export interface SecurityRequirement_SecurityRequirementValue {
/**
* @generated from protobuf field: repeated string scope = 1;
*/
scope: string[];
}
/**
* `Scopes` is a representation of OpenAPI v2 specification's Scopes object.
*
* See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#scopesObject
*
* Lists the available scopes for an OAuth2 security scheme.
*
* @generated from protobuf message grpc.gateway.protoc_gen_openapiv2.options.Scopes
*/
export interface Scopes {
/**
* Maps between a name of a scope to a short description of it (as the value
* of the property).
*
* @generated from protobuf field: map<string, string> scope = 1;
*/
scope: {
[key: string]: string;
};
}
/**
* Scheme describes the schemes supported by the OpenAPI Swagger
* and Operation objects.
*
* @generated from protobuf enum grpc.gateway.protoc_gen_openapiv2.options.Scheme
*/
export enum Scheme {
/**
* @generated from protobuf enum value: UNKNOWN = 0;
*/
UNKNOWN = 0,
/**
* @generated from protobuf enum value: HTTP = 1;
*/
HTTP = 1,
/**
* @generated from protobuf enum value: HTTPS = 2;
*/
HTTPS = 2,
/**
* @generated from protobuf enum value: WS = 3;
*/
WS = 3,
/**
* @generated from protobuf enum value: WSS = 4;
*/
WSS = 4
}
// @generated message type with reflection information, may provide speed optimized methods
class Swagger$Type extends MessageType<Swagger> {
constructor() {
super("grpc.gateway.protoc_gen_openapiv2.options.Swagger", [
{ no: 1, name: "swagger", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
{ no: 2, name: "info", kind: "message", T: () => Info },
{ no: 3, name: "host", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
{ no: 4, name: "base_path", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
{ no: 5, name: "schemes", kind: "enum", repeat: 1 /*RepeatType.PACKED*/, T: () => ["grpc.gateway.protoc_gen_openapiv2.options.Scheme", Scheme] },
{ no: 6, name: "consumes", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
{ no: 7, name: "produces", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
{ no: 10, name: "responses", kind: "map", K: 9 /*ScalarType.STRING*/, V: { kind: "message", T: () => Response } },
{ no: 11, name: "security_definitions", kind: "message", T: () => SecurityDefinitions },
{ no: 12, name: "security", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => SecurityRequirement },
{ no: 13, name: "tags", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => Tag },
{ no: 14, name: "external_docs", kind: "message", T: () => ExternalDocumentation },
{ no: 15, name: "extensions", kind: "map", K: 9 /*ScalarType.STRING*/, V: { kind: "message", T: () => Value } }
]);
}
create(value?: PartialMessage<Swagger>): Swagger {
const message = { swagger: "", host: "", basePath: "", schemes: [], consumes: [], produces: [], responses: {}, security: [], tags: [], extensions: {} };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
if (value !== undefined)
reflectionMergePartial<Swagger>(this, message, value);
return message;
}
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Swagger): Swagger {
let message = target ?? this.create(), end = reader.pos + length;
while (reader.pos < end) {
let [fieldNo, wireType] = reader.tag();
switch (fieldNo) {
case /* string swagger */ 1:
message.swagger = reader.string();
break;
case /* grpc.gateway.protoc_gen_openapiv2.options.Info info */ 2:
message.info = Info.internalBinaryRead(reader, reader.uint32(), options, message.info);
break;
case /* string host */ 3:
message.host = reader.string();
break;
case /* string base_path */ 4:
message.basePath = reader.string();
break;
case /* repeated grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes */ 5:
if (wireType === WireType.LengthDelimited)
for (let e = reader.int32() + reader.pos; reader.pos < e;)
message.schemes.push(reader.int32());
else
message.schemes.push(reader.int32());
break;
case /* repeated string consumes */ 6:
message.consumes.push(reader.string());
break;
case /* repeated string produces */ 7:
message.produces.push(reader.string());
break;
case /* map<string, grpc.gateway.protoc_gen_openapiv2.options.Response> responses */ 10:
this.binaryReadMap10(message.responses, reader, options);
break;
case /* grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions security_definitions */ 11:
message.securityDefinitions = SecurityDefinitions.internalBinaryRead(reader, reader.uint32(), options, message.securityDefinitions);
break;
case /* repeated grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security */ 12:
message.security.push(SecurityRequirement.internalBinaryRead(reader, reader.uint32(), options));
break;
case /* repeated grpc.gateway.protoc_gen_openapiv2.options.Tag tags */ 13:
message.tags.push(Tag.internalBinaryRead(reader, reader.uint32(), options));
break;
case /* grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs */ 14:
message.externalDocs = ExternalDocumentation.internalBinaryRead(reader, reader.uint32(), options, message.externalDocs);
break;
case /* map<string, google.protobuf.Value> extensions */ 15: