X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=proto.txt;h=c27ff06ccc98643ba060e4255797bc7380f33dce;hb=eaaa22b9437e80a965c8bcec480d5d023dec3a03;hp=e68ed763285e18df18ccca9862da0b80a0c4d8be;hpb=dce0ef0f3c15f9e38e57d4a14c904c339affac4e;p=tpg%2Fopendispense2.git diff --git a/proto.txt b/proto.txt index e68ed76..c27ff06 100644 --- a/proto.txt +++ b/proto.txt @@ -7,7 +7,7 @@ All server responses are on one line and are prefixed by a three digit response == Response Codes == 100 Information 200 Command succeeded, no extra information -201 Command succeeded, array follows ( ...) +201 Command succeeded, multiple lines follow () 202 Command succeeded, per-command format 400 Unknown Command 401 Not Authenticated (or Authentication failure) @@ -35,6 +35,9 @@ If the client is connecting from a trusted machine on a root port then automatic authentication is allowed c AUTOAUTH \n s 200 Auth OK\n or 404 Bad Username\n or 401 Untrusted\n +--- Set effective user (User in `dispense -u`) --- +c SETEUSER \n +s 200 User set\n or 403 Not in coke\n or 404 User not found\n === Commands === --- Dispense an item --- @@ -43,22 +46,36 @@ s 200 Dispense OK\n or 402 Poor You\n or 500 Dispense Error\n or 406 Bad Item\n --- Give to another user --- c GIVE \n s 200 Give OK\n or 402 Poor You\n or 404 Bad User\n ---- Update balance --- +--- Alter balance --- c ADD \n -s 200 Add OK\n or 403 Not Coke\n or 404 Bad User\n +s 200 Add OK\n or 402 No balance\n or 403 Not Coke\n or 404 Bad User\n --- Get Item list --- c ENUM_ITEMS\n -s 201 Items ...\n +s 201 Items \n +s 202 Item \n + ... +s 200 List End\n --- Get Item Information --- c ITEM_INFO \n s 202 Item \n ---- Set Balance --- -c SET \n -s 200 Set OK\n or 403 Not allowed\n or 404 Bad User\n ---- Get Users Balances --- -c ENUM_USERS[ ]\n -s 201 Users ...\n + +--- Get Users' Balances --- + and can be '-' to indicate "none" +c ENUM_USERS[ []]\n +s 201 Users \n +s 202 User \n + ... +s 200 List End\n --- Get a User's Balance --- -c USERINFO\n -s 202 User \n +c USER_INFO\n +s 202 User \n + +--- Add a new user --- +c USER_ADD \n +s 200 User Added\n or 403 Not Wheel\n or 404 User Exists\n +--- Set user flags --- + is a comma-separated list of flag values (optionally preceded by + - to remove the flag) Valid values are: user,coke,wheel,meta,disabled,door +c USER_FLAGS \n +s 200 User Updated\n or 403 Not Wheel\n or 404 Bad User\n or 407 Unknown Flags\n