@furo/open-models 1.15.1 → 1.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1265,7 +1265,7 @@
1265
1265
  "description": "The FieldNode model to bind to"
1266
1266
  }
1267
1267
  ],
1268
- "description": "### modelBindings Factory\n\nCreates type-safe decorators bound to a specific FieldNode model.\nUse this to bind component properties and methods to model events.\n\nUsage:\n```typescript\nimport { modelBindings } from \"@x/furo/open-models/ModelDecorators\";\nimport { CubeEntityModel } from \"./CubeEntityModel\";\n\nconst cubeModel = modelBindings(CubeEntityModel.model);\n\nclass MyComponent extends LitElement {\n // Bind to a nested field value - updates when cube.length changes",
1268
+ "description": "### ModelBindings Factory\n\nCreates type-safe decorators bound to a specific FieldNode model.\nUse this to bind component properties and methods to model events.\n\nUsage:\n```typescript\nimport { ModelBindings } from \"@x/furo/open-models/ModelDecorators\";\nimport { CubeEntityModel } from \"./CubeEntityModel\";\n\nconst cubeModel = ModelBindings(CubeEntityModel.model);\n\nclass MyComponent extends LitElement {\n // Bind to a nested field value - updates when cube.length changes",
1269
1269
  "return": {
1270
1270
  "type": {
1271
1271
  "text": ""
@@ -1382,7 +1382,7 @@
1382
1382
  "description": "The EventTarget service to bind to"
1383
1383
  }
1384
1384
  ],
