diff --git a/code/models.lua b/code/models.lua index 44f4b32..ae4ad12 100644 --- a/code/models.lua +++ b/code/models.lua @@ -1,5 +1,4 @@ local autoload = require("lapis.util").autoload -return autoload("models") local Model = require("lapis.db.model").Model local schema = require("lapis.db.schema") @@ -11,15 +10,16 @@ local types = schema.types -- name/date local Labels = Model:extend("labels", { - {"releases", has_many = "Releases"} - primary_key "uuid", + primary_key = "uuid", relations = { + {"releases", has_many = "Releases"}, + {"artists", has_many = "Artists"} } }) -- name/label/date/id local Releases = Model:extend("releases", { - primary_key "uuid" + primary_key = "uuid", relations = { {"artists", has_many = "Artists"}, {"tracks", has_many = "Tracks"}, @@ -29,22 +29,22 @@ local Releases = Model:extend("releases", { -- name/dj/date local Mixes = Model:extend("mixes", { - primary_key "uuid", + primary_key = "uuid", relations = { {"artists", has_many = "Artists"} } }) -- name/date/bio/urls -local Artists = Model:extend("artists"), { - primary_key "uuid" +local Artists = Model:extend("artists", { + primary_key = "uuid" }) -- title/unique name == `lower(artist+title)` local Tracks = Model:extend("tracks", { - primary_key "uuid", + primary_key = "uuid", relations = { - {"artist", belongs_to = "Artists" + {"artist", belongs_to = "Artists"}, {"releases", has_many = "Releases"}, {"mixes", has_many = "Mixes"}, -- {"copies", has_many = "Tracks"}, @@ -54,14 +54,14 @@ local Tracks = Model:extend("tracks", { -- name/id local Stations = Model:extend("stations", { - primary_key "uuid" + primary_key = "uuid" }) -- date local Airtime = Model:extend("airtime", { relations = { {"track", belongs_to = "Tracks"}, - {"stations"}, has_one = "Stations"} + {"stations", has_one = "Stations"} } }) @@ -71,7 +71,7 @@ local Airtime = Model:extend("airtime", { -- name/email/password/last_login local Users = Model:extend("users", { - primary_key "uuid" + primary_key = "uuid" }) -- date? @@ -87,3 +87,5 @@ local Favorite_mixes = Model:extend("favorite_mixes", {}) local Favorite_artists = Model:extend("favorite_artists", {}) local Favorite_releases = Model:extend("favorite_releases", {}) local Favorite_labels = Model:extend("favorite_labels", {}) + +return autoload("models")