gogo / letmegrpc

[maintainer wanted] generates a web form gui from a grpc specification
BSD 3-Clause "New" or "Revised" License
421 stars 48 forks source link

protoc-gen-letmegrpc does not support subtypes as repeated #44

Open Falco20019 opened 6 years ago

Falco20019 commented 6 years ago

I just tried to use the default addressbook.proto example. The function buildRepeatedKeyword_PhoneNumber_phones is generated, but where it's used, it want's to call buildRepeatedKeyword__phones. I just started looking into the problem, but I assume the getMessage in form.go seems to have a problem with subtypes. I will check if I can fix it in little time. If not, I will have to just drop my tests of letmegrpc, since this is already the second problem I found in less than an hour and I don't want to get from one problem into the next.

awalterschulze commented 6 years ago

Fair enough. Yes it is probably to do with sub messages.

Letmegrpc is some of the worst code I have ever wrote, but unfortunately it works well for the use cases I and others have and I never use sub messages, oneof or windows. It working for the use cases we had makes motivating a rewrite quite hard.

I would love to be paid to rewrite this in Elm or Purescript and using gRPC reflection, so dynamically generate the form in the frontend in a type safe language, without the possibility of null pointer exceptions.

But unfortunately at the moment I am not even a user of protobufs :(

Falco20019 commented 6 years ago

Ok, thanks for the info. I'm dropping my test and will just write a C# client since it's fast than fixing this :) I also have a lot of the reflection stuff done, since I use it in a configuration tool. So upgrading that to also have client functionality should be the fastest option. I will still leave this issue open, just in case someone else stumples upon it.

awalterschulze commented 6 years ago

As someone who has done this before, I really recommend doing this all in the frontend. You don't need a backend to generate a gRPC GUI.