Proto commits in Kegbot/kegbot-server

These 47 commits are when the Protocol Buffers files have changed:

Commit:ae7e95e
Author:mike wakerly
Committer:mike wakerly

bundle kegbot-api sources, part 1/2: copy from kegbot/kegbot-api @ b027728 Files are unmodified.

The documentation is generated from this commit.

Commit:bbeeb39
Author:mike wakerly

core: move kegbot api bits into own repository New URL: https://github.com/Kegbot/kegbot-api

This commit does not contain any .proto files.

Commit:55373a6
Author:mike wakerly
Committer:mike wakerly

api: simplify API proto definitions. - Remove detail types, flatten into base types as needed. - Remove "Set" types. - Make ids integers. - Rename date/time fields.

Commit:ceb5946
Author:mike wakerly
Committer:mike wakerly

api: add picture to detail

Commit:2cf2e2d
Author:mike wakerly

core: add per-drink "shout" comment field.

Commit:b7f494e
Author:mike wakerly
Committer:mike wakerly

api: add detail to SystemEventDetail; add urls; remove HTML.

Commit:c9ae569
Author:mike wakerly

core: more stats: session_count, volume_by_year

Commit:5fbc24b
Author:mike wakerly
Committer:mike wakerly

core: generate two new stats: registered_drinker, has_guest_pour

Commit:4d2b1d5
Author:mike wakerly

api: extend session detail response with drinks

Commit:a52534f
Author:mike wakerly

api: return resized (default), original, and thumbnail urls for images.

Commit:7e772c0
Author:mike wakerly

api: additional fields for picture model

Commit:50ac6a6
Author:mike wakerly

api: return a KegDetailSet for more info in keg list (backwards incompatible).

Commit:eaf9d97
Author:mike wakerly

api: expose session stats; add endpoint for current session.

Commit:c52416b
Author:mike wakerly

api: make tap_name optional; add some comments.

Commit:e17930c
Author:mike wakerly

api: add user list endpoint.

Commit:37d6222
Author:mike

proto: add Stats message; regenerate with protoc 2.4.1

Commit:f0e2143
Author:mike

api: Update docs.

Commit:d8f415d
Author:mike

api: use protolib internally; fix rfid auth.

Commit:16f7cd3
Author:mike

api: return detailed events

Commit:3bf7ea4
Author:mike

api: add Image type

Commit:c35a73c
Author:mike

api: update to generate response from protos. Quick and dirty for the moment; could use some refactoring.

Commit:bc3f23a
Author:mike

api: add proto api.

Commit:88c57f2
Author:mike

core: return of protobuf as model/api intermediate representation.

Commit:33da566
Author:mike

api/kegnet cleanup, round 1: remove protobuf deps. Trying to maintain a rigid schema for the API turned out to be a mistake.

This commit does not contain any .proto files.

Commit:48aa36c
Author:mike

models: add auth device & token value fields to token model.

Commit:a92c376
Author:mike

Several improvements to stats and sessions. Added tables summarizing a user's contribution to a session (UserSessionChunk) and a keg's contribution to a session (KegSessionChunk). Updated session display, keg detail view. Existing users will need to regenerate session data and cached stats: kegbot_admin.py kb_regen_sessions kegbot_admin.py kb_regen_stats

Commit:2034163
Author:mike

models: add full versions of a few models.

Commit:2d2382f
Author:mike

Add drink duration column, which will obsolete starttime.

Commit:9e41172
Author:mike

Add 'User' field back to token model.

Commit:8019315
Author:mike

Fix a few bugs in proto representation.

Commit:f33c7b7
Author:mike

Backend cleanup: use proto models. Also, removes the billing manager for now.

Commit:ecc5ad2
Author:mike

Add methods to web api.

Commit:f9192e1
Author:mike

Remove explicit guest user. Changes the core models to allow `user=None` in the drink database, indicating an unknown/anonymous drinker.

Commit:edfafe1
Author:mike

Web api: add keg volume information.

Commit:0346216
Author:mike

reorg: Move pykeg contents to src/pykeg subdir The result (pykeg/src/pykeg) stutters a bit, but better matches python packaging conventions.

Commit:e63d3d1
Author:mike

Update KegTap model to include temperature.

Commit:fa17f8a
Author:mike

Fix broken Brewer model.

Commit:43d67be
Author:mike

Update proto models due to beerdb decoupling.

Commit:7416de3
Author:mike

Add experimental protocol buffer representations of some objects. The idea is to pass around protobuf instances internally (rather than Django model instances), and to use the protobuf file to specify and document future apis. Time will tell whether this extra layering was a good idea to decouple the core from django, or a needless and short-lived experiment..

Commit:86cd448
Author:mike

Update to add heartbeat and credit events.

Commit:5611468
Author:mike

Checkpoint of kegnet rewrite. Major goals: - rewrite to use a persistent streaming connection. more convenient for bidirectional, async notifications (ie no more HTTP) - use protocol buffers to describe message schemas and perform message validation; convert to JSON when sending over the wire, to make it easier for third party clients. (the json format is very similar to JSON-RPC and will eventually be fully compatible; at the moment, only notifications are supported) - do away with the flimsy KB_EVENT messages and the extra layer between internal events and protocol events; instead, connect kegnet clients directly to the internal event bus and use the same messages in many places. (there's a pending todo to isolate certain events.)

Commit:b59978d
Author:mike

Kegnet protocol rewrite. New API should be easier to adopt; RESTful JSON over HTTP. Removes protobuf and protobuf-rpc. Revisit when a JSON serializer is available for protobuf. TODOs: - fix up attribute access of Message - many methods to implement - etc

This commit does not contain any .proto files.

Commit:f9a79c8
Author:mike

Cleanup: Rename "channel" to "tap" almost everywhere. Still TODO: clean up binding of Keg and kegnet clients to taps.

Commit:609636a
Author:mike

Mirror protobuf-rpc in external/, with some import hacks.

Commit:64d209d
Author:mike

Snapshot of first pass using protobuf-rpc network layer. This likely needs significantly more work, though unittests work.

Commit:10ca996
Author:mike

Update kegnet to handled thermo/output messages.

Commit:e99ff20
Author:mike

Add new kegnet protocol specificaiton and implementation.