1385
- "description": "### serviceBindings Factory\n\nCreates type-safe decorators bound to a specific service instance.\nUse this to bind component properties and methods to service events.\n\nThe factory is generic and works with any `EventTarget`.\nEvent types and their detail payloads are type-checked at compile time\nvia the `TEventMap` type parameter.\n\nUsage:\n```typescript\nimport { cubeEntityService } from \"./CubeEntityService\";\nimport { serviceBindings } from \"./ServiceDecorators.js\";\n\nconst cube = serviceBindings(cubeEntityService);\n\nclass MyComponent extends LitElement {\n // Property binding - type-safe event name, auto-extracts from detail",
1385
+ "description": "### ServiceBindings Factory\n\nCreates type-safe decorators bound to a specific service instance.\nUse this to bind component properties and methods to service events.\n\nThe factory is generic and works with any `EventTarget`.\nEvent types and their detail payloads are type-checked at compile time\nvia the `TEventMap` type parameter.\n\nUsage:\n```typescript\nimport { cubeEntityService } from \"./CubeEntityService\";\nimport { ServiceBindings } from \"./ServiceDecorators.js\";\n\nconst cube = ServiceBindings(cubeEntityService);\n\nclass MyComponent extends LitElement {\n // Property binding - type-safe event name, auto-extracts from detail",
1386
1386
  "return": {
1387
1387
  "type": {
1388
1388
  "text": ""
@@ -85347,20 +85347,28 @@
85347
85347
  },
85348
85348
  {
85349
85349
  "kind": "javascript-module",
85350
- "path": "dist/protoc-gen-open-models/google/api/CustomHttpPattern.js",
85350
+ "path": "dist/protoc-gen-open-models/furo/cube/Colour.js",
85351
85351
  "declarations": [
85352
85352
  {
85353
85353
  "kind": "class",
85354
- "description": "CustomHttpPattern\n A custom pattern is used for defining custom HTTP verb.",
85355
- "name": "CustomHttpPattern",
85354
+ "description": "Colour\n Colour is a rgba color",
85355
+ "name": "Colour",
85356
85356
  "members": [
85357
85357
  {
85358
85358
  "kind": "field",
85359
- "name": "kind"
85359
+ "name": "red"
85360
85360
  },
85361
85361
  {
85362
85362
  "kind": "field",
85363
- "name": "path"
85363
+ "name": "green"
85364
+ },
85365
+ {
85366
+ "kind": "field",
85367
+ "name": "blue"
85368
+ },
85369
+ {
85370
+ "kind": "field",
85371
+ "name": "alpha"
85364
85372
  },
85365
85373
  {
85366
85374
  "kind": "method",
@@ -85381,7 +85389,7 @@
85381
85389
  "type": {
85382
85390
  "text": "string"
85383
85391
  },
85384
- "default": "'google.api.CustomHttpPattern'"
85392
+ "default": "'furo.cube.Colour'"
85385
85393
  },
85386
85394
  {
85387
85395
  "kind": "field",
@@ -85389,7 +85397,7 @@
85389
85397
  "type": {
85390
85398
  "text": "string"
85391
85399
  },
85392
- "default": "'CustomHttpPattern A custom pattern is used for defining custom HTTP verb.'"
85400
+ "default": "'Colour Colour is a rgba color'"
85393
85401
  },
85394
85402
  {
85395
85403
  "kind": "field",
@@ -85397,17 +85405,27 @@
85397
85405
  "type": {
85398
85406
  "text": "array"
85399
85407
  },
85400
- "default": "[ { fieldName: 'kind', protoName: 'kind', FieldConstructor: STRING, constraints: {}, description: 'The name of this custom HTTP verb.', }, { fieldName: 'path', protoName: 'path', FieldConstructor: STRING, constraints: {}, description: 'The path matched by this custom verb.', }, ]"
85408
+ "default": "[ { fieldName: 'red', protoName: 'red', FieldConstructor: INT32, constraints: { maximum: 255 }, description: 'the red part of the color', }, { fieldName: 'green', protoName: 'green', FieldConstructor: INT32, constraints: { maximum: 255 }, description: 'the green part of the color', }, { fieldName: 'blue', protoName: 'blue', FieldConstructor: INT32, constraints: { maximum: 255 }, description: 'the blue part of the color', }, { fieldName: 'alpha', protoName: 'alpha', FieldConstructor: FLOAT, constraints: { maximum: 1 }, description: '', }, ]"
85401
85409
  },
85402
85410
  {
85403
85411
  "kind": "field",
85404
- "name": "_kind",
85405
- "default": "new STRING(undefined, this, 'kind')"
85412
+ "name": "_red",
85413
+ "default": "new INT32(undefined, this, 'red')"
85406
85414
  },
85407
85415
  {
85408
85416
  "kind": "field",
85409
- "name": "_path",
85410
- "default": "new STRING(undefined, this, 'path')"
85417
+ "name": "_green",
85418
+ "default": "new INT32(undefined, this, 'green')"
85419
+ },
85420
+ {
85421
+ "kind": "field",
85422
+ "name": "_blue",
85423
+ "default": "new INT32(undefined, this, 'blue')"
85424
+ },
85425
+ {
85426
+ "kind": "field",
85427
+ "name": "_alpha",
85428
+ "default": "new FLOAT(undefined, this, 'alpha')"
85411
85429
  },
85412
85430
  {
85413
85431
  "kind": "field",
@@ -85415,7 +85433,7 @@
85415
85433
  "type": {
85416
85434
  "text": "object"
85417
85435
  },
85418
- "default": "{}"
85436
+ "default": "{ alpha: 1.0, blue: 88.0, green: 34.0, red: 22.0, }"
85419
85437
  },
85420
85438
  {
85421
85439
  "kind": "field",
@@ -86253,36 +86271,48 @@
86253
86271
  "exports": [
86254
86272
  {
86255
86273
  "kind": "js",
86256
- "name": "CustomHttpPattern",
86274
+ "name": "Colour",
86257
86275
  "declaration": {
86258
- "name": "CustomHttpPattern",
86259
- "module": "dist/protoc-gen-open-models/google/api/CustomHttpPattern.js"
86276
+ "name": "Colour",
86277
+ "module": "dist/protoc-gen-open-models/furo/cube/Colour.js"
86260
86278
  }
86261
86279
  }
86262
86280
  ]
86263
86281
  },
86264
86282
  {
86265
86283
  "kind": "javascript-module",
86266
- "path": "dist/protoc-gen-open-models/google/api/CustomHttpPattern.js.map",
86284
+ "path": "dist/protoc-gen-open-models/furo/cube/Colour.js.map",
86267
86285
  "declarations": [],
86268
86286
  "exports": []
86269
86287
  },
86270
86288
  {
86271
86289
  "kind": "javascript-module",
86272
- "path": "dist/protoc-gen-open-models/google/api/Http.js",
86290
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeDefinition.js",
86273
86291
  "declarations": [
86274
86292
  {
86275
86293
  "kind": "class",
86276
- "description": "Http\n Defines the HTTP configuration for an API service. It contains a list of\n [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method\n to one or more HTTP REST API methods.",
86277
- "name": "Http",
86294
+ "description": "CubeDefinition\n CubeDefinition is a definition of a cube.",
86295
+ "name": "CubeDefinition",
86278
86296
  "members": [
86279
86297
  {
86280
86298
  "kind": "field",
86281
- "name": "rules"
86299
+ "name": "length"
86282
86300
  },
86283
86301
  {
86284
86302
  "kind": "field",
86285
- "name": "fullyDecodeReservedExpansion"
86303
+ "name": "breadth"
86304
+ },
86305
+ {
86306
+ "kind": "field",
86307
+ "name": "height"
86308
+ },
86309
+ {
86310
+ "kind": "field",
86311
+ "name": "colour"
86312
+ },
86313
+ {
86314
+ "kind": "field",
86315
+ "name": "material"
86286
86316
  },
86287
86317
  {
86288
86318
  "kind": "method",
@@ -86303,7 +86333,7 @@
86303
86333
  "type": {
86304
86334
  "text": "string"
86305
86335
  },
86306
- "default": "'google.api.Http'"
86336
+ "default": "'furo.cube.CubeDefinition'"
86307
86337
  },
86308
86338
  {
86309
86339
  "kind": "field",
@@ -86311,7 +86341,7 @@
86311
86341
  "type": {
86312
86342
  "text": "string"
86313
86343
  },
86314
- "default": "'Http Defines the HTTP configuration for an API service. It contains a list of\\n [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method\\n to one or more HTTP REST API methods.'"
86344
+ "default": "'CubeDefinition CubeDefinition is a definition of a cube.'"
86315
86345
  },
86316
86346
  {
86317
86347
  "kind": "field",
@@ -86319,17 +86349,32 @@
86319
86349
  "type": {
86320
86350
  "text": "array"
86321
86351
  },
86322
- "default": "[ { fieldName: 'rules', protoName: 'rules', FieldConstructor: GoogleApiHttpRule, constraints: {}, description: 'A list of HTTP configuration rules that apply to individual API methods.\\n\\n **NOTE:** All service configuration rules follow \"last one wins\" order.', }, { fieldName: 'fullyDecodeReservedExpansion', protoName: 'fully_decode_reserved_expansion', FieldConstructor: BOOLEAN, constraints: {}, description: 'When set to true, URL path parameters will be fully URI-decoded except in\\n cases of single segment matches in reserved expansion, where \"%2F\" will be\\n left encoded.\\n\\n The default behavior is to not decode RFC 6570 reserved characters in multi\\n segment matches.', }, ]"
86352
+ "default": "[ { fieldName: 'length', protoName: 'length', FieldConstructor: DOUBLE, constraints: { maximum: 1000, minimum: 100, required: true }, description: 'the length of the cube in cm', }, { fieldName: 'breadth', protoName: 'breadth', FieldConstructor: DOUBLE, constraints: { maximum: 1000, minimum: 100, required: true }, description: 'the breadth / width of the cube in cm', }, { fieldName: 'height', protoName: 'height', FieldConstructor: DOUBLE, constraints: { maximum: 1000, minimum: 100, required: true }, description: 'the height of the cube in cm', }, { fieldName: 'colour', protoName: 'colour', FieldConstructor: FuroCubeColour, constraints: {}, description: 'the color of the cube', }, { fieldName: 'material', protoName: 'material', FieldConstructor: (ENUM), constraints: {}, description: 'The material the cube is made of', }, ]"
86323
86353
  },
86324
86354
  {
86325
86355
  "kind": "field",
86326
- "name": "_rules",
86327
- "default": "new ARRAY(undefined, this, 'rules')"
86356
+ "name": "_length",
86357
+ "default": "new DOUBLE(undefined, this, 'length')"
86328
86358
  },
86329
86359
  {
86330
86360
  "kind": "field",
86331
- "name": "_fullyDecodeReservedExpansion",
86332
- "default": "new BOOLEAN(undefined, this, 'fullyDecodeReservedExpansion')"
86361
+ "name": "_breadth",
86362
+ "default": "new DOUBLE(undefined, this, 'breadth')"
86363
+ },
86364
+ {
86365
+ "kind": "field",
86366
+ "name": "_height",
86367
+ "default": "new DOUBLE(undefined, this, 'height')"
86368
+ },
86369
+ {
86370
+ "kind": "field",
86371
+ "name": "_colour",
86372
+ "default": "new FuroCubeColour(undefined, this, 'colour')"
86373
+ },
86374
+ {
86375
+ "kind": "field",
86376
+ "name": "_material",
86377
+ "default": "new ENUM(undefined, FuroCubeMaterials, FuroCubeMaterials.MATERIALS_UNSPECIFIED, this, 'material')"
86333
86378
  },
86334
86379
  {
86335
86380
  "kind": "field",
@@ -86337,7 +86382,7 @@
86337
86382
  "type": {
86338
86383
  "text": "object"
86339
86384
  },
86340
- "default": "{}"
86385
+ "default": "{ breadth: 100.0, height: 100.0, length: 100.0, }"
86341
86386
  },
86342
86387
  {
86343
86388
  "kind": "field",
@@ -87175,68 +87220,44 @@
87175
87220
  "exports": [
87176
87221
  {
87177
87222
  "kind": "js",
87178
- "name": "Http",
87223
+ "name": "CubeDefinition",
87179
87224
  "declaration": {
87180
- "name": "Http",
87181
- "module": "dist/protoc-gen-open-models/google/api/Http.js"
87225
+ "name": "CubeDefinition",
87226
+ "module": "dist/protoc-gen-open-models/furo/cube/CubeDefinition.js"
87182
87227
  }
87183
87228
  }
87184
87229
  ]
87185
87230
  },
87186
87231
  {
87187
87232
  "kind": "javascript-module",
87188
- "path": "dist/protoc-gen-open-models/google/api/Http.js.map",
87233
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeDefinition.js.map",
87189
87234
  "declarations": [],
87190
87235
  "exports": []
87191
87236
  },
87192
87237
  {
87193
87238
  "kind": "javascript-module",
87194
- "path": "dist/protoc-gen-open-models/google/api/HttpRule.js",
87239
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeEntity.js",
87195
87240
  "declarations": [
87196
87241
  {
87197
87242
  "kind": "class",
87198
- "description": "HttpRule\n # gRPC Transcoding\n\n gRPC Transcoding is a feature for mapping between a gRPC method and one or\n more HTTP REST endpoints. It allows developers to build a single API service\n that supports both gRPC APIs and REST APIs. Many systems, including [Google\n APIs](https://github.com/googleapis/googleapis),\n [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC\n Gateway](https://github.com/grpc-ecosystem/grpc-gateway),\n and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature\n and use it for large scale production services.\n\n `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies\n how different portions of the gRPC request message are mapped to the URL\n path, URL query parameters, and HTTP request body. It also controls how the\n gRPC response message is mapped to the HTTP response body. `HttpRule` is\n typically specified as an `google.api.http` annotation on the gRPC method.\n\n Each mapping specifies a URL path template and an HTTP method. The path\n template may refer to one or more fields in the gRPC request message, as long\n as each field is a non-repeated field with a primitive (non-message) type.\n The path template controls how fields of the request message are mapped to\n the URL path.\n\n Example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/{name=messages/*}\"\n };\n }\n }\n message GetMessageRequest {\n string name = 1; // Mapped to URL path.\n }\n message Message {\n string text = 1; // The resource content.\n }\n\n This enables an HTTP REST to gRPC mapping as below:\n\n HTTP | gRPC\n -----|-----\n `GET /v1/messages/123456` | `GetMessage(name: \"messages/123456\")`\n\n Any fields in the request message which are not bound by the path template\n automatically become HTTP query parameters if there is no HTTP request body.\n For example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get:\"/v1/messages/{message_id}\"\n };\n }\n }\n message GetMessageRequest {\n message SubMessage {\n string subfield = 1;\n }\n string message_id = 1; // Mapped to URL path.\n int64 revision = 2; // Mapped to URL query parameter `revision`.\n SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.\n }\n\n This enables a HTTP JSON to RPC mapping as below:\n\n HTTP | gRPC\n -----|-----\n `GET /v1/messages/123456?revision=2&sub.subfield=foo` |\n `GetMessage(message_id: \"123456\" revision: 2 sub: SubMessage(subfield:\n \"foo\"))`\n\n Note that fields which are mapped to URL query parameters must have a\n primitive type or a repeated primitive type or a non-repeated message type.\n In the case of a repeated type, the parameter can be repeated in the URL\n as `...?param=A&param=B`. In the case of a message type, each field of the\n message is mapped to a separate parameter, such as\n `...?foo.a=A&foo.b=B&foo.c=C`.\n\n For HTTP methods that allow a request body, the `body` field\n specifies the mapping. Consider a REST update method on the\n message resource collection:\n\n service Messaging {\n rpc UpdateMessage(UpdateMessageRequest) returns (Message) {\n option (google.api.http) = {\n patch: \"/v1/messages/{message_id}\"\n body: \"message\"\n };\n }\n }\n message UpdateMessageRequest {\n string message_id = 1; // mapped to the URL\n Message message = 2; // mapped to the body\n }\n\n The following HTTP JSON to RPC mapping is enabled, where the\n representation of the JSON in the request body is determined by\n protos JSON encoding:\n\n HTTP | gRPC\n -----|-----\n `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id:\n \"123456\" message { text: \"Hi!\" })`\n\n The special name `*` can be used in the body mapping to define that\n every field not bound by the path template should be mapped to the\n request body. This enables the following alternative definition of\n the update method:\n\n service Messaging {\n rpc UpdateMessage(Message) returns (Message) {\n option (google.api.http) = {\n patch: \"/v1/messages/{message_id}\"\n body: \"*\"\n };\n }\n }\n message Message {\n string message_id = 1;\n string text = 2;\n }\n\n\n The following HTTP JSON to RPC mapping is enabled:\n\n HTTP | gRPC\n -----|-----\n `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id:\n \"123456\" text: \"Hi!\")`\n\n Note that when using `*` in the body mapping, it is not possible to\n have HTTP parameters, as all fields not bound by the path end in\n the body. This makes this option more rarely used in practice when\n defining REST APIs. The common usage of `*` is in custom methods\n which don't use the URL at all for transferring data.\n\n It is possible to define multiple HTTP methods for one RPC by using\n the `additional_bindings` option. Example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/messages/{message_id}\"\n additional_bindings {\n get: \"/v1/users/{user_id}/messages/{message_id}\"\n }\n };\n }\n }\n message GetMessageRequest {\n string message_id = 1;\n string user_id = 2;\n }\n\n This enables the following two alternative HTTP JSON to RPC mappings:\n\n HTTP | gRPC\n -----|-----\n `GET /v1/messages/123456` | `GetMessage(message_id: \"123456\")`\n `GET /v1/users/me/messages/123456` | `GetMessage(user_id: \"me\" message_id:\n \"123456\")`\n\n ## Rules for HTTP mapping\n\n 1. Leaf request fields (recursive expansion nested messages in the request\n message) are classified into three categories:\n - Fields referred by the path template. They are passed via the URL path.\n - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They\n are passed via the HTTP\n request body.\n - All other fields are passed via the URL query parameters, and the\n parameter name is the field path in the request message. A repeated\n field can be represented as multiple query parameters under the same\n name.\n 2. If [HttpRule.body][google.api.HttpRule.body] is \"*\", there is no URL\n query parameter, all fields\n are passed via URL path and HTTP request body.\n 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP\n request body, all\n fields are passed via URL path and URL query parameters.\n\n ### Path template syntax\n\n Template = \"/\" Segments [ Verb ] ;\n Segments = Segment { \"/\" Segment } ;\n Segment = \"*\" | \"**\" | LITERAL | Variable ;\n Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ;\n FieldPath = IDENT { \".\" IDENT } ;\n Verb = \":\" LITERAL ;\n\n The syntax `*` matches a single URL path segment. The syntax `**` matches\n zero or more URL path segments, which must be the last part of the URL path\n except the `Verb`.\n\n The syntax `Variable` matches part of the URL path as specified by its\n template. A variable template must not contain other variables. If a variable\n matches a single path segment, its template may be omitted, e.g. `{var}`\n is equivalent to `{var=*}`.\n\n The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`\n contains any reserved character, such characters should be percent-encoded\n before the matching.\n\n If a variable contains exactly one path segment, such as `\"{var}\"` or\n `\"{var=*}\"`, when such a variable is expanded into a URL path on the client\n side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The\n server side does the reverse decoding. Such variables show up in the\n [Discovery\n Document](https://developers.google.com/discovery/v1/reference/apis) as\n `{var}`.\n\n If a variable contains multiple path segments, such as `\"{var=foo/*}\"`\n or `\"{var=**}\"`, when such a variable is expanded into a URL path on the\n client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.\n The server side does the reverse decoding, except \"%2F\" and \"%2f\" are left\n unchanged. Such variables show up in the\n [Discovery\n Document](https://developers.google.com/discovery/v1/reference/apis) as\n `{+var}`.\n\n ## Using gRPC API Service Configuration\n\n gRPC API Service Configuration (service config) is a configuration language\n for configuring a gRPC service to become a user-facing product. The\n service config is simply the YAML representation of the `google.api.Service`\n proto message.\n\n As an alternative to annotating your proto file, you can configure gRPC\n transcoding in your service config YAML files. You do this by specifying a\n `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same\n effect as the proto annotation. This can be particularly useful if you\n have a proto that is reused in multiple services. Note that any transcoding\n specified in the service config will override any matching transcoding\n configuration in the proto.\n\n Example:\n\n http:\n rules:\n # Selects a gRPC method and applies HttpRule to it.\n - selector: example.v1.Messaging.GetMessage\n get: /v1/messages/{message_id}/{sub.subfield}\n\n ## Special notes\n\n When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the\n proto to JSON conversion must follow the [proto3\n specification](https://developers.google.com/protocol-buffers/docs/proto3#json).\n\n While the single segment variable follows the semantics of\n [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String\n Expansion, the multi segment variable **does not** follow RFC 6570 Section\n 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion\n does not expand special characters like `?` and `#`, which would lead\n to invalid URLs. As the result, gRPC Transcoding uses a custom encoding\n for multi segment variables.\n\n The path variables **must not** refer to any repeated or mapped field,\n because client libraries are not capable of handling such variable expansion.\n\n The path variables **must not** capture the leading \"/\" character. The reason\n is that the most common use case \"{var}\" does not capture the leading \"/\"\n character. For consistency, all path variables must share the same behavior.\n\n Repeated message fields must not be mapped to URL query parameters, because\n no client library can support such complicated mapping.\n\n If an API needs to use a JSON array for request or response body, it can map\n the request or response body to a repeated field. However, some gRPC\n Transcoding implementations may not support this feature.",
87199
- "name": "HttpRule",
87243
+ "description": "CubeEntity\n CubeEntity",
87244
+ "name": "CubeEntity",
87200
87245
  "members": [
87201
87246
  {
87202
87247
  "kind": "field",
87203
- "name": "selector"
87204
- },
87205
- {
87206
- "kind": "field",
87207
- "name": "get"
87208
- },
87209
- {
87210
- "kind": "field",
87211
- "name": "put"
87212
- },
87213
- {
87214
- "kind": "field",
87215
- "name": "post"
87216
- },
87217
- {
87218
- "kind": "field",
87219
- "name": "delete"
87220
- },
87221
- {
87222
- "kind": "field",
87223
- "name": "patch"
87224
- },
87225
- {
87226
- "kind": "field",
87227
- "name": "custom"
87228
- },
87229
- {
87230
- "kind": "field",
87231
- "name": "body"
87248
+ "name": "displayName"
87232
87249
  },
87233
87250
  {
87234
87251
  "kind": "field",
87235
- "name": "responseBody"
87252
+ "name": "description",
87253
+ "type": {
87254
+ "text": "string"
87255
+ },
87256
+ "default": "'CubeEntity CubeEntity'"
87236
87257
  },
87237
87258
  {
87238
87259
  "kind": "field",
87239
- "name": "additionalBindings"
87260
+ "name": "cube"
87240
87261
  },
87241
87262
  {
87242
87263
  "kind": "method",
@@ -87257,15 +87278,7 @@
87257
87278
  "type": {
87258
87279
  "text": "string"
87259
87280
  },
87260
- "default": "'google.api.HttpRule'"
87261
- },
87262
- {
87263
- "kind": "field",
87264
- "name": "description",
87265
- "type": {
87266
- "text": "string"
87267
- },
87268
- "default": "'HttpRule # gRPC Transcoding\\n\\n gRPC Transcoding is a feature for mapping between a gRPC method and one or\\n more HTTP REST endpoints. It allows developers to build a single API service\\n that supports both gRPC APIs and REST APIs. Many systems, including [Google\\n APIs](https://github.com/googleapis/googleapis),\\n [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC\\n Gateway](https://github.com/grpc-ecosystem/grpc-gateway),\\n and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature\\n and use it for large scale production services.\\n\\n `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies\\n how different portions of the gRPC request message are mapped to the URL\\n path, URL query parameters, and HTTP request body. It also controls how the\\n gRPC response message is mapped to the HTTP response body. `HttpRule` is\\n typically specified as an `google.api.http` annotation on the gRPC method.\\n\\n Each mapping specifies a URL path template and an HTTP method. The path\\n template may refer to one or more fields in the gRPC request message, as long\\n as each field is a non-repeated field with a primitive (non-message) type.\\n The path template controls how fields of the request message are mapped to\\n the URL path.\\n\\n Example:\\n\\n service Messaging {\\n rpc GetMessage(GetMessageRequest) returns (Message) {\\n option (google.api.http) = {\\n get: \"/v1/{name=messages/*}\"\\n };\\n }\\n }\\n message GetMessageRequest {\\n string name = 1; // Mapped to URL path.\\n }\\n message Message {\\n string text = 1; // The resource content.\\n }\\n\\n This enables an HTTP REST to gRPC mapping as below:\\n\\n HTTP | gRPC\\n -----|-----\\n `GET /v1/messages/123456` | `GetMessage(name: \"messages/123456\")`\\n\\n Any fields in the request message which are not bound by the path template\\n automatically become HTTP query parameters if there is no HTTP request body.\\n For example:\\n\\n service Messaging {\\n rpc GetMessage(GetMessageRequest) returns (Message) {\\n option (google.api.http) = {\\n get:\"/v1/messages/{message_id}\"\\n };\\n }\\n }\\n message GetMessageRequest {\\n message SubMessage {\\n string subfield = 1;\\n }\\n string message_id = 1; // Mapped to URL path.\\n int64 revision = 2; // Mapped to URL query parameter `revision`.\\n SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.\\n }\\n\\n This enables a HTTP JSON to RPC mapping as below:\\n\\n HTTP | gRPC\\n -----|-----\\n `GET /v1/messages/123456?revision=2&sub.subfield=foo` |\\n `GetMessage(message_id: \"123456\" revision: 2 sub: SubMessage(subfield:\\n \"foo\"))`\\n\\n Note that fields which are mapped to URL query parameters must have a\\n primitive type or a repeated primitive type or a non-repeated message type.\\n In the case of a repeated type, the parameter can be repeated in the URL\\n as `...?param=A&param=B`. In the case of a message type, each field of the\\n message is mapped to a separate parameter, such as\\n `...?foo.a=A&foo.b=B&foo.c=C`.\\n\\n For HTTP methods that allow a request body, the `body` field\\n specifies the mapping. Consider a REST update method on the\\n message resource collection:\\n\\n service Messaging {\\n rpc UpdateMessage(UpdateMessageRequest) returns (Message) {\\n option (google.api.http) = {\\n patch: \"/v1/messages/{message_id}\"\\n body: \"message\"\\n };\\n }\\n }\\n message UpdateMessageRequest {\\n string message_id = 1; // mapped to the URL\\n Message message = 2; // mapped to the body\\n }\\n\\n The following HTTP JSON to RPC mapping is enabled, where the\\n representation of the JSON in the request body is determined by\\n protos JSON encoding:\\n\\n HTTP | gRPC\\n -----|-----\\n `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id:\\n \"123456\" message { text: \"Hi!\" })`\\n\\n The special name `*` can be used in the body mapping to define that\\n every field not bound by the path template should be mapped to the\\n request body. This enables the following alternative definition of\\n the update method:\\n\\n service Messaging {\\n rpc UpdateMessage(Message) returns (Message) {\\n option (google.api.http) = {\\n patch: \"/v1/messages/{message_id}\"\\n body: \"*\"\\n };\\n }\\n }\\n message Message {\\n string message_id = 1;\\n string text = 2;\\n }\\n\\n\\n The following HTTP JSON to RPC mapping is enabled:\\n\\n HTTP | gRPC\\n -----|-----\\n `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id:\\n \"123456\" text: \"Hi!\")`\\n\\n Note that when using `*` in the body mapping, it is not possible to\\n have HTTP parameters, as all fields not bound by the path end in\\n the body. This makes this option more rarely used in practice when\\n defining REST APIs. The common usage of `*` is in custom methods\\n which don\\'t use the URL at all for transferring data.\\n\\n It is possible to define multiple HTTP methods for one RPC by using\\n the `additional_bindings` option. Example:\\n\\n service Messaging {\\n rpc GetMessage(GetMessageRequest) returns (Message) {\\n option (google.api.http) = {\\n get: \"/v1/messages/{message_id}\"\\n additional_bindings {\\n get: \"/v1/users/{user_id}/messages/{message_id}\"\\n }\\n };\\n }\\n }\\n message GetMessageRequest {\\n string message_id = 1;\\n string user_id = 2;\\n }\\n\\n This enables the following two alternative HTTP JSON to RPC mappings:\\n\\n HTTP | gRPC\\n -----|-----\\n `GET /v1/messages/123456` | `GetMessage(message_id: \"123456\")`\\n `GET /v1/users/me/messages/123456` | `GetMessage(user_id: \"me\" message_id:\\n \"123456\")`\\n\\n ## Rules for HTTP mapping\\n\\n 1. Leaf request fields (recursive expansion nested messages in the request\\n message) are classified into three categories:\\n - Fields referred by the path template. They are passed via the URL path.\\n - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They\\n are passed via the HTTP\\n request body.\\n - All other fields are passed via the URL query parameters, and the\\n parameter name is the field path in the request message. A repeated\\n field can be represented as multiple query parameters under the same\\n name.\\n 2. If [HttpRule.body][google.api.HttpRule.body] is \"*\", there is no URL\\n query parameter, all fields\\n are passed via URL path and HTTP request body.\\n 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP\\n request body, all\\n fields are passed via URL path and URL query parameters.\\n\\n ### Path template syntax\\n\\n Template = \"/\" Segments [ Verb ] ;\\n Segments = Segment { \"/\" Segment } ;\\n Segment = \"*\" | \"**\" | LITERAL | Variable ;\\n Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ;\\n FieldPath = IDENT { \".\" IDENT } ;\\n Verb = \":\" LITERAL ;\\n\\n The syntax `*` matches a single URL path segment. The syntax `**` matches\\n zero or more URL path segments, which must be the last part of the URL path\\n except the `Verb`.\\n\\n The syntax `Variable` matches part of the URL path as specified by its\\n template. A variable template must not contain other variables. If a variable\\n matches a single path segment, its template may be omitted, e.g. `{var}`\\n is equivalent to `{var=*}`.\\n\\n The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`\\n contains any reserved character, such characters should be percent-encoded\\n before the matching.\\n\\n If a variable contains exactly one path segment, such as `\"{var}\"` or\\n `\"{var=*}\"`, when such a variable is expanded into a URL path on the client\\n side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The\\n server side does the reverse decoding. Such variables show up in the\\n [Discovery\\n Document](https://developers.google.com/discovery/v1/reference/apis) as\\n `{var}`.\\n\\n If a variable contains multiple path segments, such as `\"{var=foo/*}\"`\\n or `\"{var=**}\"`, when such a variable is expanded into a URL path on the\\n client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.\\n The server side does the reverse decoding, except \"%2F\" and \"%2f\" are left\\n unchanged. Such variables show up in the\\n [Discovery\\n Document](https://developers.google.com/discovery/v1/reference/apis) as\\n `{+var}`.\\n\\n ## Using gRPC API Service Configuration\\n\\n gRPC API Service Configuration (service config) is a configuration language\\n for configuring a gRPC service to become a user-facing product. The\\n service config is simply the YAML representation of the `google.api.Service`\\n proto message.\\n\\n As an alternative to annotating your proto file, you can configure gRPC\\n transcoding in your service config YAML files. You do this by specifying a\\n `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same\\n effect as the proto annotation. This can be particularly useful if you\\n have a proto that is reused in multiple services. Note that any transcoding\\n specified in the service config will override any matching transcoding\\n configuration in the proto.\\n\\n Example:\\n\\n http:\\n rules:\\n # Selects a gRPC method and applies HttpRule to it.\\n - selector: example.v1.Messaging.GetMessage\\n get: /v1/messages/{message_id}/{sub.subfield}\\n\\n ## Special notes\\n\\n When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the\\n proto to JSON conversion must follow the [proto3\\n specification](https://developers.google.com/protocol-buffers/docs/proto3#json).\\n\\n While the single segment variable follows the semantics of\\n [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String\\n Expansion, the multi segment variable **does not** follow RFC 6570 Section\\n 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion\\n does not expand special characters like `?` and `#`, which would lead\\n to invalid URLs. As the result, gRPC Transcoding uses a custom encoding\\n for multi segment variables.\\n\\n The path variables **must not** refer to any repeated or mapped field,\\n because client libraries are not capable of handling such variable expansion.\\n\\n The path variables **must not** capture the leading \"/\" character. The reason\\n is that the most common use case \"{var}\" does not capture the leading \"/\"\\n character. For consistency, all path variables must share the same behavior.\\n\\n Repeated message fields must not be mapped to URL query parameters, because\\n no client library can support such complicated mapping.\\n\\n If an API needs to use a JSON array for request or response body, it can map\\n the request or response body to a repeated field. However, some gRPC\\n Transcoding implementations may not support this feature.'"
87281
+ "default": "'furo.cube.CubeEntity'"
87269
87282
  },
87270
87283
  {
87271
87284
  "kind": "field",
@@ -87273,57 +87286,22 @@
87273
87286
  "type": {
87274
87287
  "text": "array"
87275
87288
  },
87276
- "default": "[ { fieldName: 'selector', protoName: 'selector', FieldConstructor: STRING, constraints: {}, description: 'Selects a method to which this rule applies.\\n\\n Refer to [selector][google.api.DocumentationRule.selector] for syntax\\n details.', }, { fieldName: 'get', protoName: 'get', FieldConstructor: STRING, constraints: {}, description: 'Maps to HTTP GET. Used for listing and getting information about\\n resources.', }, { fieldName: 'put', protoName: 'put', FieldConstructor: STRING, constraints: {}, description: 'Maps to HTTP PUT. Used for replacing a resource.', }, { fieldName: 'post', protoName: 'post', FieldConstructor: STRING, constraints: {}, description: 'Maps to HTTP POST. Used for creating a resource or performing an action.', }, { fieldName: 'delete', protoName: 'delete', FieldConstructor: STRING, constraints: {}, description: 'Maps to HTTP DELETE. Used for deleting a resource.', }, { fieldName: 'patch', protoName: 'patch', FieldConstructor: STRING, constraints: {}, description: 'Maps to HTTP PATCH. Used for updating a resource.', }, { fieldName: 'custom', protoName: 'custom', FieldConstructor: GoogleApiCustomHttpPattern, constraints: {}, description: 'The custom pattern is used for specifying an HTTP method that is not\\n included in the `pattern` field, such as HEAD, or \"*\" to leave the\\n HTTP method unspecified for this rule. The wild-card rule is useful\\n for services that provide content to Web (HTML) clients.', }, { fieldName: 'body', protoName: 'body', FieldConstructor: STRING, constraints: {}, description: 'The name of the request field whose value is mapped to the HTTP request\\n body, or `*` for mapping all request fields not captured by the path\\n pattern to the HTTP body, or omitted for not having any HTTP request body.\\n\\n NOTE: the referred field must be present at the top-level of the request\\n message type.', }, { fieldName: 'responseBody', protoName: 'response_body', FieldConstructor: STRING, constraints: {}, description: 'Optional. The name of the response field whose value is mapped to the HTTP\\n response body. When omitted, the entire response message will be used\\n as the HTTP response body.\\n\\n NOTE: The referred field must be present at the top-level of the response\\n message type.', }, { fieldName: 'additionalBindings', protoName: 'additional_bindings', FieldConstructor: HttpRule, constraints: {}, description: 'Additional HTTP bindings for the selector. Nested bindings must\\n not contain an `additional_bindings` field themselves (that is,\\n the nesting may only be one level deep).', }, ]"
87277
- },
87278
- {
87279
- "kind": "field",
87280
- "name": "_selector",
87281
- "default": "new STRING(undefined, this, 'selector')"
87282
- },
87283
- {
87284
- "kind": "field",
87285
- "name": "_get",
87286
- "default": "new STRING(undefined, this, 'get')"
87287
- },
87288
- {
87289
- "kind": "field",
87290
- "name": "_put",
87291
- "default": "new STRING(undefined, this, 'put')"
87292
- },
87293
- {
87294
- "kind": "field",
87295
- "name": "_post",
87296
- "default": "new STRING(undefined, this, 'post')"
87297
- },
87298
- {
87299
- "kind": "field",
87300
- "name": "_delete",
87301
- "default": "new STRING(undefined, this, 'delete')"
87302
- },
87303
- {
87304
- "kind": "field",
87305
- "name": "_patch",
87306
- "default": "new STRING(undefined, this, 'patch')"
87307
- },
87308
- {
87309
- "kind": "field",
87310
- "name": "_custom",
87311
- "default": "new GoogleApiCustomHttpPattern(undefined, this, 'custom')"
87289
+ "default": "[ { fieldName: 'displayName', protoName: 'display_name', FieldConstructor: STRING, constraints: { read_only: true }, description: 'human-readable name for the cube entity', }, { fieldName: 'description', protoName: 'description', FieldConstructor: STRING, constraints: {}, description: 'short and nice description of the cube', }, { fieldName: 'cube', protoName: 'cube', FieldConstructor: FuroCubeCubeDefinition, constraints: {}, description: 'Definition of the cube', }, ]"
87312
87290
  },
87313
87291
  {
87314
87292
  "kind": "field",
87315
- "name": "_body",
87316
- "default": "new STRING(undefined, this, 'body')"
87293
+ "name": "_displayName",
87294
+ "default": "new STRING(undefined, this, 'displayName')"
87317
87295
  },
87318
87296
  {
87319
87297
  "kind": "field",
87320
- "name": "_responseBody",
87321
- "default": "new STRING(undefined, this, 'responseBody')"
87298
+ "name": "_description",
87299
+ "default": "new STRING(undefined, this, 'description')"
87322
87300
  },
87323
87301
  {
87324
87302
  "kind": "field",
87325
- "name": "_additionalBindings",
87326
- "default": "new ARRAY(undefined, this, 'additionalBindings')"
87303
+ "name": "_cube",
87304
+ "default": "new FuroCubeCubeDefinition(undefined, this, 'cube')"
87327
87305
  },
87328
87306
  {
87329
87307
  "kind": "field",
@@ -87331,7 +87309,7 @@
87331
87309
  "type": {
87332
87310
  "text": "object"
87333
87311
  },
87334
- "default": "{}"
87312
+ "default": "{ cube: { length: 222 }, }"
87335
87313
  },
87336
87314
  {
87337
87315
  "kind": "field",
@@ -88169,44 +88147,76 @@
88169
88147
  "exports": [
88170
88148
  {
88171
88149
  "kind": "js",
88172
- "name": "HttpRule",
88150
+ "name": "CubeEntity",
88173
88151
  "declaration": {
88174
- "name": "HttpRule",
88175
- "module": "dist/protoc-gen-open-models/google/api/HttpRule.js"
88152
+ "name": "CubeEntity",
88153
+ "module": "dist/protoc-gen-open-models/furo/cube/CubeEntity.js"
88176
88154
  }
88177
88155
  }
88178
88156
  ]
88179
88157
  },
88180
88158
  {
88181
88159
  "kind": "javascript-module",
88182
- "path": "dist/protoc-gen-open-models/google/api/HttpRule.js.map",
88160
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeEntity.js.map",
88183
88161
  "declarations": [],
88184
88162
  "exports": []
88185
88163
  },
88186
88164
  {
88187
88165
  "kind": "javascript-module",
88188
- "path": "dist/protoc-gen-open-models/furo/cube/Colour.js",
88166
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeService.js",
88189
88167
  "declarations": [
88190
88168
  {
88191
88169
  "kind": "class",
88192
- "description": "Colour\n Colour is a rgba color",
88193
- "name": "Colour",
88170
+ "description": "",
88171
+ "name": "CubeService",
88194
88172
  "members": [
88195
88173
  {
88196
88174
  "kind": "field",
88197
- "name": "red"
88175
+ "name": "GetList",
88176
+ "default": "new Fetcher(API_OPTIONS, 'GET', '/v1/cubes')"
88198
88177
  },
88199
88178
  {
88200
88179
  "kind": "field",
88201
- "name": "green"
88180
+ "name": "Get",
88181
+ "default": "new Fetcher(API_OPTIONS, 'GET', '/v1/cubes/{cube_id}')"
88202
88182
  },
88203
88183
  {
88204
88184
  "kind": "field",
88205
- "name": "blue"
88206
- },
88185
+ "name": "Update",
88186
+ "default": "new Fetcher(API_OPTIONS, 'PUT', '/v1/cubes/{cube_id}', 'entity')"
88187
+ }
88188
+ ]
88189
+ }
88190
+ ],
88191
+ "exports": [
88192
+ {
88193
+ "kind": "js",
88194
+ "name": "CubeService",
88195
+ "declaration": {
88196
+ "name": "CubeService",
88197
+ "module": "dist/protoc-gen-open-models/furo/cube/CubeService.js"
88198
+ }
88199
+ }
88200
+ ]
88201
+ },
88202
+ {
88203
+ "kind": "javascript-module",
88204
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeService.js.map",
88205
+ "declarations": [],
88206
+ "exports": []
88207
+ },
88208
+ {
88209
+ "kind": "javascript-module",
88210
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetListRequest.js",
88211
+ "declarations": [
88212
+ {
88213
+ "kind": "class",
88214
+ "description": "CubeServiceGetListRequest",
88215
+ "name": "CubeServiceGetListRequest",
88216
+ "members": [
88207
88217
  {
88208
88218
  "kind": "field",
88209
- "name": "alpha"
88219
+ "name": "query"
88210
88220
  },
88211
88221
  {
88212
88222
  "kind": "method",
@@ -88227,7 +88237,7 @@
88227
88237
  "type": {
88228
88238
  "text": "string"
88229
88239
  },
88230
- "default": "'furo.cube.Colour'"
88240
+ "default": "'furo.cube.CubeServiceGetListRequest'"
88231
88241
  },
88232
88242
  {
88233
88243
  "kind": "field",
@@ -88235,7 +88245,7 @@
88235
88245
  "type": {
88236
88246
  "text": "string"
88237
88247
  },
88238
- "default": "'Colour Colour is a rgba color'"
88248
+ "default": "'CubeServiceGetListRequest'"
88239
88249
  },
88240
88250
  {
88241
88251
  "kind": "field",
@@ -88243,27 +88253,12 @@
88243
88253
  "type": {
88244
88254
  "text": "array"
88245
88255
  },
88246
- "default": "[ { fieldName: 'red', protoName: 'red', FieldConstructor: INT32, constraints: { maximum: 255 }, description: 'the red part of the color', }, { fieldName: 'green', protoName: 'green', FieldConstructor: INT32, constraints: { maximum: 255 }, description: 'the green part of the color', }, { fieldName: 'blue', protoName: 'blue', FieldConstructor: INT32, constraints: { maximum: 255 }, description: 'the blue part of the color', }, { fieldName: 'alpha', protoName: 'alpha', FieldConstructor: FLOAT, constraints: { maximum: 1 }, description: '', }, ]"
88247
- },
88248
- {
88249
- "kind": "field",
88250
- "name": "_red",
88251
- "default": "new INT32(undefined, this, 'red')"
88252
- },
88253
- {
88254
- "kind": "field",
88255
- "name": "_green",
88256
- "default": "new INT32(undefined, this, 'green')"
88257
- },
88258
- {
88259
- "kind": "field",
88260
- "name": "_blue",
88261
- "default": "new INT32(undefined, this, 'blue')"
88256
+ "default": "[ { fieldName: 'query', protoName: 'query', FieldConstructor: STRING, constraints: {}, description: 'searches for display_name or client_number', }, ]"
88262
88257
  },
88263
88258
  {
88264
88259
  "kind": "field",
88265
- "name": "_alpha",
88266
- "default": "new FLOAT(undefined, this, 'alpha')"
88260
+ "name": "_query",
88261
+ "default": "new STRING(undefined, this, 'query')"
88267
88262
  },
88268
88263
  {
88269
88264
  "kind": "field",
@@ -88271,7 +88266,7 @@
88271
88266
  "type": {
88272
88267
  "text": "object"
88273
88268
  },
88274
- "default": "{ alpha: 1.0, blue: 88.0, green: 34.0, red: 22.0, }"
88269
+ "default": "{}"
88275
88270
  },
88276
88271
  {
88277
88272
  "kind": "field",
@@ -89109,48 +89104,32 @@
89109
89104
  "exports": [
89110
89105
  {
89111
89106
  "kind": "js",
89112
- "name": "Colour",
89107
+ "name": "CubeServiceGetListRequest",
89113
89108
  "declaration": {
89114
- "name": "Colour",
89115
- "module": "dist/protoc-gen-open-models/furo/cube/Colour.js"
89109
+ "name": "CubeServiceGetListRequest",
89110
+ "module": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetListRequest.js"
89116
89111
  }
89117
89112
  }
89118
89113
  ]
89119
89114
  },
89120
89115
  {
89121
89116
  "kind": "javascript-module",
89122
- "path": "dist/protoc-gen-open-models/furo/cube/Colour.js.map",
89117
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetListRequest.js.map",
89123
89118
  "declarations": [],
89124
89119
  "exports": []
89125
89120
  },
89126
89121
  {
89127
89122
  "kind": "javascript-module",
89128
- "path": "dist/protoc-gen-open-models/furo/cube/CubeDefinition.js",
89123
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetListResponse.js",
89129
89124
  "declarations": [
89130
89125
  {
89131
89126
  "kind": "class",
89132
- "description": "CubeDefinition\n CubeDefinition is a definition of a cube.",
89133
- "name": "CubeDefinition",
89127
+ "description": "CubeServiceGetListResponse",
89128
+ "name": "CubeServiceGetListResponse",
89134
89129
  "members": [
89135
89130
  {
89136
89131
  "kind": "field",
89137
- "name": "length"
89138
- },
89139
- {
89140
- "kind": "field",
89141
- "name": "breadth"
89142
- },
89143
- {
89144
- "kind": "field",
89145
- "name": "height"
89146
- },
89147
- {
89148
- "kind": "field",
89149
- "name": "colour"
89150
- },
89151
- {
89152
- "kind": "field",
89153
- "name": "material"
89132
+ "name": "entities"
89154
89133
  },
89155
89134
  {
89156
89135
  "kind": "method",
@@ -89171,7 +89150,7 @@
89171
89150
  "type": {
89172
89151
  "text": "string"
89173
89152
  },
89174
- "default": "'furo.cube.CubeDefinition'"
89153
+ "default": "'furo.cube.CubeServiceGetListResponse'"
89175
89154
  },
89176
89155
  {
89177
89156
  "kind": "field",
@@ -89179,7 +89158,7 @@
89179
89158
  "type": {
89180
89159
  "text": "string"
89181
89160
  },
89182
- "default": "'CubeDefinition CubeDefinition is a definition of a cube.'"
89161
+ "default": "'CubeServiceGetListResponse'"
89183
89162
  },
89184
89163
  {
89185
89164
  "kind": "field",
@@ -89187,32 +89166,12 @@
89187
89166
  "type": {
89188
89167
  "text": "array"
89189
89168
  },
89190
- "default": "[ { fieldName: 'length', protoName: 'length', FieldConstructor: DOUBLE, constraints: { maximum: 1000, minimum: 100, required: true }, description: 'the length of the cube in cm', }, { fieldName: 'breadth', protoName: 'breadth', FieldConstructor: DOUBLE, constraints: { maximum: 1000, minimum: 100, required: true }, description: 'the breadth / width of the cube in cm', }, { fieldName: 'height', protoName: 'height', FieldConstructor: DOUBLE, constraints: { maximum: 1000, minimum: 100, required: true }, description: 'the height of the cube in cm', }, { fieldName: 'colour', protoName: 'colour', FieldConstructor: FuroCubeColour, constraints: {}, description: 'the color of the cube', }, { fieldName: 'material', protoName: 'material', FieldConstructor: (ENUM), constraints: {}, description: 'The material the cube is made of', }, ]"
89191
- },
89192
- {
89193
- "kind": "field",
89194
- "name": "_length",
89195
- "default": "new DOUBLE(undefined, this, 'length')"
89196
- },
89197
- {
89198
- "kind": "field",
89199
- "name": "_breadth",
89200
- "default": "new DOUBLE(undefined, this, 'breadth')"
89201
- },
89202
- {
89203
- "kind": "field",
89204
- "name": "_height",
89205
- "default": "new DOUBLE(undefined, this, 'height')"
89206
- },
89207
- {
89208
- "kind": "field",
89209
- "name": "_colour",
89210
- "default": "new FuroCubeColour(undefined, this, 'colour')"
89169
+ "default": "[ { fieldName: 'entities', protoName: 'entities', FieldConstructor: FuroCubeCubeEntity, constraints: {}, description: '', }, ]"
89211
89170
  },
89212
89171
  {
89213
89172
  "kind": "field",
89214
- "name": "_material",
89215
- "default": "new ENUM(undefined, FuroCubeMaterials, FuroCubeMaterials.MATERIALS_UNSPECIFIED, this, 'material')"
89173
+ "name": "_entities",
89174
+ "default": "new ARRAY(undefined, this, 'entities')"
89216
89175
  },
89217
89176
  {
89218
89177
  "kind": "field",
@@ -89220,7 +89179,7 @@
89220
89179
  "type": {
89221
89180
  "text": "object"
89222
89181
  },
89223
- "default": "{ breadth: 100.0, height: 100.0, length: 100.0, }"
89182
+ "default": "{}"
89224
89183
  },
89225
89184
  {
89226
89185
  "kind": "field",
@@ -90058,44 +90017,36 @@
90058
90017
  "exports": [
90059
90018
  {
90060
90019
  "kind": "js",
90061
- "name": "CubeDefinition",
90020
+ "name": "CubeServiceGetListResponse",
90062
90021
  "declaration": {
90063
- "name": "CubeDefinition",
90064
- "module": "dist/protoc-gen-open-models/furo/cube/CubeDefinition.js"
90022
+ "name": "CubeServiceGetListResponse",
90023
+ "module": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetListResponse.js"
90065
90024
  }
90066
90025
  }
90067
90026
  ]
90068
90027
  },
90069
90028
  {
90070
90029
  "kind": "javascript-module",
90071
- "path": "dist/protoc-gen-open-models/furo/cube/CubeDefinition.js.map",
90030
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetListResponse.js.map",
90072
90031
  "declarations": [],
90073
90032
  "exports": []
90074
90033
  },
90075
90034
  {
90076
90035
  "kind": "javascript-module",
90077
- "path": "dist/protoc-gen-open-models/furo/cube/CubeEntity.js",
90036
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetRequest.js",
90078
90037
  "declarations": [
90079
90038
  {
90080
90039
  "kind": "class",
90081
- "description": "CubeEntity\n CubeEntity",
90082
- "name": "CubeEntity",
90040
+ "description": "CubeServiceGetRequest",
90041
+ "name": "CubeServiceGetRequest",
90083
90042
  "members": [
90084
90043
  {
90085
90044
  "kind": "field",
90086
- "name": "displayName"
90087
- },
90088
- {
90089
- "kind": "field",
90090
- "name": "description",
90091
- "type": {
90092
- "text": "string"
90093
- },
90094
- "default": "'CubeEntity CubeEntity'"
90045
+ "name": "cubeId"
90095
90046
  },
90096
90047
  {
90097
90048
  "kind": "field",
90098
- "name": "cube"
90049
+ "name": "fields"
90099
90050
  },
90100
90051
  {
90101
90052
  "kind": "method",
@@ -90116,30 +90067,33 @@
90116
90067
  "type": {
90117
90068
  "text": "string"
90118
90069
  },
90119
- "default": "'furo.cube.CubeEntity'"
90070
+ "default": "'furo.cube.CubeServiceGetRequest'"
90120
90071
  },
90121
90072
  {
90122
90073
  "kind": "field",
90123
- "name": "nodeFields",
90074
+ "name": "description",
90124
90075
  "type": {
90125
- "text": "array"
90076
+ "text": "string"
90126
90077
  },
90127
- "default": "[ { fieldName: 'displayName', protoName: 'display_name', FieldConstructor: STRING, constraints: { read_only: true }, description: 'human-readable name for the cube entity', }, { fieldName: 'description', protoName: 'description', FieldConstructor: STRING, constraints: {}, description: 'short and nice description of the cube', }, { fieldName: 'cube', protoName: 'cube', FieldConstructor: FuroCubeCubeDefinition, constraints: {}, description: 'Definition of the cube', }, ]"
90078
+ "default": "'CubeServiceGetRequest'"
90128
90079
  },
90129
90080
  {
90130
90081
  "kind": "field",
90131
- "name": "_displayName",
90132
- "default": "new STRING(undefined, this, 'displayName')"
90082
+ "name": "nodeFields",
90083
+ "type": {
90084
+ "text": "array"
90085
+ },
90086
+ "default": "[ { fieldName: 'cubeId', protoName: 'cube_id', FieldConstructor: STRING, constraints: {}, description: 'ID of the cube', }, { fieldName: 'fields', protoName: 'fields', FieldConstructor: STRING, constraints: {}, description: 'Partial Response, https://cloud.google.com/apis/design/design_patterns#partial_response\\n use wildcard * to get all fields', }, ]"
90133
90087
  },
90134
90088
  {
90135
90089
  "kind": "field",
90136
- "name": "_description",
90137
- "default": "new STRING(undefined, this, 'description')"
90090
+ "name": "_cubeId",
90091
+ "default": "new STRING(undefined, this, 'cubeId')"
90138
90092
  },
90139
90093
  {
90140
90094
  "kind": "field",
90141
- "name": "_cube",
90142
- "default": "new FuroCubeCubeDefinition(undefined, this, 'cube')"
90095
+ "name": "_fields",
90096
+ "default": "new STRING(undefined, this, 'fields')"
90143
90097
  },
90144
90098
  {
90145
90099
  "kind": "field",
@@ -90147,7 +90101,7 @@
90147
90101
  "type": {
90148
90102
  "text": "object"
90149
90103
  },
90150
- "default": "{ cube: { length: 222 }, }"
90104
+ "default": "{ fields: '*', }"
90151
90105
  },
90152
90106
  {
90153
90107
  "kind": "field",
@@ -90985,76 +90939,32 @@
90985
90939
  "exports": [
90986
90940
  {
90987
90941
  "kind": "js",
90988
- "name": "CubeEntity",
90989
- "declaration": {
90990
- "name": "CubeEntity",
90991
- "module": "dist/protoc-gen-open-models/furo/cube/CubeEntity.js"
90992
- }
90993
- }
90994
- ]
90995
- },
90996
- {
90997
- "kind": "javascript-module",
90998
- "path": "dist/protoc-gen-open-models/furo/cube/CubeEntity.js.map",
90999
- "declarations": [],
91000
- "exports": []
91001
- },
91002
- {
91003
- "kind": "javascript-module",
91004
- "path": "dist/protoc-gen-open-models/furo/cube/CubeService.js",
91005
- "declarations": [
91006
- {
91007
- "kind": "class",
91008
- "description": "",
91009
- "name": "CubeService",
91010
- "members": [
91011
- {
91012
- "kind": "field",
91013
- "name": "GetList",
91014
- "default": "new Fetcher(API_OPTIONS, 'GET', '/v1/cubes')"
91015
- },
91016
- {
91017
- "kind": "field",
91018
- "name": "Get",
91019
- "default": "new Fetcher(API_OPTIONS, 'GET', '/v1/cubes/{cube_id}')"
91020
- },
91021
- {
91022
- "kind": "field",
91023
- "name": "Update",
91024
- "default": "new Fetcher(API_OPTIONS, 'PUT', '/v1/cubes/{cube_id}', 'entity')"
91025
- }
91026
- ]
91027
- }
91028
- ],
91029
- "exports": [
91030
- {
91031
- "kind": "js",
91032
- "name": "CubeService",
90942
+ "name": "CubeServiceGetRequest",
91033
90943
  "declaration": {
91034
- "name": "CubeService",
91035
- "module": "dist/protoc-gen-open-models/furo/cube/CubeService.js"
90944
+ "name": "CubeServiceGetRequest",
90945
+ "module": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetRequest.js"
91036
90946
  }
91037
90947
  }
91038
90948
  ]
91039
90949
  },
91040
90950
  {
91041
90951
  "kind": "javascript-module",
91042
- "path": "dist/protoc-gen-open-models/furo/cube/CubeService.js.map",
90952
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetRequest.js.map",
91043
90953
  "declarations": [],
91044
90954
  "exports": []
91045
90955
  },
91046
90956
  {
91047
90957
  "kind": "javascript-module",
91048
- "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetListRequest.js",
90958
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetResponse.js",
91049
90959
  "declarations": [
91050
90960
  {
91051
90961
  "kind": "class",
91052
- "description": "CubeServiceGetListRequest",
91053
- "name": "CubeServiceGetListRequest",
90962
+ "description": "CubeServiceGetResponse",
90963
+ "name": "CubeServiceGetResponse",
91054
90964
  "members": [
91055
90965
  {
91056
90966
  "kind": "field",
91057
- "name": "query"
90967
+ "name": "entity"
91058
90968
  },
91059
90969
  {
91060
90970
  "kind": "method",
@@ -91075,7 +90985,7 @@
91075
90985
  "type": {
91076
90986
  "text": "string"
91077
90987
  },
91078
- "default": "'furo.cube.CubeServiceGetListRequest'"
90988
+ "default": "'furo.cube.CubeServiceGetResponse'"
91079
90989
  },
91080
90990
  {
91081
90991
  "kind": "field",
@@ -91083,7 +90993,7 @@
91083
90993
  "type": {
91084
90994
  "text": "string"
91085
90995
  },
91086
- "default": "'CubeServiceGetListRequest'"
90996
+ "default": "'CubeServiceGetResponse'"
91087
90997
  },
91088
90998
  {
91089
90999
  "kind": "field",
@@ -91091,12 +91001,12 @@
91091
91001
  "type": {
91092
91002
  "text": "array"
91093
91003
  },
91094
- "default": "[ { fieldName: 'query', protoName: 'query', FieldConstructor: STRING, constraints: {}, description: 'searches for display_name or client_number', }, ]"
91004
+ "default": "[ { fieldName: 'entity', protoName: 'entity', FieldConstructor: FuroCubeCubeEntity, constraints: {}, description: '', }, ]"
91095
91005
  },
91096
91006
  {
91097
91007
  "kind": "field",
91098
- "name": "_query",
91099
- "default": "new STRING(undefined, this, 'query')"
91008
+ "name": "_entity",
91009
+ "default": "new FuroCubeCubeEntity(undefined, this, 'entity')"
91100
91010
  },
91101
91011
  {
91102
91012
  "kind": "field",
@@ -91942,32 +91852,36 @@
91942
91852
  "exports": [
91943
91853
  {
91944
91854
  "kind": "js",
91945
- "name": "CubeServiceGetListRequest",
91855
+ "name": "CubeServiceGetResponse",
91946
91856
  "declaration": {
91947
- "name": "CubeServiceGetListRequest",
91948
- "module": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetListRequest.js"
91857
+ "name": "CubeServiceGetResponse",
91858
+ "module": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetResponse.js"
91949
91859
  }
91950
91860
  }
91951
91861
  ]
91952
91862
  },
91953
91863
  {
91954
91864
  "kind": "javascript-module",
91955
- "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetListRequest.js.map",
91865
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetResponse.js.map",
91956
91866
  "declarations": [],
91957
91867
  "exports": []
91958
91868
  },
91959
91869
  {
91960
91870
  "kind": "javascript-module",
91961
- "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetListResponse.js",
91871
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceUpdateRequest.js",
91962
91872
  "declarations": [
91963
91873
  {
91964
91874
  "kind": "class",
91965
- "description": "CubeServiceGetListResponse",
91966
- "name": "CubeServiceGetListResponse",
91875
+ "description": "CubeServiceUpdateRequest",
91876
+ "name": "CubeServiceUpdateRequest",
91967
91877
  "members": [
91968
91878
  {
91969
91879
  "kind": "field",
91970
- "name": "entities"
91880
+ "name": "cubeId"
91881
+ },
91882
+ {
91883
+ "kind": "field",
91884
+ "name": "entity"
91971
91885
  },
91972
91886
  {
91973
91887
  "kind": "method",
@@ -91988,7 +91902,7 @@
91988
91902
  "type": {
91989
91903
  "text": "string"
91990
91904
  },
91991
- "default": "'furo.cube.CubeServiceGetListResponse'"
91905
+ "default": "'furo.cube.CubeServiceUpdateRequest'"
91992
91906
  },
91993
91907
  {
91994
91908
  "kind": "field",
@@ -91996,7 +91910,7 @@
91996
91910
  "type": {
91997
91911
  "text": "string"
91998
91912
  },
91999
- "default": "'CubeServiceGetListResponse'"
91913
+ "default": "'CubeServiceUpdateRequest'"
92000
91914
  },
92001
91915
  {
92002
91916
  "kind": "field",
@@ -92004,12 +91918,17 @@
92004
91918
  "type": {
92005
91919
  "text": "array"
92006
91920
  },
92007
- "default": "[ { fieldName: 'entities', protoName: 'entities', FieldConstructor: FuroCubeCubeEntity, constraints: {}, description: '', }, ]"
91921
+ "default": "[ { fieldName: 'cubeId', protoName: 'cube_id', FieldConstructor: STRING, constraints: {}, description: 'ID of the cube', }, { fieldName: 'entity', protoName: 'entity', FieldConstructor: FuroCubeCubeEntity, constraints: {}, description: '', }, ]"
92008
91922
  },
92009
91923
  {
92010
91924
  "kind": "field",
92011
- "name": "_entities",
92012
- "default": "new ARRAY(undefined, this, 'entities')"
91925
+ "name": "_cubeId",
91926
+ "default": "new STRING(undefined, this, 'cubeId')"
91927
+ },
91928
+ {
91929
+ "kind": "field",
91930
+ "name": "_entity",
91931
+ "default": "new FuroCubeCubeEntity(undefined, this, 'entity')"
92013
91932
  },
92014
91933
  {
92015
91934
  "kind": "field",
@@ -92855,36 +92774,32 @@
92855
92774
  "exports": [
92856
92775
  {
92857
92776
  "kind": "js",
92858
- "name": "CubeServiceGetListResponse",
92777
+ "name": "CubeServiceUpdateRequest",
92859
92778
  "declaration": {
92860
- "name": "CubeServiceGetListResponse",
92861
- "module": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetListResponse.js"
92779
+ "name": "CubeServiceUpdateRequest",
92780
+ "module": "dist/protoc-gen-open-models/furo/cube/CubeServiceUpdateRequest.js"
92862
92781
  }
92863
92782
  }
92864
92783
  ]
92865
92784
  },
92866
92785
  {
92867
92786
  "kind": "javascript-module",
92868
- "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetListResponse.js.map",
92787
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceUpdateRequest.js.map",
92869
92788
  "declarations": [],
92870
92789
  "exports": []
92871
92790
  },
92872
92791
  {
92873
92792
  "kind": "javascript-module",
92874
- "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetRequest.js",
92793
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceUpdateResponse.js",
92875
92794
  "declarations": [
92876
92795
  {
92877
92796
  "kind": "class",
92878
- "description": "CubeServiceGetRequest",
92879
- "name": "CubeServiceGetRequest",
92797
+ "description": "CubeServiceUpdateResponse",
92798
+ "name": "CubeServiceUpdateResponse",
92880
92799
  "members": [
92881
92800
  {
92882
92801
  "kind": "field",
92883
- "name": "cubeId"
92884
- },
92885
- {
92886
- "kind": "field",
92887
- "name": "fields"
92802
+ "name": "entity"
92888
92803
  },
92889
92804
  {
92890
92805
  "kind": "method",
@@ -92905,7 +92820,7 @@
92905
92820
  "type": {
92906
92821
  "text": "string"
92907
92822
  },
92908
- "default": "'furo.cube.CubeServiceGetRequest'"
92823
+ "default": "'furo.cube.CubeServiceUpdateResponse'"
92909
92824
  },
92910
92825
  {
92911
92826
  "kind": "field",
@@ -92913,7 +92828,7 @@
92913
92828
  "type": {
92914
92829
  "text": "string"
92915
92830
  },
92916
- "default": "'CubeServiceGetRequest'"
92831
+ "default": "'CubeServiceUpdateResponse'"
92917
92832
  },
92918
92833
  {
92919
92834
  "kind": "field",
@@ -92921,17 +92836,12 @@
92921
92836
  "type": {
92922
92837
  "text": "array"
92923
92838
  },
92924
- "default": "[ { fieldName: 'cubeId', protoName: 'cube_id', FieldConstructor: STRING, constraints: {}, description: 'ID of the cube', }, { fieldName: 'fields', protoName: 'fields', FieldConstructor: STRING, constraints: {}, description: 'Partial Response, https://cloud.google.com/apis/design/design_patterns#partial_response\\n use wildcard * to get all fields', }, ]"
92925
- },
92926
- {
92927
- "kind": "field",
92928
- "name": "_cubeId",
92929
- "default": "new STRING(undefined, this, 'cubeId')"
92839
+ "default": "[ { fieldName: 'entity', protoName: 'entity', FieldConstructor: FuroCubeCubeEntity, constraints: {}, description: '', }, ]"
92930
92840
  },
92931
92841
  {
92932
92842
  "kind": "field",
92933
- "name": "_fields",
92934
- "default": "new STRING(undefined, this, 'fields')"
92843
+ "name": "_entity",
92844
+ "default": "new FuroCubeCubeEntity(undefined, this, 'entity')"
92935
92845
  },
92936
92846
  {
92937
92847
  "kind": "field",
@@ -92939,7 +92849,7 @@
92939
92849
  "type": {
92940
92850
  "text": "object"
92941
92851
  },
92942
- "default": "{ fields: '*', }"
92852
+ "default": "{}"
92943
92853
  },
92944
92854
  {
92945
92855
  "kind": "field",
@@ -93777,32 +93687,90 @@
93777
93687
  "exports": [
93778
93688
  {
93779
93689
  "kind": "js",
93780
- "name": "CubeServiceGetRequest",
93690
+ "name": "CubeServiceUpdateResponse",
93781
93691
  "declaration": {
93782
- "name": "CubeServiceGetRequest",
93783
- "module": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetRequest.js"
93692
+ "name": "CubeServiceUpdateResponse",
93693
+ "module": "dist/protoc-gen-open-models/furo/cube/CubeServiceUpdateResponse.js"
93784
93694
  }
93785
93695
  }
93786
93696
  ]
93787
93697
  },
93788
93698
  {
93789
93699
  "kind": "javascript-module",
93790
- "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetRequest.js.map",
93700
+ "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceUpdateResponse.js.map",
93791
93701
  "declarations": [],
93792
93702
  "exports": []
93793
93703
  },
93794
93704
  {
93795
93705
  "kind": "javascript-module",
93796
- "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetResponse.js",
93706
+ "path": "dist/protoc-gen-open-models/furo/cube/Materials.js",
93707
+ "declarations": [
93708
+ {
93709
+ "kind": "variable",
93710
+ "name": "Materials"
93711
+ }
93712
+ ],
93713
+ "exports": [
93714
+ {
93715
+ "kind": "js",
93716
+ "name": "Materials",
93717
+ "declaration": {
93718
+ "name": "Materials",
93719
+ "module": "dist/protoc-gen-open-models/furo/cube/Materials.js"
93720
+ }
93721
+ }
93722
+ ]
93723
+ },
93724
+ {
93725
+ "kind": "javascript-module",
93726
+ "path": "dist/protoc-gen-open-models/furo/cube/Materials.js.map",
93727
+ "declarations": [],
93728
+ "exports": []
93729
+ },
93730
+ {
93731
+ "kind": "javascript-module",
93732
+ "path": "dist/protoc-gen-open-models/furo/cube/Wrappers.js",
93797
93733
  "declarations": [
93798
93734
  {
93799
93735
  "kind": "class",
93800
- "description": "CubeServiceGetResponse",
93801
- "name": "CubeServiceGetResponse",
93736
+ "description": "Wrappers",
93737
+ "name": "Wrappers",
93802
93738
  "members": [
93803
93739
  {
93804
93740
  "kind": "field",
93805
- "name": "entity"
93741
+ "name": "stringValue"
93742
+ },
93743
+ {
93744
+ "kind": "field",
93745
+ "name": "int32Value"
93746
+ },
93747
+ {
93748
+ "kind": "field",
93749
+ "name": "int64Value"
93750
+ },
93751
+ {
93752
+ "kind": "field",
93753
+ "name": "floatValue"
93754
+ },
93755
+ {
93756
+ "kind": "field",
93757
+ "name": "doubleValue"
93758
+ },
93759
+ {
93760
+ "kind": "field",
93761
+ "name": "boolValue"
93762
+ },
93763
+ {
93764
+ "kind": "field",
93765
+ "name": "uint32Value"
93766
+ },
93767
+ {
93768
+ "kind": "field",
93769
+ "name": "uint64Value"
93770
+ },
93771
+ {
93772
+ "kind": "field",
93773
+ "name": "bytesValue"
93806
93774
  },
93807
93775
  {
93808
93776
  "kind": "method",
@@ -93823,7 +93791,7 @@
93823
93791
  "type": {
93824
93792
  "text": "string"
93825
93793
  },
93826
- "default": "'furo.cube.CubeServiceGetResponse'"
93794
+ "default": "'furo.cube.Wrappers'"
93827
93795
  },
93828
93796
  {
93829
93797
  "kind": "field",
@@ -93831,7 +93799,7 @@
93831
93799
  "type": {
93832
93800
  "text": "string"
93833
93801
  },
93834
- "default": "'CubeServiceGetResponse'"
93802
+ "default": "'Wrappers'"
93835
93803
  },
93836
93804
  {
93837
93805
  "kind": "field",
@@ -93839,12 +93807,52 @@
93839
93807
  "type": {
93840
93808
  "text": "array"
93841
93809
  },
93842
- "default": "[ { fieldName: 'entity', protoName: 'entity', FieldConstructor: FuroCubeCubeEntity, constraints: {}, description: '', }, ]"
93810
+ "default": "[ { fieldName: 'stringValue', protoName: 'string_value', FieldConstructor: StringValue, constraints: {}, description: '', }, { fieldName: 'int32Value', protoName: 'int32_value', FieldConstructor: Int32Value, constraints: {}, description: '', }, { fieldName: 'int64Value', protoName: 'int64_value', FieldConstructor: Int64Value, constraints: {}, description: '', }, { fieldName: 'floatValue', protoName: 'float_value', FieldConstructor: FloatValue, constraints: {}, description: '', }, { fieldName: 'doubleValue', protoName: 'double_value', FieldConstructor: DoubleValue, constraints: {}, description: '', }, { fieldName: 'boolValue', protoName: 'bool_value', FieldConstructor: BoolValue, constraints: {}, description: '', }, { fieldName: 'uint32Value', protoName: 'uint32_value', FieldConstructor: UInt32Value, constraints: {}, description: '', }, { fieldName: 'uint64Value', protoName: 'uint64_value', FieldConstructor: UInt64Value, constraints: {}, description: '', }, { fieldName: 'bytesValue', protoName: 'bytes_value', FieldConstructor: BytesValue, constraints: {}, description: '', }, ]"
93843
93811
  },
93844
93812
  {
93845
93813
  "kind": "field",
93846
- "name": "_entity",
93847
- "default": "new FuroCubeCubeEntity(undefined, this, 'entity')"
93814
+ "name": "_stringValue",
93815
+ "default": "new StringValue(undefined, this, 'stringValue')"
93816
+ },
93817
+ {
93818
+ "kind": "field",
93819
+ "name": "_int32Value",
93820
+ "default": "new Int32Value(undefined, this, 'int32Value')"
93821
+ },
93822
+ {
93823
+ "kind": "field",
93824
+ "name": "_int64Value",
93825
+ "default": "new Int64Value(undefined, this, 'int64Value')"
93826
+ },
93827
+ {
93828
+ "kind": "field",
93829
+ "name": "_floatValue",
93830
+ "default": "new FloatValue(undefined, this, 'floatValue')"
93831
+ },
93832
+ {
93833
+ "kind": "field",
93834
+ "name": "_doubleValue",
93835
+ "default": "new DoubleValue(undefined, this, 'doubleValue')"
93836
+ },
93837
+ {
93838
+ "kind": "field",
93839
+ "name": "_boolValue",
93840
+ "default": "new BoolValue(undefined, this, 'boolValue')"
93841
+ },
93842
+ {
93843
+ "kind": "field",
93844
+ "name": "_uint32Value",
93845
+ "default": "new UInt32Value(undefined, this, 'uint32Value')"
93846
+ },
93847
+ {
93848
+ "kind": "field",
93849
+ "name": "_uint64Value",
93850
+ "default": "new UInt64Value(undefined, this, 'uint64Value')"
93851
+ },
93852
+ {
93853
+ "kind": "field",
93854
+ "name": "_bytesValue",
93855
+ "default": "new BytesValue(undefined, this, 'bytesValue')"
93848
93856
  },
93849
93857
  {
93850
93858
  "kind": "field",
@@ -94690,36 +94698,36 @@
94690
94698
  "exports": [
94691
94699
  {
94692
94700
  "kind": "js",
94693
- "name": "CubeServiceGetResponse",
94701
+ "name": "Wrappers",
94694
94702
  "declaration": {
94695
- "name": "CubeServiceGetResponse",
94696
- "module": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetResponse.js"
94703
+ "name": "Wrappers",
94704
+ "module": "dist/protoc-gen-open-models/furo/cube/Wrappers.js"
94697
94705
  }
94698
94706
  }
94699
94707
  ]
94700
94708
  },
94701
94709
  {
94702
94710
  "kind": "javascript-module",
94703
- "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceGetResponse.js.map",
94711
+ "path": "dist/protoc-gen-open-models/furo/cube/Wrappers.js.map",
94704
94712
  "declarations": [],
94705
94713
  "exports": []
94706
94714
  },
94707
94715
  {
94708
94716
  "kind": "javascript-module",
94709
- "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceUpdateRequest.js",
94717
+ "path": "dist/protoc-gen-open-models/google/api/CustomHttpPattern.js",
94710
94718
  "declarations": [
94711
94719
  {
94712
94720
  "kind": "class",
94713
- "description": "CubeServiceUpdateRequest",
94714
- "name": "CubeServiceUpdateRequest",
94721
+ "description": "CustomHttpPattern\n A custom pattern is used for defining custom HTTP verb.",
94722
+ "name": "CustomHttpPattern",
94715
94723
  "members": [
94716
94724
  {
94717
94725
  "kind": "field",
94718
- "name": "cubeId"
94726
+ "name": "kind"
94719
94727
  },
94720
94728
  {
94721
94729
  "kind": "field",
94722
- "name": "entity"
94730
+ "name": "path"
94723
94731
  },
94724
94732
  {
94725
94733
  "kind": "method",
@@ -94740,7 +94748,7 @@
94740
94748
  "type": {
94741
94749
  "text": "string"
94742
94750
  },
94743
- "default": "'furo.cube.CubeServiceUpdateRequest'"
94751
+ "default": "'google.api.CustomHttpPattern'"
94744
94752
  },
94745
94753
  {
94746
94754
  "kind": "field",
@@ -94748,7 +94756,7 @@
94748
94756
  "type": {
94749
94757
  "text": "string"
94750
94758
  },
94751
- "default": "'CubeServiceUpdateRequest'"
94759
+ "default": "'CustomHttpPattern A custom pattern is used for defining custom HTTP verb.'"
94752
94760
  },
94753
94761
  {
94754
94762
  "kind": "field",
@@ -94756,17 +94764,17 @@
94756
94764
  "type": {
94757
94765
  "text": "array"
94758
94766
  },
94759
- "default": "[ { fieldName: 'cubeId', protoName: 'cube_id', FieldConstructor: STRING, constraints: {}, description: 'ID of the cube', }, { fieldName: 'entity', protoName: 'entity', FieldConstructor: FuroCubeCubeEntity, constraints: {}, description: '', }, ]"
94767
+ "default": "[ { fieldName: 'kind', protoName: 'kind', FieldConstructor: STRING, constraints: {}, description: 'The name of this custom HTTP verb.', }, { fieldName: 'path', protoName: 'path', FieldConstructor: STRING, constraints: {}, description: 'The path matched by this custom verb.', }, ]"
94760
94768
  },
94761
94769
  {
94762
94770
  "kind": "field",
94763
- "name": "_cubeId",
94764
- "default": "new STRING(undefined, this, 'cubeId')"
94771
+ "name": "_kind",
94772
+ "default": "new STRING(undefined, this, 'kind')"
94765
94773
  },
94766
94774
  {
94767
94775
  "kind": "field",
94768
- "name": "_entity",
94769
- "default": "new FuroCubeCubeEntity(undefined, this, 'entity')"
94776
+ "name": "_path",
94777
+ "default": "new STRING(undefined, this, 'path')"
94770
94778
  },
94771
94779
  {
94772
94780
  "kind": "field",
@@ -95612,32 +95620,36 @@
95612
95620
  "exports": [
95613
95621
  {
95614
95622
  "kind": "js",
95615
- "name": "CubeServiceUpdateRequest",
95623
+ "name": "CustomHttpPattern",
95616
95624
  "declaration": {
95617
- "name": "CubeServiceUpdateRequest",
95618
- "module": "dist/protoc-gen-open-models/furo/cube/CubeServiceUpdateRequest.js"
95625
+ "name": "CustomHttpPattern",
95626
+ "module": "dist/protoc-gen-open-models/google/api/CustomHttpPattern.js"
95619
95627
  }
95620
95628
  }
95621
95629
  ]
95622
95630
  },
95623
95631
  {
95624
95632
  "kind": "javascript-module",
95625
- "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceUpdateRequest.js.map",
95633
+ "path": "dist/protoc-gen-open-models/google/api/CustomHttpPattern.js.map",
95626
95634
  "declarations": [],
95627
95635
  "exports": []
95628
95636
  },
95629
95637
  {
95630
95638
  "kind": "javascript-module",
95631
- "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceUpdateResponse.js",
95639
+ "path": "dist/protoc-gen-open-models/google/api/Http.js",
95632
95640
  "declarations": [
95633
95641
  {
95634
95642
  "kind": "class",
95635
- "description": "CubeServiceUpdateResponse",
95636
- "name": "CubeServiceUpdateResponse",
95643
+ "description": "Http\n Defines the HTTP configuration for an API service. It contains a list of\n [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method\n to one or more HTTP REST API methods.",
95644
+ "name": "Http",
95637
95645
  "members": [
95638
95646
  {
95639
95647
  "kind": "field",
95640
- "name": "entity"
95648
+ "name": "rules"
95649
+ },
95650
+ {
95651
+ "kind": "field",
95652
+ "name": "fullyDecodeReservedExpansion"
95641
95653
  },
95642
95654
  {
95643
95655
  "kind": "method",
@@ -95658,7 +95670,7 @@
95658
95670
  "type": {
95659
95671
  "text": "string"
95660
95672
  },
95661
- "default": "'furo.cube.CubeServiceUpdateResponse'"
95673
+ "default": "'google.api.Http'"
95662
95674
  },
95663
95675
  {
95664
95676
  "kind": "field",
@@ -95666,7 +95678,7 @@
95666
95678
  "type": {
95667
95679
  "text": "string"
95668
95680
  },
95669
- "default": "'CubeServiceUpdateResponse'"
95681
+ "default": "'Http Defines the HTTP configuration for an API service. It contains a list of\\n [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method\\n to one or more HTTP REST API methods.'"
95670
95682
  },
95671
95683
  {
95672
95684
  "kind": "field",
@@ -95674,12 +95686,17 @@
95674
95686
  "type": {
95675
95687
  "text": "array"
95676
95688
  },
95677
- "default": "[ { fieldName: 'entity', protoName: 'entity', FieldConstructor: FuroCubeCubeEntity, constraints: {}, description: '', }, ]"
95689
+ "default": "[ { fieldName: 'rules', protoName: 'rules', FieldConstructor: GoogleApiHttpRule, constraints: {}, description: 'A list of HTTP configuration rules that apply to individual API methods.\\n\\n **NOTE:** All service configuration rules follow \"last one wins\" order.', }, { fieldName: 'fullyDecodeReservedExpansion', protoName: 'fully_decode_reserved_expansion', FieldConstructor: BOOLEAN, constraints: {}, description: 'When set to true, URL path parameters will be fully URI-decoded except in\\n cases of single segment matches in reserved expansion, where \"%2F\" will be\\n left encoded.\\n\\n The default behavior is to not decode RFC 6570 reserved characters in multi\\n segment matches.', }, ]"
95678
95690
  },
95679
95691
  {
95680
95692
  "kind": "field",
95681
- "name": "_entity",
95682
- "default": "new FuroCubeCubeEntity(undefined, this, 'entity')"
95693
+ "name": "_rules",
95694
+ "default": "new ARRAY(undefined, this, 'rules')"
95695
+ },
95696
+ {
95697
+ "kind": "field",
95698
+ "name": "_fullyDecodeReservedExpansion",
95699
+ "default": "new BOOLEAN(undefined, this, 'fullyDecodeReservedExpansion')"
95683
95700
  },
95684
95701
  {
95685
95702
  "kind": "field",
@@ -96525,90 +96542,68 @@
96525
96542
  "exports": [
96526
96543
  {
96527
96544
  "kind": "js",
96528
- "name": "CubeServiceUpdateResponse",
96529
- "declaration": {
96530
- "name": "CubeServiceUpdateResponse",
96531
- "module": "dist/protoc-gen-open-models/furo/cube/CubeServiceUpdateResponse.js"
96532
- }
96533
- }
96534
- ]
96535
- },
96536
- {
96537
- "kind": "javascript-module",
96538
- "path": "dist/protoc-gen-open-models/furo/cube/CubeServiceUpdateResponse.js.map",
96539
- "declarations": [],
96540
- "exports": []
96541
- },
96542
- {
96543
- "kind": "javascript-module",
96544
- "path": "dist/protoc-gen-open-models/furo/cube/Materials.js",
96545
- "declarations": [
96546
- {
96547
- "kind": "variable",
96548
- "name": "Materials"
96549
- }
96550
- ],
96551
- "exports": [
96552
- {
96553
- "kind": "js",
96554
- "name": "Materials",
96545
+ "name": "Http",
96555
96546
  "declaration": {
96556
- "name": "Materials",
96557
- "module": "dist/protoc-gen-open-models/furo/cube/Materials.js"
96547
+ "name": "Http",
96548
+ "module": "dist/protoc-gen-open-models/google/api/Http.js"
96558
96549
  }
96559
96550
  }
96560
96551
  ]
96561
96552
  },
96562
96553
  {
96563
96554
  "kind": "javascript-module",
96564
- "path": "dist/protoc-gen-open-models/furo/cube/Materials.js.map",
96555
+ "path": "dist/protoc-gen-open-models/google/api/Http.js.map",
96565
96556
  "declarations": [],
96566
96557
  "exports": []
96567
96558
  },
96568
96559
  {
96569
96560
  "kind": "javascript-module",
96570
- "path": "dist/protoc-gen-open-models/furo/cube/Wrappers.js",
96561
+ "path": "dist/protoc-gen-open-models/google/api/HttpRule.js",
96571
96562
  "declarations": [
96572
96563
  {
96573
96564
  "kind": "class",
96574
- "description": "Wrappers",
96575
- "name": "Wrappers",
96565
+ "description": "HttpRule\n # gRPC Transcoding\n\n gRPC Transcoding is a feature for mapping between a gRPC method and one or\n more HTTP REST endpoints. It allows developers to build a single API service\n that supports both gRPC APIs and REST APIs. Many systems, including [Google\n APIs](https://github.com/googleapis/googleapis),\n [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC\n Gateway](https://github.com/grpc-ecosystem/grpc-gateway),\n and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature\n and use it for large scale production services.\n\n `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies\n how different portions of the gRPC request message are mapped to the URL\n path, URL query parameters, and HTTP request body. It also controls how the\n gRPC response message is mapped to the HTTP response body. `HttpRule` is\n typically specified as an `google.api.http` annotation on the gRPC method.\n\n Each mapping specifies a URL path template and an HTTP method. The path\n template may refer to one or more fields in the gRPC request message, as long\n as each field is a non-repeated field with a primitive (non-message) type.\n The path template controls how fields of the request message are mapped to\n the URL path.\n\n Example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/{name=messages/*}\"\n };\n }\n }\n message GetMessageRequest {\n string name = 1; // Mapped to URL path.\n }\n message Message {\n string text = 1; // The resource content.\n }\n\n This enables an HTTP REST to gRPC mapping as below:\n\n HTTP | gRPC\n -----|-----\n `GET /v1/messages/123456` | `GetMessage(name: \"messages/123456\")`\n\n Any fields in the request message which are not bound by the path template\n automatically become HTTP query parameters if there is no HTTP request body.\n For example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get:\"/v1/messages/{message_id}\"\n };\n }\n }\n message GetMessageRequest {\n message SubMessage {\n string subfield = 1;\n }\n string message_id = 1; // Mapped to URL path.\n int64 revision = 2; // Mapped to URL query parameter `revision`.\n SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.\n }\n\n This enables a HTTP JSON to RPC mapping as below:\n\n HTTP | gRPC\n -----|-----\n `GET /v1/messages/123456?revision=2&sub.subfield=foo` |\n `GetMessage(message_id: \"123456\" revision: 2 sub: SubMessage(subfield:\n \"foo\"))`\n\n Note that fields which are mapped to URL query parameters must have a\n primitive type or a repeated primitive type or a non-repeated message type.\n In the case of a repeated type, the parameter can be repeated in the URL\n as `...?param=A&param=B`. In the case of a message type, each field of the\n message is mapped to a separate parameter, such as\n `...?foo.a=A&foo.b=B&foo.c=C`.\n\n For HTTP methods that allow a request body, the `body` field\n specifies the mapping. Consider a REST update method on the\n message resource collection:\n\n service Messaging {\n rpc UpdateMessage(UpdateMessageRequest) returns (Message) {\n option (google.api.http) = {\n patch: \"/v1/messages/{message_id}\"\n body: \"message\"\n };\n }\n }\n message UpdateMessageRequest {\n string message_id = 1; // mapped to the URL\n Message message = 2; // mapped to the body\n }\n\n The following HTTP JSON to RPC mapping is enabled, where the\n representation of the JSON in the request body is determined by\n protos JSON encoding:\n\n HTTP | gRPC\n -----|-----\n `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id:\n \"123456\" message { text: \"Hi!\" })`\n\n The special name `*` can be used in the body mapping to define that\n every field not bound by the path template should be mapped to the\n request body. This enables the following alternative definition of\n the update method:\n\n service Messaging {\n rpc UpdateMessage(Message) returns (Message) {\n option (google.api.http) = {\n patch: \"/v1/messages/{message_id}\"\n body: \"*\"\n };\n }\n }\n message Message {\n string message_id = 1;\n string text = 2;\n }\n\n\n The following HTTP JSON to RPC mapping is enabled:\n\n HTTP | gRPC\n -----|-----\n `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id:\n \"123456\" text: \"Hi!\")`\n\n Note that when using `*` in the body mapping, it is not possible to\n have HTTP parameters, as all fields not bound by the path end in\n the body. This makes this option more rarely used in practice when\n defining REST APIs. The common usage of `*` is in custom methods\n which don't use the URL at all for transferring data.\n\n It is possible to define multiple HTTP methods for one RPC by using\n the `additional_bindings` option. Example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/messages/{message_id}\"\n additional_bindings {\n get: \"/v1/users/{user_id}/messages/{message_id}\"\n }\n };\n }\n }\n message GetMessageRequest {\n string message_id = 1;\n string user_id = 2;\n }\n\n This enables the following two alternative HTTP JSON to RPC mappings:\n\n HTTP | gRPC\n -----|-----\n `GET /v1/messages/123456` | `GetMessage(message_id: \"123456\")`\n `GET /v1/users/me/messages/123456` | `GetMessage(user_id: \"me\" message_id:\n \"123456\")`\n\n ## Rules for HTTP mapping\n\n 1. Leaf request fields (recursive expansion nested messages in the request\n message) are classified into three categories:\n - Fields referred by the path template. They are passed via the URL path.\n - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They\n are passed via the HTTP\n request body.\n - All other fields are passed via the URL query parameters, and the\n parameter name is the field path in the request message. A repeated\n field can be represented as multiple query parameters under the same\n name.\n 2. If [HttpRule.body][google.api.HttpRule.body] is \"*\", there is no URL\n query parameter, all fields\n are passed via URL path and HTTP request body.\n 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP\n request body, all\n fields are passed via URL path and URL query parameters.\n\n ### Path template syntax\n\n Template = \"/\" Segments [ Verb ] ;\n Segments = Segment { \"/\" Segment } ;\n Segment = \"*\" | \"**\" | LITERAL | Variable ;\n Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ;\n FieldPath = IDENT { \".\" IDENT } ;\n Verb = \":\" LITERAL ;\n\n The syntax `*` matches a single URL path segment. The syntax `**` matches\n zero or more URL path segments, which must be the last part of the URL path\n except the `Verb`.\n\n The syntax `Variable` matches part of the URL path as specified by its\n template. A variable template must not contain other variables. If a variable\n matches a single path segment, its template may be omitted, e.g. `{var}`\n is equivalent to `{var=*}`.\n\n The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`\n contains any reserved character, such characters should be percent-encoded\n before the matching.\n\n If a variable contains exactly one path segment, such as `\"{var}\"` or\n `\"{var=*}\"`, when such a variable is expanded into a URL path on the client\n side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The\n server side does the reverse decoding. Such variables show up in the\n [Discovery\n Document](https://developers.google.com/discovery/v1/reference/apis) as\n `{var}`.\n\n If a variable contains multiple path segments, such as `\"{var=foo/*}\"`\n or `\"{var=**}\"`, when such a variable is expanded into a URL path on the\n client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.\n The server side does the reverse decoding, except \"%2F\" and \"%2f\" are left\n unchanged. Such variables show up in the\n [Discovery\n Document](https://developers.google.com/discovery/v1/reference/apis) as\n `{+var}`.\n\n ## Using gRPC API Service Configuration\n\n gRPC API Service Configuration (service config) is a configuration language\n for configuring a gRPC service to become a user-facing product. The\n service config is simply the YAML representation of the `google.api.Service`\n proto message.\n\n As an alternative to annotating your proto file, you can configure gRPC\n transcoding in your service config YAML files. You do this by specifying a\n `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same\n effect as the proto annotation. This can be particularly useful if you\n have a proto that is reused in multiple services. Note that any transcoding\n specified in the service config will override any matching transcoding\n configuration in the proto.\n\n Example:\n\n http:\n rules:\n # Selects a gRPC method and applies HttpRule to it.\n - selector: example.v1.Messaging.GetMessage\n get: /v1/messages/{message_id}/{sub.subfield}\n\n ## Special notes\n\n When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the\n proto to JSON conversion must follow the [proto3\n specification](https://developers.google.com/protocol-buffers/docs/proto3#json).\n\n While the single segment variable follows the semantics of\n [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String\n Expansion, the multi segment variable **does not** follow RFC 6570 Section\n 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion\n does not expand special characters like `?` and `#`, which would lead\n to invalid URLs. As the result, gRPC Transcoding uses a custom encoding\n for multi segment variables.\n\n The path variables **must not** refer to any repeated or mapped field,\n because client libraries are not capable of handling such variable expansion.\n\n The path variables **must not** capture the leading \"/\" character. The reason\n is that the most common use case \"{var}\" does not capture the leading \"/\"\n character. For consistency, all path variables must share the same behavior.\n\n Repeated message fields must not be mapped to URL query parameters, because\n no client library can support such complicated mapping.\n\n If an API needs to use a JSON array for request or response body, it can map\n the request or response body to a repeated field. However, some gRPC\n Transcoding implementations may not support this feature.",
96566
+ "name": "HttpRule",
96576
96567
  "members": [
96577
96568
  {
96578
96569
  "kind": "field",
96579
- "name": "stringValue"
96570
+ "name": "selector"
96580
96571
  },
96581
96572
  {
96582
96573
  "kind": "field",
96583
- "name": "int32Value"
96574
+ "name": "get"
96584
96575
  },
96585
96576
  {
96586
96577
  "kind": "field",
96587
- "name": "int64Value"
96578
+ "name": "put"
96588
96579
  },
96589
96580
  {
96590
96581
  "kind": "field",
96591
- "name": "floatValue"
96582
+ "name": "post"
96592
96583
  },
96593
96584
  {
96594
96585
  "kind": "field",
96595
- "name": "doubleValue"
96586
+ "name": "delete"
96596
96587
  },
96597
96588
  {
96598
96589
  "kind": "field",
96599
- "name": "boolValue"
96590
+ "name": "patch"
96600
96591
  },
96601
96592
  {
96602
96593
  "kind": "field",
96603
- "name": "uint32Value"
96594
+ "name": "custom"
96604
96595
  },
96605
96596
  {
96606
96597
  "kind": "field",
96607
- "name": "uint64Value"
96598
+ "name": "body"
96608
96599
  },
96609
96600
  {
96610
96601
  "kind": "field",
96611
- "name": "bytesValue"
96602
+ "name": "responseBody"
96603
+ },
96604
+ {
96605
+ "kind": "field",
96606
+ "name": "additionalBindings"
96612
96607
  },
96613
96608
  {
96614
96609
  "kind": "method",
@@ -96629,7 +96624,7 @@
96629
96624
  "type": {
96630
96625
  "text": "string"
96631
96626
  },
96632
- "default": "'furo.cube.Wrappers'"
96627
+ "default": "'google.api.HttpRule'"
96633
96628
  },
96634
96629
  {
96635
96630
  "kind": "field",
@@ -96637,7 +96632,7 @@
96637
96632
  "type": {
96638
96633
  "text": "string"
96639
96634
  },
96640
- "default": "'Wrappers'"
96635
+ "default": "'HttpRule # gRPC Transcoding\\n\\n gRPC Transcoding is a feature for mapping between a gRPC method and one or\\n more HTTP REST endpoints. It allows developers to build a single API service\\n that supports both gRPC APIs and REST APIs. Many systems, including [Google\\n APIs](https://github.com/googleapis/googleapis),\\n [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC\\n Gateway](https://github.com/grpc-ecosystem/grpc-gateway),\\n and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature\\n and use it for large scale production services.\\n\\n `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies\\n how different portions of the gRPC request message are mapped to the URL\\n path, URL query parameters, and HTTP request body. It also controls how the\\n gRPC response message is mapped to the HTTP response body. `HttpRule` is\\n typically specified as an `google.api.http` annotation on the gRPC method.\\n\\n Each mapping specifies a URL path template and an HTTP method. The path\\n template may refer to one or more fields in the gRPC request message, as long\\n as each field is a non-repeated field with a primitive (non-message) type.\\n The path template controls how fields of the request message are mapped to\\n the URL path.\\n\\n Example:\\n\\n service Messaging {\\n rpc GetMessage(GetMessageRequest) returns (Message) {\\n option (google.api.http) = {\\n get: \"/v1/{name=messages/*}\"\\n };\\n }\\n }\\n message GetMessageRequest {\\n string name = 1; // Mapped to URL path.\\n }\\n message Message {\\n string text = 1; // The resource content.\\n }\\n\\n This enables an HTTP REST to gRPC mapping as below:\\n\\n HTTP | gRPC\\n -----|-----\\n `GET /v1/messages/123456` | `GetMessage(name: \"messages/123456\")`\\n\\n Any fields in the request message which are not bound by the path template\\n automatically become HTTP query parameters if there is no HTTP request body.\\n For example:\\n\\n service Messaging {\\n rpc GetMessage(GetMessageRequest) returns (Message) {\\n option (google.api.http) = {\\n get:\"/v1/messages/{message_id}\"\\n };\\n }\\n }\\n message GetMessageRequest {\\n message SubMessage {\\n string subfield = 1;\\n }\\n string message_id = 1; // Mapped to URL path.\\n int64 revision = 2; // Mapped to URL query parameter `revision`.\\n SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.\\n }\\n\\n This enables a HTTP JSON to RPC mapping as below:\\n\\n HTTP | gRPC\\n -----|-----\\n `GET /v1/messages/123456?revision=2&sub.subfield=foo` |\\n `GetMessage(message_id: \"123456\" revision: 2 sub: SubMessage(subfield:\\n \"foo\"))`\\n\\n Note that fields which are mapped to URL query parameters must have a\\n primitive type or a repeated primitive type or a non-repeated message type.\\n In the case of a repeated type, the parameter can be repeated in the URL\\n as `...?param=A&param=B`. In the case of a message type, each field of the\\n message is mapped to a separate parameter, such as\\n `...?foo.a=A&foo.b=B&foo.c=C`.\\n\\n For HTTP methods that allow a request body, the `body` field\\n specifies the mapping. Consider a REST update method on the\\n message resource collection:\\n\\n service Messaging {\\n rpc UpdateMessage(UpdateMessageRequest) returns (Message) {\\n option (google.api.http) = {\\n patch: \"/v1/messages/{message_id}\"\\n body: \"message\"\\n };\\n }\\n }\\n message UpdateMessageRequest {\\n string message_id = 1; // mapped to the URL\\n Message message = 2; // mapped to the body\\n }\\n\\n The following HTTP JSON to RPC mapping is enabled, where the\\n representation of the JSON in the request body is determined by\\n protos JSON encoding:\\n\\n HTTP | gRPC\\n -----|-----\\n `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id:\\n \"123456\" message { text: \"Hi!\" })`\\n\\n The special name `*` can be used in the body mapping to define that\\n every field not bound by the path template should be mapped to the\\n request body. This enables the following alternative definition of\\n the update method:\\n\\n service Messaging {\\n rpc UpdateMessage(Message) returns (Message) {\\n option (google.api.http) = {\\n patch: \"/v1/messages/{message_id}\"\\n body: \"*\"\\n };\\n }\\n }\\n message Message {\\n string message_id = 1;\\n string text = 2;\\n }\\n\\n\\n The following HTTP JSON to RPC mapping is enabled:\\n\\n HTTP | gRPC\\n -----|-----\\n `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id:\\n \"123456\" text: \"Hi!\")`\\n\\n Note that when using `*` in the body mapping, it is not possible to\\n have HTTP parameters, as all fields not bound by the path end in\\n the body. This makes this option more rarely used in practice when\\n defining REST APIs. The common usage of `*` is in custom methods\\n which don\\'t use the URL at all for transferring data.\\n\\n It is possible to define multiple HTTP methods for one RPC by using\\n the `additional_bindings` option. Example:\\n\\n service Messaging {\\n rpc GetMessage(GetMessageRequest) returns (Message) {\\n option (google.api.http) = {\\n get: \"/v1/messages/{message_id}\"\\n additional_bindings {\\n get: \"/v1/users/{user_id}/messages/{message_id}\"\\n }\\n };\\n }\\n }\\n message GetMessageRequest {\\n string message_id = 1;\\n string user_id = 2;\\n }\\n\\n This enables the following two alternative HTTP JSON to RPC mappings:\\n\\n HTTP | gRPC\\n -----|-----\\n `GET /v1/messages/123456` | `GetMessage(message_id: \"123456\")`\\n `GET /v1/users/me/messages/123456` | `GetMessage(user_id: \"me\" message_id:\\n \"123456\")`\\n\\n ## Rules for HTTP mapping\\n\\n 1. Leaf request fields (recursive expansion nested messages in the request\\n message) are classified into three categories:\\n - Fields referred by the path template. They are passed via the URL path.\\n - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They\\n are passed via the HTTP\\n request body.\\n - All other fields are passed via the URL query parameters, and the\\n parameter name is the field path in the request message. A repeated\\n field can be represented as multiple query parameters under the same\\n name.\\n 2. If [HttpRule.body][google.api.HttpRule.body] is \"*\", there is no URL\\n query parameter, all fields\\n are passed via URL path and HTTP request body.\\n 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP\\n request body, all\\n fields are passed via URL path and URL query parameters.\\n\\n ### Path template syntax\\n\\n Template = \"/\" Segments [ Verb ] ;\\n Segments = Segment { \"/\" Segment } ;\\n Segment = \"*\" | \"**\" | LITERAL | Variable ;\\n Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ;\\n FieldPath = IDENT { \".\" IDENT } ;\\n Verb = \":\" LITERAL ;\\n\\n The syntax `*` matches a single URL path segment. The syntax `**` matches\\n zero or more URL path segments, which must be the last part of the URL path\\n except the `Verb`.\\n\\n The syntax `Variable` matches part of the URL path as specified by its\\n template. A variable template must not contain other variables. If a variable\\n matches a single path segment, its template may be omitted, e.g. `{var}`\\n is equivalent to `{var=*}`.\\n\\n The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`\\n contains any reserved character, such characters should be percent-encoded\\n before the matching.\\n\\n If a variable contains exactly one path segment, such as `\"{var}\"` or\\n `\"{var=*}\"`, when such a variable is expanded into a URL path on the client\\n side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The\\n server side does the reverse decoding. Such variables show up in the\\n [Discovery\\n Document](https://developers.google.com/discovery/v1/reference/apis) as\\n `{var}`.\\n\\n If a variable contains multiple path segments, such as `\"{var=foo/*}\"`\\n or `\"{var=**}\"`, when such a variable is expanded into a URL path on the\\n client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.\\n The server side does the reverse decoding, except \"%2F\" and \"%2f\" are left\\n unchanged. Such variables show up in the\\n [Discovery\\n Document](https://developers.google.com/discovery/v1/reference/apis) as\\n `{+var}`.\\n\\n ## Using gRPC API Service Configuration\\n\\n gRPC API Service Configuration (service config) is a configuration language\\n for configuring a gRPC service to become a user-facing product. The\\n service config is simply the YAML representation of the `google.api.Service`\\n proto message.\\n\\n As an alternative to annotating your proto file, you can configure gRPC\\n transcoding in your service config YAML files. You do this by specifying a\\n `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same\\n effect as the proto annotation. This can be particularly useful if you\\n have a proto that is reused in multiple services. Note that any transcoding\\n specified in the service config will override any matching transcoding\\n configuration in the proto.\\n\\n Example:\\n\\n http:\\n rules:\\n # Selects a gRPC method and applies HttpRule to it.\\n - selector: example.v1.Messaging.GetMessage\\n get: /v1/messages/{message_id}/{sub.subfield}\\n\\n ## Special notes\\n\\n When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the\\n proto to JSON conversion must follow the [proto3\\n specification](https://developers.google.com/protocol-buffers/docs/proto3#json).\\n\\n While the single segment variable follows the semantics of\\n [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String\\n Expansion, the multi segment variable **does not** follow RFC 6570 Section\\n 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion\\n does not expand special characters like `?` and `#`, which would lead\\n to invalid URLs. As the result, gRPC Transcoding uses a custom encoding\\n for multi segment variables.\\n\\n The path variables **must not** refer to any repeated or mapped field,\\n because client libraries are not capable of handling such variable expansion.\\n\\n The path variables **must not** capture the leading \"/\" character. The reason\\n is that the most common use case \"{var}\" does not capture the leading \"/\"\\n character. For consistency, all path variables must share the same behavior.\\n\\n Repeated message fields must not be mapped to URL query parameters, because\\n no client library can support such complicated mapping.\\n\\n If an API needs to use a JSON array for request or response body, it can map\\n the request or response body to a repeated field. However, some gRPC\\n Transcoding implementations may not support this feature.'"
96641
96636
  },
96642
96637
  {
96643
96638
  "kind": "field",
@@ -96645,52 +96640,57 @@
96645
96640
  "type": {
96646
96641
  "text": "array"
96647
96642
  },
96648
- "default": "[ { fieldName: 'stringValue', protoName: 'string_value', FieldConstructor: StringValue, constraints: {}, description: '', }, { fieldName: 'int32Value', protoName: 'int32_value', FieldConstructor: Int32Value, constraints: {}, description: '', }, { fieldName: 'int64Value', protoName: 'int64_value', FieldConstructor: Int64Value, constraints: {}, description: '', }, { fieldName: 'floatValue', protoName: 'float_value', FieldConstructor: FloatValue, constraints: {}, description: '', }, { fieldName: 'doubleValue', protoName: 'double_value', FieldConstructor: DoubleValue, constraints: {}, description: '', }, { fieldName: 'boolValue', protoName: 'bool_value', FieldConstructor: BoolValue, constraints: {}, description: '', }, { fieldName: 'uint32Value', protoName: 'uint32_value', FieldConstructor: UInt32Value, constraints: {}, description: '', }, { fieldName: 'uint64Value', protoName: 'uint64_value', FieldConstructor: UInt64Value, constraints: {}, description: '', }, { fieldName: 'bytesValue', protoName: 'bytes_value', FieldConstructor: BytesValue, constraints: {}, description: '', }, ]"
96643
+ "default": "[ { fieldName: 'selector', protoName: 'selector', FieldConstructor: STRING, constraints: {}, description: 'Selects a method to which this rule applies.\\n\\n Refer to [selector][google.api.DocumentationRule.selector] for syntax\\n details.', }, { fieldName: 'get', protoName: 'get', FieldConstructor: STRING, constraints: {}, description: 'Maps to HTTP GET. Used for listing and getting information about\\n resources.', }, { fieldName: 'put', protoName: 'put', FieldConstructor: STRING, constraints: {}, description: 'Maps to HTTP PUT. Used for replacing a resource.', }, { fieldName: 'post', protoName: 'post', FieldConstructor: STRING, constraints: {}, description: 'Maps to HTTP POST. Used for creating a resource or performing an action.', }, { fieldName: 'delete', protoName: 'delete', FieldConstructor: STRING, constraints: {}, description: 'Maps to HTTP DELETE. Used for deleting a resource.', }, { fieldName: 'patch', protoName: 'patch', FieldConstructor: STRING, constraints: {}, description: 'Maps to HTTP PATCH. Used for updating a resource.', }, { fieldName: 'custom', protoName: 'custom', FieldConstructor: GoogleApiCustomHttpPattern, constraints: {}, description: 'The custom pattern is used for specifying an HTTP method that is not\\n included in the `pattern` field, such as HEAD, or \"*\" to leave the\\n HTTP method unspecified for this rule. The wild-card rule is useful\\n for services that provide content to Web (HTML) clients.', }, { fieldName: 'body', protoName: 'body', FieldConstructor: STRING, constraints: {}, description: 'The name of the request field whose value is mapped to the HTTP request\\n body, or `*` for mapping all request fields not captured by the path\\n pattern to the HTTP body, or omitted for not having any HTTP request body.\\n\\n NOTE: the referred field must be present at the top-level of the request\\n message type.', }, { fieldName: 'responseBody', protoName: 'response_body', FieldConstructor: STRING, constraints: {}, description: 'Optional. The name of the response field whose value is mapped to the HTTP\\n response body. When omitted, the entire response message will be used\\n as the HTTP response body.\\n\\n NOTE: The referred field must be present at the top-level of the response\\n message type.', }, { fieldName: 'additionalBindings', protoName: 'additional_bindings', FieldConstructor: HttpRule, constraints: {}, description: 'Additional HTTP bindings for the selector. Nested bindings must\\n not contain an `additional_bindings` field themselves (that is,\\n the nesting may only be one level deep).', }, ]"
96649
96644
  },
96650
96645
  {
96651
96646
  "kind": "field",
96652
- "name": "_stringValue",
96653
- "default": "new StringValue(undefined, this, 'stringValue')"
96647
+ "name": "_selector",
96648
+ "default": "new STRING(undefined, this, 'selector')"
96654
96649
  },
96655
96650
  {
96656
96651
  "kind": "field",
96657
- "name": "_int32Value",
96658
- "default": "new Int32Value(undefined, this, 'int32Value')"
96652
+ "name": "_get",
96653
+ "default": "new STRING(undefined, this, 'get')"
96659
96654
  },
96660
96655
  {
96661
96656
  "kind": "field",
96662
- "name": "_int64Value",
96663
- "default": "new Int64Value(undefined, this, 'int64Value')"
96657
+ "name": "_put",
96658
+ "default": "new STRING(undefined, this, 'put')"
96664
96659
  },
96665
96660
  {
96666
96661
  "kind": "field",
96667
- "name": "_floatValue",
96668
- "default": "new FloatValue(undefined, this, 'floatValue')"
96662
+ "name": "_post",
96663
+ "default": "new STRING(undefined, this, 'post')"
96669
96664
  },
96670
96665
  {
96671
96666
  "kind": "field",
96672
- "name": "_doubleValue",
96673
- "default": "new DoubleValue(undefined, this, 'doubleValue')"
96667
+ "name": "_delete",
96668
+ "default": "new STRING(undefined, this, 'delete')"
96674
96669
  },
96675
96670
  {
96676
96671
  "kind": "field",
96677
- "name": "_boolValue",
96678
- "default": "new BoolValue(undefined, this, 'boolValue')"
96672
+ "name": "_patch",
96673
+ "default": "new STRING(undefined, this, 'patch')"
96679
96674
  },
96680
96675
  {
96681
96676
  "kind": "field",
96682
- "name": "_uint32Value",
96683
- "default": "new UInt32Value(undefined, this, 'uint32Value')"
96677
+ "name": "_custom",
96678
+ "default": "new GoogleApiCustomHttpPattern(undefined, this, 'custom')"
96684
96679
  },
96685
96680
  {
96686
96681
  "kind": "field",
96687
- "name": "_uint64Value",
96688
- "default": "new UInt64Value(undefined, this, 'uint64Value')"
96682
+ "name": "_body",
96683
+ "default": "new STRING(undefined, this, 'body')"
96689
96684
  },
96690
96685
  {
96691
96686
  "kind": "field",
96692
- "name": "_bytesValue",
96693
- "default": "new BytesValue(undefined, this, 'bytesValue')"
96687
+ "name": "_responseBody",
96688
+ "default": "new STRING(undefined, this, 'responseBody')"
96689
+ },
96690
+ {
96691
+ "kind": "field",
96692
+ "name": "_additionalBindings",
96693
+ "default": "new ARRAY(undefined, this, 'additionalBindings')"
96694
96694
  },
96695
96695
  {
96696
96696
  "kind": "field",
@@ -97536,17 +97536,17 @@
97536
97536
  "exports": [
97537
97537
  {
97538
97538
  "kind": "js",
97539
- "name": "Wrappers",
97539
+ "name": "HttpRule",
97540
97540
  "declaration": {
97541
- "name": "Wrappers",
97542
- "module": "dist/protoc-gen-open-models/furo/cube/Wrappers.js"
97541
+ "name": "HttpRule",
97542
+ "module": "dist/protoc-gen-open-models/google/api/HttpRule.js"
97543
97543
  }
97544
97544
  }
97545
97545
  ]
97546
97546
  },
97547
97547
  {
97548
97548
  "kind": "javascript-module",
97549
- "path": "dist/protoc-gen-open-models/furo/cube/Wrappers.js.map",
97549
+ "path": "dist/protoc-gen-open-models/google/api/HttpRule.js.map",
97550
97550
  "declarations": [],
97551
97551
  "exports": []
97552
97552
  },