aboutsummaryrefslogtreecommitdiff

Methods

  • GET /
  • Response
    • 200 Ok
    • HTML "This is a POKO server"
  • GET /user/<id>
  • Response
    • 200 Ok
    • JSON {"name": "NAME", "id": "ID"}
    • 404 Not Found
    • JSON "Not Found"
  • GET /user/by_name/<name>
  • Response
    • 200 Ok
    • JSON [{"name": "NAME", "id": "ID"}, ...]
    • 400 Not Found
    • JSON "Not Found"
  • GET /user/list
    • Same as GET /user/by_name/
  • POST /user/register
  • Request
    • JSON {"name":"NAME", "password": "PASSWORD", "id": "ID", "key": "REGISTRATION KEY"}
    • ID is optional
    • A new server with a new database has one key "ADMIN" which creates an admin user
  • Response
    • 201 Created
    • JSON {"name":"NAME", "id": "ID"}
    • 400 Bad Request
    • JSON "UID is taken"
    • JSON "Invalid Username"
    • 500 Internal Server Error
    • JSON "No available UID left"
    • JSON "UID length is incorrect"
    • JSON "UID String is not valid"
    • JSON "Invalid key"
  • POST /user/get
  • Request
    • JSON {"id": "ID", "session": "SESSION_KEY"}
  • Response
    • 200 Ok
    • JSON {"name": "NAME", "id": "ID", is_admin: bool, tokovec: [{"color": "COLOR", "amount": 2}, ..]}
    • 404 Not Found
    • JSON "Not Found"
    • JSON "Not Authenticated"
  • POST /user/login
  • Request
    • JSON {"id": "ID", "password": "PASSWORD", "clientid": "CLIENT_ID"}
  • Response
    • 200 Ok
    • JSON "SESSION_KEY"
      • The session key is needed for any authenticated action
    • 401 Unauthorized
      • JSON "Could not login"
  • POST /user/logout
  • Request
    • JSON {"id": "ID", "session": "SESSION_KEY"}
  • Response
    • 200 Ok
    • 401 Unauthorized
    • JSON "Not Authenticated"
  • POST /user/logout/all
  • Request
    • JSON {"id": "ID", "session": "SESSION_KEY"}
  • Response
    • 200 Ok
    • JSON "Logged out of everything"
    • 401 Unauthorized
    • JSON "Not Authenticated"
  • POST /user/sessions
  • Request
    • JSON {"id": "ID", "session": "SESSION_KEY"}
  • Response
    • 200 Ok
    • JSON ["SESSION_KEY":"CLIENT_ID"]
    • 401 Unauthorized
    • JSON "Not Authenticated"
  • POST /user/delete
  • Request
    • JSON {"id": "ID", "session": "SESSION_KEY", "password": "PASSWORD"}
  • Response
    • 200 Ok
    • JSON "Deleted"
    • 401 Unauthorized
    • JSON "Not Authenticated"
  • POST /transfer/out
  • Request
    • JSON {"id": "ID", "session": "SESSION_KEY", "to": "ID", "color": "COLOR", "amount": 0}
    • ID and SESSION_KEY are from the from account
    • TO_ID is the account the tokens are going to
    • amount may be 0
  • Response
    • 200 Ok
    • 500 Internal Server Error
    • JSON "Could not complete transaction"
  • POST /user/update/password
  • Request
    • JSON {"id": "ID", "session": "SESSION_KEY", "old_password": "PASSWORD", "new_password": "PASSWORD"}
  • Response
    • 200 Ok
    • 500 Internal Server Error`
  • POST /user/update/name
  • Request
    • JSON {"id": "ID", "session": "SESSION_KEY", "name": "USERNAME"}
  • Response
    • 200 Ok
    • 500 Internal Server Error
  • POST /admin/regkey/new
  • Request
    • JSON {"id": "ID", "session": "SESSION_KEY", "key": "REGISTRATION_KEY"}
  • Response
    • 200 Ok
    • 500 Internal Server Error
    • JSON "Not an admin"
    • JSON "Key already exists"
    • JSON "Keys aren't used on this server"
  • POST /admin/regkey/del
  • Request
    • JSON {"id": "ID", "session": "SESSION_KEY", "key": "REGISTRATION_KEY"}
  • Response
    • 200 Ok
    • 500 Internal Server Error
    • JSON "Not an admin"
    • JSON "Could not find key"
    • JSON "Keys aren't used on this server"
  • POST /admin/regkey/list
  • Request
    • JSON {"id": "ID", "session": "SESSION_KEY"}
  • Response
    • 200 Ok
    • 500 Internal Server Error
    • JSON "Not an admin"
    • JSON "Keys aren't used on this server"