diff --git a/code/app.lua b/code/app.lua index 83503f6..ebdc12d 100644 --- a/code/app.lua +++ b/code/app.lua @@ -29,4 +29,8 @@ app:match("artist", "/artist/:artist", json_params(function(self) return handlers.Artisthandler(self) end)) +app:match("release", "/release/:release", json_params(function(self) + return handlers.Releasehandler(self) +end)) + return app diff --git a/code/handlers/artisthandler.lua b/code/handlers/artisthandler.lua index 414d369..42caba3 100644 --- a/code/handlers/artisthandler.lua +++ b/code/handlers/artisthandler.lua @@ -12,6 +12,7 @@ local function Artisthandler(self) local artist = models.Artists:find({ id = artist_id }) if not artist then self:write({"Not Found", status = 404}) + return end local hidden_fields = { @@ -25,7 +26,7 @@ local function Artisthandler(self) end local tracks = db.query([[ - SELECT track.name AS track_name, release.name AS release_name + SELECT track.name AS track_name, track.id, release.name AS release_name FROM track_artists INNER JOIN tracks AS track ON (track_artists.track = track.id) @@ -36,19 +37,20 @@ local function Artisthandler(self) WHERE track_artists.artist = ? ]], artist["id"]) - artist["tracks"] = tracks --- local airtimes = db.query([[ --- SELECT airtime --- FROM airtimes --- WHERE track = ? --- ]], track["id"]) + for i, track in ipairs(tracks) do + local airtimes = db.query([[ + SELECT airtime + FROM airtimes + WHERE track = ? + ]], track["id"]) --- artist["airtimes"] = {} --- for i, airtime in ipairs(airtimes) do --- artist["airtimes"][i] = airtime.airtime --- end + artist["tracks"][i]["airtimes"] = {} + for j, airtime in ipairs(airtimes) do + table.insert(artist["tracks"][i]["airtimes"], airtime['airtime']) + end + end return { json = artist } diff --git a/code/handlers/trackhandler.lua b/code/handlers/trackhandler.lua index 4cfc1e5..b21ffce 100644 --- a/code/handlers/trackhandler.lua +++ b/code/handlers/trackhandler.lua @@ -12,6 +12,7 @@ local function Trackhandler(self) local track = models.Tracks:find({ id = track_id }) if not track then self:write({"Not Found", status = 404}) + return end local hidden_fields = { diff --git a/code/views/station.etlua b/code/views/station.etlua index 4f326ee..a0dfdb0 100644 --- a/code/views/station.etlua +++ b/code/views/station.etlua @@ -20,7 +20,7 @@
- <% if item.release then %><%= item.release %><% end %> + <% if item.release then %>" style="color: #ffffff; text-decoration: none;"><%= item.release %><% end %> <% if item.label then %>| <%= item.label %><% end %> <% if item.year then %>| <%= item.year %><% end %> <% if item.country then %>| <%= item.country %><% end %>