23 Commits

Author SHA1 Message Date
Jonathan Bernard
a6a68a5320 Add song rank in performance. Use DbMigrate in tests.
* Add the song order in a service using `performances.rank` to indicate the
  relative position of each song within the service. The service page now
  respects this ranking.

* Update the tests to use DB Migrate to manage the database transitions.
2017-02-11 21:23:17 -06:00
Jonathan Bernard
fc5f29eaed fixup 2016-12-17 21:48:42 -06:00
Jonathan Bernard
4d89e45c7b service.@date -> service.getLocalDate because direct field accessor isn't working properly anymore. 2016-12-17 21:48:42 -06:00
Jonathan Bernard
a132f6540c Update code and build for deployment to ElasticBeanstalk. 2016-12-17 21:48:30 -06:00
Jonathan Bernard
e7eb82ceb6 Update dependencies and code to play nice. 2016-12-17 13:31:24 -06:00
Jonathan Bernard
3b77006381 Fixed bug in NLSongsDB implementation. 2015-12-11 13:59:04 -06:00
Jonathan Bernard
5e81284220 Fixed artists split in DB layer. Services sorted most recent first. 2015-07-22 09:26:53 -05:00
Jonathan Bernard
e89b2e0a02 Added service descriptions.
Pages now use service descriptions to describe services, falling back on the
service type's displayable value if no description is given.
2015-04-14 15:13:21 -05:00
Jonathan Bernard
4580709d29 Version 2.1: Default to MP3s instead of OGGs for song files. 2015-03-30 02:15:06 -05:00
Jonathan Bernard
207e86de81 Fixed missing permissions on mutable Song REST resources. 2015-03-23 04:10:01 -05:00
Jonathan Bernard
a83d8e4dd8 Added another context configuration file. Made the datasource config property more obvious. 2015-03-23 04:08:54 -05:00
Jonathan Bernard
fb722a898e Fixed a regression based on the ServiceType toString implementation.
The DB code relied on the ServiceType toString matching the enum name. Moved
the displayable value to a dedicated field and reference it in the UI.
2015-03-23 04:04:58 -05:00
Jonathan Bernard
73be769483 Added individual song and service pages. 2015-03-17 22:30:55 -05:00
Jonathan Bernard
c323df219e Fixed LIKE queries in DB layer. 2015-03-07 14:18:49 -06:00
Jonathan Bernard
e13bf171b1 Added user login endpoint. 2015-03-07 14:18:05 -06:00
Jonathan Bernard
66cd8f579a Added equals implementations on model classes. 2015-03-07 14:16:52 -06:00
Jonathan Bernard
4f247cba37 Fixed bug in buildToken and buildUser. 2015-03-03 16:29:15 -06:00
Jonathan Bernard
43ba9216e5 Further API implmentation. 2015-03-02 21:26:06 -06:00
Jonathan Bernard
dc5cb78320 Added support for cross-origin requests (CORS). 2015-03-02 21:24:58 -06:00
Jonathan Bernard
83a0f7275c Implemented token-based API authentication.
Replaced the ApiKey concept with ephemeral tokens. Users and apps obtain a
token by authenticating the user credentials (to be implemented). The service
then generates a temporary token that is stored by the client and sent with
every request using the `Authorization-Token` header. The server verifies this
token to recognize and authenticate the request. With an authenticated user,
the server can use the user's role to authorize requests.

This implementation uses JSR 250 SecurityContext and security annotations.
2015-03-02 21:20:25 -06:00
Jonathan Bernard
37208fa381 Added web deployment description, context configuration, service, and song endpoint implementations. 2015-02-20 17:28:42 -06:00
Jonathan Bernard
e867732209 Created DB CRUD interface. 2015-02-20 17:27:05 -06:00
Jonathan Bernard
3e07dc20bf Created model objects and DB layer. 2015-02-20 01:08:17 -06:00