diff --git a/.gitignore b/.gitignore index ea7b5c1..7dbeb15 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ static/ .jetzig src/app/database/data.db-journal src/app/database/old_migrations/ -src/lib +src/lib/time.h + diff --git a/src/app/database/Schema.zig b/src/app/database/Schema.zig index 55ca850..84aebf7 100644 --- a/src/app/database/Schema.zig +++ b/src/app/database/Schema.zig @@ -47,7 +47,7 @@ pub const Artist = jetquery.Model( }, .{ .relations = .{ - .scrobbleartists = jetquery.hasMany(.Scrobbleartist, .{}), + .scrobbles = jetquery.hasMany(.Scrobble, .{}), .aliases = jetquery.hasMany(.Alias, .{}), .artistsongs = jetquery.hasMany(.Songartist, .{}), .mastersongs = jetquery.hasMany(.Mastersong, .{}), @@ -124,7 +124,7 @@ pub const Scrobble = jetquery.Model( .relations = .{ .song = jetquery.belongsTo(.Song, .{}), .album = jetquery.belongsTo(.Album, .{}), - .scrobbleartists = jetquery.hasMany(.Scrobbleartist, .{}), + .artists = jetquery.hasMany(.Artist, .{}), }, }, ); diff --git a/src/app/views/artists.zig b/src/app/views/artists.zig index 23a5b36..646ccc8 100644 --- a/src/app/views/artists.zig +++ b/src/app/views/artists.zig @@ -24,21 +24,13 @@ pub fn get(id: []const u8, request: *jetzig.Request) !jetzig.View { try root.put("artist", artist.?.name); var albums_view = try root.put("albums", .array); const query = jetzig.database.Query(.Albumartist).include(.album, .{ .select = .{ .name, .id } }).join(.inner, .artist).where(.{ .artist = .{ .id = id } }); - - //const query = jetzig.database.Query(.Albumartist) - // .select(.{ .artist_id, jetquery.sql.count(.album_id) }) - // .groupBy(.{.artist_id}) - // .orderBy(.count__album_id); - const albums = try request.repo.all(query); for (albums) |album| { - //const scrobbles = try jetzig.database.Query(.Scrobble).where(.{ .album_id = album.album.id }).count().execute(request.repo); + const scrobbles = try jetzig.database.Query(.Scrobble).where(.{ .album_id = album.album.id }).count().execute(request.repo); var album_view = try albums_view.append(.object); try album_view.put("name", album.album.name); try album_view.put("url", album.album.id); - //try album_view.put("name", album.count__album_id); - //try album_view.put("url", album.count__album_id); - try album_view.put("scrobbles", 6); + try album_view.put("scrobbles", scrobbles); //std.log.debug("{s}", .{album.album.name}); } return request.render(.ok);