Work on artists view
This commit is contained in:
parent
1184677fab
commit
9e2b676aef
3 changed files with 13 additions and 6 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -5,5 +5,4 @@ static/
|
||||||
.jetzig
|
.jetzig
|
||||||
src/app/database/data.db-journal
|
src/app/database/data.db-journal
|
||||||
src/app/database/old_migrations/
|
src/app/database/old_migrations/
|
||||||
src/lib/time.h
|
src/lib
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ pub const Artist = jetquery.Model(
|
||||||
},
|
},
|
||||||
.{
|
.{
|
||||||
.relations = .{
|
.relations = .{
|
||||||
.scrobbles = jetquery.hasMany(.Scrobble, .{}),
|
.scrobbleartists = jetquery.hasMany(.Scrobbleartist, .{}),
|
||||||
.aliases = jetquery.hasMany(.Alias, .{}),
|
.aliases = jetquery.hasMany(.Alias, .{}),
|
||||||
.artistsongs = jetquery.hasMany(.Songartist, .{}),
|
.artistsongs = jetquery.hasMany(.Songartist, .{}),
|
||||||
.mastersongs = jetquery.hasMany(.Mastersong, .{}),
|
.mastersongs = jetquery.hasMany(.Mastersong, .{}),
|
||||||
|
|
@ -124,7 +124,7 @@ pub const Scrobble = jetquery.Model(
|
||||||
.relations = .{
|
.relations = .{
|
||||||
.song = jetquery.belongsTo(.Song, .{}),
|
.song = jetquery.belongsTo(.Song, .{}),
|
||||||
.album = jetquery.belongsTo(.Album, .{}),
|
.album = jetquery.belongsTo(.Album, .{}),
|
||||||
.artists = jetquery.hasMany(.Artist, .{}),
|
.scrobbleartists = jetquery.hasMany(.Scrobbleartist, .{}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -24,13 +24,21 @@ pub fn get(id: []const u8, request: *jetzig.Request) !jetzig.View {
|
||||||
try root.put("artist", artist.?.name);
|
try root.put("artist", artist.?.name);
|
||||||
var albums_view = try root.put("albums", .array);
|
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).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);
|
const albums = try request.repo.all(query);
|
||||||
for (albums) |album| {
|
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);
|
var album_view = try albums_view.append(.object);
|
||||||
try album_view.put("name", album.album.name);
|
try album_view.put("name", album.album.name);
|
||||||
try album_view.put("url", album.album.id);
|
try album_view.put("url", album.album.id);
|
||||||
try album_view.put("scrobbles", scrobbles);
|
//try album_view.put("name", album.count__album_id);
|
||||||
|
//try album_view.put("url", album.count__album_id);
|
||||||
|
try album_view.put("scrobbles", 6);
|
||||||
//std.log.debug("{s}", .{album.album.name});
|
//std.log.debug("{s}", .{album.album.name});
|
||||||
}
|
}
|
||||||
return request.render(.ok);
|
return request.render(.ok);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue