threefoldtecharchive / bcdb

Apache License 2.0
1 stars 0 forks source link

Features request #64

Open Hamdy opened 4 years ago

Hamdy commented 4 years ago

The following features will be so helpful, especially if they are exposed as well through htt[/unixsocket I have a use case that requires the current features

muhamadazmy commented 4 years ago

[ ] revoke all key/values in a namespace

I think you mean DELETE! We can add that.

  • is there a way to list all items in database, like a stream with all elements?

You can already support find. but find return the full object meta. we also have operation called list but this one is currently supported only by the grpc interface. We can add implement this with the rest interface as well.

We will add the list support to the REST api as well.

  • filtration by tag like {"date" : ">{9-9-2020}"} or {"date" : ">{timestamp}"} , or {"number" : "<=3"}, {"text" : "startswith('hello')"}

This is a more complex feature, because currently tags are not typed. We had a proposal when we first started specing BCDB to support "collection" schema, where we "detect" and then validate a collection type (same like what mongo does), but this was not approved. Without tag types we can't know exactly how to compare different values. Anyway, this can be re-introduced but is probably a different story-card.

  • ACLs using 3bot names, not ids, because 3bot itself has no ids for users, only identifier is username

All we need from an "identity" backend is a user public key and an ID (numeric, or string) and his bcdb address for p2p support. We can implement this against the 3bot or the explorer. We can even support both in code, but you will probably have to choose one backend to work against when u start bcdb. @zaibon what do you think?