Skip to content

Can't partly omit nested messages using --dig-manually #554

Closed
@relipocere

Description

Describe the bug

There's no way to partly omit nested messages in repl mode. --dig-manually allows to omit only the currently selected field and then skips the filling of the rest of the fields. There needs to be a way to skip a field and move to the next one.

To reproduce

syntax = "proto3";
package mypackage;

service MyService{
    rpc UpdateGroup (UpdateGroupRequest) returns (UpdateGroupResponse);
}

message UpdateGroupRequest{
  int64 group_id = 1;
  OrganizationsValue organizations = 2;
  PointsValue points = 3;

  message OrganizationsValue{
    repeated int64 organization_ids = 1;
  }

  message PointsValue{
    repeated int64 point_ids = 1;
  }
}

message UpdateGroupResponse{
}

Then try skipping organizations field completely(make it nil), but enter points.

Expected behavior

There is way to omit field organizations, but fill points so the request will look like this:

{"group_id": 20, "points": {"point_ids": [1, 2, 3, 4, 5]}}

Environment

  • OS: macOS 11.6.4
  • Terminal: zsh
  • Evans version: 0.10.6
  • protoc version: -
  • protoc plugin version (if you are using): -

Additional context

The one way to solve this issue is to add a new option to --dig-manually mode that will allow to skip a field without skipping the rest of them. The name can be skip once for example.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions