deepstreamIO / deepstream.io

deepstream.io server

Home Page:https://deepstreamio.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Feature: Get a list of all available records/events/rpcs

redlock opened this issue · comments

Hello,
A much needed use case that I often face is to query the server for a list of available records (or other objects). Currently I can't find a way to do it. It helps a lot for debugging while in development; to see if a record was created and why some record is missing (record name misspelled, etc).
Some metadata that can come along with the query, such as when the record was created and when it was last updated and the size of the record.

Thanks

Hi,
Right now my clients connect to a metadata server to get a list of records that they can subscribe to. This metadata server won't be needed if I can simply query Deepstream for all available records. Also, sometimes you can't find a record and the reason is because there was a typo or the record name is different in some minor way. Having a list of available records you can quickly see where the fault lies.

Another use case is while in development you want to test whether you can subscribe to a record in your dev Deepstream instance, but you aren't sure what records are available (because it is a dev server use for testing). Every time I face this scenario I have to either guess the records name from memory or start some other client to create a new record.

Implementation wise it does seem like an easy feature to add.

So the server already contains all of this logic inside of the state registries, the easiest thing to do would be to add a HTTP request that just dumps it out if the correct auth token is there. That way you don't need to add anything to clients or realtime protocols.

Another use case is that this allows for creating an admin console for a Deepstream server. Someone can build something similar to Firebase admin console, where you can inspect, browse and update data in a nifty web ui.

Hi, if someone want's to implement this please make a pull request following yasser suggestion.
Thanks!