init the app database every time the app is started

This feature is only intended for early development.  Every time the
application is started, the application database is deleted and
recreated using default data.

When we get closer to release, this change must be backed out so that
the database persists between application starts/stops.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
simplify the model used for auth tokens

Based on conversations with Andrew Jackson, we are moving forward with a
simplified authentication model so that we can get a prototype up and
running more quickly.  This commit begins that process.  Each AGA member
will have a single token that may be shared with multiple game servers.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
add app database to the list of ignored files

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
move all api endpoints into a single file

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
move tests to a dedicated, top-level directory

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
move api methods to a separate, versioned directory

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
README: add a link to the developer list

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
only show API endpoints in API map

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
generate a token for newly registered users

Tokens serve two purposes:
  1) Identify players associated with a game record.
  2) Identify a game server.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
require tokens to be unique

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
create a generic interface for token generation

In the future, we may use a different method to generator tokens.  However,
the interface given here should be sufficient to encapsulate other methods.
The only app-level change that should be required is to change the import
statement to pull in the desired method.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
move the API error handler to a more appropriate file

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
create a clean baseline for the web API

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
only store hashed passwords in the database

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
require roles for certain web API calls

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
fix typo in test data

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
change token fields in database from fixed size to TEXT

We should not limit the size of the token column, since different
methods of generating tokens will result in different sizes.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
add a simple page to view a user profile

Once users register with the site, they need to be able to find their
token to share it with game servers.  This adds a very simple form that
displays a user's profile.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
clean up import of ApiException

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
eliminate warning about unused variable

'numeric_score' was assigned simply to verify that the value provided by
the user is actually a numeric value.  Rather than create a new, unused
variable, we can simply reuse the existing var.

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>