diff --git a/src/app/views/artists.zig b/src/app/views/artists.zig index 505c3d1..12be28c 100644 --- a/src/app/views/artists.zig +++ b/src/app/views/artists.zig @@ -38,6 +38,7 @@ pub fn get(id: []const u8, request: *jetzig.Request) !jetzig.View { if (artists.len > 1) return request.redirect("http://127.0.0.1:8080", .found); break :blk artists[0].id; }, + else => unreachable, }; var root = try request.data(.object); diff --git a/src/app/views/ratings/songs.zig b/src/app/views/ratings/songs.zig deleted file mode 100644 index 3145fb4..0000000 --- a/src/app/views/ratings/songs.zig +++ /dev/null @@ -1,12 +0,0 @@ -const std = @import("std"); -const jetzig = @import("jetzig"); -pub fn post(request: *jetzig.Request) !jetzig.View { - var root = try request.data(.object); - const params = try request.params(); - const id = params.getT(.integer, "song_id"); - const review = params.getT(.string, "review"); - try root.put("song_id", id); - try root.put("review", review); - - return request.render(.created); -} diff --git a/src/app/views/ratings/songs/post.zmpl b/src/app/views/ratings/songs/post.zmpl deleted file mode 100644 index 3366a0c..0000000 --- a/src/app/views/ratings/songs/post.zmpl +++ /dev/null @@ -1,2 +0,0 @@ -{{.song_id}} -{{.review}} \ No newline at end of file diff --git a/src/app/views/songs.zig b/src/app/views/songs.zig index 00ec085..b634534 100644 --- a/src/app/views/songs.zig +++ b/src/app/views/songs.zig @@ -1,7 +1,6 @@ const std = @import("std"); const jetzig = @import("jetzig"); const queries = @import("../../queries.zig"); -const decode = @import("../../date_fmt.zig").urlDecode; pub fn index(request: *jetzig.Request) !jetzig.View { var root = try request.data(.object); @@ -21,43 +20,21 @@ pub fn index(request: *jetzig.Request) !jetzig.View { } pub fn get(id: []const u8, request: *jetzig.Request) !jetzig.View { - const parse_err = blk: { - const rdr_id = std.fmt.parseInt(i64, id, 10) catch |err| break :blk err; - const song = try jetzig.database.Query(.Song).find(rdr_id).execute(request.repo); - if (song == null) break :blk error.InvalidCharacter; - var name = std.ArrayList(u8).init(request.allocator); - try name.appendSlice("http://127.0.0.1:8080/songs/"); - try name.appendSlice(song.?.name); - return request.redirect(try name.toOwnedSlice(), .found); - }; - - const id_int = switch (parse_err) { - error.Overflow => return request.fail(.not_found), - error.InvalidCharacter => blk: { - const rn = try decode(request.allocator, id); - std.log.debug("{s}", .{rn}); - const songs = try jetzig.database.Query(.Song).where(.{ .name = rn }).all(request.repo); - - if (songs.len == 0) return request.fail(.not_found); - if (songs.len > 1) return request.redirect("http://127.0.0.1:8080", .found); - break :blk songs[0].id; - }, - }; var root = try request.data(.object); - const song = try queries.entityQueryResult(request, queries.loadQuery(.song, .entity_info), .{id_int}); + const song = try queries.entityQueryResult(request, queries.loadQuery(.song, .entity_info), .{id}); try root.put("song", song); - const scrobbles = try queries.entityQueryResult(request, queries.loadQuery(.song, .get_scrobbles), .{id_int}); + const scrobbles = try queries.entityQueryResult(request, queries.loadQuery(.song, .get_scrobbles), .{id}); try root.put("scrobbles", scrobbles); - const albums = try queries.entityQueryResult(request, queries.loadQuery(.song, .get_albums), .{id_int}); + const albums = try queries.entityQueryResult(request, queries.loadQuery(.song, .get_albums), .{id}); try root.put("albums", albums); - const firstlast = try queries.entityQueryResult(request, queries.loadQuery(.song, .firstlast), .{id_int}); + const firstlast = try queries.entityQueryResult(request, queries.loadQuery(.song, .firstlast), .{id}); try root.put("firstlast", firstlast); - const timescale = try queries.entityQueryResult(request, queries.loadQuery(.song, .timescale), .{id_int}); + const timescale = try queries.entityQueryResult(request, queries.loadQuery(.song, .timescale), .{id}); try root.put("yearly", timescale); return request.render(.ok); } diff --git a/src/app/views/songs/get.zmpl b/src/app/views/songs/get.zmpl index 33e6886..1ceddef 100644 --- a/src/app/views/songs/get.zmpl +++ b/src/app/views/songs/get.zmpl @@ -5,7 +5,6 @@ - @@ -25,13 +24,9 @@

Rating

-
- - - -
+ +
-
No reviews
\ No newline at end of file