New action to get all docs
jgillich opened this issue · 3 comments
Working on it :)
Awesome!
I intend to release v0.1.1 during the next few days. (The v0.1.1 milestone's date is 2016-04-16.) If your changes aren't in during that time, then the changes can land for v0.1.2, which will become available three weeks later. I'm aiming for a three-week release schedule, with each release including whatever happens to get in during those three weeks.
What's the status of include_docs
/ #19? That's pretty important for this (I don't mind implementing it as well, if you haven't started yet).
Also, what do you think about using serde_macros
? I am a bit lost about how to implement the (de)serializer trait - will probably figure it out, just want to make sure I have to. ;)
I hope issue #19 is resolved in time for the v0.1.2 release three weeks from now. If you want to take ownership of it then that would be awesome. I believe most of the infrastructure is in place so that implementation will be straightforward. The key part here is deserializing a document, which Chill already can do, including deserializing attachments as either stubs or with base64-encoded content. The only reason include_docs
isn't going in to v0.1.1 is my lack of time this weekend, and I want to stick to the release train. My plan for v0.1.1 is to resolve #22, improve documentation a bit, then cut the release—probably tomorrow (Saturday).
As for this issue (#39), my initial opinion is that it should be a distinct action type (i.e., ReadAllDocuments
), but under the hood it should share most of its code with ExecuteView
. However, this is not a strong opinion. The sharing will need to be figured out because I didn't plan ahead for it, and maybe figuring it out
will turn out to mean GET /db/_all_docs
doesn't need to be a distinct action type from view execution. We shall see. Again, feel free to take ownership of this.
My opinion of serde_macros
is that it's great to use with Rust Nightly, but it's easier to manually implement Serialize
and Deserialize
when using Rust Stable. Chill targets Rust Stable. It turns out manual implementation isn't so bad, and Chill already has plenty of examples to work with: see Revision
, ViewResponse
, Document
, ErrorResponse
, and more.