some tweaks

This commit is contained in:
dreamer 2020-09-22 12:02:34 +02:00
parent b5a567e49f
commit c2cde842d2
8 changed files with 40 additions and 29 deletions

View File

@ -91,7 +91,7 @@ app:match("/spl/:station", function(self)
-- make a unique name/identifier for the track using a combination of artist_name and track_name -- make a unique name/identifier for the track using a combination of artist_name and track_name
-- in lower-case and spaces removed -- in lower-case and spaces removed
local unique_track_name = artist_name + track_name -- add artist local unique_track_name = artist_name .. track_name -- prepend artist
unique_track_name = unique_track_name:lower() -- all to lowercase unique_track_name = unique_track_name:lower() -- all to lowercase
unique_track_name = unique_track_name:gsub("%s+", "") -- remove spaces unique_track_name = unique_track_name:gsub("%s+", "") -- remove spaces
@ -101,7 +101,7 @@ app:match("/spl/:station", function(self)
track = models.Tracks:create({ track = models.Tracks:create({
name = track_name, name = track_name,
unique_name = unique_track_name, unique_name = unique_track_name,
year = release_year, year = tonumber(release_year),
info_url = track_info_url, info_url = track_info_url,
img_url = track_img_url img_url = track_img_url
}) })
@ -133,7 +133,7 @@ app:match("/spl/:station", function(self)
print("new release: " .. release_name) print("new release: " .. release_name)
release = models.Releases:create({ release = models.Releases:create({
name = release_name, name = release_name,
year = release_year, year = tonumber(release_year),
country = release_country, country = release_country,
label = release_label label = release_label
}) })

View File

@ -97,7 +97,7 @@ return {
{"year", types.integer({ null=true }) }, {"year", types.integer({ null=true }) },
{"country", types.varchar({ null=true }) }, {"country", types.varchar({ null=true }) },
}) })
create_index("releases", "name", "releaseid", { unique = true }) create_index("releases", "name")
-- track_releases -- track_releases
schema.create_table("track_releases", { schema.create_table("track_releases", {

View File

@ -4,27 +4,6 @@
-- -- Track stuff -- -- -- Track stuff --
-- -- ----------- -- -- -- ----------- --
-- -- releases
-- -- - name/date/id
-- local Releases = Model:extend("releases", {
-- timestamp = true,
-- relations = {
-- {"artists", has_many = "Artists"},
-- {"tracks", has_many = "Tracks"},
-- {"label", has_one = "Labels"}
-- }
-- })
-- -- track_releases
-- local TrackReleases = Model:extend("track_releases", {
-- timestamp = true,
-- relations = {
-- {"track", belongs_to = "Tracks"},
-- {"release", belongs_to = "Releases"}
-- }
-- })
-- -- labels -- -- labels
-- -- - name/date -- -- - name/date
-- local Labels = Model:extend("labels", { -- local Labels = Model:extend("labels", {
@ -40,7 +19,6 @@
-- } -- }
-- }) -- })
-- -- mixes -- -- mixes
-- -- name/date -- -- name/date
-- local Mixes = Model:extend("mixes", { -- local Mixes = Model:extend("mixes", {

View File

@ -6,7 +6,7 @@ local Airtimes = Model:extend("airtimes", {
timestamp = true, timestamp = true,
relations = { relations = {
{"tracks", belongs_to = "Tracks"}, {"track", belongs_to = "Tracks"},
{"stations", has_one = "Stations"} {"stations", has_one = "Stations"}
} }
}) })

View File

@ -6,7 +6,10 @@ local Artists = Model:extend("artists", {
-- "date", types.date -- "date", types.date
-- "bio", types.text -- "bio", types.text
-- "urls", types.text -- "urls", types.text
timestamp = true timestamp = true,
relations = {
{"trackartists", has_many = "TrackArtists"}
}
}) })
return Artists return Artists

16
code/models/releases.lua Normal file
View File

@ -0,0 +1,16 @@
local Model = require("lapis.db.model").Model
-- releases
local Releases = Model:extend("releases", {
-- "name", types.varchar
-- "label", types.varchar
-- "year", types.integer
-- "country", types.varchar
timestamp = true,
relations = {
{"trackreleases", has_many = "TrackReleases"}
}
})
return Releases

View File

@ -0,0 +1,12 @@
local Model = require("lapis.db.model").Model
-- track_releases
local TrackReleases = Model:extend("track_releases", {
timestamp = true,
relations = {
{"track", belongs_to = "Tracks"},
{"release", belongs_to = "Releases"}
}
})
return TrackReleases

View File

@ -9,7 +9,9 @@ local Tracks = Model:extend("tracks", {
timestamp = true, timestamp = true,
relations = { relations = {
{"airtimes", has_many = "Airtimes"} {"airtimes", has_many = "Airtimes"},
{"trackreleases", has_many = "TrackReleases"},
{"trackartists", has_many = "TrackArtists"}
} }
}) })